@php $servicePageItems = [ [ 'label' => 'Settings', 'route' => 'project.service.configuration', 'active' => request()->routeIs('project.service.configuration') || request()->routeIs('project.service.domains') || request()->routeIs('project.service.environment-variables') || request()->routeIs('project.service.storages') || request()->routeIs('project.service.scheduled-tasks*') || request()->routeIs('project.service.webhooks') || request()->routeIs('project.service.resource-operations') || request()->routeIs('project.service.tags') || request()->routeIs('project.service.danger') || request()->routeIs('project.service.index*') || request()->routeIs('project.service.database.*'), ], [ 'label' => 'Runtime Logs', 'route' => 'project.service.logs', 'active' => request()->routeIs('project.service.logs'), 'navigate' => false, ], [ 'label' => 'Console', 'route' => 'project.service.command', 'active' => request()->routeIs('project.service.command'), 'navigate' => false, 'visible' => auth()->user()?->can('canAccessTerminal'), ], ]; $servicePageItems = array_values(array_filter( $servicePageItems, fn (array $item): bool => $item['visible'] ?? true, )); $serviceStatus = str($service->status ?? 'exited'); [$serviceStatusLabel, $serviceStatusType] = match (true) { $serviceStatus->contains('running') => ['Running', 'success'], $serviceStatus->contains('degraded') => ['Degraded', 'warning'], $serviceStatus->contains('restarting'), $serviceStatus->contains('starting') => ['Starting', 'warning'], $serviceStatus->contains('exited') => ['Stopped', 'neutral'], default => ['Deploying', 'warning'], }; @endphp Service Startup @teleport('#server-topbar-context')
/ {{ $service->name }}
@endteleport

{{ $service->name }}

@if ($service->isDeployable)
@if ($serviceStatus->contains('running') || $serviceStatus->contains('degraded')) @can('deploy', $service) @else @endcan @can('stop', $service) @else @endcan @if ($serviceStatus->contains('running')) @else @endif @else @can('deploy', $service) @else @endcan @endif
@endif
{{-- Tabs may scroll; keep Links outside overflow so the dropdown never creates a scrollbar. --}} @foreach ($servicePageItems as $menuItem) $menuItem['active'], ]) @if ($menuItem['active']) aria-current="page" @endif @if ($menuItem['navigate'] ?? true) {{ wireNavigate() }} @endif href="{{ route($menuItem['route'], $parameters) }}"> {{ $menuItem['label'] }} @endforeach
@foreach ($servicePageItems as $menuItem) $menuItem['active'], ]) @if ($menuItem['active']) aria-current="page" @endif @if ($menuItem['navigate'] ?? true) {{ wireNavigate() }} @endif href="{{ route($menuItem['route'], $parameters) }}"> {{ $menuItem['label'] }} @endforeach
@if ($service->isDeployable) @if ($serviceStatus->contains('running') || $serviceStatus->contains('degraded')) Restart Stop @else Deploy @endif @else @endif
@if ($service->isDeployable)
@endif @script @endscript