*/ public function share(Request $request): array { $user = $request->user(); $tenant = tenancy()->tenant; $appName = $tenant ? ($tenant->name ?? 'Star ERP') : 'Star ERP 中央後台'; // 分享給 Blade View (給 app.blade.php 使用) \Illuminate\Support\Facades\View::share('appName', $appName); return [ ...parent::share($request), 'appName' => $appName, 'auth' => [ 'user' => $user ? [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'username' => $user->username ?? null, // 權限資料 'roles' => $user->getRoleNames(), 'role_labels' => $user->roles->pluck('display_name'), 'permissions' => $user->getAllPermissions()->pluck('name')->toArray(), ] : null, ], 'flash' => [ 'success' => $request->session()->get('success'), 'error' => $request->session()->get('error'), ], 'branding' => function () { $tenant = tenancy()->tenant; if (!$tenant) { // 中央後台預設 Branding return [ 'logo_url' => \Storage::url('defaults/logo.png'), // 中央後台也使用預設 Logo 'primary_color' => '#4F46E5', 'text_color' => '#1a1a1a', ]; } $logoUrl = null; if (isset($tenant->branding['logo_path'])) { $logoUrl = \Storage::url($tenant->branding['logo_path']); } return [ 'logo_url' => $logoUrl, 'primary_color' => $tenant->branding['primary_color'] ?? '#01ab83', 'text_color' => $tenant->branding['text_color'] ?? '#1a1a1a', ]; }, ]; } }