*/ public function share(Request $request): array { [$message, $author] = str(Inspiring::quotes()->random())->explode('-'); /** @var ?User $user */ $user = $request->user(); // servers $servers = []; if ($user && $user->can('viewAny', [Server::class, $user->currentProject])) { $servers = ServerResource::collection($user->currentProject?->servers); } return [ ...parent::share($request), 'name' => config('app.name'), 'quote' => ['message' => trim($message), 'author' => trim($author)], 'auth' => [ 'user' => $user, 'projects' => $user?->allProjects()->get(), 'currentProject' => $user?->currentProject, ], 'publicKeyText' => __('servers.create.public_key_text', ['public_key' => get_public_key_content()]), 'projectServers' => $servers, 'configs' => config('core'), 'ziggy' => fn (): array => [ ...(new Ziggy)->toArray(), 'location' => $request->url(), ], 'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true', ]; } }