import { List, X } from "lucide-react"; import { useTranslation } from "react-i18next"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Dialog, DialogClose, DialogContent, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; interface TocItem { index: number; preview: string; ts?: number; } interface SessionTocSidebarProps { items: TocItem[]; onItemClick: (index: number) => void; } export function SessionTocSidebar({ items, onItemClick, }: SessionTocSidebarProps) { const { t } = useTranslation(); if (items.length <= 2) return null; return (
{t("sessionManager.tocTitle")}
{items.map((item, tocIndex) => ( ))}
); } interface SessionTocDialogProps { items: TocItem[]; onItemClick: (index: number) => void; open: boolean; onOpenChange: (open: boolean) => void; } export function SessionTocDialog({ items, onItemClick, open, onOpenChange, }: SessionTocDialogProps) { const { t } = useTranslation(); if (items.length <= 2) return null; return ( onOpenChange(false)} onEscapeKeyDown={() => onOpenChange(false)} > {t("sessionManager.tocTitle")}
{items.map((item, tocIndex) => ( ))}
); }