55 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <div>
 | |
|     <div class="flex items-center gap-2">
 | |
|         <h3 class="py-4">Executions</h3>
 | |
|         <x-forms.button wire:click='cleanupFailed'>Cleanup Failed Backups</x-forms.button>
 | |
|     </div>
 | |
|     <div class="flex flex-col-reverse gap-2">
 | |
|         @forelse($executions as $execution)
 | |
|             <form wire:key="{{ data_get($execution, 'id') }}"
 | |
|                 class="relative flex flex-col p-4 bg-white box-without-bg dark:bg-coolgray-100"
 | |
|                 @class([
 | |
|                     'border-green-500' => data_get($execution, 'status') === 'success',
 | |
|                     'border-red-500' => data_get($execution, 'status') === 'failed',
 | |
|                 ])>
 | |
|                 @if (data_get($execution, 'status') === 'running')
 | |
|                     <div class="absolute top-2 right-2">
 | |
|                         <x-loading />
 | |
|                     </div>
 | |
|                 @endif
 | |
|                 <div>Database: {{ data_get($execution, 'database_name', 'N/A') }}</div>
 | |
|                 <div>Status: {{ data_get($execution, 'status') }}</div>
 | |
|                 <div>Started At: {{ data_get($execution, 'created_at') }}</div>
 | |
|                 @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>Location: {{ data_get($execution, 'filename', 'N/A') }}</div>
 | |
|                 <div class="flex gap-2">
 | |
|                     <div class="flex-1"></div>
 | |
|                     @if (data_get($execution, 'status') === 'success')
 | |
|                         <x-forms.button class=" dark:hover:bg-coolgray-400"
 | |
|                             x-on:click="download_file('{{ data_get($execution, 'id') }}')">Download</x-forms.button>
 | |
|                     @endif
 | |
|                     <x-modal-confirmation isErrorButton action="deleteBackup({{ data_get($execution, 'id') }})">
 | |
|                         <x-slot:button-title>
 | |
|                             Delete
 | |
|                         </x-slot:button-title>
 | |
|                         This will delete this backup. It is not reversible.<br>Please think again.
 | |
|                     </x-modal-confirmation>
 | |
|                 </div>
 | |
|             </form>
 | |
| 
 | |
|         @empty
 | |
|             <div>No executions found.</div>
 | |
|         @endforelse
 | |
|     </div>
 | |
|     <script>
 | |
|         function download_file(executionId) {
 | |
|             window.open('/download/backup/' + executionId, '_blank');
 | |
|         }
 | |
|     </script>
 | |
| </div>
 | 
