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
5d199f0130
commit
b3474a36e9
67 changed files with 1735 additions and 1521 deletions
|
|
@ -294,7 +294,7 @@ new #[Layout('components.layouts.app'), Title('Mein Dashboard')] class extends C
|
|||
|
||||
<x-portal.stat-card variant="warn" :label="__('In Prüfung')" :value="$stats['review']">
|
||||
<x-slot:meta>{{ __('Ø 4 h') }}</x-slot:meta>
|
||||
<x-slot:trend>{{ __('redaktionelle Prüfung') }}</x-slot:trend>
|
||||
<x-slot:trend>{{ __('Inhaltsprüfung') }}</x-slot:trend>
|
||||
</x-portal.stat-card>
|
||||
|
||||
<x-portal.stat-card variant="muted" :label="__('Entwürfe')" :value="$stats['draft']">
|
||||
|
|
@ -365,7 +365,7 @@ new #[Layout('components.layouts.app'), Title('Mein Dashboard')] class extends C
|
|||
{{ __('Noch keine Pressemitteilungen') }}
|
||||
</div>
|
||||
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[460px] text-[color:var(--color-ink-3)]">
|
||||
{{ __('Starten Sie mit einer ersten Mitteilung für die aktive Firma oder Ihr Kundenkonto. Veröffentlichung erfolgt nach redaktioneller Prüfung auf beiden Portalen.') }}
|
||||
{{ __('Starten Sie mit einer ersten Mitteilung für die aktive Firma oder Ihr Kundenkonto. Veröffentlichung erfolgt nach bestandener Inhaltsprüfung auf beiden Portalen.') }}
|
||||
</p>
|
||||
<div class="mt-6 flex items-center gap-2.5">
|
||||
<flux:button variant="primary" icon="plus" href="{{ route('me.press-releases.create') }}" wire:navigate>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ new #[Layout('components.layouts.app'), Title('Neue Firma anlegen')] class exten
|
|||
{{ __('Neue Firma anlegen') }}
|
||||
</h1>
|
||||
<p class="text-[12.5px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-3)]">
|
||||
{{ __('Lege Stammdaten und Portal-Zuordnung an. Die Firma steht sofort zur Verfügung — die redaktionelle Prüfung erfolgt erst bei der ersten Pressemitteilung.') }}
|
||||
{{ __('Lege Stammdaten und Portal-Zuordnung an. Die Firma steht sofort zur Verfügung — die Inhaltsprüfung erfolgt erst bei der ersten Pressemitteilung.') }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ new #[Layout('components.layouts.app'), Title('Meine Firmen')] class extends Com
|
|||
</div>
|
||||
|
||||
<p class="mt-3 text-[12.5px] leading-[1.55] max-w-[640px] m-0 text-[color:var(--color-ink-3)]">
|
||||
{{ __('Eine Firma ist der Container für Pressemitteilungen: Stammdaten, Boilerplate, Pressekontakte. Anlage ohne separate Freigabe — die redaktionelle Prüfung erfolgt erst bei der Pressemitteilung.') }}
|
||||
{{ __('Eine Firma ist der Container für Pressemitteilungen: Stammdaten, Boilerplate, Pressekontakte. Anlage ohne separate Freigabe — die Inhaltsprüfung erfolgt erst bei der Pressemitteilung.') }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ new #[Layout('components.layouts.app'), Title('Neue Pressemitteilung')] class ex
|
|||
|
||||
Flux::toast(
|
||||
heading: __('Eingereicht'),
|
||||
text: __('Die Redaktion prüft die Pressemitteilung typischerweise innerhalb von 24 h.'),
|
||||
text: __('Die Inhaltsprüfung ist typischerweise innerhalb von 24 h abgeschlossen.'),
|
||||
variant: 'success',
|
||||
);
|
||||
} else {
|
||||
|
|
@ -734,7 +734,7 @@ new #[Layout('components.layouts.app'), Title('Neue Pressemitteilung')] class ex
|
|||
<p class="m-0">{!! nl2br(e($selectedCompany->boilerplate)) !!}</p>
|
||||
@if ($selectedCompany->website)
|
||||
<p class="m-0 text-[12px] text-[color:var(--color-ink-3)] mt-3">
|
||||
<span class="font-semibold text-[color:var(--color-ink-2)]">{{ __('Web') }}:</span>
|
||||
<span class="font-semibold text-[color:var(--color-ink-2)]">Web:</span>
|
||||
{{ $selectedCompany->website }}
|
||||
</p>
|
||||
@endif
|
||||
|
|
@ -789,7 +789,7 @@ new #[Layout('components.layouts.app'), Title('Neue Pressemitteilung')] class ex
|
|||
</flux:button>
|
||||
</flux:modal.trigger>
|
||||
<p class="text-[11px] text-[color:var(--color-ink-3)] mt-2 leading-[1.45] m-0">
|
||||
{{ __('Warnungen blockieren nicht. Pflichtfelder blockieren. Die Redaktion prüft typ. innerhalb von 24h.') }}
|
||||
{{ __('Warnungen blockieren nicht. Pflichtfelder blockieren. Die Inhaltsprüfung dauert typ. bis zu 24h.') }}
|
||||
</p>
|
||||
|
||||
<hr class="border-0 border-t border-[color:var(--color-bg-rule)] my-3" />
|
||||
|
|
@ -979,7 +979,7 @@ new #[Layout('components.layouts.app'), Title('Neue Pressemitteilung')] class ex
|
|||
{{ __('Sofort nach Freigabe') }}
|
||||
</span>
|
||||
<span class="text-[11px] text-[color:var(--color-ink-3)] block mt-0.5 leading-tight">
|
||||
{{ __('geht live, sobald die Redaktion grünes Licht gibt') }}
|
||||
{{ __('geht live, sobald die Inhaltsprüfung grünes Licht gibt') }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
|
|||
|
||||
Flux::toast(
|
||||
heading: __('Eingereicht'),
|
||||
text: __('Die Redaktion prüft die Pressemitteilung typischerweise innerhalb von 24 h.'),
|
||||
text: __('Die Inhaltsprüfung ist typischerweise innerhalb von 24 h abgeschlossen.'),
|
||||
variant: 'success',
|
||||
);
|
||||
} else {
|
||||
|
|
@ -656,7 +656,7 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
|
|||
<p class="m-0">{!! nl2br(e($selectedCompany->boilerplate)) !!}</p>
|
||||
@if ($selectedCompany->website)
|
||||
<p class="m-0 text-[12px] text-[color:var(--color-ink-3)] mt-3">
|
||||
<span class="font-semibold text-[color:var(--color-ink-2)]">{{ __('Web') }}:</span>
|
||||
<span class="font-semibold text-[color:var(--color-ink-2)]">Web:</span>
|
||||
{{ $selectedCompany->website }}
|
||||
</p>
|
||||
@endif
|
||||
|
|
@ -715,7 +715,7 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
|
|||
</flux:button>
|
||||
</flux:modal.trigger>
|
||||
<p class="text-[11px] text-[color:var(--color-ink-3)] mt-2 leading-[1.45] m-0">
|
||||
{{ __('Warnungen blockieren nicht. Pflichtfelder blockieren. Die Redaktion prüft typ. innerhalb von 24h.') }}
|
||||
{{ __('Warnungen blockieren nicht. Pflichtfelder blockieren. Die Inhaltsprüfung dauert typ. bis zu 24h.') }}
|
||||
</p>
|
||||
|
||||
<hr class="border-0 border-t border-[color:var(--color-bg-rule)] my-3" />
|
||||
|
|
@ -941,7 +941,7 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
|
|||
{{ __('Sofort nach Freigabe') }}
|
||||
</span>
|
||||
<span class="text-[11px] text-[color:var(--color-ink-3)] block mt-0.5 leading-tight">
|
||||
{{ __('geht live, sobald die Redaktion grünes Licht gibt') }}
|
||||
{{ __('geht live, sobald die Inhaltsprüfung grünes Licht gibt') }}
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ new #[Layout('components.layouts.app'), Title('Meine Pressemitteilungen')] class
|
|||
Schnell-Submits, der die Bestätigungen umgehen würde. --}}
|
||||
<flux:modal.trigger :name="'confirm-submit-'.$pr->id">
|
||||
<button type="button" class="inline-action"
|
||||
title="{{ __('Zur redaktionellen Prüfung senden') }}">
|
||||
title="{{ __('Zur Inhaltsprüfung senden') }}">
|
||||
{{ __('Zur Prüfung →') }}
|
||||
</button>
|
||||
</flux:modal.trigger>
|
||||
|
|
@ -579,7 +579,7 @@ new #[Layout('components.layouts.app'), Title('Meine Pressemitteilungen')] class
|
|||
{{-- Empty: gar keine PMs überhaupt --}}
|
||||
<x-portal.empty-state
|
||||
:title="__('Noch keine Pressemitteilungen')"
|
||||
:subtitle="__('Starten Sie mit Ihrer ersten Mitteilung. Nach redaktioneller Prüfung erscheint sie i. d. R. binnen 4 Stunden werktags auf beiden Portalen.')"
|
||||
:subtitle="__('Starten Sie mit Ihrer ersten Mitteilung. Nach bestandener Inhaltsprüfung erscheint sie i. d. R. binnen 4 Stunden werktags auf beiden Portalen.')"
|
||||
>
|
||||
<x-slot:icon>
|
||||
<svg width="28" height="28" viewBox="0 0 24 24" fill="none">
|
||||
|
|
@ -653,7 +653,7 @@ new #[Layout('components.layouts.app'), Title('Meine Pressemitteilungen')] class
|
|||
<ul
|
||||
class="text-[11.5px] text-[color:var(--color-ink-2)] leading-[1.7] mt-2 list-none p-0 m-0 space-y-0.5">
|
||||
<li>{{ __('Vorschau') }}</li>
|
||||
<li class="text-[color:var(--color-ink-3)] italic">{{ __('Warten auf Redaktion') }}</li>
|
||||
<li class="text-[color:var(--color-ink-3)] italic">{{ __('Warten auf Prüfung') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung')] class extends
|
|||
|
||||
Flux::toast(
|
||||
heading: __('Eingereicht'),
|
||||
text: __('Die Redaktion prüft die Pressemitteilung typischerweise innerhalb von 24 h.'),
|
||||
text: __('Die Inhaltsprüfung ist typischerweise innerhalb von 24 h abgeschlossen.'),
|
||||
variant: 'success',
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue