From c96c8a6e459955e8a76b5b63c3fc24fdd1bd3274 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 17 Sep 2026 12:12:22 +0000 Subject: [PATCH] web: Transparenz-Navigation ueber der Headline der Preisseite (Roadmap 2.4) x-web.transparency-nav (Label + drei Chips) statt der kleinen Zeile unter dem USt-Hinweis; Komponente kennt `current` fuer spaetere Wiederverwendung. Co-Authored-By: Claude Opus 5 (1M context) --- lang/de/pricing.php | 7 ++++- lang/en/pricing.php | 7 ++++- .../components/web/transparency-nav.blade.php | 30 +++++++++++++++++++ resources/views/web/preise.blade.php | 2 +- tests/Feature/Web/TransparencyPagesTest.php | 5 +++- 5 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 resources/views/components/web/transparency-nav.blade.php diff --git a/lang/de/pricing.php b/lang/de/pricing.php index 79644b8b..f18cb4ae 100644 --- a/lang/de/pricing.php +++ b/lang/de/pricing.php @@ -104,7 +104,12 @@ return [ ], 'vat_note' => 'Alle Preise sind Nettopreise und verstehen sich zzgl. der gesetzlichen Umsatzsteuer. Die Abrechnung erfolgt sicher über unseren Zahlungsdienstleister.', - 'transparency_links' => 'Ausführlich: Was kostet eine Pressemitteilung? · Veröffentlichen ohne Abo · Meldung löschen oder ändern lassen', + 'transparency_nav' => [ + 'label' => 'Transparenz', + 'cost' => 'Was kostet eine Pressemitteilung?', + 'no_subscription' => 'Ohne Abo veröffentlichen', + 'change_delete' => 'Meldung löschen oder ändern', + ], // Render-Pflichten aus der Leistungsbeschreibung v0.2 (Slots, Credits, // Partnerportale) — die AGB verweisen auf diese Seite als Preisquelle. diff --git a/lang/en/pricing.php b/lang/en/pricing.php index 26cf749b..29e2f73c 100644 --- a/lang/en/pricing.php +++ b/lang/en/pricing.php @@ -97,7 +97,12 @@ return [ ], 'vat_note' => 'All prices are net and exclude statutory VAT. Billing is handled securely via our payment provider.', - 'transparency_links' => 'In detail: What does a press release cost? · Publish without a subscription · Have a release deleted or changed', + 'transparency_nav' => [ + 'label' => 'Transparency', + 'cost' => 'What does a press release cost?', + 'no_subscription' => 'Publish without a subscription', + 'change_delete' => 'Delete or change a release', + ], // Rendering obligations from the service description (slots/credits/ // boost/partner portals) — the T&Cs refer to this page. diff --git a/resources/views/components/web/transparency-nav.blade.php b/resources/views/components/web/transparency-nav.blade.php new file mode 100644 index 00000000..5dcd24d1 --- /dev/null +++ b/resources/views/components/web/transparency-nav.blade.php @@ -0,0 +1,30 @@ +@props([ + 'current' => null, +]) + +@php + // Roadmap 2.4: die drei Transparenzseiten als kleine horizontale + // Navigation — auf der Preisseite über der Headline, damit die Antworten + // auf „Was kostet das?", „Geht das ohne Abo?" und „Wie werde ich es wieder + // los?" neben den Tarifen stehen. + $items = [ + 'was-kostet-eine-pressemitteilung' => __('pricing.transparency_nav.cost'), + 'pressemitteilung-veroeffentlichen-ohne-abo' => __('pricing.transparency_nav.no_subscription'), + 'pressemitteilung-loeschen-oder-aendern-lassen' => __('pricing.transparency_nav.change_delete'), + ]; +@endphp + + diff --git a/resources/views/web/preise.blade.php b/resources/views/web/preise.blade.php index 5a8a7e28..8115254e 100644 --- a/resources/views/web/preise.blade.php +++ b/resources/views/web/preise.blade.php @@ -43,6 +43,7 @@ MASTHEAD ============================================================ --}}
+
{{ __('pricing.eyebrow') }}

{{ __('pricing.headline') }} @@ -278,7 +279,6 @@ @endif

{{ __('pricing.vat_note') }}

-

{!! __('pricing.transparency_links', ['cost_url' => route('was-kostet-eine-pressemitteilung'), 'no_sub_url' => route('pressemitteilung-veroeffentlichen-ohne-abo'), 'change_url' => route('pressemitteilung-loeschen-oder-aendern-lassen')]) !!}

{{-- Render-Pflichten der Leistungsbeschreibung (Slots/Credits/Boost/ Partnerportale) — die AGB verweisen auf diese Seite. --}} diff --git a/tests/Feature/Web/TransparencyPagesTest.php b/tests/Feature/Web/TransparencyPagesTest.php index b4fa8ba6..c019713b 100644 --- a/tests/Feature/Web/TransparencyPagesTest.php +++ b/tests/Feature/Web/TransparencyPagesTest.php @@ -73,7 +73,10 @@ test('the change page names the five ways with their prices and points to the se test('the pages are linked from the pricing page, the help centre and the sitemap', function () { /** @var TestCase $this */ $this->get('https://presseecho.test/de/preise')->assertSuccessful() - ->assertSee('/de/was-kostet-eine-pressemitteilung', false); + ->assertSee('aria-label="Transparenz"', false) + ->assertSee('/de/was-kostet-eine-pressemitteilung', false) + ->assertSee('/de/pressemitteilung-veroeffentlichen-ohne-abo', false) + ->assertSee('/de/pressemitteilung-loeschen-oder-aendern-lassen', false); $this->get('https://presseecho.test/de/hilfe')->assertSuccessful() ->assertSee('/de/pressemitteilung-loeschen-oder-aendern-lassen', false)