diff --git a/app/(dashboard)/projects/page.tsx b/app/(dashboard)/projects/page.tsx index 4db701e..ebd85e5 100644 --- a/app/(dashboard)/projects/page.tsx +++ b/app/(dashboard)/projects/page.tsx @@ -7,10 +7,16 @@ import { Input } from "@/components/ui/input"; import { ProjectCard } from "@/components/projects/ProjectCard"; import { NewProjectDialog } from "@/components/projects/NewProjectDialog"; import { Plus, Search, Loader2 } from "lucide-react"; +import { HIDE_ARCHIVED_KEY } from "@/components/settings/HideArchivedToggle"; export default function ProjectsPage() { const [search, setSearch] = useState(""); const [showNew, setShowNew] = useState(false); + const [hideArchived, setHideArchived] = useState(false); + + useEffect(() => { + setHideArchived(localStorage.getItem(HIDE_ARCHIVED_KEY) === "1"); + }, []); const { data, isLoading } = useQuery({ queryKey: ["projects", search], @@ -35,6 +41,8 @@ export default function ProjectsPage() { const projects = data?.projects ?? []; const clients = clientsData?.clients ?? []; + const visibleProjects = hideArchived ? projects.filter((p: any) => p.status !== "ARCHIVED") : projects; + const SCROLL_KEY = 'projects-scroll'; useEffect(() => { @@ -56,6 +64,9 @@ export default function ProjectsPage() {

Projects

{projects.length} project{projects.length !== 1 ? "s" : ""} + {hideArchived && projects.length !== visibleProjects.length && ( + ({projects.length - visibleProjects.length} archived hidden) + )}