WEB-0b: CMS-Verwaltung der öffentlichen Webseite (Hand-Editier-UI)
Neuer Bereich /webseite im Manager (Nav: "Mehr"-Blatt) zur Pflege der 6
Webseiten-Seiten gegen Pams WEB-0-Backend (LAN-only, keine Auth):
- Übersicht: alle Seiten mit Status (Entwurf/Veröffentlicht).
- Seiten-Editor: Titel + SEO-Beschreibung + Status speichern.
- Geordneter Block-Editor: Blöcke hinzufügen (Überschrift, Textabschnitt/
Markdown, Bild, Galerie, Kontaktangaben), bearbeiten, nach oben/unten
verschieben (PUT .../blocks/order), löschen. Die dynamische AbgabetiereList
ist nicht manuell anlegbar; nur ihr Einleitungstext ist editierbar.
Vertraege: GET /pages, GET /pages/{slug}, PUT /pages/{id},
POST /pages/{pageId}/blocks, PUT /blocks/{id}, DELETE /blocks/{id},
PUT /pages/{pageId}/blocks/order. Enums als Strings (Draft/Published, Heading...).
Deutsch via de.ts (LF beibehalten), mobile-first. e2e-Mock um die CMS-Routen
erweitert (zustandsbehaftet) + Smoke (Block anlegen/bearbeiten/verschieben,
bleibt erhalten). Gate gruen: build, eslint, vitest 69, e2e 68.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,8 @@ export const de = {
|
||||
mainNavigation: 'Hauptnavigation',
|
||||
// HELP-1
|
||||
help: 'Hilfe',
|
||||
// WEB-0b (Kevin): CMS-Verwaltung der öffentlichen Webseite
|
||||
website: 'Webseite',
|
||||
},
|
||||
pages: {
|
||||
home: {
|
||||
@@ -576,6 +578,69 @@ export const de = {
|
||||
photoNote:
|
||||
'Fotos sind nicht enthalten — sie liegen als Bilddateien im Datenordner der Anwendung und können von dort gesichert werden.',
|
||||
},
|
||||
// ── WEB-0b (Kevin): CMS-Verwaltung der öffentlichen Webseite ──
|
||||
webseite: {
|
||||
title: 'Webseite',
|
||||
intro:
|
||||
'Hier pflegst du die Inhalte deiner öffentlichen Webseite. Änderungen werden erst beim Veröffentlichen online sichtbar.',
|
||||
empty: 'Es sind noch keine Seiten angelegt.',
|
||||
statusLabel: 'Status',
|
||||
statusDraft: 'Entwurf',
|
||||
statusPublished: 'Veröffentlicht',
|
||||
edit: 'Bearbeiten',
|
||||
back: 'Zurück zur Übersicht',
|
||||
// Seiten-Editor (Kopf)
|
||||
editor: {
|
||||
pageTitleLabel: 'Seitentitel',
|
||||
seoLabel: 'Beschreibung für Suchmaschinen (SEO)',
|
||||
seoHint: 'Kurzer Text (ca. 1–2 Sätze), der bei Google unter dem Titel erscheint.',
|
||||
save: 'Seite speichern',
|
||||
saved: 'Seite gespeichert.',
|
||||
},
|
||||
// Block-Editor
|
||||
blocks: {
|
||||
sectionTitle: 'Inhaltsblöcke',
|
||||
empty: 'Diese Seite hat noch keine Inhaltsblöcke. Füge unten den ersten hinzu.',
|
||||
addLabel: 'Block hinzufügen:',
|
||||
moveUp: 'Nach oben',
|
||||
moveDown: 'Nach unten',
|
||||
delete: 'Block löschen',
|
||||
confirmDelete: 'Diesen Block wirklich löschen?',
|
||||
save: 'Block speichern',
|
||||
saved: 'Gespeichert.',
|
||||
// Block-Typ-Namen
|
||||
types: {
|
||||
Heading: 'Überschrift',
|
||||
RichText: 'Textabschnitt',
|
||||
Image: 'Bild',
|
||||
Gallery: 'Bildergalerie',
|
||||
ContactInfo: 'Kontaktangaben',
|
||||
AbgabetiereList: 'Abgabetiere (automatisch)',
|
||||
},
|
||||
// Feld-Beschriftungen je Block-Typ
|
||||
fields: {
|
||||
headingText: 'Überschrift-Text',
|
||||
headingLevel: 'Größe',
|
||||
levelMain: 'Hauptüberschrift',
|
||||
levelSub: 'Unterüberschrift',
|
||||
markdown: 'Text',
|
||||
markdownHint:
|
||||
'Einfache Formatierung möglich: **fett**, *kursiv*, Listen mit „- “, Links als [Text](https://…).',
|
||||
imageUrl: 'Bild-Adresse (URL)',
|
||||
imageAlt: 'Bildbeschreibung (für Suchmaschinen & Barrierefreiheit)',
|
||||
galleryImages: 'Bilder',
|
||||
galleryAdd: 'Bild hinzufügen',
|
||||
galleryRemove: 'Entfernen',
|
||||
contactName: 'Name',
|
||||
contactEmail: 'E-Mail',
|
||||
contactPhone: 'Telefon',
|
||||
contactAddress: 'Adresse',
|
||||
abgabeIntro: 'Einleitungstext',
|
||||
abgabeAutoNote:
|
||||
'Die Liste der Abgabetiere wird beim Veröffentlichen automatisch aus deinen aktuellen Abgabetieren erzeugt. Du kannst nur den Einleitungstext bearbeiten.',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
// ── HELP-1: In-App-Anleitung ──
|
||||
hilfe: {
|
||||
|
||||
Reference in New Issue
Block a user