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) => (