web: Unter-Navigation Preise/Transparenz auf allen vier Seiten mit aktivem Punkt
"Tarife & Preise" als erster Punkt; x-web.static-page bekommt einen Slot `aboveTitle`, die drei Transparenzseiten tragen dieselbe Leiste mit markierter aktueller Seite. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c96c8a6e45
commit
134af424ea
9 changed files with 29 additions and 6 deletions
|
|
@ -105,6 +105,7 @@ return [
|
|||
|
||||
'vat_note' => 'Alle Preise sind Nettopreise und verstehen sich zzgl. der gesetzlichen Umsatzsteuer. Die Abrechnung erfolgt sicher über unseren Zahlungsdienstleister.',
|
||||
'transparency_nav' => [
|
||||
'pricing' => 'Tarife & Preise',
|
||||
'label' => 'Transparenz',
|
||||
'cost' => 'Was kostet eine Pressemitteilung?',
|
||||
'no_subscription' => 'Ohne Abo veröffentlichen',
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ return [
|
|||
|
||||
'vat_note' => 'All prices are net and exclude statutory VAT. Billing is handled securely via our payment provider.',
|
||||
'transparency_nav' => [
|
||||
'pricing' => 'Plans & pricing',
|
||||
'label' => 'Transparency',
|
||||
'cost' => 'What does a press release cost?',
|
||||
'no_subscription' => 'Publish without a subscription',
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@
|
|||
|
||||
{{-- Masthead --}}
|
||||
<section class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 pt-8 lg:pt-10">
|
||||
{{-- Optionale Unter-Navigation über der Headline (z. B. Transparenzseiten). --}}
|
||||
@isset($aboveTitle)
|
||||
<div class="mb-6">{{ $aboveTitle }}</div>
|
||||
@endisset
|
||||
@if ($eyebrow)
|
||||
<div class="eyebrow mb-3">{{ $eyebrow }}</div>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
])
|
||||
|
||||
@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.
|
||||
// Roadmap 2.4: Unter-Navigation über der Headline von Preisseite und den
|
||||
// drei Transparenzseiten — damit die Antworten auf „Was kostet das?",
|
||||
// „Geht das ohne Abo?" und „Wie werde ich es wieder los?" neben den
|
||||
// Tarifen stehen. `current` = Routenname der aktuellen Seite.
|
||||
$items = [
|
||||
'preise' => __('pricing.transparency_nav.pricing'),
|
||||
'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'),
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
MASTHEAD
|
||||
============================================================ --}}
|
||||
<section class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 pt-8 lg:pt-10">
|
||||
<x-web.transparency-nav class="mb-6" />
|
||||
<x-web.transparency-nav class="mb-6" current="preise" />
|
||||
<div class="eyebrow mb-3">{{ __('pricing.eyebrow') }}</div>
|
||||
<h1 class="font-serif text-[36px] sm:text-[48px] lg:text-[52px] font-semibold m-0 leading-[1.02] tracking-[-1.2px] text-ink">
|
||||
{{ __('pricing.headline') }}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@
|
|||
:lead="__('static.change_delete.lead')"
|
||||
:breadcrumb="__('static.change_delete.breadcrumb')"
|
||||
>
|
||||
<x-slot:aboveTitle>
|
||||
<x-web.transparency-nav current="pressemitteilung-loeschen-oder-aendern-lassen" />
|
||||
</x-slot:aboveTitle>
|
||||
|
||||
<div class="pm-body max-w-[760px]">
|
||||
<h2 id="wege">{{ __('static.change_delete.ways_heading') }}</h2>
|
||||
<table>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@
|
|||
:lead="__('static.no_subscription.lead')"
|
||||
:breadcrumb="__('static.no_subscription.breadcrumb')"
|
||||
>
|
||||
<x-slot:aboveTitle>
|
||||
<x-web.transparency-nav current="pressemitteilung-veroeffentlichen-ohne-abo" />
|
||||
</x-slot:aboveTitle>
|
||||
|
||||
<div class="pm-body max-w-[760px]">
|
||||
<h2 id="ablauf">{{ __('static.no_subscription.how_heading') }}</h2>
|
||||
<ol>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@
|
|||
:lead="__('static.cost.lead')"
|
||||
:breadcrumb="__('static.cost.breadcrumb')"
|
||||
>
|
||||
<x-slot:aboveTitle>
|
||||
<x-web.transparency-nav current="was-kostet-eine-pressemitteilung" />
|
||||
</x-slot:aboveTitle>
|
||||
|
||||
<div class="pm-body max-w-[760px]">
|
||||
<h2 id="kurz">{{ __('static.cost.short_heading') }}</h2>
|
||||
<p>{!! __('static.cost.short_p1', $params) !!}</p>
|
||||
|
|
|
|||
|
|
@ -67,13 +67,17 @@ test('the change page names the five ways with their prices and points to the se
|
|||
->assertSee('10 € netto')
|
||||
->assertSee('35 € netto')
|
||||
->assertSee('/de/melden/pm', false)
|
||||
->assertSee('Die Meldung steht auf einem anderen Portal?');
|
||||
->assertSee('Die Meldung steht auf einem anderen Portal?')
|
||||
// Unter-Navigation: aktuelle Seite markiert, Preisseite verlinkt.
|
||||
->assertSee('aria-current="page">Meldung löschen oder ändern</span>', false)
|
||||
->assertSee("/de/preise\" class=", false);
|
||||
});
|
||||
|
||||
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('aria-label="Transparenz"', false)
|
||||
->assertSee('aria-current="page">Tarife & Preise</span>', false)
|
||||
->assertSee('/de/was-kostet-eine-pressemitteilung', false)
|
||||
->assertSee('/de/pressemitteilung-veroeffentlichen-ohne-abo', false)
|
||||
->assertSee('/de/pressemitteilung-loeschen-oder-aendern-lassen', false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue