Deploy Ladill Transfer / deploy (push) Successful in 42s
Wire UserProfileMenu and shared Blade partial into topbar, mobile nav, and layouts so menu items match the account portal (Ladill Mail excluded). Co-authored-by: Cursor <cursoragent@cursor.com>
69 lines
2.4 KiB
PHP
69 lines
2.4 KiB
PHP
@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
|
|
|
|
<div {{ $attributes->merge(['class' => $containerClass]) }}>
|
|
@if ($showUser && $user)
|
|
<div class="px-3 py-2">
|
|
<p class="truncate text-sm font-semibold text-slate-900">{{ $user->name ?? 'Your account' }}</p>
|
|
<p class="truncate text-xs text-slate-400">{{ $user->email }}</p>
|
|
</div>
|
|
<div class="{{ $dividerClass }}"></div>
|
|
@endif
|
|
|
|
@foreach ($items as $item)
|
|
@if (($item['type'] ?? 'link') === 'link')
|
|
<a href="{{ $item['href'] }}"
|
|
class="{{ $linkClass }}"
|
|
@if ($onNavigate) @click="{{ $onNavigate }}" @endif>
|
|
{{ $item['label'] }}
|
|
</a>
|
|
@elseif (($item['type'] ?? '') === 'logout')
|
|
@if ($variant !== 'sheet')
|
|
<div class="{{ $dividerClass }}"></div>
|
|
@endif
|
|
<form method="POST" action="{{ $item['action'] }}" class="{{ $logoutWrapperClass }}">
|
|
@csrf
|
|
<button type="submit" class="{{ $logoutClass }}">
|
|
{{ $item['label'] }}
|
|
</button>
|
|
</form>
|
|
@endif
|
|
@endforeach
|
|
</div>
|