<% layout('layouts/main') %>
<% const adminBase = typeof adminBaseUrl !== 'undefined' ? adminBaseUrl : '/admin'; %>
<% const staffBase = typeof staffBaseUrl !== 'undefined' ? staffBaseUrl : '/agenda'; %>
<div class="app-shell">
  <%- partial('partials/admin-nav') %>
  <section class="content operations-page interventions-page">
    <div class="page-head">
      <div>
        <p class="eyebrow">Planning & heures</p>
        <h1>Interventions</h1>
      </div>
      <div class="actions">
        <a class="button secondary" href="<%= adminBase %>/interventions.csv">Export CSV</a>
        <a class="button secondary" href="<%= staffBase %>">Mon agenda</a>
      </div>
    </div>

    <section class="ops-summary">
      <article><span>Total</span><strong><%= stats.total.total %></strong><small>Toutes les interventions</small></article>
      <article><span>À gérer</span><strong><%= stats.active.total %></strong><small>Planifiées, confirmées, en cours</small></article>
      <article><span>Historique</span><strong><%= stats.history.total %></strong><small>Terminées ou annulées</small></article>
    </section>

    <section class="panel intervention-filter-panel">
      <form method="get" class="form-grid intervention-filters">
        <label>Recherche<input name="q" value="<%= filters.q || '' %>" placeholder="Client, prestation, adresse, employé"></label>
        <label>Statut<select name="status">
          <option value="">Toutes les interventions à gérer</option>
          <% ['planifiee','confirmee','en_cours','reportee'].forEach(s=>{ %><option value="<%= s %>" <%= filters.status===s?'selected':'' %>><%= ui.label(s) %></option><% }) %>
        </select></label>
        <label>Équipe<select name="staff_id">
          <option value="">Toute l’équipe</option>
          <% staff.forEach(s=>{ %><option value="<%= s.id %>" <%= Number(filters.staff_id)===Number(s.id)?'selected':'' %>><%= s.first_name %> <%= s.last_name %></option><% }) %>
        </select></label>
        <div class="filter-actions">
          <button>Filtrer</button>
          <a class="button secondary" href="<%= adminBase %>/interventions">Réinitialiser</a>
        </div>
      </form>
    </section>

    <details class="ops-drawer">
      <summary><span>Créer une intervention</span><small>Simple, récurrente, assignée à une ou plusieurs personnes</small></summary>
      <form method="post" class="ops-form">
        <input type="hidden" name="_csrf" value="<%= csrfToken %>">
        <div class="form-grid two">
          <label>Client<select name="user_id"><% clients.forEach(c=>{ %><option value="<%= c.id %>"><%= c.first_name %> <%= c.last_name %></option><% }) %></select></label>
          <label>Équipe assignée<select name="assigned_user_ids" multiple size="4"><% staff.forEach(s=>{ %><option value="<%= s.id %>"><%= s.first_name %> <%= s.last_name %> (<%= s.role === 'admin' ? 'admin' : 'employé' %>)</option><% }) %></select><small>Maintenez Ctrl/Cmd pour sélectionner plusieurs personnes.</small></label>
        </div>
        <div class="form-grid two">
          <label>Prestation<input name="service_type" placeholder="Nettoyage régulier, fin de bail, vitres, conciergerie"></label>
          <label>Adresse<input name="address" placeholder="Adresse d’intervention"></label>
        </div>
        <div class="form-grid two">
          <label>Début<input type="datetime-local" name="starts_at"></label>
          <label>Fin estimée<input type="datetime-local" name="ends_at"></label>
        </div>
        <div class="form-grid two">
          <label>Tarif horaire prévu<input name="hourly_rate" placeholder="38 ou 40" inputmode="decimal"></label>
          <label>Prix prévu / forfait<input name="expected_price" value="0" inputmode="decimal"></label>
        </div>
        <div class="form-grid two">
          <label>Récurrence<select name="recurrence"><option value="">Une seule fois</option><option value="weekly">Chaque semaine</option></select></label>
          <label>Nombre d’interventions<input name="repeat_count" value="1" inputmode="numeric"></label>
        </div>
        <div class="form-grid two">
          <label>Commentaire visible client<textarea name="client_comment" placeholder="Information visible par le client"></textarea></label>
          <label>Note interne<textarea name="admin_comment" placeholder="Information interne équipe"></textarea></label>
        </div>
        <input type="hidden" name="status" value="planifiee">
        <button>Créer intervention</button>
      </form>
    </details>

    <section class="panel ops-panel">
      <div class="section-heading compact-heading">
        <h2>Résumé mensuel équipe</h2>
        <p>Heures terminées du 1 au dernier jour du mois en cours, regroupées par employé/admin puis client.</p>
      </div>
      <div class="ops-total-grid">
        <% monthly.forEach(row => { %>
          <article>
            <strong><%= row.first_name %> <%= row.last_name %></strong>
            <span><%= row.client_first_name %> <%= row.client_last_name %></span>
            <b><%= Math.floor(row.minutes / 60) %>h<%= String(row.minutes % 60).padStart(2, '0') %></b>
            <small><%= ui.money(row.amount) %></small>
          </article>
        <% }) %>
        <% if (!monthly.length) { %><p class="muted">Aucune heure terminée ce mois.</p><% } %>
      </div>
    </section>

    <section class="ops-list">
      <div class="section-heading compact-heading intervention-list-head">
        <div>
          <h2>Interventions à gérer</h2>
          <p>Triées par prochaine date. Les interventions terminées et annulées sont rangées dans l’historique.</p>
        </div>
        <span class="badge"><%= activePage.total %> résultat(s)</span>
      </div>
      <% interventions.forEach(i=>{ %>
        <%- include('../partials/admin-intervention-card', { i, staff, csrfToken, compact: false }) %>
      <% }) %>
      <% if (!interventions.length) { %><div class="empty-state"><strong>Aucune intervention à gérer</strong><span>Modifiez les filtres ou créez une nouvelle intervention.</span></div><% } %>
      <%- partial('partials/pagination', { page: activePage, pageUrl, param: 'page' }) %>
    </section>

    <details class="ops-drawer history-drawer">
      <summary><span>Historique terminé / annulé</span><small><%= historyPage.total %> intervention(s), <%= historyPage.perPage %> par page</small></summary>
      <div class="drawer-content ops-list">
        <% history.forEach(i=>{ %>
          <%- include('../partials/admin-intervention-card', { i, staff, csrfToken, compact: true }) %>
        <% }) %>
        <% if (!history.length) { %><div class="empty-state"><strong>Aucun historique</strong><span>Les interventions terminées ou annulées apparaîtront ici.</span></div><% } %>
        <%- partial('partials/pagination', { page: historyPage, pageUrl, param: 'historiquePage' }) %>
      </div>
    </details>
  </section>
</div>
