itbm / laravel-jetstream-disable-personal-team
禁用 Laravel Jetstream 中的个人团队
1.1.2
2024-08-27 14:05 UTC
Requires
- php: >=8.1
- illuminate/contracts: >=10.0
- spatie/laravel-package-tools: >=1.14.0
README
此包允许您禁用 Laravel Jetstream 中的个人团队。
要求
此包需要 Laravel 10.x 和 Jetstream 2.x。
安装
您可以通过 composer 安装此包
composer require itbm/laravel-jetstream-disable-personal-team
使用
所有
更新您的 CreateNewUser.php
文件,注释掉个人团队创建逻辑
return DB::transaction(function () use ($input) { return tap(User::create([ 'name' => $input['name'], 'email' => $input['email'], 'password' => Hash::make($input['password']), ]), function (User $user) { // $this->createTeam($user); }); });
然后,编辑 web.php
和 api.php
以包含此包中包含的 require-team
中间件。如果用户尚未加入团队,这将重定向用户到团队创建页面
Route::middleware([ 'auth:sanctum', config('jetstream.auth_session'), 'verified', 'require-team', ])->group(function () { // ... });
仅限 Inertia
您需要更新您的 AppLayout.vue
文件。查找并替换这两行
<Dropdown v-if="$page.props.jetstream.hasTeamFeatures" align="right" width="60"> <template v-if="$page.props.jetstream.hasTeamFeatures">
为
<Dropdown v-if="$page.props.jetstream.hasTeamFeatures && $page.props.auth.user.current_team" align="right" width="60"> <template v-if="$page.props.jetstream.hasTeamFeatures && $page.props.auth.user.current_team">
仅限 Livewire
您需要更新您的 navigation-menu.blade.php
文件。查找并替换这两行
@if (Laravel\Jetstream\Jetstream::hasTeamFeatures())
为
@if (Laravel\Jetstream\Jetstream::hasTeamFeatures() && Auth::user()->currentTeam)