'use client' import { useState, useEffect } from 'react' import { useParams } from 'next/navigation' import Link from 'next/link' import { AlertTriangle, FileText, Activity, History } from 'lucide-react' import { mockAgentDetails, mockChangeLogs } from './_components/mock-data' import { AgentHeader, AgentStatsBar, SoulTabContent, StatsTabContent, HistoryTabContent, } from './_components' import type { AgentDetail } from './_components' type TabId = 'soul' | 'stats' | 'history' const TABS: { id: TabId; label: string; icon: typeof FileText }[] = [ { id: 'soul', label: 'SOUL-File', icon: FileText }, { id: 'stats', label: 'Live-Statistiken', icon: Activity }, { id: 'history', label: 'Aenderungshistorie', icon: History }, ] export default function AgentDetailPage() { const params = useParams() const agentId = params.agentId as string const [agent, setAgent] = useState(null) const [editedContent, setEditedContent] = useState('') const [isEditing, setIsEditing] = useState(false) const [hasChanges, setHasChanges] = useState(false) const [saving, setSaving] = useState(false) const [activeTab, setActiveTab] = useState('soul') useEffect(() => { const agentData = mockAgentDetails[agentId] if (agentData) { setAgent(agentData) setEditedContent(agentData.soulContent) } }, [agentId]) const handleSave = async () => { setSaving(true) await new Promise(resolve => setTimeout(resolve, 1000)) if (agent) { setAgent({ ...agent, soulContent: editedContent, updatedAt: new Date().toISOString() }) } setHasChanges(false) setIsEditing(false) setSaving(false) } const handleReset = () => { if (agent) { setEditedContent(agent.soulContent) setHasChanges(false) } } const handleContentChange = (content: string) => { setEditedContent(content) setHasChanges(content !== agent?.soulContent) } if (!agent) { return (

Agent nicht gefunden

Der Agent "{agentId}" existiert nicht.

← Zurueck zur Uebersicht
) } return (
{/* Tabs */}
{TABS.map(({ id, label, icon: Icon }) => ( ))}
{activeTab === 'soul' && ( setIsEditing(true)} /> )} {activeTab === 'stats' && } {activeTab === 'history' && }
) }