import { useState } from "react"; import { Descriptions, Avatar, AvatarFallback } from "@godxjp/ui/data-display"; import { AlertDialog } from "@godxjp/ui/feedback"; import { Button } from "@godxjp/ui/general"; import { AppShell, PageContainer, Sidebar, type SidebarSectionProp, Topbar, } from "@godxjp/ui/layout"; import { BookOpen, FileText, LayoutDashboard, ReceiptText, Trash2, Users } from "lucide-react"; /** * Destructive confirmation — the irreversible "削除" action opens an AlertDialog * (the canonical confirm primitive, role="alertdialog", variant="destructive"), * never a hand-rolled Card + buttons. Cancel dismisses; confirm runs onConfirm. */ const sections: SidebarSectionProp[] = [ { label: "会計", items: [ { id: "dashboard", label: "ダッシュボード", icon: LayoutDashboard }, { id: "journal", label: "仕訳", icon: FileText }, { id: "invoices", label: "請求書", icon: ReceiptText }, { id: "partners", label: "取引先", icon: BookOpen }, ], }, { label: "管理", items: [{ id: "users", label: "ユーザー", icon: Users }] }, ]; export default function Demo() { const [open, setOpen] = useState(true); return ( {}} product={{ name: "CoreBooks", role: "管理コンソール", color: "hsl(var(--primary))" }} /> } topbar={ C } /> } > setOpen(true)}> 削除 } > 2024-04-12 売掛金 ¥482,000 売上高 ¥438,182 / 仮受消費税 ¥43,818 株式会社ベトヤ 4月分 受注 INV-2024-0312 setOpen(false)} /> ); }