Spoke-Frontend-Audit: Fake-Inhalte raus, Newsletter-Rueckbau, echte Boersendaten, EN-Lokalisierung

Frontend-Umbau (Kevin, 06.07.2026), Ergebnis des businessportal24-Audits:

- Fake-Anzeigen und Mock-/Fallback-Daten entfernt (focus-ad, feed-ad,
  highlight-card, press-release-card, featured-releases, press-releases-grid);
  Sektionen rendern nur noch mit echten Daten oder gar nicht
- Newsletter-Strip und Newsletter-Box zurueckgebaut (Feature nachgelagert,
  vor Reaktivierung DOI-Flow noetig)
- Echte Boersendaten: MarketDataService (Yahoo-Finance-Quotes, config/market.php,
  Cache) + market:refresh alle 15 Min. im Scheduler; live-ticker blendet sich
  ohne Daten aus
- EN-Lokalisierung der Kern-Seiten via lang/de/web.php + lang/en/web.php;
  Carbon-Locale folgt app()->getLocale()
- Web-Tests auf den neuen Frontend-Stand nachgezogen (Suite: 993 gruen)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-06 13:36:23 +00:00
parent 5d199f0130
commit b3474a36e9
67 changed files with 1735 additions and 1521 deletions

View file

@ -57,11 +57,11 @@ return [
'report_email' => env('REPORT_EMAIL_PRESSEKONTO'),
'umami_website_id' => 'ca440b65-a5bd-42c1-8cdb-96f34734003c',
'tagline_short' => 'Publisher · Hub',
'tagline_long' => 'Der gemeinsame Publisher-Bereich für presseecho und businessportal24 – Pressemitteilungen schreiben, redaktionell prüfen lassen, auf beiden Reichweiten veröffentlichen.',
'tagline_long' => 'Der gemeinsame Publisher-Bereich für presseecho und businessportal24 – Pressemitteilungen schreiben, automatisiert prüfen lassen, auf beiden Reichweiten veröffentlichen.',
'footer_legal' => '© :year pressekonto · Alle Rechte vorbehalten',
'about_label' => 'Über pressekonto',
'meta_title' => 'pressekonto – Publisher-Hub für presseecho und businessportal24',
'meta_description' => 'Ein Konto, zwei Reichweiten: Pressemitteilungen redaktionell geprüft auf presseecho und businessportal24 gleichzeitig veröffentlichen.',
'meta_description' => 'Ein Konto, zwei Reichweiten: Pressemitteilungen qualitätsgeprüft auf presseecho und businessportal24 gleichzeitig veröffentlichen.',
],
],
@ -85,16 +85,16 @@ return [
'report_email' => env('REPORT_EMAIL_PRESSEECHO'),
'umami_website_id' => '3ea8a7b0-105d-4519-b200-138cadc0fbdc',
'tagline_short' => 'Pressemitteilungen · DACH',
'tagline_long' => 'Fachmeldungen aus Wirtschaft und Industrie. Redaktionell geprüft. Strukturiert distribuiert.',
'tagline_long' => 'Fachmeldungen aus Wirtschaft und Industrie. Qualitätsgeprüft. Strukturiert distribuiert.',
'footer_legal' => '© :year presseecho · Alle Rechte vorbehalten',
'about_label' => 'Über presseecho',
'meta_title' => 'Aktuelle Pressemitteilungen aus Wirtschaft & Industrie – presseecho',
'meta_description' => 'Redaktionell kuratierte Pressemitteilungen aus Wirtschaft und Industrie im DACH-Raum.',
'meta_description' => 'Qualitätsgeprüfte Pressemitteilungen aus Wirtschaft und Industrie im DACH-Raum.',
'newsletter_topics' => [
['name' => 'Tageszusammenfassung', 'meta' => 'Mo–Fr · 07:00 Uhr', 'active' => true],
['name' => 'Wochenrückblick', 'meta' => 'Sonntags · 18:00 Uhr', 'active' => false],
['name' => 'Energie & Klima', 'meta' => 'ab Content-Score 80 · max. 2× pro Woche', 'active' => true],
['name' => 'Industrie & Forschung', 'meta' => 'ausgewählt von der Redaktion · ca. 3–5 Mails/Monat', 'active' => false],
['name' => 'Industrie & Forschung', 'meta' => 'kuratierte Auswahl · ca. 3–5 Mails/Monat', 'active' => false],
],
],
],
@ -119,16 +119,16 @@ return [
'report_email' => env('REPORT_EMAIL_BUSINESSPORTAL'),
'umami_website_id' => 'f03a5fc3-ac44-488f-9118-84004861099f',
'tagline_short' => 'Pressemitteilungen · DACH',
'tagline_long' => 'Veröffentlichungs-Portal für redaktionell geprüfte Pressemitteilungen aus Deutschland, Österreich und der Schweiz.',
'tagline_long' => 'Veröffentlichungs-Portal für qualitätsgeprüfte Pressemitteilungen aus Deutschland, Österreich und der Schweiz.',
'footer_legal' => '© :year businessportal24 · Alle Rechte vorbehalten',
'about_label' => 'Über businessportal24',
'meta_title' => 'Aktuelle Pressemitteilungen aus der deutschen Wirtschaft – businessportal24',
'meta_description' => 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Redaktionell geprüft. Strukturiert distribuiert.',
'meta_description' => 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Qualitätsgeprüft. Strukturiert distribuiert.',
'newsletter_topics' => [
['name' => 'Tageszusammenfassung', 'meta' => 'Mo–Fr · 07:00 Uhr', 'active' => true],
['name' => 'Wochenrückblick', 'meta' => 'Sonntags · 18:00 Uhr', 'active' => false],
['name' => 'Energie & Klima', 'meta' => 'ab Content-Score 80 · max. 2× pro Woche', 'active' => true],
['name' => 'IPO & M&A', 'meta' => 'ausgewählt von der Redaktion · ca. 3–5 Mails/Monat', 'active' => false],
['name' => 'IPO & M&A', 'meta' => 'kuratierte Auswahl · ca. 3–5 Mails/Monat', 'active' => false],
],
],
],

40
config/market.php Normal file
View file

@ -0,0 +1,40 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Börsendaten im Ad-Hoc-Ticker
|--------------------------------------------------------------------------
|
| Kursdaten für den Ticker der Web-Frontends. Abgerufen per Scheduler
| (market:refresh) über die Yahoo-Finance-Chart-API und gecacht — die
| Views lesen ausschließlich aus dem Cache. Ohne Daten (API down, noch
| kein Abruf) wird der Markt-Slot im Ticker ausgeblendet.
|
*/
'enabled' => env('MARKET_DATA_ENABLED', true),
'cache_key' => 'web.market-data',
// Cache-Lebensdauer in Sekunden. Bewusst großzügig (24 h), damit ein
// vorübergehender API-Ausfall die Anzeige nicht sofort leert; der
// Scheduler aktualisiert deutlich häufiger.
'cache_ttl' => 86400,
'endpoint' => env('MARKET_DATA_ENDPOINT', 'https://query1.finance.yahoo.com/v8/finance/chart/'),
/*
| label — Anzeigename im Ticker
| symbol — Yahoo-Finance-Symbol
| precision — Nachkommastellen der Kursanzeige
| suffix — optionales Einheiten-Suffix (z. B. " $")
*/
'symbols' => [
['label' => 'DAX', 'symbol' => '^GDAXI', 'precision' => 0, 'suffix' => ''],
['label' => 'EUR/USD', 'symbol' => 'EURUSD=X', 'precision' => 2, 'suffix' => ''],
['label' => 'Brent Öl', 'symbol' => 'BZ=F', 'precision' => 2, 'suffix' => ' $'],
],
];