feat: redesign CMS and unify German admin UI

This commit is contained in:
2026-09-17 16:51:24 +02:00
parent a2b3e99174
commit 7ec0c51ff5
129 changed files with 952 additions and 550 deletions
+8 -8
View File
@@ -13,7 +13,7 @@ const WEEKDAYS = [
/**
* Central SEO settings, edited once by Anna, applied automatically across
* the whole website (see lib/seo/*). Everything here is optional — nothing
* the whole website (see lib/seo/*). Everything here is optional - nothing
* is invented if a field is left blank (see lib/seo/jsonld.ts, which only
* emits LocalBusiness structured data once real address data exists).
*/
@@ -21,7 +21,7 @@ export const SEOSettings: GlobalConfig = {
slug: "seo-settings",
label: "SEO-Einstellungen",
admin: {
description: "Globale SEO-Vorgaben für die gesamte Website — greift automatisch überall dort, wo eine Seite keine eigenen SEO-Angaben hat.",
description: "Globale SEO-Vorgaben für die gesamte Website - greift automatisch überall dort, wo eine Seite keine eigenen SEO-Angaben hat.",
group: "SEO",
},
access: {
@@ -40,7 +40,7 @@ export const SEOSettings: GlobalConfig = {
type: "text",
label: "Website-URL",
admin: {
description: "Nur bei Bedarf setzen (z. B. https://anouma.org) — überschreibt die Server-Konfiguration. Leer lassen, um die technische Standardeinstellung zu verwenden.",
description: "Nur bei Bedarf setzen (z. B. https://anouma.org) - überschreibt die Server-Konfiguration. Leer lassen, um die technische Standardeinstellung zu verwenden.",
},
validate: (value: string | null | undefined) => {
if (!value) return true;
@@ -58,8 +58,8 @@ export const SEOSettings: GlobalConfig = {
name: "defaultOgImage",
type: "upload",
relationTo: "media",
label: "Standard Social-Media-Bild",
admin: { description: "Wird verwendet, wenn eine Seite kein eigenes Open-Graph-Bild hat." },
label: "Standardbild für soziale Netzwerke",
admin: { description: "Wird verwendet, wenn eine Seite kein eigenes Bild für soziale Netzwerke hat." },
},
{
name: "robotsIndexable",
@@ -67,14 +67,14 @@ export const SEOSettings: GlobalConfig = {
label: "Website für Suchmaschinen sichtbar",
defaultValue: true,
admin: {
description: "Deaktivieren, um die gesamte öffentliche Website vorübergehend für Suchmaschinen zu sperren (z. B. während des Aufbaus). Betrifft nicht Admin/Konto — die sind ohnehin immer gesperrt.",
description: "Deaktivieren, um die gesamte öffentliche Website vorübergehend für Suchmaschinen zu sperren (z. B. während des Aufbaus). Betrifft nicht Admin/Konto - die sind ohnehin immer gesperrt.",
},
},
],
},
{
label: "Lokale Informationen",
admin: { description: "Werden nur verwendet, wenn tatsächlich ausgefüllt — es werden keine Angaben erfunden." },
admin: { description: "Werden nur verwendet, wenn tatsächlich ausgefüllt - es werden keine Angaben erfunden." },
fields: [
{
name: "businessName",
@@ -99,7 +99,7 @@ export const SEOSettings: GlobalConfig = {
name: "openingHours",
type: "array",
label: "Öffnungs-/Erreichbarkeitszeiten",
admin: { description: "Optional — nur für tatsächlich feste Zeiten (z. B. Sprechzeiten)." },
admin: { description: "Optional - nur für tatsächlich feste Zeiten (z. B. Sprechzeiten)." },
fields: [
{
type: "row",