PM-Detailseite: Direktlinks zur öffentlichen Seite je Portal

Veröffentlichte PMs zeigten im Backend nur den Status-Badge, ohne Weg
zur öffentlichen Seite. Im Seitenkopf stehen jetzt Direktlinks — bei
Portal::Both einer je Portal (QA-Befund 07.07.).

Die URL-Logik ist als PressRelease::publicPortalLinks() zentralisiert
(vorher doppelt in der Published-Mail und fehlerhaft im Nachweis-PDF:
dort fehlte das /de/press-release/-Segment, die dokumentierte URL lief
ins Leere; bei Both nennt der Nachweis jetzt beide URLs). Edition folgt
der PM-Sprache statt hart „de".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-07 15:00:40 +00:00
parent 930760a056
commit 28de92e18b
6 changed files with 128 additions and 13 deletions

View file

@ -209,6 +209,9 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung')] class extends
return [
'pr' => $pr,
'publicLinks' => $pr->status === PressReleaseStatus::Published
? $pr->publicPortalLinks()
: [],
'creditBalance' => $user->creditBalance(),
'canBoost' => $boostService->canBoost($pr),
'isBoosted' => $boostService->isBoosted($pr),
@ -353,7 +356,17 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung')] class extends
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<div class="flex items-center gap-2 flex-shrink-0 flex-wrap justify-end">
{{-- Direktlinks zur öffentlichen Seite (QA-Befund 07.07.):
bei Portal::Both je Portal ein eigener Button. --}}
@foreach ($publicLinks as $link)
<flux:button variant="primary" icon="arrow-top-right-on-square"
href="{{ $link['url'] }}" target="_blank" rel="noopener">
{{ count($publicLinks) > 1
? __('Auf :portal ansehen', ['portal' => $link['label']])
: __('Öffentlich ansehen') }}
</flux:button>
@endforeach
@if ($canEdit)
<flux:button variant="filled" icon="pencil" href="{{ route('me.press-releases.edit', $pr->id) }}" wire:navigate>
{{ __('Bearbeiten') }}