import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/src/components/ui/dropdown-menu"; import { Button } from "@/src/components/ui/button"; import { ChevronDown } from "lucide-react"; import { type EventsViewMode } from "@/src/features/events/hooks/useEventsViewMode"; export interface EventsViewModeToggleProps { viewMode: EventsViewMode; onViewModeChange: (mode: EventsViewMode) => void; } const VIEW_MODE_OPTIONS: Record< EventsViewMode, { label: string; description: string } > = { trace: { label: "Traces", description: "Root-level observations, the top nodes in a trace.", }, observation: { label: "Observations", description: "All observations of all trace trees.", }, }; export function EventsViewModeToggle({ viewMode, onViewModeChange, }: EventsViewModeToggleProps) { return ( {( Object.entries(VIEW_MODE_OPTIONS) as [ EventsViewMode, { label: string; description: string }, ][] ).map(([key, { label, description }]) => ( onViewModeChange(key)} className="flex flex-col items-start" > {label} {description} ))} ); }