@props([ 'items' => [], 'user' => null, 'showUser' => false, 'variant' => 'dropdown', 'onNavigate' => null, ]) @php $linkClass = match ($variant) { 'dark' => 'block rounded-md px-3 py-2 text-sm text-slate-200 hover:bg-slate-800', 'sheet' => 'block rounded-xl px-4 py-3 text-sm font-medium text-slate-700 transition hover:bg-slate-100', default => 'block rounded-lg px-3 py-2 text-sm text-slate-700 hover:bg-slate-100', }; $logoutClass = match ($variant) { 'dark' => 'w-full rounded-md px-3 py-2 text-left text-sm text-rose-300 hover:bg-rose-950/40', 'sheet' => 'w-full rounded-xl px-4 py-3 text-left text-sm font-medium text-rose-600 transition hover:bg-rose-50', default => 'w-full rounded-lg px-3 py-2 text-left text-sm text-rose-600 hover:bg-rose-50', }; $logoutWrapperClass = match ($variant) { 'sheet' => 'border-t border-slate-100 pt-2', 'dark' => '', default => '', }; $dividerClass = match ($variant) { 'dark' => 'my-1 border-t border-slate-800', default => 'my-1 border-t border-slate-100', }; $containerClass = match ($variant) { 'dark' => 'mt-2 rounded-lg border border-slate-800 bg-slate-900 p-1', 'sheet' => 'space-y-1 p-2 pb-4', default => 'p-1', }; @endphp
merge(['class' => $containerClass]) }}> @if ($showUser && $user)

{{ $user->name ?? 'Your account' }}

{{ $user->email }}

@endif @foreach ($items as $item) @if (($item['type'] ?? 'link') === 'link') {{ $item['label'] }} @elseif (($item['type'] ?? '') === 'logout') @if ($variant !== 'sheet')
@endif
@csrf
@endif @endforeach