Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

company-switcher.blade.php 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. @props([
  2. 'icon' => null,
  3. 'currentTenant' => null,
  4. ])
  5. @php
  6. $currentTenantName = filament()->getTenantName($currentTenant);
  7. $currentCompany = auth()->user()->currentCompany;
  8. $currentCompanyOwner = $currentCompany->owner;
  9. $items = filament()->getTenantMenuItems();
  10. $profileItem = $items['profile'] ?? null;
  11. $profileItemUrl = $profileItem?->getUrl();
  12. $registrationItem = $items['register'] ?? null;
  13. $registrationItemUrl = $registrationItem?->getUrl();
  14. $isRegistrationItemVisible = $registrationItem?->isVisible() ?? true;
  15. $hasRegistrationItem = ((filament()->hasTenantRegistration() && filament()->getTenantRegistrationPage()::canView()) || filled($registrationItemUrl)) && $isRegistrationItemVisible;
  16. $canSwitchTenants = count($tenants = array_filter(
  17. filament()->getUserTenants(filament()->auth()->user()),
  18. fn (\Illuminate\Database\Eloquent\Model $tenant): bool => ! $tenant->is($currentTenant),
  19. ));
  20. @endphp
  21. @if($currentTenant)
  22. <x-panel-shift-dropdown.selected-tenant
  23. icon="heroicon-m-check"
  24. icon-color="primary"
  25. :url="filament()->getUrl($currentTenant)"
  26. :label="$currentTenantName"
  27. />
  28. @endif
  29. @if($canSwitchTenants)
  30. @foreach($tenants as $tenant)
  31. <x-panel-shift-dropdown.item
  32. :url="filament()->getUrl($tenant)"
  33. :label="filament()->getTenantName($tenant)"
  34. />
  35. @endforeach
  36. @endif
  37. @if($hasRegistrationItem)
  38. <x-panel-shift-dropdown.item
  39. :url="$registrationItemUrl ?? filament()->getTenantRegistrationUrl()"
  40. :label="$registrationItem?->getLabel() ?? filament()->getTenantRegistrationPage()::getLabel()"
  41. :icon="$registrationItem?->getIcon() ?? \Filament\Support\Facades\FilamentIcon::resolve('panels::tenant-menu.registration-button') ?? 'heroicon-m-plus'"
  42. />
  43. @endif