"use client"; import { useState, type ReactNode } from "react"; import { ImageIcon, Settings2Icon, UsersIcon, StickyNoteIcon, ActivityIcon } from "lucide-react"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; export type EventWorkspaceTab = { id: string; label: string; content: ReactNode; }; export function EventWorkspace({ heading, tabs, }: { heading: ReactNode; tabs: EventWorkspaceTab[]; }) { const initial = tabs[0]?.id ?? "photos"; const [settingsVisited, setSettingsVisited] = useState(initial === "settings"); const icons = { photos: ImageIcon, settings: Settings2Icon, people: UsersIcon, notes: StickyNoteIcon, activity: ActivityIcon, audit: ActivityIcon }; return (
{heading} {tabs.length === 0 ? null : ( { if (value === "settings") setSettingsVisited(true); }} className="gap-5"> {tabs.map((tab) => { const Icon = icons[tab.id as keyof typeof icons]; return ( {Icon ? ); })} {tabs.map((tab) => ( {tab.content} ))} )}
); }