feat(ui): unify team, security, and notification settings layouts

Extract shared settings-layout components and a dedicated team
danger-zone page. Enable modal editing for security resources,
polish OAuth/API-token controls, and align notification and
service configuration UI with the new navigation patterns.
This commit is contained in:
Andras Bacsai committed 2026-08-05 16:24:31 +02:00
1 parent 5842d77b81
commit 2291c3fa1c
83 files changed
+1585 -597

No files matched your search

@@ -1,10 +1,26 @@
<div>
@if ($modalMode)
<form wire:submit="save" class="flex flex-col gap-4">
<x-forms.input canGate="update" :canResource="$cloudInitScript" id="name" label="Script name" required />
<x-forms.textarea canGate="update" :canResource="$cloudInitScript" id="script"
label="Script content" rows="16" monospace
helper="Cloud-config YAML or another script accepted by your provider." required />
<div class="flex items-center justify-between gap-2 border-t border-neutral-200 pt-4 dark:border-white/[0.08]">
@can('delete', $cloudInitScript)
<x-modal-confirmation title="Confirm Script Deletion?" isErrorButton buttonTitle="Delete"
submitAction="delete" :actions="['This cloud-init script will be permanently deleted.']"
confirmationText="{{ $cloudInitScript->name }}" :confirmWithPassword="false"
step2ButtonText="Delete script" />
@endcan
<x-forms.button type="submit" isHighlighted>Save changes</x-forms.button>
</div>
</form>
@else
<x-slot:title>
{{ $cloudInitScript->name }} | Cloud-Init Scripts | Coolify
</x-slot>
<x-security.navbar :title="$cloudInitScript->name"
subtitle="Reusable cloud-init script for server provisioning" :titleOnDesktop="true">
<x-security.settings-layout>
<x-slot:actions>
@can('delete', $cloudInitScript)
<x-modal-confirmation title="Confirm Script Deletion?" isErrorButton buttonTitle="Delete"
@@ -17,7 +33,7 @@
step2ButtonText="Delete script" />
@endcan
</x-slot:actions>
</x-security.navbar>
<form wire:submit="save" class="application-settings-form">
<x-unsaved-bar action="save" />
@@ -32,4 +48,6 @@
</div>
</x-application.settings-section>
</form>
</x-security.settings-layout>
@endif
</div>