@php use Filament\Actions\Action; use Illuminate\Support\Arr; $currentTenant = filament()->getTenant(); $currentTenantName = filament()->getTenantName($currentTenant); $items = $this->getTenantMenuItems(); $canSwitchTenants = count($tenants = array_filter( filament()->getUserTenants(filament()->auth()->user()), fn (\Illuminate\Database\Eloquent\Model $tenant): bool => ! $tenant->is($currentTenant), )); $itemsBeforeAndAfterTenantSwitcher = collect($items) ->groupBy(fn (Action $item): bool => $canSwitchTenants && ($item->getSort() < 0), preserveKeys: true) ->all(); $itemsBeforeTenantSwitcher = $itemsBeforeAndAfterTenantSwitcher[true] ?? collect(); $itemsAfterTenantSwitcher = $itemsBeforeAndAfterTenantSwitcher[false] ?? collect(); $isSidebarCollapsibleOnDesktop = filament()->isSidebarCollapsibleOnDesktop(); @endphp {{ \Filament\Support\Facades\FilamentView::renderHook(\Filament\View\PanelsRenderHook::TENANT_MENU_BEFORE) }} @if ($itemsBeforeTenantSwitcher->isNotEmpty()) @foreach ($itemsBeforeTenantSwitcher as $item) {{ $item }} @endforeach @endif @if ($canSwitchTenants) @foreach ($tenants as $tenant) @php $tenantUrl = filament()->getUrl($tenant); $tenantImage = filament()->getTenantAvatarUrl($tenant); @endphp {{ filament()->getTenantName($tenant) }} @endforeach @endif @if ($itemsAfterTenantSwitcher->isNotEmpty()) @foreach ($itemsAfterTenantSwitcher as $item) {{ $item }} @endforeach @endif {{ \Filament\Support\Facades\FilamentView::renderHook(\Filament\View\PanelsRenderHook::TENANT_MENU_AFTER) }}