[ 'user' => $this->getAuthenticatedUser(), 'logo_href' => $this->getLogoHref(), ], 'flash' => [ 'success' => fn () => Arr::get($request->session()->all(), 'success'), 'error' => fn () => Arr::get($request->session()->all(), 'error'), ], ]; } /** * Get authenticated user data for frontend. */ private function getAuthenticatedUser(): ?array { $user = auth()->user(); if ($user === null) { return null; } return [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'job_title' => $user->job_title, 'company_name' => $user->company_name, ]; } /** * Determine logo href based on user Nova access. */ private function getLogoHref(): string { $user = auth()->user(); if ($user !== null && Gate::allows('viewNova', $user)) { return Nova::path(); } return '/'; } }