// File: components/layout/project-switcher.tsx 'use client'; import * as React from 'react'; import { useProjects } from '@/hooks/use-projects'; import { useProjectStore } from '@/lib/stores/project-store'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { Building2 } from 'lucide-react'; import { Skeleton } from '@/components/ui/skeleton'; export function ProjectSwitcher() { const { data: projects, isLoading } = useProjects({ isActive: true }); const { selectedProjectId, setSelectedProjectId } = useProjectStore(); React.useEffect(() => { // Auto-select if there's only one project if (projects && projects.length === 1 && selectedProjectId !== projects[0].publicId) { setSelectedProjectId(projects[0].publicId); } }, [projects, selectedProjectId, setSelectedProjectId]); if (isLoading) { return ; } // If user has no projects, don't show the switcher if (!projects || projects.length === 0) { return null; } // If user has exactly one project, show it as text (no dropdown needed) if (projects.length === 1) { return (
{projects[0].projectName}
); } return ( ); }