import { createClient } from '@/lib/supabase/server' import { redirect } from 'next/navigation' import Link from 'next/link' import { getEndCustomers } from '@/lib/actions/end-customers' import { ArrowLeft, Building2, Plus, Edit2, AlertTriangle } from 'lucide-react' import { Button } from '@/components/ui/button' import { Card, CardContent } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' export default async function MyCustomersPage() { const supabase = await createClient() const { data: { user } } = await supabase.auth.getUser() if (!user) redirect('/auth/login') const customers = await getEndCustomers() // Anzahl Bestellungen pro Endkunde const { data: orderCounts } = await supabase .from('orders') .select('end_customer_id') .not('end_customer_id', 'is', null) const countMap: Record = {} ;(orderCounts ?? []).forEach(o => { if (o.end_customer_id) { countMap[o.end_customer_id] = (countMap[o.end_customer_id] ?? 0) + 1 } }) return (
{/* Header */}

Meine Kunden

Verwalten Sie Ihre Endkunden – deren Daten werden für Bestellungen verwendet.

{/* Keine Kunden */} {customers.length === 0 && (

Noch keine Endkunden angelegt.

)} {/* Kundenliste */} {customers.length > 0 && (
{customers.map(customer => ( ))}
Unternehmen Adresse Bestellungen Status Aktionen

{customer.company_name}

{(customer.first_name || customer.last_name) && (

{[customer.first_name, customer.last_name].filter(Boolean).join(' ')}

)} {customer.vat_id && (

{customer.vat_id}

)}

{customer.street ?? '–'}

{[customer.zip, customer.city].filter(Boolean).join(' ') || '–'}

{countMap[customer.id] ?? 0} Bestellung(en) {customer.is_anonymized ? ( Anonymisiert ) : ( Aktiv )} {!customer.is_anonymized && ( )}
)} {/* DSGVO-Hinweis */}

DSGVO-Hinweis

Die hier gespeicherten Kundendaten unterliegen der DSGVO. Auf Wunsch Ihrer Endkunden können Sie deren Daten über die Bearbeitungsmaske anonymisieren (Recht auf Vergessenwerden). Bestehende Bestellungen bleiben aus steuerrechtlichen Gründen unverändert.

) }