@props([ 'teleport' => false, ]) @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), )); $isSearchable = filled($canSwitchTenants) ? (filament()->isTenantMenuSearchable() ?? (count($tenants) >= 10)) : false; $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)
@if ($isSearchable)
@endif @foreach ($tenants as $tenant) @php $tenantImage = filament()->getTenantAvatarUrl($tenant); $tenantName = filament()->getTenantName($tenant); $tenantUrl = filament()->getUrl($tenant); @endphp
{{ $tenantName }}
@endforeach
@endif @if ($itemsAfterTenantSwitcher->isNotEmpty()) @foreach ($itemsAfterTenantSwitcher as $item) {{ $item }} @endforeach @endif
{{ \Filament\Support\Facades\FilamentView::renderHook(\Filament\View\PanelsRenderHook::TENANT_MENU_AFTER) }}