From 807fda3d2a2f425a37f300acf0d98157085a9af6 Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 30 Aug 2026 00:26:10 +0000 Subject: [PATCH] PDP: widen stepRow fact-cards back to 75rem (48rem read too squeezed) --- app/components/ProductBlocks.tsx | 9 +- scratch/seiten-inventar.html | 555 +++++++++++++++++++++++++++++++ 2 files changed, 559 insertions(+), 5 deletions(-) create mode 100644 scratch/seiten-inventar.html diff --git a/app/components/ProductBlocks.tsx b/app/components/ProductBlocks.tsx index dd226e8..676c050 100644 --- a/app/components/ProductBlocks.tsx +++ b/app/components/ProductBlocks.tsx @@ -176,13 +176,12 @@ export function renderProductBlock(block: ProductBlock, ctx: ProductBlockContext // rendering diverges from Pages.layout's own connected-arrow stepRow // (renderPageBlockSync), scoped to ProductBlocks.tsx. Icons black // (#231f20), same override reasoning as the quote block below. - // max-w-[48rem] — der-eine's own original Focus.tsx used 75rem, but - // that read too wide/loose for this card row (reported 2026-08-30); - // narrowed to match the blog body column's own width instead - // (RichText.tsx's max-w-[48rem]). + // max-w-[48rem] (blog-body width) read too squeezed for a 3-4-card + // row (reported 2026-08-30, same day it was narrowed) — back to + // der-eine's own original Focus.tsx width. case "stepRow": return ( -
+
{block.items.map((item) => { const Icon = STEP_ICONS[item.icon]; return ( diff --git a/scratch/seiten-inventar.html b/scratch/seiten-inventar.html new file mode 100644 index 0000000..ccbbb0c --- /dev/null +++ b/scratch/seiten-inventar.html @@ -0,0 +1,555 @@ +Seiten-Inventar + + + +
+ +
+ einfach produktiv. — Frontend +

Seiten-Inventar

+

Alle Routen der App, kategorisiert nach Sichtbarkeit und Quelle. Stand: 29.08.2026 — nach Einführung von app/sitemap.ts.

+
+ +
+
49
Frontend-Seiten gesamt
+
28
in sitemap.xml, indexierbar
+
15
noindex / intern
+
34
API-Routen (kein UI)
+
+ +
+ Automatisierung: Statische Routen sind fest in app/sitemap.ts hinterlegt. Die drei Payload-Collections darunter — Pages, Posts — werden bei jedem Sitemap-Aufruf live abgefragt (stündliches Revalidate), neue CMS-Seiten oder Blog-Artikel erscheinen also ohne Code-Änderung. robots.txt verweist auf die Sitemap und sperrt Konto-/Checkout-Bereiche explizit aus. +
+ +
+
+

Startseite & Marketing

+ 1 Seite + Öffentlich, indexierbar, statischer Code. +
+
+ + + + + +
PfadBeschreibungStatusQuelle
/Startseiteindexiertstatisch
+
+
+ +
+
+

Content & Werkzeuge

+ 7 Seiten + Blog-Übersicht, Shop, Newsletter-Anmeldung, eigenständige Tool-Seiten. +
+
+ + + + + + + + + + + +
PfadBeschreibungStatusQuelle
/blogBlog-Übersichtindexiertstatisch
/shopProduktkatalogindexiertstatisch
/newsletterImpulse & Tipps — Anmeldungindexiertstatisch
/die-siebenDie Sieben — Monatsritualindexiertstatisch
/einfach-anfangenEinfach anfangenindexiertstatisch
/7-tage-klarheits-check7-Tage-Klarheits-Checkindexiertstatisch
/stickerSticker-Landingpage (QR-Ziel)indexiertstatisch
+
+
+ +
+
+

Produktseiten

+ 3 Seiten + Bespoke Produktdetailseiten — kein generisches PDP-Template. +
+
+ + + + + + + +
PfadBeschreibungStatusQuelle
/der-eineProduktseite „Der Eine.“indexiertstatisch
/tasse-die-pauseProduktseite „Tasse Die Pause“indexiertstatisch
/todo-cardsProduktseite ToDo-Kartenindexiertstatisch
+
+
+ +
+
+

CMS-Seiten (Payload Pages)

+ 3 Seiten + Über den Page-Builder erstellt, laufen über den generischen app/[slug]-Catch-all. Wächst automatisch mit jeder neuen Payload-Seite. +
+
+ + + + + + + +
PfadTitelZuletzt geändertStatusQuelle
/ueber-michÜber mich27.08.2026indexiertPayload: Pages
/3x3-systemDas 3×3-System27.08.2026indexiertPayload: Pages
/lebensuhrLebensuhr27.08.2026indexiertPayload: Pages
+
+
+ +
+
+

Blog-Artikel (Payload Posts)

+ 12 Artikel + Nur status: published. Wächst automatisch mit jedem neuen Artikel. +
+
+ + + + + + + + + + + + + + + + +
PfadTitelVeröffentlichtStatus
/blog/produktivitat-alltag-lebenWarum zu viel Optimierung im Alltag oft das Gegenteil bewirkt26.08.2026indexiert
/blog/produktivitaets-system-familie-alltagWas passiert, wenn weniger Entscheidungen im Alltag plötzlich zu gut funktionieren12.08.2026indexiert
/blog/warum-ich-die-sieben-gestartet-habeDeshalb habe ich Die Sieben gestartet29.07.2026indexiert
/blog/entscheidungsstress-alltagWarum gute Entscheidungen im Alltag trotzdem oft verloren gehen15.07.2026indexiert
/blog/warum-todo-listen-oft-nicht-funktionierenWarum ToDo-Listen oft nicht funktionieren01.07.2026indexiert
/blog/3x3-systemDas 3×3-System: Warum du nicht zu wenig schaffst, sondern zu viel willst17.06.2026indexiert
/blog/produktivitaet-mit-kindern-was-sich-veraendertProduktivität mit Kindern02.06.2026indexiert
/blog/warum-ich-abends-immer-die-spuelmaschine-anschalteWarum ich abends immer die Spülmaschine anschalte01.10.2025indexiert
/blog/die-3-appsDie 3 Apps17.09.2025indexiert
/blog/der-feierabend-knopfDer Feierabend-Knopf10.09.2025indexiert
/blog/3minutenDie 3-Minuten-Morgenroutine, die mir den Tag rettet20.08.2025indexiert
/blog/promodoro-technikEffektives Zeitmanagement mit einer Prise Tomate13.08.2025indexiert
+
+
+ +
+
+

Rechtliches

+ 5 Seiten + Pflichtseiten, statisch, indexierbar. +
+
+ + + + + + + + + +
PfadBeschreibungStatusQuelle
/agbAGBindexiertstatisch
/datenschutzDatenschutzindexiertstatisch
/impressumImpressumindexiertstatisch
/versandVersand & Lieferungindexiertstatisch
/widerrufWiderrufsrechtindexiertstatisch
+
+
+ +
+
+

Konto-Bereich

+ 8 Seiten + Personalisiert, hinter Login oder rein transaktional — bewusst noindex. +
+
+ + + + + + + + + + + + +
PfadBeschreibungStatusQuelle
/konto/loginLoginnoindexstatisch
/konto/registrierenRegistrierungnoindexstatisch
/konto/passwort-vergessenPasswort vergessennoindexstatisch
/konto/passwort-zuruecksetzenPasswort zurücksetzennoindexstatisch
/konto/profilProfilnoindexstatisch
/konto/bestellungenBestellübersichtnoindexstatisch
/konto/bestellungen/[orderNumber]Bestelldetail
dynamisch je Bestellnummer
noindexstatisch
/konto/merklisteMerkliste / Wishlistnoindexstatisch
+
+
+ +
+
+

Transaktions-Flow

+ 5 Seiten + Warenkorb, Checkout und die beiden Bestätigungsseiten — spiegeln jeweils einen konkreten Vorgang, kein indexierbarer Inhalt. +
+
+ + + + + + + + + +
PfadBeschreibungStatusQuelle
/cartWarenkorbnoindexstatisch
/checkoutCheckoutnoindexstatisch
/checkout/verarbeitungZahlung wird verarbeitetnoindexstatisch
/bestellbestaetigungBestellbestätigung
explizit auf Wunsch geprüft — bleibt noindex, siehe Hinweis oben
noindexstatisch
/newsletter-confirmedNewsletter-Anmeldung bestätigt
Double-Opt-in-Landing, dasselbe Prinzip
noindexstatisch
+
+
+ +
+
+

Redirect-Ziele & interne Tools

+ 4 Seiten + Kein eigener Inhalt (reine Weiterleitung) bzw. nicht kundenseitig. +
+
+ + + + + + + + +
PfadBeschreibungStatusQuelle
/sticker/[code]QR-Code-Weiterleitung
leitet aktuell auf /sticker um
internstatisch
/r/[code]Kurzlink-Weiterleitung (Redirects-Collection)internstatisch
/company-settings-previewVorschau der Firmeneinstellungeninternstatisch
/email-preview/[type]E-Mail-Template-Vorschauinternstatisch
+
+
+ +
+
+ + API-Endpunkte 34 Routen · kein UI, nicht in Sitemap/Robots-Sinn relevant + +
+
/api/account/cart
+
/api/account/check-email
+
/api/account/delete
+
/api/account/export
+
/api/account/forgot-password
+
/api/account/login
+
/api/account/logout
+
/api/account/me
+
/api/account/orders
+
/api/account/orders/[orderNumber]
+
/api/account/orders/[orderNumber]/correction-invoice
+
/api/account/orders/[orderNumber]/invoice
+
/api/account/orders/[orderNumber]/switch-to-stripe
+
/api/account/password
+
/api/account/profile
+
/api/account/register
+
/api/account/resend-verification
+
/api/account/reset-password
+
/api/account/verify-email
+
/api/account/wishlist
+
/api/checkout
+
/api/checkout/autocomplete-address
+
/api/checkout/status
+
/api/checkout/validate-dhl-postnumber
+
/api/checkout/validate-vat
+
/api/discount/redeem
+
/api/discount/validate
+
/api/health
+
/api/muster-widerrufsformular
+
/api/newsletter/subscribe
+
/api/preview
+
/api/products
+
/api/search
+
/api/stock-notifications
+
/api/webhooks/stripe
+
/api/webhooks/stripe/test-confirm
+
+
+
+ + + +