perf: DB-Indizes, Footer als Server Component, Site-weite Fehlerseiten
Datenbank (prisma/migrations/20260904120000_add_performance_indexes): 7 fehlende Indizes auf Fremdschluessel-/Filter-Spalten ergaenzt (Order.customerId+createdAt, Order.status, Order.createdAt, Order.discountCodeId, OrderItem.orderId, Address.customerId, AuditLog.createdAt) — bislang volle Tabellenscans bei Bestelluebersicht, Admin-Dashboard, Checkout-Gutscheinpruefung und Audit-Log. Bundle-Groesse: Footer (TikTok/YouTube/Instagram-Icons, Copyright-Zeile) aus dem client-seitigen site-chrome.tsx in eine eigene Server Component (site-footer.tsx) ausgelagert — brauchte "use client" nur wegen useI18n(), jetzt getDictionary()-Server-Aufruf wie auf jeder Admin-Seite. Entfernt ungenutztes clientseitiges JS/Hydration aus jedem Seitenaufruf (Footer steht im Root-Layout). UX: app/not-found.tsx und app/error.tsx ergaenzt (Next.js-Konventionen fuer 404 bzw. Laufzeitfehler) — beide fehlten komplett, unbekannte Routen und Rendering-Fehler zeigten bisher Next.js' generische, unbrandete Standardseiten statt einer zur Seite passenden Nutzerfuehrung. Dictionary-Kollision dabei aufgefallen und aufgeloest: eine bereits bestehende, admin-interne errorPage-Uebersetzung (src/app/admin/error.tsx, seit dem urspruenglichen App-Grundgeruest vorhanden) blieb unangetastet, die neue site-weite Fehlerseite nutzt einen eigenen Schluessel (siteErrorPage). Verifiziert: tsc --noEmit clean, 118/118 Tests gruen, pnpm build clean. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
9e8da18875
commit
04cc3061cf
13 files changed
+344
-215
No files matched your search
@@ -149,6 +149,20 @@ export const de: Dictionary = {
|
||||
legalPage: {
|
||||
reviewNotice: "[PLATZHALTER — vor Veröffentlichung rechtlich prüfen lassen]",
|
||||
},
|
||||
notFoundPage: {
|
||||
eyebrow: "404",
|
||||
title: "Diese Seite gibt es nicht — zumindest nicht mehr.",
|
||||
text: "Der Link ist vielleicht veraltet, oder die Seite wurde verschoben. Schau dich im Shop um oder geh zurück zur Startseite.",
|
||||
backToShop: "Zum Shop",
|
||||
backToHome: "Zur Startseite",
|
||||
},
|
||||
siteErrorPage: {
|
||||
eyebrow: "Fehler",
|
||||
title: "Da ist etwas schiefgelaufen.",
|
||||
text: "Das war ein technischer Fehler auf unserer Seite, nicht deine Schuld. Versuch es noch einmal, oder komm später wieder vorbei.",
|
||||
retry: "Erneut versuchen",
|
||||
backToHome: "Zur Startseite",
|
||||
},
|
||||
cookieConsent: {
|
||||
dialogLabel: "Cookie-Einstellungen",
|
||||
bannerTextBeforeLink:
|
||||
|
||||
Reference in new issue
Block a user