{% load static %}
<!--
  Generic Delete Modal - Delete object with confirmation

  Migrated from Bootstrap + jQuery to DaisyUI + Alpine.js
  Uses native <dialog> element with .showModal() API
-->

<dialog
  id="generic_delete_modal"
  class="modal"
  x-data="modalForm()"
  @close="reset()"
>
  <div class="modal-box">
    <!-- Header -->
    <h3 class="font-bold text-lg">Delete {{ object_type|capfirst }}</h3>

    <!-- Close button (X) -->
    <form method="dialog">
      <button
        class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"
        :disabled="isSubmitting"
      >
        ✕
      </button>
    </form>

    <!-- Body -->
    <div class="py-4">
      <!-- Warning message -->
      <div class="alert alert-warning">
        <svg
          xmlns="http://www.w3.org/2000/svg"
          class="stroke-current shrink-0 h-6 w-6"
          fill="none"
          viewBox="0 0 24 24"
        >
          <path
            stroke-linecap="round"
            stroke-linejoin="round"
            stroke-width="2"
            d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
          />
        </svg>
        <span>
          {% if object_type == 'user' %}
            Clicking "Delete" will <strong>permanently</strong> delete the User
            and associated data. This action can't be undone!
          {% else %}
            Deletes the {{ object_type|capfirst }}. Related objects that depend
            on this {{ object_type|capfirst }} will be deleted as well.
          {% endif %}
        </span>
      </div>

      <!-- Hidden form -->
      <form
        id="generic-delete-modal-form"
        accept-charset="UTF-8"
        action="{{ current_object.url }}"
        method="post"
      >
        {% csrf_token %}
        <input type="hidden" name="hidden" value="delete" />
      </form>
    </div>

    <!-- Footer -->
    <div class="modal-action">
      <button
        type="button"
        class="btn"
        onclick="this.closest('dialog').close()"
        :disabled="isSubmitting"
      >
        Cancel
      </button>
      <button
        type="button"
        class="btn btn-error"
        @click="submit('generic-delete-modal-form')"
        :disabled="isSubmitting"
      >
        <span x-show="!isSubmitting">Delete</span>
        <span
          x-show="isSubmitting"
          class="loading loading-spinner loading-sm"
        ></span>
        <span x-show="isSubmitting">Deleting...</span>
      </button>
    </div>
  </div>

  <!-- Backdrop (click to close) -->
  <form method="dialog" class="modal-backdrop">
    <button :disabled="isSubmitting">close</button>
  </form>
</dialog>
