import { MessageSquare } from 'lucide-react'; import { useState } from 'react'; import { CommentThread } from '@/components/comments/comment-thread'; import { type CommentsShellProps } from '@/components/comments/shells/types'; import { Button } from '@/components/ui/button'; import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet'; import { useTranslation } from '@/hooks/use-translation'; /** * The compact theme's comment shell: a panel docked to the bottom of the * viewport, like the detail pane under a spreadsheet. * * Square corners, hairline borders, `text-xs`, monochrome — the same * deliberate spreadsheet language as this theme's table and its filter * toolbar (docs/theming-files-checklist.md, "Visual identity per theme"). * It docks rather than floating because this theme's rows live in a real * ``, where an expanding block inside a cell would break the column * grid that is the entire point of the look; a centred modal, meanwhile, * would be indistinguishable from `default`'s. */ export function CommentsShellCompact({ fileId, fileName, endpoint, count = 0, unread = 0, inline = false, defaultOpen = false }: CommentsShellProps) { const { t } = useTranslation(); const [open, setOpen] = useState(defaultOpen); if (inline) { return (

{t('Comments')}

); } return ( {t('Comments')} · {fileName}
{open && }
); }