// File: app/demo/page.tsx "use client"; import { ResponsiveDataTable, ColumnDef } from "@/components/custom/responsive-data-table"; import { FileUploadZone, FileWithMeta } from "@/components/custom/file-upload-zone"; import { WorkflowVisualizer, WorkflowStep } from "@/components/custom/workflow-visualizer"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; // --- Mock Data --- interface DocItem { id: string; title: string; status: string; date: string; } const mockData: DocItem[] = [ { id: "RFA-001", title: "แบบก่อสร้างฐานราก", status: "Approved", date: "2023-11-01" }, { id: "RFA-002", title: "วัสดุงานผนัง", status: "Pending", date: "2023-11-05" }, ]; const columns: ColumnDef[] = [ { key: "id", header: "Document No." }, { key: "title", header: "Subject" }, { key: "status", header: "Status", cell: (item) => ( {item.status} ) }, { key: "date", header: "Date" }, ]; const mockSteps: WorkflowStep[] = [ { id: 1, label: "ผู้รับเหมา", subLabel: "Submit", status: "completed", date: "10/11/2023" }, { id: 2, label: "CSC", subLabel: "Review", status: "current" }, { id: 3, label: "Designer", subLabel: "Approve", status: "pending" }, { id: 4, label: "Owner", subLabel: "Acknowledge", status: "pending" }, ]; export default function DemoPage() { return (

1. Responsive Data Table

i.id} renderMobileCard={(item) => (
{item.id} {item.status}

{item.title}

{item.date}
)} />

2. File Upload Zone

console.log("Files:", files)} accept={[".pdf", ".jpg", ".png"]} />

3. Workflow Visualizer

); }