Frontend: Editorial-Relaunch der öffentlichen Strecke + Ausgaben-Routing
Öffentliche Seiten auf gemeinsames Editorial-Design (x-web.site-header/-footer,
Design-Tokens) und Ausgaben-Präfix /{edition}/ (de|en) umgestellt.
- Routing: neue Middleware SetEdition (Locale + URL::defaults), /{edition}-Gruppe
in routes/web.php, Root-Redirect auf /de, 301 für Legacy-.html-URLs,
Baseline-Default in AppServiceProvider.
- Neue URL-Schemata: /{edition}/press-release/{slug}, /{edition}/category/{slug}.
- Ausgabe = Sprache: DE/EN-Umschalter (Region/CH/AT entfernt); EditorialClock
und Livewire-Komponenten sprachdynamisch.
- Detail-, Kategorie- und Veröffentlichen-Seite mit echten Daten neu aufgebaut.
- Suche aktiviert: Volt-Komponente livewire/web/search (Titel/Text/Keywords +
Firma + Rubrik, Filter, Sortierung, Pagination, URL-Parameter q/category/sort).
- Rubriken-Navigation statt Übersichtsseite: Helper CategoryNavigation;
web/kategorien.blade.php + Route entfernt (Legacy-301).
- Tests: Edition-Routing, Kategorie-Seite/-Navigation, Detail, Veröffentlichen,
Suche, EditorialClock. Doku in "Echte öffentliche Unterseiten.md" aktualisiert.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
a0547208d3
commit
253141c6dc
64 changed files with 4457 additions and 2971 deletions
|
|
@ -20,6 +20,24 @@
|
|||
@source "../../views/livewire/auth";
|
||||
@source "../../views/components/layouts/auth";
|
||||
|
||||
/**
|
||||
* Editorial-Status-Tokens (Detailseite/Branchenseite).
|
||||
* Semantisch identisch über alle Web-Themes hinweg: Bernstein-Warnung
|
||||
* (Korrekturhinweise) und grüne Verifizierung (verifizierte Publisher).
|
||||
* Liegen hier zentral, damit beide Marken (BP24 + presseecho) dieselben
|
||||
* Status-Utilities (bg-warn-bg, text-verify-ink …) generieren.
|
||||
*/
|
||||
@theme {
|
||||
--color-warn-bg: #fff8e1;
|
||||
--color-warn-border: #e8c77a;
|
||||
--color-warn-ink: #7a5a0f;
|
||||
--color-warn-ink-deep: #3d2f0f;
|
||||
|
||||
--color-verify-bg: #e8f4ec;
|
||||
--color-verify-border: #1b8e3a;
|
||||
--color-verify-ink: #0f5e26;
|
||||
}
|
||||
|
||||
/* Tailwind Base Layer für gemeinsame Elemente */
|
||||
@layer base {
|
||||
*,
|
||||
|
|
@ -81,6 +99,80 @@
|
|||
|
||||
/* Gemeinsame Component Styles */
|
||||
@layer components {
|
||||
/**
|
||||
* Artikel-Fließtext der Detailseite (sanitisiertes PM-HTML).
|
||||
* Bildet die Editorial-Typografie aus dem tailwind_v3-Mockup nach und
|
||||
* nutzt ausschließlich Theme-Tokens, damit BP24 und presseecho identisch
|
||||
* rendern (nur die Brand-Akzente unterscheiden sich).
|
||||
*/
|
||||
.pm-body > p {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 17px;
|
||||
line-height: 1.65;
|
||||
margin: 0 0 18px;
|
||||
color: var(--color-ink);
|
||||
text-wrap: pretty;
|
||||
}
|
||||
.pm-body > h2 {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 22px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.3px;
|
||||
line-height: 1.25;
|
||||
margin: 32px 0 14px;
|
||||
color: var(--color-ink);
|
||||
}
|
||||
.pm-body > h3 {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 1.3;
|
||||
margin: 26px 0 10px;
|
||||
color: var(--color-ink);
|
||||
}
|
||||
.pm-body > ul,
|
||||
.pm-body > ol {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 17px;
|
||||
line-height: 1.65;
|
||||
color: var(--color-ink);
|
||||
margin: 0 0 18px;
|
||||
padding-left: 1.4em;
|
||||
}
|
||||
.pm-body > ul {
|
||||
list-style: disc;
|
||||
}
|
||||
.pm-body > ol {
|
||||
list-style: decimal;
|
||||
}
|
||||
.pm-body li {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.pm-body blockquote {
|
||||
margin: 28px 0;
|
||||
padding-left: 24px;
|
||||
border-left: 3px solid var(--color-brand);
|
||||
}
|
||||
.pm-body blockquote p {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 21px;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
letter-spacing: -0.2px;
|
||||
margin: 0 0 12px;
|
||||
color: var(--color-ink);
|
||||
text-wrap: balance;
|
||||
}
|
||||
.pm-body a {
|
||||
color: var(--color-brand);
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
.pm-body strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Button Base Styles */
|
||||
.btn {
|
||||
@apply inline-flex items-center justify-center px-4 py-2 rounded-lg font-medium transition-all duration-200;
|
||||
|
|
@ -196,6 +288,22 @@
|
|||
text-wrap: balance;
|
||||
}
|
||||
|
||||
/* Schraffur-Platzhalter für fehlende Pressefotos/Logos (Detailseite) */
|
||||
.hatch-dark {
|
||||
background-image: repeating-linear-gradient(
|
||||
135deg,
|
||||
rgba(255, 255, 255, 0.04) 0 10px,
|
||||
transparent 10px 20px
|
||||
);
|
||||
}
|
||||
.hatch-light {
|
||||
background-image: repeating-linear-gradient(
|
||||
135deg,
|
||||
rgba(0, 0, 0, 0.04) 0 6px,
|
||||
transparent 6px 12px
|
||||
);
|
||||
}
|
||||
|
||||
/* Animations */
|
||||
@keyframes fade-in {
|
||||
from {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue