5.4 (Teil 5): page-header in roles/* + footer-codes/* + presets/*

Neun weitere Standard-Header (md) auf <x-portal.page-header>:
- roles/index (bedingter Anlegen-Button), roles/create (Guard-Badge via
  :meta), roles/edit (ID + Guard + bedingte Systemrolle via :meta)
- footer-codes/index, footer-codes/create, footer-codes/edit (ID + Global +
  Aktiv/Inaktiv via :meta, Titel als Beschreibung)
- presets/index, presets/create, presets/edit (ID via :meta)

Roles-/FooterCode-/Preset-Tests (23) gruen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-01 10:01:47 +00:00
parent 1eb2243959
commit 27a77bfc50
9 changed files with 103 additions and 161 deletions

View file

@ -77,26 +77,18 @@ new #[Layout('components.layouts.app'), Title('Footer-Code anlegen')] class exte
<div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Footer-Codes') }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Footer-Code anlegen') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Snippet, das unter Pressemitteilungen ausgespielt wird.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Footer-Codes')"
:title="__('Footer-Code anlegen')"
:description="__('Snippet, das unter Pressemitteilungen ausgespielt wird.')"
>
<x-slot:actions>
<flux:button variant="filled" icon="arrow-left" :href="route('admin.footer-codes.index')" wire:navigate>
{{ __('Zurück') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
<form wire:submit="save" class="space-y-6">
<article class="panel">

View file

@ -108,33 +108,29 @@ new #[Layout('components.layouts.app'), Title('Footer-Code bearbeiten')] class e
<div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-wrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Footer-Codes') }}</span>
<span class="badge hub">ID #{{ $id }}</span>
@if ($isGlobal)
<span class="badge hub dot">{{ __('Global') }}</span>
@endif
@if ($isActive)
<span class="badge ok dot">{{ __('Aktiv') }}</span>
@else
<span class="badge dot">{{ __('Inaktiv') }}</span>
@endif
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)] break-words">
{{ __('Footer-Code bearbeiten') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">{{ $title }}</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Footer-Codes')"
:title="__('Footer-Code bearbeiten')"
:description="$title"
>
<x-slot:meta>
<span class="badge hub">ID #{{ $id }}</span>
@if ($isGlobal)
<span class="badge hub dot">{{ __('Global') }}</span>
@endif
@if ($isActive)
<span class="badge ok dot">{{ __('Aktiv') }}</span>
@else
<span class="badge dot">{{ __('Inaktiv') }}</span>
@endif
</x-slot:meta>
<x-slot:actions>
<flux:button variant="filled" icon="arrow-left" :href="route('admin.footer-codes.index')" wire:navigate>
{{ __('Zurück') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
<form wire:submit="save" class="space-y-6">
<article class="panel">

View file

@ -78,26 +78,18 @@ new #[Layout('components.layouts.app'), Title('Footer-Codes')] class extends Com
<div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Operations') }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Footer-Codes') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Snippets, die unter Pressemitteilungen ausgespielt werden.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Operations')"
:title="__('Footer-Codes')"
:description="__('Snippets, die unter Pressemitteilungen ausgespielt werden.')"
>
<x-slot:actions>
<flux:button variant="primary" icon="plus" :href="route('admin.footer-codes.create')" wire:navigate>
{{ __('Footer-Code anlegen') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
@if (session('success'))
<div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-center gap-2

View file

@ -52,26 +52,18 @@ new #[Layout('components.layouts.app'), Title('Neue Voreinstellung')] class exte
<form wire:submit="save" class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Voreinstellungen') }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Neue Voreinstellung') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Texte, Zahlen oder JSON-Werte zentral fuer Admin-Funktionen pflegen.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Voreinstellungen')"
:title="__('Neue Voreinstellung')"
:description="__('Texte, Zahlen oder JSON-Werte zentral fuer Admin-Funktionen pflegen.')"
>
<x-slot:actions>
<flux:button variant="filled" icon="arrow-left" href="{{ route('admin.presets.index') }}" wire:navigate>
{{ __('Zurück') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
@include('livewire.admin.presets.partials.form-fields')

View file

@ -73,27 +73,21 @@ new #[Layout('components.layouts.app'), Title('Voreinstellung bearbeiten')] clas
<form wire:submit="save" class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Voreinstellungen') }}</span>
<span class="badge hub">ID #{{ $id }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Voreinstellung bearbeiten') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Texte, Zahlen oder JSON-Werte zentral fuer Admin-Funktionen pflegen.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Voreinstellungen')"
:title="__('Voreinstellung bearbeiten')"
:description="__('Texte, Zahlen oder JSON-Werte zentral fuer Admin-Funktionen pflegen.')"
>
<x-slot:meta>
<span class="badge hub">ID #{{ $id }}</span>
</x-slot:meta>
<x-slot:actions>
<flux:button variant="filled" icon="arrow-left" href="{{ route('admin.presets.index') }}" wire:navigate>
{{ __('Zurück') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
@include('livewire.admin.presets.partials.form-fields')

View file

@ -78,26 +78,18 @@ new #[Layout('components.layouts.app'), Title('Voreinstellungen')] class extends
<div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Stammdaten') }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Voreinstellungen') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Zentrale Admin-Presets fuer Texte, Zahlen und weitere Werte.') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Stammdaten')"
:title="__('Voreinstellungen')"
:description="__('Zentrale Admin-Presets fuer Texte, Zahlen und weitere Werte.')"
>
<x-slot:actions>
<flux:button icon="plus" variant="primary" href="{{ route('admin.presets.create') }}" wire:navigate>
{{ __('Neue Voreinstellung') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
@if (session('success'))
<div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-center gap-2

View file

@ -77,24 +77,20 @@ new #[Layout('components.layouts.app'), Title('Neue Rolle')] class extends Compo
<form wire:submit="save" class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-wrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Sicherheit · Rollen') }}</span>
<span class="badge hub">{{ __('Guard') }}: {{ $guardName }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Neue Rolle') }}
</h1>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Sicherheit · Rollen')"
:title="__('Neue Rolle')"
>
<x-slot:meta>
<span class="badge hub">{{ __('Guard') }}: {{ $guardName }}</span>
</x-slot:meta>
<x-slot:actions>
<flux:button variant="filled" icon="arrow-left" href="{{ route('admin.roles.index') }}" wire:navigate>
{{ __('Zurück') }}
</flux:button>
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
<article class="panel">
<div class="panel-head">

View file

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

View file

@ -20,28 +20,20 @@ new #[Layout('components.layouts.app'), Title('Rollen & Rechte')] class extends
<div class="space-y-8">
{{-- ============== PAGE HEADER ============== --}}
<header class="page-header">
<div class="min-w-0">
<div class="flex items-center gap-3 mb-3 flex-nowrap whitespace-nowrap">
<span class="badge hub dot">{{ __('Admin Backend') }}</span>
<span class="eyebrow muted">{{ __('Administration · Sicherheit') }}</span>
</div>
<h1 class="text-[30px] font-bold tracking-[-0.6px] leading-[1.15] m-0 text-[color:var(--color-ink)]">
{{ __('Rollen') }}
</h1>
<p class="text-[13px] leading-[1.55] mt-2 m-0 max-w-[640px] text-[color:var(--color-ink-2)]">
{{ __('Verwaltung von Rollen und Berechtigungen') }}
</p>
</div>
<div class="flex items-center gap-2 flex-shrink-0">
<x-portal.page-header
:badge="__('Admin Backend')"
:eyebrow="__('Administration · Sicherheit')"
:title="__('Rollen')"
:description="__('Verwaltung von Rollen und Berechtigungen')"
>
<x-slot:actions>
@if (\Illuminate\Support\Facades\Route::has('admin.roles.create'))
<flux:button variant="primary" icon="plus" href="{{ route('admin.roles.create') }}" wire:navigate>
{{ __('Neue Rolle') }}
</flux:button>
@endif
</div>
</header>
</x-slot:actions>
</x-portal.page-header>
<article class="panel overflow-hidden">
<div class="panel-head">