<%= if @live_action in [:new, :edit] do %>
  <%= live_modal @socket, Shift73kWeb.ShiftTemplateLive.FormComponent,
    id: @shift_template.id || :new,
    title: @page_title,
    action: @live_action,
    shift_template: @shift_template,
    current_user: @current_user %>
<% end %>

<%= if @delete_shift_template do %>
  <%= live_modal @socket, Shift73kWeb.ShiftTemplateLive.DeleteComponent,
      id: @delete_shift_template.id,
      title: "Delete Shift Template",
      delete_shift_template: @delete_shift_template,
      current_user: @current_user %>
<% end %>


<div class="row justify-content-start justify-content-sm-center">
  <div class="col-md-12 col-lg-10 col-xxl-8">

    <div class="d-flex flex-column flex-sm-row justify-content-between align-items-start align-items-sm-center">
      <h2 class="mb-3 mb-sm-0">
        <%= icon_div @socket, "bi-clock-history", [class: "icon baseline"] %>
        My Shift Templates
      </h2>
      <%= live_patch to: Routes.shift_template_index_path(@socket, :new), class: "btn btn-primary" do %>
        <%= icon_div @socket, "bi-plus-circle-dotted", [class: "icon baseline me-1"] %>
        New Shift Template
      <% end %>
    </div>


    <div class="row">

      <%= for shift <- @shift_templates do %>

        <div class="col-12 col-md-6 col-xl-4 ">

          <div class="card mt-4">
            <h5 class="card-header">
              <span class="visually-hidden">Subject:</span>
              <%= shift.subject %>
            </h5>
            <div class="card-body">

              <table class="table table-borderless table-nonfluid table-sm">
                <tbody>
                  <tr>
                    <th scope="row" class="text-end">
                      <%= icon_div @socket, "bi-hourglass", [class: "icon baseline text-muted"] %>
                      <span class="visually-hidden">Hours</span>
                    </th>
                    <td>
                      <%= shift.start_time |> Calendar.strftime("%I:%M%P") %>
                      &mdash;
                      <%=
                        shift.start_time
                        |> Time.add((60 * 60 * shift.length_hours) + ((shift.length_minutes || 0) * 60))
                        |> Calendar.strftime("%I:%M%P")
                        %>
                    </td>
                  </tr>

                  <tr>
                    <th scope="row" class="text-end">
                      <%= icon_div @socket, "bi-geo", [class: "icon baseline text-muted"] %>
                      <span class="visually-hidden">Location</span>
                    </th>
                    <td>
                      <%= if shift.location do %>
                        <%= shift.location %>
                      <% else %>
                        <span class="text-muted fst-italic">none</span>
                      <% end %>
                    </td>
                  </tr>
                  <tr>
                    <th scope="row" class="text-end">
                      <%= icon_div @socket, "bi-justify-left", [class: "icon baseline text-muted"] %>
                      <span class="visually-hidden">Description</span>
                    </th>
                    <td>
                      <%= if shift.description do %>
                        <%= shift.description %>
                      <% else %>
                        <span class="text-muted fst-italic">none</span>
                      <% end %>
                    </td>
                  </tr>
                </tbody>
              </table>

              <%= if Roles.can?(@current_user, shift, :edit) do %>
                <%= live_patch to: Routes.shift_template_index_path(@socket, :edit, shift), class: "btn btn-primary btn-sm text-nowrap" do %>
                  <%= icon_div @socket, "bi-pencil", [class: "icon baseline", style: "margin-right:0.125rem;"] %>
                  Edit
                <% end %>
              <% end %>

              <%= if Roles.can?(@current_user, shift, :delete) do %>
                <button class="btn btn-outline-danger btn-sm text-nowrap" phx-click="delete-modal" phx-value-id="<%= shift.id %>">
                  <%= icon_div @socket, "bi-trash", [class: "icon baseline", style: "margin-right:0.125rem;"] %>
                  Delete
                </button>
              <% end %>

            </div>
          </div>

        </div>

      <% end %>

    </div>

  </div>
</div>