Die Statistik-Zeile im Hero zeigte fest "10+ Projekte". Sie hängt jetzt
am selben /api/projects wie der Abschnitt "Projekte" (gleicher
react-query queryKey, also weiterhin nur ein Request) und zählt die
Repositories, die tatsächlich in Gitea liegen. Fallback bleibt 10,
falls die API nicht antwortet.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der Abschnitt "Projekte" zog bisher aus einem hartkodierten Array mit
Unsplash-Platzhaltern. Jetzt kommt der Inhalt live von GET /api/projects,
das serverseitig alle Repositories aus Gitea mit den Hosting-Metadaten
aus Appwrite (websiteProjects) zusammenführt.
- Hybride Vorschau: öffentlich erreichbare und einbettbare Seiten laufen
als echtes Live-Iframe (lazy, erst im Viewport, pointer-events: none),
alles andere bekommt eine Live-Daten-Kachel mit Status, Sprache,
letztem Commit und deterministischer Akzentfarbe.
- Filter-Chips je Kategorie, Volltextsuche, "Mehr laden" (12er-Schritte).
- Ladeskelett und Fehlerzustand mit Retry, damit der Abschnitt nie
leer oder kaputt aussieht.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Neues Footer-Layout (Link-Spalten mit Chevron-Hover + animierter
WEBklar-Schriftzug via FlickeringGrid). Inhalt (Branding, Seiten-,
Kontakt- und Rechtliches-Links) aus dem bisherigen Footer übernommen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>