<%= if layout_mode || layout_theme || layout_locale || scope do %><Layouts.app
  flash={@flash}<%= if layout_mode do %>
  mode={@mode}<% end %><%= if layout_theme do %>
  theme={@theme}<% end %><%= if layout_locale do %>
  locale={@locale}
  current_path={@current_path}<% end %><%= if scope do %>
  <%= scope.assign_key %>={@<%= scope.assign_key %>}<% end %>
>
<% else %><Layouts.app flash={@flash}><% end %>
  <article class="layout__article">
  <.layout_heading class="layout-heading">
    <:title>Edit <%= schema.human_singular %> {@<%= schema.singular %>.<%= primary_key %>}</:title>
    <:subtitle>Use this form to manage <%= schema.singular %> records in your database.</:subtitle>
    <:actions>
      <.navigate
        to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>"}
        type="href"
        class="button"
        aria_label="Cancel"
        title="Cancel"
      >
        <.heroicon name="hero-arrow-left" />
        <span class="sr-only">Cancel</span>
      </.navigate>
      <.dialog
        id={"<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}"}
        class="dialog"
        role="alertdialog"
        modal
        close_on_interact_outside={false}
        initial_focus={"<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}-cancel"}
        final_focus={"dialog:<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}:trigger"}
      >
        <:trigger
          class="button button--alert button--square"
          aria_label="Delete <%= schema.human_singular %>"
          title="Delete <%= schema.human_singular %>"
        >
          <.heroicon name="hero-trash" />
        </:trigger>
        <:title>Delete <%= schema.singular %>?</:title>
        <:description>This action cannot be undone.</:description>
        <:content>
          <div class="flex flex-wrap justify-end gap-2 mt-4">
            <.action
              id={"<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}-cancel"}
              phx-click={Corex.Dialog.set_open("<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}", false)}
              class="button button--sm button--ghost"
            >
              Cancel
            </.action>
            <.navigate
              id={"<%= schema.singular %>-delete-#{@<%= schema.singular %>.<%= primary_key %>}-confirm"}
              to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{@<%= schema.singular %>}"}
              method="delete"
              class="button button--sm button--alert"
            >
              Delete
            </.navigate>
          </div>
        </:content>
      </.dialog>
    </:actions>
  </.layout_heading>

  <.<%= schema.singular %>_form
    form={to_form(@changeset, as: :<%= String.to_atom(schema.singular) %>, id: "<%= schema.singular %>-form")}
    action={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{@<%= schema.singular %>}"}
    return_to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>"}
  />
  </article>
</Layouts.app>
