import { createFileRoute, Link } from "@tanstack/react-router"; import { useEffect, useState } from "react"; import { ProtectedLayout } from "@/components/protected-layout"; import { PageContainer, PageHeader } from "@/components/app-shell"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { supabase } from "@/integrations/supabase/client"; import { Plus, FileText, ChevronRight, Gavel } from "lucide-react"; import { formatDate } from "@/lib/format"; export const Route = createFileRoute("/documents/templates/")({ component: TemplatesIndex, }); function TemplatesIndex() { const [rows, setRows] = useState([]); useEffect(() => { supabase.from("document_templates").select("*").order("name").then(({ data }) => setRows(data ?? [])); }, []); return ( New template } /> {rows.length === 0 ? (
No templates yet.
) : (
    {rows.map((t) => (
  • {t.kind === "pleading" ? : }
    {t.name}
    {t.description || "No description"} ยท {Array.isArray(t.fields) ? t.fields.length : 0} field{(t.fields?.length ?? 0) === 1 ? "" : "s"}
    {t.kind} {formatDate(t.updated_at)}
  • ))}
)}
); }