import { useGrimoire } from "@/core/state"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { X } from "lucide-react"; import { KindSelector } from "./KindSelector"; import { getKindName } from "@/constants/kinds"; interface SettingsDialogProps { open: boolean; onOpenChange: (open: boolean) => void; } export default function SettingsDialog({ open, onOpenChange, }: SettingsDialogProps) { const { state, setCompactModeKinds } = useGrimoire(); const compactKinds = state.compactModeKinds || []; const removeKind = (kindToRemove: number) => { setCompactModeKinds(compactKinds.filter((k) => k !== kindToRemove)); }; const addKind = (kind: number) => { if (!compactKinds.includes(kind)) { setCompactModeKinds([...compactKinds, kind].sort((a, b) => a - b)); } }; return ( Settings Manage your workspace preferences.
Appearance {/* Future tabs can be added here */}
{/* Section: Compact Events */}

Compact Events

Select event kinds to display in a compact format within timelines and feeds.

{compactKinds.length === 0 && ( No compact kinds configured. )} {compactKinds.map((kind) => ( {kind} {getKindName(kind)} ))}
); }