'use client' import { useState } from 'react' import Link from 'next/link' export interface PagePurposeProps { title: string purpose: string audience: string[] gdprArticles?: string[] architecture?: { services: string[] databases: string[] diagram?: string } relatedPages?: Array<{ name: string href: string description: string }> collapsible?: boolean defaultCollapsed?: boolean } export function PagePurpose({ title, purpose, audience, gdprArticles, architecture, relatedPages, collapsible = true, defaultCollapsed = false, }: PagePurposeProps) { const [collapsed, setCollapsed] = useState(defaultCollapsed) const [showArchitecture, setShowArchitecture] = useState(false) return (
{/* Header */}
setCollapsed(!collapsed) : undefined} >
🎯 Warum gibt es diese Seite?
{collapsible && ( )}
{/* Content */} {!collapsed && (
{/* Purpose */}

{purpose}

{/* Metadata */}
{/* Audience */}
👥 Zielgruppe: {audience.join(', ')}
{/* GDPR Articles */} {gdprArticles && gdprArticles.length > 0 && (
📋 DSGVO-Bezug: {gdprArticles.join(', ')}
)}
{/* Architecture (expandable) */} {architecture && (
{showArchitecture && (
Services:
    {architecture.services.map((service) => (
  • {service}
  • ))}
Datenbanken:
    {architecture.databases.map((db) => (
  • {db}
  • ))}
)}
)} {/* Related Pages */} {relatedPages && relatedPages.length > 0 && (
🔗 Verwandte Seiten
{relatedPages.map((page) => ( {page.name} ))}
)}
)}
) }