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)
+ )}