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:
parent
3320aaaa85
commit
bfad13af7d
67 changed files with 1735 additions and 1521 deletions
|
|
@ -1,49 +1,26 @@
|
|||
@props([
|
||||
'release' => null,
|
||||
'mock' => null,
|
||||
'recommended' => false,
|
||||
])
|
||||
|
||||
@php
|
||||
\Carbon\Carbon::setLocale('de');
|
||||
$category = $release?->category?->translations?->firstWhere('locale', app()->getLocale())
|
||||
?? $release?->category?->translations?->first();
|
||||
$categoryName = $category?->name;
|
||||
$company = $release?->company?->name;
|
||||
$city = $release?->company?->city ?? null;
|
||||
$title = $release->title;
|
||||
$href = route('release.detail', ['slug' => $release->slug]);
|
||||
|
||||
if ($release) {
|
||||
$category = $release?->category?->translations?->firstWhere('locale', 'de')
|
||||
?? $release?->category?->translations?->first();
|
||||
$categoryName = $category?->name ?? 'Wirtschaft';
|
||||
$company = $release?->company?->name ?? 'Unternehmen';
|
||||
$city = $release?->company?->city ?? null;
|
||||
$title = $release->title;
|
||||
$href = route('release.detail', ['slug' => $release->slug]);
|
||||
$recommended = $recommended;
|
||||
|
||||
$published = $release->published_at;
|
||||
if ($published) {
|
||||
$timeLine = $published->format('H:i');
|
||||
if ($published->isToday()) {
|
||||
$dateLine = $published->translatedFormat('j. M');
|
||||
} elseif ($published->isYesterday()) {
|
||||
$dateLine = 'Gestern';
|
||||
} else {
|
||||
$dateLine = $published->translatedFormat('j. M');
|
||||
}
|
||||
$datetimeAttr = $published->toIso8601String();
|
||||
} else {
|
||||
$timeLine = '—';
|
||||
$dateLine = '';
|
||||
$datetimeAttr = null;
|
||||
}
|
||||
$published = $release->published_at;
|
||||
if ($published) {
|
||||
$timeLine = $published->format('H:i');
|
||||
$dateLine = $published->isYesterday() ? __('web.shared.yesterday') : $published->translatedFormat('j. M');
|
||||
$datetimeAttr = $published->toIso8601String();
|
||||
} else {
|
||||
$mock ??= [];
|
||||
$categoryName = $mock['category'] ?? 'Wirtschaft';
|
||||
$company = $mock['company'] ?? '';
|
||||
$city = $mock['city'] ?? null;
|
||||
$title = $mock['title'] ?? '';
|
||||
$href = $mock['href'] ?? '#';
|
||||
$timeLine = $mock['time'] ?? '';
|
||||
$dateLine = $mock['date'] ?? '';
|
||||
$timeLine = '—';
|
||||
$dateLine = '';
|
||||
$datetimeAttr = null;
|
||||
$recommended = $recommended || ($mock['recommended'] ?? false);
|
||||
}
|
||||
|
||||
$bpCatClass = 'bp-cat self-start whitespace-nowrap leading-snug max-md:mt-1 max-md:text-[9px] max-md:tracking-[0.1em]';
|
||||
|
|
@ -80,7 +57,7 @@
|
|||
<svg width="9" height="9" viewBox="0 0 12 12" class="flex-shrink-0" aria-hidden="true">
|
||||
<path d="M6 1l1.5 3.2 3.5.4-2.6 2.4.7 3.5L6 8.8l-3.1 1.7.7-3.5L1 4.6l3.5-.4z" fill="currentColor" />
|
||||
</svg>
|
||||
Empfehlung
|
||||
{{ __('web.shared.recommendation') }}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue