diff --git a/stubs/App/Listeners/SwitchTeam.php b/stubs/App/Listeners/SwitchTeam.php new file mode 100644 index 0000000..82dc551 --- /dev/null +++ b/stubs/App/Listeners/SwitchTeam.php @@ -0,0 +1,32 @@ +getUser(); + + $team = $event->getTenant(); + + $user->switchTeam($team); + } + } +} + diff --git a/stubs/App/Providers/Filament/AppPanelProvider.php b/stubs/App/Providers/Filament/AppPanelProvider.php index b56c8c8..fd7e617 100644 --- a/stubs/App/Providers/Filament/AppPanelProvider.php +++ b/stubs/App/Providers/Filament/AppPanelProvider.php @@ -7,8 +7,10 @@ use App\Filament\Pages\EditProfile; use App\Filament\Pages\EditTeam; use App\Listeners\CreatePersonalTeam; +use App\Listeners\SwitchTeam; use App\Models\Team; use Filament\Events\Auth\Registered; +use Filament\Events\TenantSet; use Filament\Facades\Filament; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\DisableBladeIconComponents; @@ -130,6 +132,14 @@ public function boot() Registered::class, CreatePersonalTeam::class, ); + + /** + * Listen and switch team if tenant was changed + */ + Event::listen( + TenantSet::class, + SwitchTeam::class, + ); } public function shouldRegisterMenuItem(): bool