No description
Baut die Einstiegsseite (/) zu einer öffentlichen Landingpage um und verschiebt
das bisherige Dashboard auf eine eigene Route (/dashboard).
Änderungen:
- Neues schlankes Public-Layout (components/public-layout.tsx): Kopfbereich mit
SkillGuard-Logo (Link -> /) und CTAs ("Zum Dashboard" -> /dashboard,
"Skill prüfen" -> /pruefen), Inhaltsbereich, Footer mit Impressum/
Haftungsausschluss-Links (aus Task #27 wiederverwendet).
- Neue Landingpage (pages/landing.tsx):
- Hero mit Wertaussage und primären CTAs.
- Abschnitt "Worin liegt das Risiko?" mit 6 verständlichen Problem-Karten
(nicht vertrauenswürdiger Code, versteckte Anweisungen, Prompt-Injektion,
Datenabfluss, Zugriff auf Geheimnisse, unkontrollierte Installation).
- Abschnitt "Das Prüfregelwerk": lädt aktive Regeln live via useListRules,
filtert enabled, rendert zwei getrennte Gruppen (Datenschutz / IT-Sicherheit)
mit Achsen-/Schweregrad-Badge, "Was geprüft wird" (Regelbeschreibung) und
"Warum das ein Risiko ist" (kuratierte Texte je ruleId mit Rückfall auf die
Regelbeschreibung). Lade-/Fehler-/Leerzustände abgedeckt.
- App.tsx: Routing aufgeteilt – "/" nutzt PublicLayout+Landing, alle übrigen
Routen bleiben im AppLayout (Sidebar); Dashboard nun unter /dashboard.
- layout.tsx: Sidebar-Logo verlinkt auf /, Dashboard-Link auf /dashboard mit
angepasster Aktiv-Logik (startsWith("/dashboard")).
Hinweise:
- Keine Backend-/Schema-Änderungen; kuratierte Risikotexte leben im Frontend.
- Vorhandene TS-Fehler in admin/scan-* Seiten stammen aus anderen offenen Tasks
(fehlende generierte API-Member) und sind nicht Teil dieser Änderung.
- Verifiziert via Screenshots (Landing + /dashboard) und tsc (eigene Dateien
fehlerfrei).
Replit-Task-Id: 83cee1ab-a1fc-4106-be3c-52e1cebcc838
|
||
|---|---|---|
| .agents/memory | ||
| artifacts | ||
| lib | ||
| scripts | ||
| .gitignore | ||
| .npmrc | ||
| .replit | ||
| .replitignore | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| replit.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||