ui: multiple server view

This commit is contained in:
Andras Bacsai 2024-04-05 15:33:29 +02:00
parent d84fdc3cd5
commit 30bfad455c

View File

@ -2,9 +2,10 @@
<h2>Servers</h2> <h2>Servers</h2>
<div class="">Server related configurations.</div> <div class="">Server related configurations.</div>
<div class="grid grid-cols-1 gap-4 py-4"> <div class="grid grid-cols-1 gap-4 py-4">
<div class="flex gap-2"> <div class="flex flex-col gap-2">
<div class="relative flex flex-col bg-white border cursor-default dark:text-white box-without-bg dark:bg-coolgray-100 w-96 dark:border-black"> <h3>Primary Server</h3>
<div class="text-xl font-bold">Primary Server</div> <div
class="relative flex flex-col bg-white border cursor-default dark:text-white box-without-bg dark:bg-coolgray-100 w-96 dark:border-black">
@if (str($resource->realStatus())->startsWith('running')) @if (str($resource->realStatus())->startsWith('running'))
<div title="{{ $resource->realStatus() }}" class="absolute bg-success -top-1 -left-1 badge "> <div title="{{ $resource->realStatus() }}" class="absolute bg-success -top-1 -left-1 badge ">
</div> </div>
@ -12,26 +13,29 @@
<div title="{{ $resource->realStatus() }}" class="absolute bg-error -top-1 -left-1 badge "> <div title="{{ $resource->realStatus() }}" class="absolute bg-error -top-1 -left-1 badge ">
</div> </div>
@endif @endif
<div> <div class="box-title">
Server: {{ data_get($resource, 'destination.server.name') }} Server: {{ data_get($resource, 'destination.server.name') }}
</div> </div>
<div> <div class="box-description">
Network: {{ data_get($resource, 'destination.network') }} Network: {{ data_get($resource, 'destination.network') }}
</div> </div>
</div> </div>
@if ($resource?->additional_networks?->count() > 0) @if ($resource?->additional_networks?->count() > 0)
<x-forms.button <div>
wire:click="redeploy('{{ data_get($resource, 'destination.id') }}','{{ data_get($resource, 'destination.server.id') }}')">Deploy</x-forms.button> <x-forms.button
@if (str($resource->realStatus())->startsWith('running')) wire:click="redeploy('{{ data_get($resource, 'destination.id') }}','{{ data_get($resource, 'destination.server.id') }}')">Deploy</x-forms.button>
<x-forms.button isError @if (str($resource->realStatus())->startsWith('running'))
wire:click="stop('{{ data_get($resource, 'destination.server.id') }}')">Stop</x-forms.button> <x-forms.button isError
@endif wire:click="stop('{{ data_get($resource, 'destination.server.id') }}')">Stop</x-forms.button>
@endif
</div>
@endif @endif
</div> </div>
@if ($resource?->additional_networks?->count() > 0) @if ($resource?->additional_networks?->count() > 0)
<h3>Additional Server(s)</h3>
@foreach ($resource->additional_networks as $destination) @foreach ($resource->additional_networks as $destination)
<div class="flex gap-2"> <div class="flex flex-col gap-2">
<div class="relative flex flex-col box w-96"> <div class="relative flex flex-col w-full box">
@if (str(data_get($destination, 'pivot.status'))->startsWith('running')) @if (str(data_get($destination, 'pivot.status'))->startsWith('running'))
<div title="{{ data_get($destination, 'pivot.status') }}" <div title="{{ data_get($destination, 'pivot.status') }}"
class="absolute bg-success -top-1 -left-1 badge "></div> class="absolute bg-success -top-1 -left-1 badge "></div>
@ -40,28 +44,31 @@ class="absolute bg-success -top-1 -left-1 badge "></div>
class="absolute bg-error -top-1 -left-1 badge "></div> class="absolute bg-error -top-1 -left-1 badge "></div>
@endif @endif
<div> <div>
Server: {{ data_get($destination, 'server.name') }} <div class="box-title">
</div> Server: {{ data_get($destination, 'server.name') }}
<div> </div>
Network: {{ data_get($destination, 'network') }} <div class="box-description">
Network: {{ data_get($destination, 'network') }}
</div>
</div> </div>
</div> </div>
<x-forms.button <div class="flex gap-2">
wire:click="redeploy('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Deploy</x-forms.button> <x-forms.button
<x-forms.button wire:click="redeploy('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Deploy</x-forms.button>
wire:click="promote('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Promote <x-forms.button
to Primary </x-forms.button> wire:click="promote('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Promote
@if (data_get_str($destination, 'pivot.status')->startsWith('running')) to Primary </x-forms.button>
<x-forms.button isError @if (data_get_str($destination, 'pivot.status')->startsWith('running'))
wire:click="stop('{{ data_get($destination, 'server.id') }}')">Stop</x-forms.button> <x-forms.button isError
@endif wire:click="stop('{{ data_get($destination, 'server.id') }}')">Stop</x-forms.button>
<x-modal-confirmation @endif
action="removeServer({{ data_get($destination, 'id') }},{{ data_get($destination, 'server.id') }})" <x-modal-confirmation
isErrorButton buttonTitle="Remove Server"> action="removeServer({{ data_get($destination, 'id') }},{{ data_get($destination, 'server.id') }})"
This will stop the running application in this server and remove it as a deployment isErrorButton buttonTitle="Remove Server">
destination.<br><br>Please think again. This will stop the running application in this server and remove it as a deployment
</x-modal-confirmation> destination.<br><br>Please think again.
</x-modal-confirmation>
</div>
</div> </div>
@endforeach @endforeach
@endif @endif
@ -75,10 +82,12 @@ class="absolute bg-error -top-1 -left-1 badge "></div>
<div wire:click="addServer('{{ $network->id }}','{{ data_get($network, 'server.id') }}')" <div wire:click="addServer('{{ $network->id }}','{{ data_get($network, 'server.id') }}')"
class="relative flex flex-col cursor-default dark:text-white box w-96"> class="relative flex flex-col cursor-default dark:text-white box w-96">
<div> <div>
Server: {{ data_get($network, 'server.name') }} <div class="box-title">
</div> Server: {{ data_get($network, 'server.name') }}
<div> </div>
Network: {{ data_get($network, 'name') }} <div class="box-description">
Network: {{ data_get($network, 'name') }}
</div>
</div> </div>
</div> </div>
@endforeach @endforeach