lasthourcloud/resources/views/project/resources.blade.php

94 lines
5.7 KiB
PHP
Raw Normal View History

<x-layout>
2023-05-22 20:30:33 +00:00
<div class="flex flex-col">
<div class="flex items-center gap-2">
2023-06-02 10:34:45 +00:00
<h1>Resources</h1>
2023-08-07 16:46:40 +00:00
@if ($environment->can_delete_environment())
2023-08-11 18:19:42 +00:00
<livewire:project.delete-environment :environment_id="$environment->id" />
2023-10-10 08:56:11 +00:00
@else
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation">+
New</a>
2023-06-16 10:35:40 +00:00
@endif
2023-10-20 10:34:53 +00:00
<a class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation"
href="{{ route('project.clone', ['project_uuid' => data_get($project, 'uuid'), 'environment_name' => request()->route('environment_name')]) }}">
Clone
</a>
2023-05-22 20:30:33 +00:00
</div>
2023-06-16 10:35:40 +00:00
<nav class="flex pt-2 pb-10">
<ol class="flex items-center">
2023-06-07 19:44:16 +00:00
<li class="inline-flex items-center">
2023-06-16 10:35:40 +00:00
<a class="text-xs truncate lg:text-sm"
2023-08-11 18:19:42 +00:00
href="{{ route('project.show', ['project_uuid' => request()->route('project_uuid')]) }}">
2023-06-16 10:35:40 +00:00
{{ $project->name }}</a>
2023-05-22 20:30:33 +00:00
</li>
<li>
2023-06-07 19:44:16 +00:00
<div class="flex items-center">
<svg aria-hidden="true" class="w-4 h-4 mx-1 font-bold text-warning" fill="currentColor"
2023-08-11 18:19:42 +00:00
viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
2023-06-07 19:44:16 +00:00
<path fill-rule="evenodd"
2023-08-11 18:19:42 +00:00
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"></path>
2023-06-07 19:44:16 +00:00
</svg>
2023-06-16 10:35:40 +00:00
<a class="text-xs truncate lg:text-sm"
2023-08-11 18:19:42 +00:00
href="{{ route('project.resources', ['environment_name' => request()->route('environment_name'), 'project_uuid' => request()->route('project_uuid')]) }}">{{ request()->route('environment_name') }}</a>
2023-06-07 19:44:16 +00:00
</div>
2023-05-23 07:53:24 +00:00
</li>
2023-06-07 19:44:16 +00:00
</ol>
</nav>
2023-05-09 09:33:50 +00:00
</div>
2023-08-07 16:46:40 +00:00
@if ($environment->can_delete_environment())
2023-10-10 08:56:11 +00:00
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
class="items-center justify-center box">+ Add New Resource</a>
2023-05-09 09:33:50 +00:00
@endif
2023-06-16 10:35:40 +00:00
<div class="grid gap-2 lg:grid-cols-2">
2023-05-16 13:27:47 +00:00
@foreach ($environment->applications->sortBy('name') as $application)
<a class="relative box group"
2023-08-11 18:19:42 +00:00
href="{{ route('project.application.configuration', [$project->uuid, $environment->name, $application->uuid]) }}">
2023-08-25 10:13:22 +00:00
<div class="flex flex-col mx-6">
2023-10-10 09:28:57 +00:00
<div class="font-bold text-white">{{ $application->name }}</div>
2023-10-20 07:29:09 +00:00
<div class="description">{{ $application->description }}</div>
2023-08-07 16:46:40 +00:00
</div>
@if (Str::of(data_get($application, 'status'))->startsWith('running'))
2023-10-18 07:03:14 +00:00
<div class="absolute bg-success -top-1 -left-1 badge badge-xs"></div>
@elseif (Str::of(data_get($application, 'status'))->startsWith('exited'))
<div class="absolute bg-error -top-1 -left-1 badge badge-xs"></div>
2023-10-18 07:03:14 +00:00
@elseif (Str::of(data_get($application, 'status'))->startsWith('restarting'))
<div class="absolute bg-warning -top-1 -left-1 badge badge-xs"></div>
@endif
2023-08-07 16:46:40 +00:00
</a>
@endforeach
@foreach ($environment->databases()->sortBy('name') as $database)
<a class="relative box group"
href="{{ route('project.database.configuration', [$project->uuid, $environment->name, $database->uuid]) }}">
2023-08-25 10:13:22 +00:00
<div class="flex flex-col mx-6">
<div class="font-bold text-white">{{ $database->name }}</div>
2023-10-20 07:29:09 +00:00
<div class="description">{{ $database->description }}</div>
2023-08-07 16:46:40 +00:00
</div>
@if (Str::of(data_get($database, 'status'))->startsWith('running'))
2023-10-18 07:03:14 +00:00
<div class="absolute bg-success -top-1 -left-1 badge badge-xs"></div>
@elseif (Str::of(data_get($database, 'status'))->startsWith('exited'))
<div class="absolute bg-error -top-1 -left-1 badge badge-xs"></div>
2023-10-18 07:03:14 +00:00
@elseif (Str::of(data_get($database, 'status'))->startsWith('restaring'))
<div class="absolute bg-warning -top-1 -left-1 badge badge-xs"></div>
@endif
2023-05-16 07:35:09 +00:00
</a>
2023-03-29 11:13:27 +00:00
@endforeach
2023-09-20 13:42:41 +00:00
@foreach ($environment->services->sortBy('name') as $service)
<a class="relative box group"
2023-10-10 08:56:11 +00:00
href="{{ route('project.service', [$project->uuid, $environment->name, $service->uuid]) }}">
<div class="flex flex-col mx-6">
2023-10-10 09:29:33 +00:00
<div class="font-bold text-white">{{ $service->name }}</div>
2023-10-20 07:29:09 +00:00
<div class="description">{{ $service->description }}</div>
2023-10-10 08:56:11 +00:00
</div>
@if (Str::of(serviceStatus($service))->startsWith('running'))
2023-10-18 07:03:14 +00:00
<div class="absolute bg-success -top-1 -left-1 badge badge-xs"></div>
@elseif (Str::of(serviceStatus($service))->startsWith('degraded'))
2023-10-18 07:03:14 +00:00
<div class="absolute bg-warning -top-1 -left-1 badge badge-xs"></div>
@elseif (Str::of(serviceStatus($service))->startsWith('exited'))
<div class="absolute bg-error -top-1 -left-1 badge badge-xs"></div>
@endif
2023-10-10 08:56:11 +00:00
</a>
@endforeach
2023-03-29 11:13:27 +00:00
</div>
</x-layout>