new design for execution log

This commit is contained in:
ayntk-ai
2024-08-19 00:14:09 +02:00
parent a0689ca5fc
commit 7d4261b71a
2 changed files with 48 additions and 34 deletions

View File

@@ -4,33 +4,45 @@
<h3 class="py-4">Executions</h3> <h3 class="py-4">Executions</h3>
<x-forms.button wire:click='cleanupFailed'>Cleanup Failed Backups</x-forms.button> <x-forms.button wire:click='cleanupFailed'>Cleanup Failed Backups</x-forms.button>
</div> </div>
<div class="flex flex-col-reverse gap-2"> <div class="flex flex-col-reverse gap-4">
@forelse($executions as $execution) @forelse($executions as $execution)
<form wire:key="{{ data_get($execution, 'id') }}" <div wire:key="{{ data_get($execution, 'id') }}"
class="relative flex flex-col p-4 bg-white box-without-bg dark:bg-coolgray-100" @class([
@class([ 'border-green-500'=> data_get($execution, 'status') === 'success', 'flex flex-col border-l-4 transition-colors cursor-pointer p-4 rounded',
'border-red-500' => data_get($execution, 'status') === 'failed', 'bg-white hover:bg-gray-100 dark:bg-coolgray-100 dark:hover:bg-coolgray-200',
'text-black dark:text-white',
'border-green-500' => data_get($execution, 'status') === 'success',
'border-red-500' => data_get($execution, 'status') === 'failed',
'border-yellow-500' => data_get($execution, 'status') === 'running',
])> ])>
@if (data_get($execution, 'status') === 'running') @if (data_get($execution, 'status') === 'running')
<div class="absolute top-2 right-2"> <div class="absolute top-2 right-2">
<x-loading /> <x-loading />
</div> </div>
@endif @endif
<div>Database: {{ data_get($execution, 'database_name', 'N/A') }}</div> <div class="text-gray-700 dark:text-gray-300 font-semibold mb-1">Status: {{ data_get($execution, 'status') }}</div>
<div>Status: {{ data_get($execution, 'status') }}</div> <div class="text-gray-600 dark:text-gray-400 text-sm">
<div>Started At: {{ $this->formatDateInServerTimezone(data_get($execution, 'created_at')) }}</div> Started At: {{ $this->formatDateInServerTimezone(data_get($execution, 'created_at')) }}
@if (data_get($execution, 'message'))
<div>Message: {{ data_get($execution, 'message') }}</div>
@endif
<div>Size: {{ data_get($execution, 'size') }} B /
{{ round((int) data_get($execution, 'size') / 1024, 2) }}
kB / {{ round((int) data_get($execution, 'size') / 1024 / 1024, 3) }} MB
</div> </div>
<div>Location: {{ data_get($execution, 'filename', 'N/A') }}</div> <div class="text-gray-600 dark:text-gray-400 text-sm">
<div class="flex gap-2"> Database: {{ data_get($execution, 'database_name', 'N/A') }}
<div class="flex-1"></div> </div>
<div class="text-gray-600 dark:text-gray-400 text-sm">
Size: {{ data_get($execution, 'size') }} B /
{{ round((int) data_get($execution, 'size') / 1024, 2) }} kB /
{{ round((int) data_get($execution, 'size') / 1024 / 1024, 3) }} MB
</div>
<div class="text-gray-600 dark:text-gray-400 text-sm">
Location: {{ data_get($execution, 'filename', 'N/A') }}
</div>
@if (data_get($execution, 'message'))
<div class="mt-2 p-2 bg-gray-100 dark:bg-coolgray-200 rounded">
<pre class="whitespace-pre-wrap text-sm">{{ data_get($execution, 'message') }}</pre>
</div>
@endif
<div class="flex gap-2 mt-4">
@if (data_get($execution, 'status') === 'success') @if (data_get($execution, 'status') === 'success')
<x-forms.button class=" dark:hover:bg-coolgray-400" <x-forms.button class="dark:hover:bg-coolgray-400"
x-on:click="download_file('{{ data_get($execution, 'id') }}')">Download</x-forms.button> x-on:click="download_file('{{ data_get($execution, 'id') }}')">Download</x-forms.button>
@endif @endif
<x-modal-confirmation isErrorButton action="deleteBackup({{ data_get($execution, 'id') }})"> <x-modal-confirmation isErrorButton action="deleteBackup({{ data_get($execution, 'id') }})">
@@ -40,10 +52,9 @@
This will delete this backup. It is not reversible.<br>Please think again. This will delete this backup. It is not reversible.<br>Please think again.
</x-modal-confirmation> </x-modal-confirmation>
</div> </div>
</form> </div>
@empty @empty
<div>No executions found.</div> <div class="p-4 bg-gray-100 dark:bg-coolgray-200 rounded">No executions found.</div>
@endforelse @endforelse
</div> </div>
<script> <script>
@@ -52,5 +63,4 @@
} }
</script> </script>
@endisset @endisset
</div>
</div>

View File

@@ -1,32 +1,36 @@
<div class="flex flex-col-reverse gap-2"> <div class="flex flex-col-reverse gap-4">
@forelse($executions as $execution) @forelse($executions as $execution)
@if (data_get($execution, 'id') == $selectedKey) @if (data_get($execution, 'id') == $selectedKey)
<div class="p-2"> <div class="p-4 mb-2 bg-gray-100 dark:bg-coolgray-200 rounded">
@if (data_get($execution, 'message')) @if (data_get($execution, 'message'))
<div> <div>
<pre>{{ data_get($execution, 'message') }}</pre> <pre class="whitespace-pre-wrap">{{ data_get($execution, 'message') }}</pre>
</div> </div>
@else @else
<div>No output was recorded for this execution.</div> <div>No output was recorded for this execution.</div>
@endif @endif
</div> </div>
@endif @endif
<a wire:click="selectTask({{ data_get($execution, 'id') }})" @class([ 'flex flex-col border-l transition-colors box-without-bg bg-coolgray-100 hover:bg-coolgray-200 cursor-pointer' , 'bg-coolgray-200 dark:text-white hover:bg-coolgray-200'=> <a wire:click="selectTask({{ data_get($execution, 'id') }})" @class([
data_get($execution, 'id') == $selectedKey, 'flex flex-col border-l-4 transition-colors cursor-pointer p-4 rounded',
'bg-white hover:bg-gray-100 dark:bg-coolgray-100 dark:hover:bg-coolgray-200',
'text-black dark:text-white',
'bg-gray-200 dark:bg-coolgray-200' => data_get($execution, 'id') == $selectedKey,
'border-green-500' => data_get($execution, 'status') === 'success', 'border-green-500' => data_get($execution, 'status') === 'success',
'border-red-500' => data_get($execution, 'status') === 'failed', 'border-red-500' => data_get($execution, 'status') === 'failed',
])> 'border-yellow-500' => data_get($execution, 'status') === 'running',
])>
@if (data_get($execution, 'status') === 'running') @if (data_get($execution, 'status') === 'running')
<div class="absolute top-2 right-2"> <div class="absolute top-2 right-2">
<x-loading /> <x-loading />
</div> </div>
@endif @endif
<div>Status: {{ data_get($execution, 'status') }}</div> <div class="text-gray-700 dark:text-gray-300 font-semibold mb-1">Status: {{ data_get($execution, 'status') }}</div>
<div>Started At: <div class="text-gray-600 dark:text-gray-400 text-sm">
{{ $this->formatDateInServerTimezone(data_get($execution, 'created_at', now())) }} Started At: {{ $this->formatDateInServerTimezone(data_get($execution, 'created_at', now())) }}
</div> </div>
</a> </a>
@empty @empty
<div>No executions found.</div> <div class="p-4 bg-gray-100 dark:bg-coolgray-200 rounded">No executions found.</div>
@endforelse @endforelse
</div> </div>