5.4: <x-portal.table-pagination> + 13 Wrapper ersetzt
Buendelt den 13-fach byte-identischen Paginierungs-Fuss (border-t + p-4 um
->links('components.portal.pagination')) in eine Component mit :paginator-
Prop. Erzeugt identisches HTML -> kein visuelles Risiko.
Ersetzt in: users, invoices/index, payments/index (4x: Bestandsschutz,
Subscriptions, Purchases, Invoices), contacts/index, legal-requests/index,
presets/index, companies/index, footer-codes/index, customer/invoices,
customer/press-releases/index.
Bewusst BARE gelassen (kein Wrapper im Original): press-releases/index,
categories/index, press-kits/index. Alle Views kompilieren, 251 Tests gruen.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8690425f28
commit
9ee77c8e6b
11 changed files with 25 additions and 39 deletions
12
resources/views/components/portal/table-pagination.blade.php
Normal file
12
resources/views/components/portal/table-pagination.blade.php
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
@props([
|
||||
/** Der Paginator (LengthAwarePaginator o. ä.), dessen Links gerendert werden */
|
||||
'paginator',
|
||||
])
|
||||
|
||||
{{--
|
||||
Einheitlicher Paginierungs-Fuß unter Tabellen: abgesetzte Linie + Padding
|
||||
um die Portal-Pagination. Ersetzt den mehrfach kopierten Wrapper.
|
||||
--}}
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $paginator->links('components.portal.pagination') }}
|
||||
</div>
|
||||
|
|
@ -543,8 +543,6 @@ new #[Layout('components.layouts.app'), Title('Firmen')] class extends Component
|
|||
@endforelse
|
||||
</flux:table.rows>
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $companies->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$companies" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -709,8 +709,6 @@ new #[Layout('components.layouts.app'), Title('Kontakte')] class extends Compone
|
|||
</flux:table.rows>
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $contacts->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$contacts" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -241,8 +241,6 @@ new #[Layout('components.layouts.app'), Title('Footer-Codes')] class extends Com
|
|||
</flux:table.rows>
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $codes->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$codes" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -323,8 +323,6 @@ new #[Layout('components.layouts.app'), Title('Legacy Rechnungen')] class extend
|
|||
@endforelse
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $invoices->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$invoices" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -172,8 +172,6 @@ new #[Layout('components.layouts.app'), Title('Recht & Compliance')] class exten
|
|||
</flux:table.rows>
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $requests->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$requests" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -336,9 +336,7 @@ new #[Layout('components.layouts.app'), Title('Zahlungen')] class extends Compon
|
|||
@endforelse
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $bestandsschutz->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$bestandsschutz" />
|
||||
</article>
|
||||
|
||||
{{-- ============== ABOS ============== --}}
|
||||
|
|
@ -409,9 +407,7 @@ new #[Layout('components.layouts.app'), Title('Zahlungen')] class extends Compon
|
|||
</flux:table.row>
|
||||
@endforelse
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $subscriptions->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$subscriptions" />
|
||||
</article>
|
||||
|
||||
{{-- ============== EINMALKÄUFE ============== --}}
|
||||
|
|
@ -486,9 +482,7 @@ new #[Layout('components.layouts.app'), Title('Zahlungen')] class extends Compon
|
|||
</flux:table.row>
|
||||
@endforelse
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $purchases->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$purchases" />
|
||||
</article>
|
||||
|
||||
{{-- ============== RECHNUNGEN (STR/MAN) ============== --}}
|
||||
|
|
@ -564,8 +558,6 @@ new #[Layout('components.layouts.app'), Title('Zahlungen')] class extends Compon
|
|||
</flux:table.row>
|
||||
@endforelse
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $invoices->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$invoices" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -199,8 +199,6 @@ new #[Layout('components.layouts.app'), Title('Voreinstellungen')] class extends
|
|||
@endforelse
|
||||
</flux:table.rows>
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $presets->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$presets" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -570,9 +570,7 @@ new #[Layout('components.layouts.app'), Title('Benutzer')] class extends Compone
|
|||
</flux:table.rows>
|
||||
</flux:table>
|
||||
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $users->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$users" />
|
||||
</article>
|
||||
|
||||
<flux:modal name="user-details" class="w-full max-w-5xl" scroll="body">
|
||||
|
|
|
|||
|
|
@ -223,8 +223,6 @@ new #[Layout('components.layouts.app'), Title('Rechnungen')] class extends Compo
|
|||
</flux:table.row>
|
||||
@endforelse
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $invoices->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$invoices" />
|
||||
</article>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -538,9 +538,7 @@ new #[Layout('components.layouts.app'), Title('Meine Pressemitteilungen')] class
|
|||
</flux:table.row>
|
||||
@endforeach
|
||||
</flux:table>
|
||||
<div class="border-t border-[color:var(--color-bg-rule)] p-4">
|
||||
{{ $pressReleases->links('components.portal.pagination') }}
|
||||
</div>
|
||||
<x-portal.table-pagination :paginator="$pressReleases" />
|
||||
@elseif ($hasAnyPR && $search !== '')
|
||||
{{-- Empty: Suche ohne Treffer --}}
|
||||
<x-portal.empty-state
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue