{{--
Header kolom tabel yang bisa diklik untuk mengurutkan (server-side, ikut paginasi & filter).
Pemakaian: Nama
Query string: ?sort=&arah=asc|desc
--}}
@props(['kolom', 'default' => null, 'arahAwal' => 'asc'])
@php
$aktifKolom = request('sort', $default);
$aktif = $aktifKolom === $kolom;
$arahSekarang = request('arah') === 'desc' ? 'desc' : 'asc';
$arahBaru = $aktif ? ($arahSekarang === 'asc' ? 'desc' : 'asc') : $arahAwal;
$url = request()->fullUrlWithQuery(['sort' => $kolom, 'arah' => $arahBaru, 'page' => null]);
$ikon = $aktif ? ($arahSekarang === 'asc' ? 'bi-caret-up-fill' : 'bi-caret-down-fill') : 'bi-chevron-expand';
$rataKanan = str_contains($attributes->get('class', ''), 'text-end');
@endphp
| merge(['class' => 'text-nowrap']) }} @if($aktif) aria-sort="{{ $arahSekarang === 'asc' ? 'ascending' : 'descending' }}" @endif>
{{ $slot }}
|