From 762ef422cab294d0b785ace11dce5ba78c30dd1b Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Fri, 11 Aug 2023 15:57:11 +0530 Subject: [PATCH] chore: project search added in project list page (#1837) --- .../pages/[workspaceSlug]/projects/index.tsx | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/apps/app/pages/[workspaceSlug]/projects/index.tsx b/apps/app/pages/[workspaceSlug]/projects/index.tsx index 6c60d4abd..4dd6a234e 100644 --- a/apps/app/pages/[workspaceSlug]/projects/index.tsx +++ b/apps/app/pages/[workspaceSlug]/projects/index.tsx @@ -16,7 +16,7 @@ import { WorkspaceAuthorizationLayout } from "layouts/auth-layout"; import { JoinProjectModal } from "components/project/join-project-modal"; import { DeleteProjectModal, SingleProjectCard } from "components/project"; // ui -import { EmptyState, Loader, PrimaryButton } from "components/ui"; +import { EmptyState, Icon, Loader, PrimaryButton } from "components/ui"; import { Breadcrumbs, BreadcrumbItem } from "components/breadcrumbs"; // icons import { PlusIcon } from "@heroicons/react/24/outline"; @@ -34,6 +34,8 @@ const ProjectsPage: NextPage = () => { const router = useRouter(); const { workspaceSlug } = router.query; + const [query, setQuery] = useState(""); + const { user } = useUserAuth(); // context data const { activeWorkspace } = useWorkspaces(); @@ -42,6 +44,15 @@ const ProjectsPage: NextPage = () => { const [deleteProject, setDeleteProject] = useState(null); const [selectedProjectToJoin, setSelectedProjectToJoin] = useState(null); + const filteredProjectList = + query === "" + ? projects + : projects?.filter( + (project) => + project.name.toLowerCase().includes(query.toLowerCase()) || + project.identifier.toLowerCase().includes(query.toLowerCase()) + ); + return ( { } right={ - { - const e = new KeyboardEvent("keydown", { key: "p" }); - document.dispatchEvent(e); - }} - > - - Add Project - +
+
+ + setQuery(e.target.value)} + placeholder="Search" + /> +
+ + { + const e = new KeyboardEvent("keydown", { key: "p" }); + document.dispatchEvent(e); + }} + > + + Add Project + +
} > { data={projects?.find((item) => item.id === deleteProject) ?? null} user={user} /> - {projects ? ( + {filteredProjectList ? (
- {projects.length > 0 ? ( + {filteredProjectList.length > 0 ? (
- {projects.map((project) => ( + {filteredProjectList.map((project) => (