import { Menu } from "@base-ui/react/menu"; import { MoreVertical } from "lucide-react"; import type { SessionSummary } from "../api/types"; interface Props { session: SessionSummary; groups: string[]; onResume: () => void; onView: () => void; onRename: () => void; onMove: (group: string) => void; onNewGroup: () => void; onArchiveToggle: () => void; onDelete: () => void; } const itemCls = "flex w-full cursor-default select-none items-center rounded-md px-2 py-1.5 text-sm outline-none data-highlighted:bg-accent data-highlighted:text-accent-foreground"; export function SessionMenu({ session, groups, onResume, onView, onRename, onMove, onNewGroup, onArchiveToggle, onDelete }: Props) { // Resume re-enters the workflow; only meaningful while the session is still live // (the backend returns 409 for finalized/archived, matching this guard). const canResume = session.status !== "finalized" && !session.archived; return (