CluPilotCloud/resources/views/livewire/confirm-cancel-package.blad...

74 lines
4.1 KiB
PHP

<x-ui.modal>
<div class="flex items-start gap-3">
<span class="grid size-10 shrink-0 place-items-center rounded-lg bg-warning-bg text-warning">
<x-ui.icon name="alert-triangle" class="size-5" />
</span>
<div class="min-w-0">
<h3 class="text-base font-semibold text-ink">{{ __('settings.cancel_title') }}</h3>
<p class="mt-1 text-sm text-muted">{{ __('settings.cancel_body') }}</p>
</div>
</div>
<ul class="mt-4 space-y-1.5 text-sm text-body">
<li class="flex items-start gap-2"><x-ui.icon name="check" class="mt-0.5 size-4 shrink-0 text-muted" />{{ __('settings.cancel_point_term') }}</li>
<li class="flex items-start gap-2"><x-ui.icon name="check" class="mt-0.5 size-4 shrink-0 text-muted" />{{ __('settings.cancel_point_export') }}</li>
<li class="flex items-start gap-2"><x-ui.icon name="alert-triangle" class="mt-0.5 size-4 shrink-0 text-warning" />{{ __('settings.cancel_point_irreversible') }}</li>
</ul>
{{-- Still inside the fourteen days: offered as a way OUT of this dialogue,
not as one more reason inside it. Withdrawing ends the service the same
day and sends the WHOLE amount back; cancelling keeps the term that was
paid for. Somebody entitled to the first should not lose it by taking
the second without being told. --}}
@if ($canWithdraw)
<div class="mt-4 rounded border border-accent-border bg-accent-subtle p-4">
<p class="text-sm font-semibold text-ink">{{ __('withdrawal.instead_title') }}</p>
<p class="mt-1 text-xs leading-relaxed text-body">
{{ __('withdrawal.instead_body', ['date' => $withdrawalEndsAt?->local()->isoFormat('LL')]) }}
</p>
<x-ui.button variant="secondary" size="sm" class="mt-3"
x-on:click="Livewire.dispatch('closeModal'); $nextTick(() => $dispatch('openModal', { component: 'confirm-withdraw' }))">
{{ __('withdrawal.cta') }}
</x-ui.button>
</div>
@endif
{{-- Why. Asked here because this is the only moment the customer is looking
at the question; afterwards they are gone and nobody asks again. --}}
<div class="mt-4">
<label class="text-sm text-body" for="cancel-reason">{{ __('settings.cancel_reason_label') }}</label>
<select id="cancel-reason" wire:model.live="reason"
class="mt-1.5 w-full rounded border border-line-strong bg-surface px-3 py-2 text-sm text-ink">
<option value="">{{ __('settings.cancel_reason_choose') }}</option>
@foreach ($reasons as $key)
<option value="{{ $key }}">{{ __('settings.cancel_reason.'.$key) }}</option>
@endforeach
</select>
@error('reason')<p class="mt-1 text-xs text-danger">{{ $message }}</p>@enderror
</div>
<div class="mt-3">
<label class="text-sm text-body" for="cancel-note">
{{ $reason === 'other' ? __('settings.cancel_note_label_required') : __('settings.cancel_note_label') }}
</label>
<textarea id="cancel-note" wire:model="note" rows="2"
class="mt-1.5 w-full rounded border border-line-strong bg-surface px-3 py-2 text-sm text-ink"></textarea>
@error('note')<p class="mt-1 text-xs text-danger">{{ $message }}</p>@enderror
</div>
<div class="mt-4">
<label class="text-sm text-body">{{ __('settings.cancel_confirm_label', ['name' => $subdomain]) }}</label>
<input type="text" wire:model="confirmName" class="mt-1.5 w-full rounded border border-line-strong bg-surface px-3 py-2 text-sm text-ink" />
@error('confirmName')<p class="mt-1 text-xs text-danger">{{ $message }}</p>@enderror
</div>
<x-slot:footer>
<div class="flex justify-end gap-3">
<x-ui.button variant="secondary" x-on:click="Livewire.dispatch('closeModal')">{{ __('settings.keep') }}</x-ui.button>
<x-ui.button variant="danger" wire:click="cancelPackage" wire:loading.attr="disabled">
{{ __('settings.cancel_confirm') }}
</x-ui.button>
</div>
</x-slot:footer>
</x-ui.modal>