5.4 (Teil 2): page-header in categories/* + companies/create,edit umgestellt

Vier weitere Standard-Header auf <x-portal.page-header> umgestellt:
categories/index, categories/edit (ID/PM/Unterkategorien-Badges via :meta),
companies/create, companies/edit (ID-Badge via :meta).

Bewusst NICHT umgestellt (Sonderfaelle, bleiben unveraendert):
- companies/index: abweichende Titelgroesse (text-[34px] statt 30px)
- companies/show: Sonder-Header mit Logo-Bild + Website-Link

Categories-/Companies-Tests (82) gruen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-01 08:31:45 +00:00
parent 6d4965a793
commit d2d88ed0d4
4 changed files with 45 additions and 71 deletions

View file

@ -174,28 +174,24 @@ new #[Layout('components.layouts.app'), Title('Kategorie bearbeiten')] class ext
<div class="space-y-8"> <div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}} {{-- ============== PAGE HEADER ============== --}}
<header class="page-header"> <x-portal.page-header
<div class="min-w-0"> :badge="__('Admin Backend')"
<div class="flex items-center gap-3 mb-3 flex-wrap"> :eyebrow="__('Administration · Kategorien')"
<span class="badge hub dot">{{ __('Admin Backend') }}</span> :title="__('Kategorie bearbeiten')"
<span class="eyebrow muted">{{ __('Administration · Kategorien') }}</span> >
<span class="badge hub">ID #{{ $id }}</span> <x-slot:meta>
<span class="badge hub">{{ $releaseCount }} {{ __('PMs') }}</span> <span class="badge hub">ID #{{ $id }}</span>
@if ($childrenCount > 0) <span class="badge hub">{{ $releaseCount }} {{ __('PMs') }}</span>
<span class="badge hub">{{ $childrenCount }} {{ __('Unterkategorien') }}</span> @if ($childrenCount > 0)
@endif <span class="badge hub">{{ $childrenCount }} {{ __('Unterkategorien') }}</span>
</div> @endif
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]"> </x-slot:meta>
{{ __('Kategorie bearbeiten') }} <x-slot:actions>
</h1>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<flux:button variant="filled" icon="arrow-left" :href="route('admin.categories.index')" wire:navigate> <flux:button variant="filled" icon="arrow-left" :href="route('admin.categories.index')" wire:navigate>
{{ __('Zurück') }} {{ __('Zurück') }}
</flux:button> </flux:button>
</div> </x-slot:actions>
</header> </x-portal.page-header>
@if (session('success')) @if (session('success'))
<div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-center gap-2 <div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-center gap-2

View file

@ -128,26 +128,18 @@ new #[Layout('components.layouts.app'), Title('Kategorien')] class extends Compo
<div class="space-y-8"> <div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}} {{-- ============== PAGE HEADER ============== --}}
<header class="page-header"> <x-portal.page-header
<div class="min-w-0"> :badge="__('Admin Backend')"
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap"> :eyebrow="__('Administration · Stammdaten')"
<span class="badge hub dot">{{ __('Admin Backend') }}</span> :title="__('Kategorien')"
<span class="eyebrow muted">{{ __('Administration · Stammdaten') }}</span> :description="__('Themen-Taxonomie für Pressemitteilungen über alle Portale hinweg.')"
</div> >
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]"> <x-slot:actions>
{{ __('Kategorien') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Themen-Taxonomie für Pressemitteilungen über alle Portale hinweg.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<flux:button variant="primary" icon="plus" :href="route('admin.categories.create')" wire:navigate> <flux:button variant="primary" icon="plus" :href="route('admin.categories.create')" wire:navigate>
{{ __('Kategorie anlegen') }} {{ __('Kategorie anlegen') }}
</flux:button> </flux:button>
</div> </x-slot:actions>
</header> </x-portal.page-header>
{{-- ============== KPI-Reihe ============== --}} {{-- ============== KPI-Reihe ============== --}}
<section class="grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4"> <section class="grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4">

View file

@ -119,26 +119,18 @@ new #[Layout('components.layouts.app'), Title('Neue Firma')] class extends Compo
<div class="space-y-8"> <div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}} {{-- ============== PAGE HEADER ============== --}}
<header class="page-header"> <x-portal.page-header
<div class="min-w-0"> :badge="__('Admin Backend')"
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap"> :eyebrow="__('Stammdaten · Neue Firma')"
<span class="badge hub dot">{{ __('Admin Backend') }}</span> :title="__('Neue Firma')"
<span class="eyebrow muted">{{ __('Stammdaten · Neue Firma') }}</span> :description="__('Stammdaten, Adresse, Logo und Rechtsangaben einer neuen Firma erfassen.')"
</div> >
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]"> <x-slot:actions>
{{ __('Neue Firma') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Stammdaten, Adresse, Logo und Rechtsangaben einer neuen Firma erfassen.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<flux:button variant="filled" icon="arrow-left" href="{{ route('admin.companies.index') }}" wire:navigate> <flux:button variant="filled" icon="arrow-left" href="{{ route('admin.companies.index') }}" wire:navigate>
{{ __('Zurück') }} {{ __('Zurück') }}
</flux:button> </flux:button>
</div> </x-slot:actions>
</header> </x-portal.page-header>
<form wire:submit="save" class="space-y-6"> <form wire:submit="save" class="space-y-6">
<article class="panel"> <article class="panel">

View file

@ -197,27 +197,21 @@ new #[Layout('components.layouts.app'), Title('Firma bearbeiten')] class extends
<div class="space-y-8"> <div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}} {{-- ============== PAGE HEADER ============== --}}
<header class="page-header"> <x-portal.page-header
<div class="min-w-0"> :badge="__('Admin Backend')"
<div class="flex items-center gap-3 mb-3 flex-wrap"> :eyebrow="__('Stammdaten · Firma bearbeiten')"
<span class="badge hub dot">{{ __('Admin Backend') }}</span> :title="__('Firma bearbeiten')"
<span class="eyebrow muted">{{ __('Stammdaten · Firma bearbeiten') }}</span> :description="__('Stammdaten, Adresse, Logo und Rechtsangaben der Firma aktualisieren.')"
<span class="badge hub">ID {{ $companyId }}</span> >
</div> <x-slot:meta>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]"> <span class="badge hub">ID {{ $companyId }}</span>
{{ __('Firma bearbeiten') }} </x-slot:meta>
</h1> <x-slot:actions>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Stammdaten, Adresse, Logo und Rechtsangaben der Firma aktualisieren.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<flux:button variant="filled" icon="arrow-left" href="{{ route('admin.companies.show', $companyId) }}" wire:navigate> <flux:button variant="filled" icon="arrow-left" href="{{ route('admin.companies.show', $companyId) }}" wire:navigate>
{{ __('Zurück') }} {{ __('Zurück') }}
</flux:button> </flux:button>
</div> </x-slot:actions>
</header> </x-portal.page-header>
<form wire:submit="update" class="space-y-6"> <form wire:submit="update" class="space-y-6">
<article class="panel"> <article class="panel">