<% 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 pipeline-page">
    <div class="page-head">
      <div>
        <p class="eyebrow">Administration</p>
        <h1>Pipeline dossiers</h1>
        <p class="muted">Chaque carte représente un dossier client complet, de la demande jusqu’à la facture.</p>
      </div>
      <a class="button secondary" href="<%= adminBase %>/demandes">Voir les demandes</a>
    </div>

    <div class="pipeline-kpis">
      <article><strong><%= stats.demandes %></strong><span>À analyser</span></article>
      <article><strong><%= stats.devis %></strong><span>Devis en cours</span></article>
      <article><strong><%= stats.interventions %></strong><span>À planifier / réaliser</span></article>
      <article><strong><%= stats.factures %></strong><span>À facturer / encaisser</span></article>
    </div>

    <div class="pipeline-guide">
      <span>1. Demande reçue</span>
      <span>2. Devis créé/envoyé</span>
      <span>3. Intervention planifiée</span>
      <span>4. Facture suivie</span>
    </div>

    <div class="pipeline-list">
      <% dossiers.forEach((dossier) => { %>
        <% const steps = ['demande','devis','intervention','facture']; %>
        <% const currentIndex = steps.indexOf(dossier.stage); %>
        <article class="pipeline-row">
          <header>
            <div>
              <strong><%= dossier.first_name || 'Prospect' %> <%= dossier.last_name || '' %></strong>
              <span><%= dossier.service_type %> · demande #<%= dossier.request_id %></span>
            </div>
            <a class="button small" href="<%= dossier.nextHref %>"><%= dossier.nextAction %></a>
          </header>

          <div class="pipeline-steps">
            <a class="pipeline-step done" href="<%= adminBase %>/demandes/<%= dossier.request_id %>">
              <span>Demande</span>
              <strong><%= ui.label(dossier.request_status) %></strong>
              <small><%= ui.date(dossier.request_created_at) %></small>
            </a>
            <a class="pipeline-step <%= dossier.quote_id ? 'done' : (currentIndex === 0 ? 'next' : '') %>" href="<%= dossier.quote_id ? adminBase + '/devis/' + dossier.quote_id : (dossier.user_id ? adminBase + '/devis/nouveau?request=' + dossier.request_id : adminBase + '/demandes/' + dossier.request_id) %>">
              <span>Devis</span>
              <strong><%= dossier.quote_number || 'À créer' %></strong>
              <small><%= dossier.quote_id ? `${ui.label(dossier.quote_status)} · ${ui.money(dossier.quote_total)}` : 'Aucun devis lié' %></small>
            </a>
            <a class="pipeline-step <%= dossier.intervention_id ? 'done' : (dossier.quote_status === 'accepte' ? 'next' : '') %>" href="<%= dossier.intervention_id ? staffBase + '/interventions/' + dossier.intervention_id : (dossier.quote_id ? adminBase + '/devis/' + dossier.quote_id : adminBase + '/demandes/' + dossier.request_id) %>">
              <span>Intervention</span>
              <strong><%= dossier.intervention_id ? ui.label(dossier.intervention_status) : 'À planifier' %></strong>
              <small><%= dossier.intervention_id ? ui.date(dossier.starts_at, true) : 'Après acceptation du devis' %></small>
            </a>
            <a class="pipeline-step <%= dossier.invoice_id ? 'done' : (dossier.intervention_status === 'terminee' ? 'next' : '') %>" href="<%= dossier.invoice_id ? adminBase + '/factures/' + dossier.invoice_id : adminBase + '/heures-facturables' %>">
              <span>Facture</span>
              <strong><%= dossier.invoice_number || 'À générer' %></strong>
              <small><%= dossier.invoice_id ? `${ui.label(dossier.invoice_status)} · ${ui.money(dossier.invoice_total)}` : 'Après intervention' %></small>
            </a>
          </div>

          <footer>
            <span><%= dossier.email || 'Email non renseigné' %></span>
            <span><%= dossier.phone || 'Téléphone non renseigné' %></span>
          </footer>
        </article>
      <% }) %>
      <% if (!dossiers.length) { %>
        <div class="empty-state"><strong>Aucun dossier actif</strong><span>Les nouvelles demandes apparaîtront ici automatiquement.</span></div>
      <% } %>
    </div>
  </section>
</div>
