'use client' import React, { useState } from 'react' import { AssignmentOverview, ASSIGNMENT_STATUS_LABELS, ASSIGNMENT_STATUS_COLORS, formatDate } from './types' import { Badge, ComplianceBar, HoursBar, IconBack, IconTask, IconClock, IconMail, IconSettings, IconShield, } from './ui-primitives' import { AufgabenTab } from './AufgabenTab' import { ZeiterfassungTab } from './ZeiterfassungTab' import { KommunikationTab } from './KommunikationTab' import { EinstellungenTab } from './EinstellungenTab' type DetailTab = 'aufgaben' | 'zeit' | 'kommunikation' | 'einstellungen' export function DetailView({ assignment, onBack, onUpdate, addToast, }: { assignment: AssignmentOverview onBack: () => void onUpdate: () => void addToast: (msg: string, type?: 'success' | 'error') => void }) { const [activeTab, setActiveTab] = useState('aufgaben') const tabs: { id: DetailTab; label: string; icon: React.ReactNode }[] = [ { id: 'aufgaben', label: 'Aufgaben', icon: }, { id: 'zeit', label: 'Zeiterfassung', icon: }, { id: 'kommunikation', label: 'Kommunikation', icon: }, { id: 'einstellungen', label: 'Einstellungen', icon: }, ] return (
{/* Back + Header */}

{assignment.tenant_name}

{assignment.tenant_slug}

{/* Meta info */}

Vertragsbeginn

{formatDate(assignment.contract_start)}

Vertragsende

{assignment.contract_end ? formatDate(assignment.contract_end) : 'Unbefristet'}

Compliance-Score

Stunden diesen Monat

{assignment.notes && (

Anmerkungen

{assignment.notes}

)}
{/* Tabs */}
{/* Tab content */}
{activeTab === 'aufgaben' && } {activeTab === 'zeit' && ( )} {activeTab === 'kommunikation' && } {activeTab === 'einstellungen' && ( )}
) }