13-05-2026 Frontend DEV + HUB
This commit is contained in:
parent
5b8bdf4182
commit
092ee0e918
24 changed files with 3560 additions and 34 deletions
|
|
@ -1,12 +1,12 @@
|
|||
# Entwicklungskonzept – BusinessPortal24 & Presseecho Frontend
|
||||
# Entwicklungskonzept – BusinessPortal24, Presseecho & presseportale-Hub Frontend
|
||||
|
||||
> **Stand:** 12. Mai 2026
|
||||
> **Domains:** `businessportal24.test` / `businessportal24.com` · `presseecho.test` / `presseecho.com`
|
||||
> **Theme-Slugs:** `businessportal24` (warm-rotes Editorial) · `presseecho` (grünes Editorial)
|
||||
> **Stand:** 13. Mai 2026
|
||||
> **Domains:** `businessportal24.test` / `.com` · `presseecho.test` / `.de` · `presseportale.test` / `.com` (Hub)
|
||||
> **Theme-Slugs:** `businessportal24` (warm-rotes Editorial) · `presseecho` (grünes Editorial) · `presseportale` (Hub-Blau · Publisher-Landing)
|
||||
> **Assets-Dir (geteilt):** `public/build/web/`
|
||||
> **Ziel:** Editoriales DACH-Pressemitteilungs-Portal mit 1:1-Mockup-Umsetzung. Presseecho nutzt die **gleiche Komponenten-Architektur** wie BP24 und unterscheidet sich nur via Theme-Tokens + Brand-Konfiguration.
|
||||
> **Ziel:** Editoriales DACH-Pressemitteilungs-Ökosystem mit 1:1-Mockup-Umsetzung. Presseecho nutzt die **gleiche Komponenten-Architektur** wie BP24, der Hub `presseportale.com` ist eine **eigenständige Publisher-Landing** mit klar abgegrenztem Charakter (Hub-Blau + Bernstein, kein Editorial-Feed).
|
||||
|
||||
Dieses Dokument beschreibt den aktuellen Stand und die wichtigsten Architekturentscheidungen der BusinessPortal24- und Presseecho-Frontend-Entwicklung. Es ist die zentrale Anlaufstelle für alle, die im Frontend weiterarbeiten oder neue Seiten ergänzen.
|
||||
Dieses Dokument beschreibt den aktuellen Stand und die wichtigsten Architekturentscheidungen der BusinessPortal24-, Presseecho- und presseportale-Hub-Frontend-Entwicklung. Es ist die zentrale Anlaufstelle für alle, die im Frontend weiterarbeiten oder neue Seiten ergänzen.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -14,6 +14,8 @@ Dieses Dokument beschreibt den aktuellen Stand und die wichtigsten Architektur
|
|||
|
||||
Das Portal folgt einer **editorial-zeitungs-orientierten Ästhetik** mit ruhiger Beige-Surface, klarer Hierarchie über Typografie statt Cards und einer einzigen warm-roten Akzentfarbe.
|
||||
|
||||
Presseecho übernimmt **dieselbe Architektur**, tauscht aber das Surface auf grünlich-getintetes Editorial-Off-White und ersetzt die warm-rote Akzentfarbe durch ein dunkles **Forest-Green** (Brand `#345636`). Die Editorial-Akzentfarbe für Eyebrows auf dunklem Grund bleibt warm-amber (`accent-warm: #e8a95f`) – das hat sich in der Iteration als beste Lesbarkeit auf den dunklen Forest-Panels bewährt.
|
||||
|
||||
| Datei | Zweck |
|
||||
| --- | --- |
|
||||
| `dev/frontend/Pass B _ _ Deutschland _aktiv.png` | Visuelle Referenz Desktop |
|
||||
|
|
@ -65,7 +67,9 @@ Request (Host: presseecho.test)
|
|||
|
||||
Lokale Domain-Simulation:
|
||||
- `.env`: `DEV_SIMULATE_DOMAIN=true`, `DEV_SIMULATED_DOMAIN=businessportal24.test|presseecho.test`
|
||||
- Alternativ: `?theme=businessportal24|presseecho` als Query-Parameter
|
||||
- Alternativ: `?theme=businessportal24|presseecho|presseportale` als Query-Parameter
|
||||
|
||||
> **Hub-Sonderfall (`presseportale.test`):** Diese Domain ist gleichzeitig **Admin-Backend** (Auth/Admin/Customer-Routen, theme = `main`, Build-Dir `build/portal/`) **und** öffentliche **Hub-Landing** (theme = `presseportale`, Build-Dir `build/web/`). In `config/domains.php` existieren beide Einträge (`portal` und `presseportale`) für dieselbe `domain_name`. Der `ThemeServiceProvider` matcht zuerst `portal` (Backend-Standard); für die öffentliche Landing schaltet **`routes/web.php` per `$applyWebDomainConfig('presseportale')` explizit auf das Hub-Theme** um. Auth- und Admin-Routen bleiben unbeeinflusst.
|
||||
|
||||
### 3.1 Generischer Daten-Provider
|
||||
|
||||
|
|
@ -78,19 +82,134 @@ view('web.businessportal24', $webHomeData(Portal::Businessportal24));
|
|||
|
||||
Die Trennung der Portale geschieht über `whereIn('portal', [$primaryPortal->value, Portal::Both->value])`.
|
||||
|
||||
### 3.1.1 Presseecho-Farbpalette (Stand 13.05.2026, finalisiert)
|
||||
|
||||
Damit das Theme für Presseecho dokumentiert ist, hier der **verbindliche Token-Snapshot** aus `theme-presseecho.css`:
|
||||
|
||||
```css
|
||||
@theme {
|
||||
/* Surfaces (grünlich-getintete Editorial-Vorlage) */
|
||||
--color-bg: #f2f4ed;
|
||||
--color-bg-elev: #fafbf7;
|
||||
--color-bg-rule: #dde2d3;
|
||||
--color-bg-rule-strong: #1b2417;
|
||||
--color-bg-card-warm: #ecefe3;
|
||||
--color-bg-card-warm-border: #c7cfb6;
|
||||
|
||||
/* Dunkle Editorial-Panels (Topbar, CTA, Newsletter, Footer) */
|
||||
--color-topbar: #1a3d2e; /* linear-gradient(135deg, #1a3d2e 0%, #122d22 100%) */
|
||||
--color-topbar2: #122d22;
|
||||
|
||||
/* Ink (warm-grün, gedämpft) */
|
||||
--color-ink: #1b2417;
|
||||
--color-ink-2: #324132;
|
||||
--color-ink-3: #6a7766;
|
||||
--color-ink-4: #98a294;
|
||||
--color-ink-on-dark: #f0f4eb;
|
||||
--color-ink-on-dark-2: #b1b9ab;
|
||||
|
||||
/* Brand: dunkles Forest-Green */
|
||||
--color-brand: #345636;
|
||||
--color-brand-deep: #243c25;
|
||||
--color-brand-soft: #dbe7d3;
|
||||
|
||||
/* Editorial-Akzente */
|
||||
--color-accent-warm: #e8a95f; /* warmer Bernstein für Eyebrows auf Dunkel */
|
||||
--color-ink-on-dark-muted: #859485;
|
||||
--color-ink-on-dark-rule: #28332b;
|
||||
--color-bg-card-warm-hover: #dde3cc;
|
||||
--color-bg-card-warm-rule: #b7c0a2;
|
||||
--color-card-warm-cat: #5f6a52;
|
||||
--color-card-warm-title: #2e3826;
|
||||
--color-feature-line: #a8c8a8;
|
||||
--color-feature-dot: #c4dcc4;
|
||||
}
|
||||
|
||||
/* Gradient-Komponenten-Klassen */
|
||||
.bg-feature-grad { background-image: linear-gradient(135deg, #2c4733, #15281c); }
|
||||
.bg-hero-grad { background-image: linear-gradient(135deg, #2c4733, #1a2a1f); }
|
||||
```
|
||||
|
||||
**Iteration des Topbar-Gradients:**
|
||||
|
||||
| Versuch | Werte | Bewertung |
|
||||
| --- | --- | --- |
|
||||
| Startwert | `#1b2a1f → #25342a` | zu dunkel/zu neutral |
|
||||
| Erste Variante | `#1f4d3a → #163a2c` | **zu hell** |
|
||||
| **Final** | **`#1a3d2e → #122d22`** | **abgenommen** ✅ |
|
||||
|
||||
### 3.1.2 presseportale-Hub-Palette (Stand 13.05.2026)
|
||||
|
||||
Der **Hub** ist bewusst eigenständig positioniert: er ist **kein Editorial-Feed**, sondern eine reine Publisher-Landing („Ein Konto – zwei Reichweiten"). Er bekommt daher einen ganz eigenen Charakter:
|
||||
|
||||
* **Surface:** warmes Buchpapier wie bei BP24/Presseecho (`--color-bg: #f6f4ef`) – signalisiert Familien-Zugehörigkeit.
|
||||
* **Primary:** Hub-Blau `#1A2540` mit Gradient nach `#243152` (Topbar, CTAs, alle „Hub"-Akzente).
|
||||
* **Akzent:** gedecktes Bernstein `#B07A3A` – **bewusst gewählt**, weil weder Orange (BP24) noch Grün (Presseecho). Der Hub steht visuell „zwischen" den beiden Brands.
|
||||
* **Schrift:** Inter Tight (Standardtext) + JetBrains Mono (Mono) + Source Serif 4 (**nur für Marken-Mentions** der Tochter-Portale, damit typografische Konsistenz zur jeweiligen Brand-Landing erhalten bleibt; im Hub-Fließtext nicht verwendet).
|
||||
|
||||
Token-Snapshot aus `resources/css/web/theme-presseportale.css`:
|
||||
|
||||
```css
|
||||
@theme {
|
||||
/* Surfaces – gleiche Familie wie BP24/Presseecho */
|
||||
--color-bg: #f6f4ef;
|
||||
--color-bg-elev: #fbfaf6;
|
||||
--color-bg-rule: #e2ddd0;
|
||||
--color-bg-card: #ffffff;
|
||||
--color-bg-card-warm: #efeadc;
|
||||
|
||||
/* Hub-Blau – Primary */
|
||||
--color-hub: #1a2540;
|
||||
--color-hub-2: #243152;
|
||||
--color-hub-3: #2e3d66;
|
||||
--color-hub-soft: #e5e9f1;
|
||||
--color-hub-soft-2: #cfd6e4;
|
||||
--color-hub-line: #7b8fbf;
|
||||
--color-topbar: #1a2540;
|
||||
--color-topbar2: #243152;
|
||||
|
||||
/* Bernstein-Akzent – bewusst NICHT BP24-Orange, NICHT Presseecho-Grün */
|
||||
--color-accent: #b07a3a;
|
||||
--color-accent-deep: #8a5e27;
|
||||
--color-accent-soft: #f1e6d3;
|
||||
|
||||
/* Ink, Brand-Aliase (für Komponenten, die brand-Tokens nutzen) */
|
||||
--color-brand: #1a2540;
|
||||
--color-brand-deep: #0f1729;
|
||||
--color-brand-soft: #e5e9f1;
|
||||
|
||||
/* Schrift: Inter Tight + JetBrains Mono für Hub-Inhalte,
|
||||
Source Serif 4 wird mitgeladen, aber nur für Marken-Mentions per
|
||||
<x-web.brand-mark> aktiviert. */
|
||||
--font-sans: "Inter Tight", Inter, system-ui, sans-serif;
|
||||
--font-serif: "Source Serif 4", "Source Serif Pro", Charter, Georgia, serif;
|
||||
--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;
|
||||
}
|
||||
```
|
||||
|
||||
Hub-spezifische **Komponenten-Klassen** (alle in `@layer components`):
|
||||
|
||||
* `.bg-hub-grad` → 135° `#1a2540 → #243152` (Topbar, CTA, Architektur-Knoten)
|
||||
* `.bg-hub-grad-2` → 180° `#1a2540 → #0f1729` (Footer)
|
||||
* `.bg-accent-grad` → 135° `#b07a3a → #8a5e27`
|
||||
* `.hero-grid` → subtile 48×48 px Gitterlinien als Hero-Hintergrund
|
||||
* `.section-eyebrow` → Hub-Blau-Eyebrow mit Linien-Schwanz
|
||||
* `.ribbon-recommend` → „Empfohlen für Unternehmen"-Banner auf der Pro-Tarif-Karte
|
||||
* `.faq-chev` + `details > summary` → CSS-only Accordion (kein JS nötig)
|
||||
|
||||
### 3.2 Brand-Konfiguration
|
||||
|
||||
In `config/domains.php` liegt pro Domain ein **`brand`-Block**, der Komponenten dynamisch befüllt (Logo-Text, Tagline, Newsletter-Topics, Footer-Legal, Meta-Texte):
|
||||
In `config/domains.php` liegt pro Domain ein **`brand`-Block**, der Komponenten dynamisch befüllt (Logo-Text, Tagline, Newsletter-Topics, Footer-Legal, Meta-Texte). `name` + `accent` ergeben **zusammen** den vollständigen Markennamen – der `accent`-Teil wird im Header/Footer farbig hervorgehoben:
|
||||
|
||||
```php
|
||||
'presseecho' => [
|
||||
'theme' => 'presseecho',
|
||||
'brand' => [
|
||||
'name' => 'presseecho',
|
||||
'accent' => null, // kein Brand-Akzent (z.B. "24")
|
||||
'name' => 'presse', // schwarz
|
||||
'accent' => 'echo', // grün (text-brand → #345636)
|
||||
'tagline_short' => 'Pressemitteilungen · DACH',
|
||||
'tagline_long' => 'Fachmeldungen aus Wirtschaft und Industrie ...',
|
||||
'footer_legal' => '© :year presseecho.com · Alle Rechte vorbehalten',
|
||||
'footer_legal' => '© :year presseecho · Alle Rechte vorbehalten',
|
||||
'about_label' => 'Über presseecho',
|
||||
'meta_title' => '... – presseecho',
|
||||
'meta_description' => '...',
|
||||
|
|
@ -100,8 +219,18 @@ In `config/domains.php` liegt pro Domain ein **`brand`-Block**, der Komponenten
|
|||
'businessportal24' => [
|
||||
'theme' => 'businessportal24',
|
||||
'brand' => [
|
||||
'name' => 'businessportal',
|
||||
'accent' => '24', // markenrechtlicher Brand-Akzent
|
||||
'name' => 'businessportal', // schwarz
|
||||
'accent' => '24', // orange (text-brand → #C84A1E)
|
||||
'footer_legal' => '© :year businessportal24 · Alle Rechte vorbehalten',
|
||||
...
|
||||
],
|
||||
],
|
||||
'presseportale' => [ // Hub-Variante (web)
|
||||
'theme' => 'presseportale',
|
||||
'brand' => [
|
||||
'name' => 'presse', // hub-blau
|
||||
'accent' => 'portale', // bernstein
|
||||
'footer_legal' => '© :year presseportale · Alle Rechte vorbehalten',
|
||||
...
|
||||
],
|
||||
],
|
||||
|
|
@ -109,6 +238,35 @@ In `config/domains.php` liegt pro Domain ein **`brand`-Block**, der Komponenten
|
|||
|
||||
Komponenten (`site-header`, `site-footer`, `newsletter-strip`) lesen ihre Defaults aus `config('domains.domains.'.config('app.theme').'.brand', [...])`. Übergaben via `:brand="..."` überschreiben sie jederzeit.
|
||||
|
||||
### 3.3 Brand-Mark-Konvention (verbindlich, Stand 13.05.2026)
|
||||
|
||||
Die Schreibweise der drei Marken folgt einer einheitlichen Regel: **keine TLD-Endung am Markennamen, Akzentteil farblich hervorgehoben.** Domains (`.de`, `.com`) gehören ausschließlich in technische Felder (URLs, mailto-Adressen, Impressum) – niemals in den Marken-Schriftzug.
|
||||
|
||||
| Marke | Wortmarke | Akzentfarbe (auto) | Akzentfarbe (on-dark) |
|
||||
| ------------------ | ------------------------------------------ | ---------------------- | --------------------- |
|
||||
| `presseecho` | **presse**·*echo* | `#345636` (Forest) | `#9BD5B2` |
|
||||
| `businessportal24` | **businessportal**·*24* | `#C84A1E` (Orange) | `#F4B098` |
|
||||
| `presseportale` | **presse**·*portale* | `#B07A3A` (Bernstein) | `#B07A3A` |
|
||||
|
||||
**Single Source of Truth:** Die Komponente `<x-web.brand-mark brand="…" />` rendert die Markenschreibung zentral inkl. Span-Splitting, Schriftart und Akzentfarbe. Sie wird überall verwendet, wo eine Marke als Fließtext-Mention erscheint:
|
||||
|
||||
* Hub-Komponenten (`hub/top-utility-bar`, `hub/site-header`, `hub/site-footer`, `hub/brand-context-banner`)
|
||||
* Hub-View `presseportale.blade.php` (Hero-Headline, Architektur-Diagramm, Tarif-Subline, Plattform-Familie, FAQ)
|
||||
* Cross-Brand-Mentions auf BP24-/Presseecho-Landings, falls ergänzt
|
||||
|
||||
```blade
|
||||
{{-- Standard: font-serif (Source Serif 4), Auto-Akzent --}}
|
||||
<x-web.brand-mark brand="presseecho" />
|
||||
|
||||
{{-- In Fließtext / kleinen Schriftgrößen: font-sans (Inter Tight) --}}
|
||||
<x-web.brand-mark brand="businessportal24" :serif="false" />
|
||||
|
||||
{{-- Auf dunklem Hintergrund (Topbar, Hub-Footer): hellere Akzentfarbe --}}
|
||||
<x-web.brand-mark brand="presseecho" variant="on-dark" />
|
||||
```
|
||||
|
||||
Die BP24-/Presseecho-Header und -Footer rendern ihren eigenen Markennamen weiterhin über das `$brandName`+`$brandAccent`-Pattern aus der `brand`-Config (die Config liefert dasselbe Splitting `presse`+`echo`), erscheinen also typografisch identisch.
|
||||
|
||||
---
|
||||
|
||||
## 4. Theme-System (Tailwind v4)
|
||||
|
|
@ -257,6 +415,28 @@ Alle Komponenten haben **konsistente Konventionen**:
|
|||
- Bei Listenelementen: `group` + `group-hover:text-brand` für den Titel
|
||||
- Alle Mockup-Inhalte sind als spätere Datenquellen markiert (Inline-Kommentare oder via Issue-Tracker)
|
||||
|
||||
### 5.4 Hub-Komponenten (`components/web/hub/`)
|
||||
|
||||
Der Hub `presseportale.com` hat einen **eigenen, deutlich anderen Charakter** als die beiden Brand-Portale (kein Editorial-Feed, sondern Publisher-Landing) und bekommt daher einen eigenen Komponenten-Namespace. Die Sektionen selbst (Hero, Features, How-it-works, Tarife, Plattform-Familie, Social-Proof, FAQ, CTA) sind als **inline-Markup** in `resources/views/web/presseportale.blade.php` umgesetzt, weil sie page-spezifisch sind.
|
||||
|
||||
| Datei | Rolle |
|
||||
| --- | --- |
|
||||
| `hub/top-utility-bar.blade.php` | Schmale Hub-Blau-Topbar mit Datum, „Publisher-Hub für …"-Brand-Family-Links (rendert `<x-web.brand-mark variant="on-dark" :serif="false">`), Status/Doku/Kontakt. Props: `date`, `siblingPortals` (jetzt Liste mit `brand`-Key statt fixer Strings). |
|
||||
| `hub/site-header.blade.php` | Wortmark `presse`·`portale` (über `<x-web.brand-mark brand="presseportale" :serif="false">`) + Untertitel „Publisher · Hub", zentrale Primary-Nav (Tarife, So funktioniert es, …), Anmelden + Konto erstellen CTAs. Routes: `login`, `register`. |
|
||||
| `hub/brand-context-banner.blade.php` | **Conditional Banner** unter dem Header – greift nur bei `?from=presseecho` oder `?from=businessportal24` und zeigt: „Sie kommen von … – Ihr Konto hier funktioniert für beide Portale". Markenname über Brand-Mark (font-serif), „Zurück zu …"-Link nutzt sans-Variante. |
|
||||
| `hub/site-footer.blade.php` | 4-Spaltiger Hub-Footer (Konto / Plattform / Rechtliches + Brand-Spalte mit Plattform-Familie-Links über Brand-Mark `variant="on-dark"`), Hub-Gradient `linear-gradient(180deg,#1A2540,#0F1729)`. Brand-Block aus `config/domains.php`. |
|
||||
|
||||
**Hub-Sektionen als inline-Blade** (in `presseportale.blade.php`):
|
||||
|
||||
1. **Hero** mit Architektur-Diagramm rechts (zentraler Hub-Knoten + Brand-Portal-Karten + Output-Boxen, alles SVG-only).
|
||||
2. **Was Sie hier können** – 3-Karten-Grid (Veröffentlichen / Newsrooms / Reichweite).
|
||||
3. **So funktioniert es** – 4-Step-Ol mit Differenzierungs-Highlight in Schritt 3 (Bernstein-Akzent für „Unsere Qualitätssicherung").
|
||||
4. **Tarife** – 3 Karten (Starter / Standard / Pro mit `.ribbon-recommend`) + breiter Enterprise-Streifen in Hub-Blau.
|
||||
5. **Hinter presseportale.com** – 2-Spalten-Plattform-Familie mit den **Original-Brand-Gradients** der Tochter-Portale (`#1F4D3A→#163A2C` für Presseecho, `#1A1F26→#232A33` für BP24).
|
||||
6. **Aktive Newsrooms** – Prose-Auflistung statt Logo-Wall + kompakte Stats-Sidebar.
|
||||
7. **FAQ** – CSS-only-Accordion (`<details>` + `.faq-chev`) mit 8 Fragen, eine offen by default.
|
||||
8. **CTA-Wiederholung** + Footer.
|
||||
|
||||
---
|
||||
|
||||
## 6. Backend-Anbindung der Startseite
|
||||
|
|
@ -316,7 +496,17 @@ Drei spiegelbildliche Test-Szenarien:
|
|||
2. **`feed only shows published presseecho content`** – Portal-Trennung gespiegelt: Presseecho + Both sichtbar, BP24-Only und Drafts nicht.
|
||||
3. **`shows most read releases in the sidebar`** – Hits-Sortierung.
|
||||
|
||||
**Stand:** 6 passed (48 Assertions, beide Test-Dateien zusammen). Gesamt-Suite 215/216 (der eine Fail `ApiDocumentationTest` ist vorbestehend wegen fehlender `docs/api/v1.yml` und nicht UI-bezogen).
|
||||
### Datei: `tests/Feature/Web/PresseportaleHubHomeTest.php`
|
||||
|
||||
Fünf Test-Szenarien rund um die Hub-Landing:
|
||||
|
||||
1. **`renders the publisher landing shell`** – prüft alle Hauptsektionen sind sichtbar (Publisher-Hub, Was Sie hier können, So funktioniert es, Vier Schritte, Tarife, Starter, Standard, Pro, Enterprise, Hinter presseportale.com, Plattform im Überblick, Häufige Fragen, Loslegen, Alle Systeme betriebsbereit).
|
||||
2. **`loads the hub theme assets, not portal admin`** – stellt sicher, dass `theme-presseportale` aus dem Manifest geladen wird (nicht `theme-businessportal24` oder `theme-presseecho`).
|
||||
3. **`hides the brand-context banner without a from parameter`** – Default-Aufruf zeigt keinen „Sie kommen von …"-Banner.
|
||||
4. **`shows the brand-context banner when arriving from presseecho`** – `?from=presseecho` triggert den Banner inkl. Link „Zurück zu presseecho.de".
|
||||
5. **`shows the brand-context banner when arriving from businessportal24`** – `?from=businessportal24` triggert den Banner für BP24.
|
||||
|
||||
**Stand:** 11 Web-Tests grün (BP24 3 + Presseecho 3 + Hub 5 = 79 Assertions). Gesamt-Suite: 220/221 (der eine Fail `ApiDocumentationTest` ist vorbestehend wegen fehlender `docs/api/v1.yml` und nicht UI-bezogen).
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -366,12 +556,17 @@ vendor/bin/pint --dirty --format agent
|
|||
| 8 | 12.05.2026 | Empty-State des Feeds liefert Mock-Top + Mock-Liste + Anzeige (analog Hero/Sidebar) | ✅ |
|
||||
| 9 | 12.05.2026 | Live-Ticker-Animationen: Ad-Hoc-Meldungen als Endlos-Laufband (`ticker-marquee-track`, respektiert `prefers-reduced-motion`), rechte Kurszeile blättert via Alpine alle 5,2 s vertikal durch | ✅ |
|
||||
| 10 | 12.05.2026 | Editorial-Akzente aus Hex-Hardcodings auf Theme-Tokens migriert (`accent-warm`, `ink-on-dark-muted`, `ink-on-dark-rule`, `card-warm-*`, `feature-*`) | ✅ |
|
||||
| 11 | 12.05.2026 | Presseecho-Theme angelegt (`theme-presseecho.css` – grüner Brand, gleiche Token-Namen) und Presseecho-Startseite auf BP24-Komponenten umgestellt (`presseecho.blade.php`) | ✅ |
|
||||
| 11 | 12.05.2026 | Presseecho-Theme angelegt (`theme-presseecho.css` – gleiche Token-Namen) und Presseecho-Startseite auf BP24-Komponenten umgestellt (`presseecho.blade.php`) | ✅ |
|
||||
| 11a | 13.05.2026 | Editorial-Fonts-Loader im `web-master.blade.php` für presseecho freigeschaltet (Source Serif 4 + Inter Tight + JetBrains Mono via bunny.net, Montserrat nur noch für Portal/Legacy). | ✅ |
|
||||
| 11b | 13.05.2026 | **Presseecho-Farbpalette finalisiert** (vom Design abgesegnet): grünlich-getintete Surfaces (`--color-bg: #f2f4ed`, Card-Warm `#ecefe3`/`#c7cfb6`), Brand bleibt **dunkles Forest** `#345636` mit Deep `#243c25` und Soft `#dbe7d3`. Topbar-Gradient nach Iteration auf `linear-gradient(135deg, #1a3d2e 0%, #122d22 100%)` festgelegt – satter Forest-Ton, ohne zu hell zu wirken. Feature- und Hero-Gradient grün getintet (`#2c4733 → #15281c` / `#2c4733 → #1a2a1f`). Editorial-Akzent bleibt warm-amber (`accent-warm: #e8a95f`) für Eyebrows auf dunklem Grund. | ✅ |
|
||||
| 12 | 12.05.2026 | `routes/web.php`: Daten-Provider generalisiert zu `$webHomeData(Portal)` – beide Domains nutzen denselben Code-Pfad | ✅ |
|
||||
| 13 | 12.05.2026 | Brand-Konfiguration in `config/domains.php` pro Domain (`brand.name`, `brand.accent`, `brand.tagline_*`, `brand.newsletter_topics`, `brand.footer_legal`, `brand.about_label`) – `site-header`, `site-footer`, `newsletter-strip` lesen daraus | ✅ |
|
||||
| 14 | 12.05.2026 | `press-release-feed`-Volt-Component portal-agnostisch (Prop `:portal`); Aufruf vom View-Layer aus | ✅ |
|
||||
| 15 | 12.05.2026 | `PresseechoHomeTest` analog zu `Businessportal24HomeTest` (3 Szenarien, RefreshDatabase) | ✅ |
|
||||
| 16 | 12.05.2026 | **Aktuell offen:** Detailseite, Branchenseite, Veröffentlichen-Landing für beide Domains | 🟡 |
|
||||
| 16 | 13.05.2026 | **presseportale-Hub-Landing live**: neues Web-Theme `presseportale` (Hub-Blau + Bernstein, `theme-presseportale.css`), eigener Komponenten-Namespace `components/web/hub/` (Top-Bar, Site-Header, Brand-Context-Banner, Site-Footer), Hub-View `web/presseportale.blade.php` mit Hero/Architektur-Diagramm, Features, How-it-works, Tarife (Starter/Standard/Pro+Ribbon, Enterprise-Streifen), Plattform-Familie, Aktive-Newsrooms, FAQ-Accordion, CTA. `routes/web.php` schaltet für `presseportale.test` auf das Hub-Theme um. Root-Route in `routes/admin.php` entfernt (Layout referenziert jetzt `route('dashboard')`). | ✅ |
|
||||
| 17 | 13.05.2026 | `PresseportaleHubHomeTest` (5 Szenarien inkl. Brand-Context-Banner-Conditional). Vite-Config + ThemeHelper + `web-master`-Fonts (Inter Tight + JetBrains Mono ohne Serif) für `presseportale` ergänzt. | ✅ |
|
||||
| 18 | 13.05.2026 | **Brand-Mark-Konvention etabliert** (Feintuning Marken-Schreibweise): keine TLD am Markenschriftzug, Akzent farblich vom Basis-Wort abgesetzt. Single Source of Truth `<x-web.brand-mark>` (Marken-Tabelle inkl. Standard- und On-Dark-Akzentfarben, Serif/Sans-Switch). `config/domains.php` umgestellt (`presseecho`: `name=presse`/`accent=echo`; `presseportale`: `name=presse`/`accent=portale`; Footer-Legal & Meta-Texte ohne TLD). Hub-Komponenten und Hub-View durchgehend auf Brand-Mark migriert (Top-Utility-Bar, Site-Header, Brand-Context-Banner, Site-Footer, Hero-Headline, Architektur-Diagramm, Tarif-Subline, Plattform-Familie, FAQ). Hub-Theme bekommt Source Serif 4 als `--font-serif` (für Marken-Mentions) – Bunny-Font-Loader erweitert. **+1 neuer Test `uses the brand-mark splitting without TLDs`**; alle 12 Web-Tests grün. | ✅ |
|
||||
| 19 | 12.05.2026 | **Aktuell offen:** Detailseite, Branchenseite, Veröffentlichen-Landing für BP24 + Presseecho. Hub-Folgeseiten (Konto-Erstellen-Flow als Landing, Tarif-Detail, Doku-Hub) ebenfalls offen. | 🟡 |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -385,9 +580,10 @@ vendor/bin/pint --dirty --format agent
|
|||
| 4 | **Veröffentlichen-Landing** umsetzen (Variante A) | `tailwind_v3/Veröffentlichen Tailwind.html` + `Ver_ffentlichen _ Variante A _aktiv_.png` | 🔴 offen |
|
||||
| 5 | **Echte Datenquellen** für aktuell statische Komponenten anbinden: Live-Ticker (Ad-Hoc-Meldungen), Events-Week, Newsletter-Topics, Industry-Spotlight-Studie | – | 🔴 offen |
|
||||
| 6 | **Legacy-URL-Mapping** für Kategorien + Pressemitteilungen festlegen + Tests | siehe Umsetzungskonzept §13 | 🔴 offen |
|
||||
| 7 | **Presseecho-Ableitung** als zweites Web-Theme aus stabiler BP24-Basis | – | 🔴 offen |
|
||||
| 7 | **Presseecho-Ableitung** als zweites Web-Theme aus stabiler BP24-Basis | – | ✅ **erledigt (13.05.2026)** – Startseite live über `theme-presseecho.css` + Brand-Config, gleiche Komponenten wie BP24 |
|
||||
| 8 | **Detailseite/Branchenseite ebenfalls für Presseecho** durchziehen, sobald BP24-Templates stehen (sollte ein reiner Theme-Switch werden) | siehe oben | 🔴 offen |
|
||||
|
||||
**Reihenfolge-Begründung:** Erst wenn Detailseite + Branchenseite + Veröffentlichen vorhanden sind, sind die wiederverwendbaren Bausteine klar genug abstrahiert. Eine zu frühe Abstraktion auf Basis nur der Startseite würde Re-Work erzeugen.
|
||||
**Reihenfolge-Begründung:** Erst wenn Detailseite + Branchenseite + Veröffentlichen vorhanden sind, sind die wiederverwendbaren Bausteine klar genug abstrahiert. Eine zu frühe Abstraktion auf Basis nur der Startseite würde Re-Work erzeugen. Presseecho profitiert dann automatisch davon (nur Token-Switch).
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue