'use client' /** * Brandbook - Corporate Design & Styleguide * * Dokumentiert alle Designelemente: * - Farben * - Typografie * - Komponenten * - Logo-Verwendung * - Tonalität */ import { useState } from 'react' import AdminLayout from '@/components/admin/AdminLayout' // Color palette from actual CSS variables const COLORS = { primary: { name: 'Primary (Sky Blue)', shades: [ { name: '50', value: '#f0f9ff', text: 'dark' }, { name: '100', value: '#e0f2fe', text: 'dark' }, { name: '200', value: '#bae6fd', text: 'dark' }, { name: '300', value: '#7dd3fc', text: 'dark' }, { name: '400', value: '#38bdf8', text: 'dark' }, { name: '500', value: '#0ea5e9', text: 'light' }, { name: '600', value: '#0284c7', text: 'light' }, { name: '700', value: '#0369a1', text: 'light' }, { name: '800', value: '#075985', text: 'light' }, { name: '900', value: '#0c4a6e', text: 'light' }, ], }, accent: { name: 'Accent (Fuchsia)', shades: [ { name: '50', value: '#fdf4ff', text: 'dark' }, { name: '100', value: '#fae8ff', text: 'dark' }, { name: '200', value: '#f5d0fe', text: 'dark' }, { name: '300', value: '#f0abfc', text: 'dark' }, { name: '400', value: '#e879f9', text: 'dark' }, { name: '500', value: '#d946ef', text: 'light' }, { name: '600', value: '#c026d3', text: 'light' }, { name: '700', value: '#a21caf', text: 'light' }, { name: '800', value: '#86198f', text: 'light' }, { name: '900', value: '#701a75', text: 'light' }, ], }, success: { name: 'Success (Emerald)', shades: [ { name: '500', value: '#10b981', text: 'light' }, { name: '600', value: '#059669', text: 'light' }, ], }, warning: { name: 'Warning (Amber)', shades: [ { name: '500', value: '#f59e0b', text: 'dark' }, { name: '600', value: '#d97706', text: 'light' }, ], }, danger: { name: 'Danger (Red)', shades: [ { name: '500', value: '#ef4444', text: 'light' }, { name: '600', value: '#dc2626', text: 'light' }, ], }, neutral: { name: 'Neutral (Slate)', shades: [ { name: '50', value: '#f8fafc', text: 'dark' }, { name: '100', value: '#f1f5f9', text: 'dark' }, { name: '200', value: '#e2e8f0', text: 'dark' }, { name: '300', value: '#cbd5e1', text: 'dark' }, { name: '400', value: '#94a3b8', text: 'dark' }, { name: '500', value: '#64748b', text: 'light' }, { name: '600', value: '#475569', text: 'light' }, { name: '700', value: '#334155', text: 'light' }, { name: '800', value: '#1e293b', text: 'light' }, { name: '900', value: '#0f172a', text: 'light' }, ], }, } const TYPOGRAPHY = { fontFamily: "'Inter', system-ui, -apple-system, sans-serif", weights: [ { weight: 400, name: 'Regular', usage: 'Fließtext, Beschreibungen' }, { weight: 500, name: 'Medium', usage: 'Labels, Buttons' }, { weight: 600, name: 'Semi-Bold', usage: 'Überschriften H3-H6' }, { weight: 700, name: 'Bold', usage: 'Überschriften H1-H2, CTAs' }, ], sizes: [ { name: 'xs', size: '0.75rem (12px)', usage: 'Footnotes, Badges' }, { name: 'sm', size: '0.875rem (14px)', usage: 'Nebentext, Labels' }, { name: 'base', size: '1rem (16px)', usage: 'Fließtext, Body' }, { name: 'lg', size: '1.125rem (18px)', usage: 'Lead Text' }, { name: 'xl', size: '1.25rem (20px)', usage: 'H4, Card Titles' }, { name: '2xl', size: '1.5rem (24px)', usage: 'H3' }, { name: '3xl', size: '1.875rem (30px)', usage: 'H2' }, { name: '4xl', size: '2.25rem (36px)', usage: 'H1, Hero' }, { name: '5xl', size: '3rem (48px)', usage: 'Display' }, ], } const SPACING = [ { name: '0', value: '0px' }, { name: '1', value: '0.25rem (4px)' }, { name: '2', value: '0.5rem (8px)' }, { name: '3', value: '0.75rem (12px)' }, { name: '4', value: '1rem (16px)' }, { name: '5', value: '1.25rem (20px)' }, { name: '6', value: '1.5rem (24px)' }, { name: '8', value: '2rem (32px)' }, { name: '10', value: '2.5rem (40px)' }, { name: '12', value: '3rem (48px)' }, { name: '16', value: '4rem (64px)' }, ] const VOICE_TONE = { attributes: [ 'Professionell & Vertrauenswürdig', 'Freundlich & Zugänglich', 'Klar & Direkt', 'Hilfreich & Unterstützend', 'Modern & Innovativ', ], doList: [ 'Einfache Sprache verwenden', 'Aktiv formulieren', 'Nutzenorientiert schreiben', 'Konkrete Beispiele geben', 'Empathie zeigen', ], dontList: [ 'Fachjargon ohne Erklärung', 'Passive Formulierungen', 'Übertriebene Versprechen', 'Negative Formulierungen', 'Unpersönliche Ansprache', ], } function ColorSwatch({ color, name }: { color: { name: string; value: string; text: string }; name: string }) { const [copied, setCopied] = useState(false) const copyToClipboard = () => { navigator.clipboard.writeText(color.value) setCopied(true) setTimeout(() => setCopied(false), 2000) } return ( ) } export default function BrandbookPage() { const [activeTab, setActiveTab] = useState<'colors' | 'typography' | 'components' | 'logo' | 'voice'>('colors') return ( {/* Tabs */}
{[ { id: 'colors', label: 'Farben' }, { id: 'typography', label: 'Typografie' }, { id: 'components', label: 'Komponenten' }, { id: 'logo', label: 'Logo' }, { id: 'voice', label: 'Tonalität' }, ].map((tab) => ( ))}
{/* Colors Tab */} {activeTab === 'colors' && (
{Object.entries(COLORS).map(([key, palette]) => (

{palette.name}

{palette.shades.map((shade) => ( ))}
))} {/* Color Usage Guidelines */}

Verwendungsrichtlinien

Primary (Sky Blue)

  • - Primäre Buttons und CTAs
  • - Links und interaktive Elemente
  • - Fokuszustände
  • - Ausgewählte Navigation

Accent (Fuchsia)

  • - Highlights und Akzente
  • - Badges und Tags
  • - Gradient-Akzente
  • - Kreative Elemente
)} {/* Typography Tab */} {activeTab === 'typography' && (
{/* Font Family */}

Schriftart: Inter

font-family: {TYPOGRAPHY.fontFamily};

Inter ist eine moderne, variable Sans-Serif Schrift, optimiert für Bildschirme. Sie ist unter der SIL Open Font License verfügbar und frei für kommerzielle Nutzung.

{/* Font Weights */}

Schriftschnitte

{TYPOGRAPHY.weights.map((w) => (
The quick brown fox
{w.name} ({w.weight}) {w.usage}
))}
{/* Font Sizes */}

Schriftgrößen

{TYPOGRAPHY.sizes.map((s) => (
{s.name} {s.size} {s.usage}
))}
{/* Headings Preview */}

Überschriften-Hierarchie

H1: Hauptüberschrift

H2: Abschnittsüberschrift

H3: Unterabschnitt

H4: Card-Titel

H5: Kleiner Titel
H6: Label
)} {/* Components Tab */} {activeTab === 'components' && (
{/* Buttons */}

Buttons

{/* Inputs */}

Eingabefelder

{/* Cards */}

Cards

Feature Card

Beschreibungstext für diese Feature-Karte.

Highlight Card

Mit Gradient-Hintergrund.

Dark Card

Dunkler Hintergrund.

{/* Badges */}

Badges & Tags

Primary Success Warning Danger Neutral Accent
)} {/* Logo Tab */} {activeTab === 'logo' && (
{/* Logo Display */}

Logo

B
BreakPilot
B
BreakPilot
{/* Logo Variations */}

Logo-Varianten

B
Icon Only
BreakPilot Text Only
B
BreakPilot
Horizontal
B
BreakPilot
Stacked
{/* Clear Space */}

Schutzzone

Um das Logo herum sollte mindestens ein Abstand von der Höhe des Icons eingehalten werden.

B
BreakPilot
{/* Don'ts */}

Nicht erlaubt

B
BreakPilot
Falsche Farben
B
BreakPilot
Verzerrt
B
Break Pilot
Falsche Schreibweise
)} {/* Voice & Tone Tab */} {activeTab === 'voice' && (
{/* Brand Attributes */}

Markenpersönlichkeit

{VOICE_TONE.attributes.map((attr) => ( {attr} ))}
{/* Do & Don't */}

So schreiben wir

    {VOICE_TONE.doList.map((item) => (
  • {item}
  • ))}

Das vermeiden wir

    {VOICE_TONE.dontList.map((item) => (
  • {item}
  • ))}
{/* Example Texts */}

Beispieltexte

GUT

"Sparen Sie Zeit bei der Korrektur - unsere KI unterstützt Sie mit intelligenten Vorschlägen."

SCHLECHT

"Unsere revolutionäre KI-Lösung optimiert Ihre Korrekturworkflows durch state-of-the-art NLP."

{/* Target Audience */}

Zielgruppe

👩‍🏫

Lehrkräfte

Wünschen Zeitersparnis und einfache Bedienung

🏫

Schulleitung

Fokus auf DSGVO, Kosten und Integration

👨‍👩‍👧

Eltern

Wollen Transparenz und schnelles Feedback

)}
) }