
Added a new delete method in the Database component that includes a two-step confirmation process requiring the user to enter their password. If two-step confirmation is disabled, the deletion proceeds without password verification. Additionally, a confirmation modal has been integrated into the database view to prompt users before deletion, enhancing the safety of this critical operation.
52 lines
2.9 KiB
PHP
52 lines
2.9 KiB
PHP
<div x-data="{ activeTab: window.location.hash ? window.location.hash.substring(1) : 'general' }">
|
|
<livewire:project.service.navbar :service="$service" :parameters="$parameters" :query="$query" />
|
|
<div class="flex flex-col h-full gap-8 pt-6 sm:flex-row">
|
|
<div class="flex flex-col items-start gap-2 min-w-fit">
|
|
<a class="menu-item"
|
|
class="{{ request()->routeIs('project.service.configuration') ? 'menu-item-active' : '' }}" wire:navigate
|
|
href="{{ route('project.service.configuration', [...$parameters, 'stack_service_uuid' => null]) }}">
|
|
<button><- Back</button>
|
|
</a>
|
|
<a class="menu-item" :class="activeTab === 'general' && 'menu-item-active'"
|
|
@click.prevent="activeTab = 'general'; window.location.hash = 'general'; if(window.location.search) window.location.search = ''"
|
|
wire:navigate href="#">General</a>
|
|
@if ($serviceDatabase?->isBackupSolutionAvailable())
|
|
<a :class="activeTab === 'backups' && 'menu-item-active'" class="menu-item"
|
|
@click.prevent="activeTab = 'backups'; window.location.hash = 'backups'" wire:navigate
|
|
href="#backups">Backups</a>
|
|
@endif
|
|
</div>
|
|
<div class="w-full">
|
|
@isset($serviceApplication)
|
|
<x-slot:title>
|
|
{{ data_get_str($service, 'name')->limit(10) }} >
|
|
{{ data_get_str($serviceApplication, 'name')->limit(10) }} | Coolify
|
|
</x-slot>
|
|
<div x-cloak x-show="activeTab === 'general'" class="h-full">
|
|
<livewire:project.service.service-application-view :application="$serviceApplication" />
|
|
</div>
|
|
@endisset
|
|
@isset($serviceDatabase)
|
|
<x-slot:title>
|
|
{{ data_get_str($service, 'name')->limit(10) }} >
|
|
{{ data_get_str($serviceDatabase, 'name')->limit(10) }} | Coolify
|
|
</x-slot>
|
|
<div x-cloak x-show="activeTab === 'general'" class="h-full">
|
|
<livewire:project.service.database :database="$serviceDatabase" />
|
|
</div>
|
|
@if ($serviceDatabase->isBackupSolutionAvailable())
|
|
<div x-cloak x-show="activeTab === 'backups'">
|
|
<div class="flex gap-2 ">
|
|
<h2 class="pb-4">Scheduled Backups</h2>
|
|
<x-modal-input buttonTitle="+ Add" title="New Scheduled Backup">
|
|
<livewire:project.database.create-scheduled-backup :database="$serviceDatabase" />
|
|
</x-modal-input>
|
|
</div>
|
|
<livewire:project.database.scheduled-backups :database="$serviceDatabase" />
|
|
@endif
|
|
</div>
|
|
@endisset
|
|
</div>
|
|
</div>
|
|
</div>
|