<% layout('layouts/main') %>
<% const adminBase = typeof adminBaseUrl !== 'undefined' ? adminBaseUrl : '/admin'; %>
<% const canCreateQuote = !!request.user_id; %>
<div class="app-shell">
  <%- partial('partials/admin-nav') %>
  <section class="content request-detail-page">
    <div class="page-head">
      <div>
        <p class="eyebrow">Demande de devis #<%= request.id %></p>
        <h1><%= request.service_type %></h1>
      </div>
      <span class="badge"><%= ui.label(request.status) %></span>
    </div>

    <div class="request-action-panel">
      <div>
        <span>Prochaine action</span>
        <% if (!request.user_id) { %>
          <strong>Créer ou rattacher un client</strong>
          <p>Cette demande vient d’un prospect. Rattachez-la à un client pour pouvoir générer un devis lié proprement.</p>
        <% } else if (!linkedQuotes.length) { %>
          <strong>Créer le devis lié</strong>
          <p>Le client est prêt. Le devis reprendra la prestation et l’adresse de cette demande.</p>
        <% } else { %>
          <strong>Suivre le devis</strong>
          <p>Un devis est déjà lié à cette demande. Vous pouvez l’ouvrir, l’envoyer ou poursuivre le dossier.</p>
        <% } %>
      </div>
      <div class="actions inline-actions">
        <% if (canCreateQuote && !linkedQuotes.length) { %><a class="button" href="<%= adminBase %>/devis/nouveau?request=<%= request.id %>">Créer le devis</a><% } %>
        <% if (linkedQuotes[0]) { %><a class="button" href="<%= adminBase %>/devis/<%= linkedQuotes[0].id %>">Ouvrir <%= linkedQuotes[0].quote_number %></a><% } %>
        <% if (request.display_phone) { %><a class="button secondary" href="tel:<%= ui.phoneHref(request.display_phone) %>">Appeler</a><a class="button secondary" target="_blank" rel="noopener" href="<%= ui.whatsappHref(request.display_phone, `Bonjour, nous vous contactons au sujet de votre demande de devis ${currentCompany ? currentCompany.name : 'SaaS DEMO'}.`) %>">WhatsApp</a><% } %>
        <% if (request.display_email) { %><a class="button secondary" href="mailto:<%= request.display_email %>">Email</a><% } %>
      </div>
    </div>

    <div class="grid request-detail-grid">
      <section class="panel">
        <h2>Client / prospect</h2>
        <div class="detail-grid compact">
          <div class="detail-item"><span>Nom</span><strong><%= request.display_first_name || '' %> <%= request.display_last_name || '' %></strong></div>
          <div class="detail-item"><span>Email</span><strong><%= request.display_email || 'Non renseigné' %></strong></div>
          <div class="detail-item"><span>Téléphone</span><strong><%= request.display_phone || 'Non renseigné' %></strong></div>
          <div class="detail-item"><span>Compte</span><strong><%= request.user_id ? 'Client avec compte' : (request.wants_account ? 'Compte demandé' : 'Prospect sans compte') %></strong></div>
        </div>
      </section>

      <section class="panel">
        <h2>Rattachement client</h2>
        <% if (request.user_id) { %>
          <p class="muted">Cette demande est rattachée au client #<%= request.user_id %>.</p>
          <a class="button secondary" href="<%= adminBase %>/clients/<%= request.user_id %>">Ouvrir la fiche client</a>
        <% } else { %>
          <% if (suggestedClient) { %><p class="muted">Un client existe déjà avec cet email : <strong><%= suggestedClient.first_name %> <%= suggestedClient.last_name %></strong>.</p><% } %>
          <form method="post" action="<%= adminBase %>/demandes/<%= request.id %>/creer-client" class="form-grid" data-confirm="Créer un compte client et le rattacher à cette demande ?">
            <input type="hidden" name="_csrf" value="<%= csrfToken %>">
            <button><%= suggestedClient ? 'Rattacher le client existant' : 'Créer le client depuis la demande' %></button>
          </form>
          <form method="post" action="<%= adminBase %>/demandes/<%= request.id %>/rattacher-client" class="form-grid attach-client-form">
            <input type="hidden" name="_csrf" value="<%= csrfToken %>">
            <label>Ou rattacher à un autre client<select name="user_id" required>
              <option value="">Choisir un client</option>
              <% clients.forEach(c=>{ %><option value="<%= c.id %>"><%= c.first_name %> <%= c.last_name %> - <%= c.email %></option><% }) %>
            </select></label>
            <button class="secondary">Rattacher</button>
          </form>
        <% } %>
      </section>
    </div>

    <% if (request.comment) { %><div class="panel"><h2>Commentaire client</h2><p><%= request.comment %></p></div><% } %>

    <div class="panel request-data-panel">
      <h2>Informations utiles pour le devis</h2>
      <div class="detail-grid">
        <div class="detail-item"><span>Prestation</span><strong><%= request.service_type %></strong></div>
        <div class="detail-item"><span>Adresse</span><strong><%= request.address || 'À confirmer' %></strong></div>
        <div class="detail-item"><span>Date souhaitée</span><strong><%= ui.date(request.desired_date) %></strong></div>
        <% const hiddenDetailFields = new Set(['email','phone','first_name','last_name','contact_preference','contact_time','service_type','address','desired_date']); %>
        <% ui.visibleFieldEntries(data).filter(([key]) => !hiddenDetailFields.has(key)).forEach(([key, value]) => { %>
          <div class="detail-item"><span><%= ui.fieldLabel(key) %></span><strong><%= ui.label(value) %></strong></div>
        <% }) %>
      </div>
    </div>

    <div class="grid request-detail-grid">
      <form method="post" class="panel form-grid">
        <h2>Suivi interne</h2>
        <input type="hidden" name="_csrf" value="<%= csrfToken %>">
        <label>Statut<select name="status">
          <% ['nouvelle','en_analyse','devis_envoye','devis_accepte','devis_refuse','planifiee','terminee','annulee'].forEach(s=>{ %><option value="<%= s %>" <%= request.status===s?'selected':'' %>><%= ui.label(s) %></option><% }) %>
        </select></label>
        <label>Note interne<textarea name="internal_note"><%= request.internal_note || '' %></textarea></label>
        <button>Mettre à jour</button>
      </form>

      <section class="panel">
        <h2>Devis liés</h2>
        <% linkedQuotes.forEach(q=>{ %><p><a href="<%= adminBase %>/devis/<%= q.id %>"><strong><%= q.quote_number %></strong></a><br><span class="muted"><%= ui.label(q.status) %> · <%= ui.money(q.total) %></span></p><% }) %>
        <% if (!linkedQuotes.length) { %><p class="muted">Aucun devis lié pour le moment.</p><% } %>
      </section>
    </div>

    <h2>Photos et fichiers</h2>
    <div class="grid cards">
      <% files.forEach(f=>{ %>
        <div class="card file-card">
          <p><strong><%= f.original_name %></strong></p>
          <% if(f.mime_type.startsWith('image/')){ %><img class="thumb" src="/uploads/quotes/<%= f.stored_name %>" alt=""><% } %>
          <form method="post" action="<%= adminBase %>/demandes/<%= request.id %>/photos/<%= f.id %>/delete" data-confirm="Supprimer ce fichier ?">
            <input type="hidden" name="_csrf" value="<%= csrfToken %>">
            <button class="secondary">Supprimer</button>
          </form>
        </div>
      <% }) %>
      <% if (!files.length) { %><div class="empty-state"><strong>Aucun fichier</strong><span>Les photos envoyées par le client apparaîtront ici.</span></div><% } %>
    </div>
  </section>
</div>
