import Link from 'next/link'; import { CreditCard, FileText, Tag, BarChart3, Mail, Award, } from 'lucide-react'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { Button } from '@kit/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@kit/ui/card'; import { CmsPageShell } from '~/components/cms-page-shell'; interface PageProps { params: Promise<{ account: string }>; } const DOCUMENT_TYPES = [ { id: 'member-card', title: 'Mitgliedsausweis', description: 'Mitgliedsausweise mit Foto, Name und Mitgliedsnummer generieren.', icon: CreditCard, color: 'text-blue-600 bg-blue-50', }, { id: 'invoice', title: 'Rechnung', description: 'Professionelle Rechnungen im PDF-Format mit Logo und Positionen.', icon: FileText, color: 'text-green-600 bg-green-50', }, { id: 'labels', title: 'Etiketten', description: 'Adressetiketten für Serienbriefe im Avery-Format drucken.', icon: Tag, color: 'text-orange-600 bg-orange-50', }, { id: 'report', title: 'Bericht', description: 'Statistische Auswertungen und Berichte als PDF oder Excel.', icon: BarChart3, color: 'text-purple-600 bg-purple-50', }, { id: 'letter', title: 'Brief', description: 'Serienbriefe mit personalisierten Platzhaltern erstellen.', icon: Mail, color: 'text-rose-600 bg-rose-50', }, { id: 'certificate', title: 'Zertifikat', description: 'Teilnahmebescheinigungen und Zertifikate mit Unterschrift.', icon: Award, color: 'text-amber-600 bg-amber-50', }, ] as const; export default async function DocumentsPage({ params }: PageProps) { const { account } = await params; const client = getSupabaseServerClient(); const { data: acct } = await client .from('accounts') .select('id') .eq('slug', account) .single(); if (!acct) return
Konto nicht gefunden
; return (
{/* Header */}

Dokumente

Dokumente erstellen und verwalten

{/* Document Type Grid */}
{DOCUMENT_TYPES.map((docType) => { const Icon = docType.icon; return (
{docType.title}

{docType.description}

); })}
); }