diff --git a/app/projects/page.tsx b/app/projects/page.tsx index 0448bc0..1e49d31 100644 --- a/app/projects/page.tsx +++ b/app/projects/page.tsx @@ -30,7 +30,7 @@ export default function ProjectsPage() { return (
-
+

diff --git a/components/project/project-filters-bar.tsx b/components/project/project-filters-bar.tsx index 7fc88c8..c12ee57 100644 --- a/components/project/project-filters-bar.tsx +++ b/components/project/project-filters-bar.tsx @@ -88,7 +88,7 @@ const FilterButtons = ({ ) return ( -
+
{Object.entries(ThemesButtonMapping).map(([key, { label, icon }]) => { const isActive = activeFilters?.themes?.includes(key) const variant = isActive ? "blue" : "white" @@ -180,7 +180,7 @@ export default function ProjectFiltersBar() { size="sm" onClick={() => setShowModal(false)} > - Show project + Show projects
@@ -271,7 +271,7 @@ export default function ProjectFiltersBar() {
-
+
) => setSearchQuery(e?.target?.value) diff --git a/components/project/project-list.tsx b/components/project/project-list.tsx index 1c9d60b..a99269c 100644 --- a/components/project/project-list.tsx +++ b/components/project/project-list.tsx @@ -3,6 +3,7 @@ import React from "react" import Image from "next/image" import { useRouter } from "next/navigation" +import NoResultIcon from "@/public/icons/no-result.svg" import { useProjectFiltersState } from "@/state/useProjectFiltersState" import { ProjectLinkWebsite } from "@/lib/types" @@ -18,10 +19,30 @@ const TagsIconMapping: Record = { research: , } +const NoResults = () => { + return ( +
+
+ no result icon +
+ + No results found. + + + No projects matching these filters. Try changing your search. + +
+ ) +} + export default function ProjectList() { const { projects } = useProjectFiltersState((state) => state) const router = useRouter() + const noItems = projects?.length === 0 + + if (noItems) return + return (
{projects.map((project) => { diff --git a/components/project/project-result-bar.tsx b/components/project/project-result-bar.tsx index 8fb0fa2..aed40ba 100644 --- a/components/project/project-result-bar.tsx +++ b/components/project/project-result-bar.tsx @@ -30,7 +30,7 @@ export const ProjectResultBar = () => { {`Showing ${projects?.length} projects with:`}{" "} -
+
{Object.entries(activeFilters).map(([key, filters], index) => { return ( <> diff --git a/public/icons/no-result.svg b/public/icons/no-result.svg new file mode 100644 index 0000000..a18a8e4 --- /dev/null +++ b/public/icons/no-result.svg @@ -0,0 +1,11 @@ + + + + + + + + + + +