<%- include('partials/header') %>
<h1>Synchronisation PrestaShop</h1>
<% if (!configured) { %>
<div class="alert alert-warning">Configurez d’abord l’URL et la clé API dans <a href="<%= base %>/settings">Paramètres</a>.</div>
<% } %>
<% if (running) { %>
<div class="alert alert-info">Tâche en cours : <a href="<%= base %>/sync/jobs/<%= running.id %>">#<%= running.id %> <%= JOB_TYPES[running.type] %> (<%= running.done %>/<%= running.total || '?' %>)</a></div>
<% } %>

<div class="grid2">
  <form method="post" action="<%= base %>/sync/fetch" class="card">
    <input type="hidden" name="_csrf" value="<%= csrf %>">
    <h2>1. Récupérer le catalogue</h2>
    <p>Télécharge les produits et déclinaisons (référence, EAN, prix, prix d’achat) depuis PrestaShop pour calculer les écarts.</p>
    <p class="muted">Dernière récupération : <%= catalogDate.d || 'jamais' %> (<%= catalogDate.n %> lignes)</p>
    <button class="btn btn-primary" <%= !configured || running ? 'disabled' : '' %>>Récupérer le catalogue</button>
  </form>

  <form method="post" action="<%= base %>/sync/push" class="card">
    <input type="hidden" name="_csrf" value="<%= csrf %>">
    <h2>2. Envoyer les prix</h2>
    <p><strong><%= stats.changed %></strong> prix à mettre à jour (↑ <%= stats.up %> / ↓ <%= stats.down %>), <%= stats.excluded %> exclu(s). <a href="<%= base %>/prices?status=changed">Contrôler la liste</a></p>
    <p class="muted small">Conseil : récupérez le catalogue juste avant l’envoi pour partir des prix actuels. Méthode : <%= settings.ps_method.toUpperCase() %>.</p>
    <div class="form-actions">
      <button class="btn" name="dry_run" value="1" <%= !stats.changed || running ? 'disabled' : '' %>>Simuler</button>
      <button class="btn btn-primary" name="dry_run" value="0" data-confirm="Mettre à jour <%= stats.changed %> prix sur PrestaShop ?" <%= !configured || !stats.changed || running ? 'disabled' : '' %>>Envoyer <%= stats.changed %> prix</button>
    </div>
  </form>
</div>

<section class="card">
  <div class="page-head"><h2>Tâches</h2><a class="btn btn-ghost btn-sm" href="<%= base %>/sync/history">Historique des prix →</a></div>
  <table class="table">
    <thead><tr><th>#</th><th>Type</th><th>Statut</th><th class="num">Progression</th><th class="num">Erreurs</th><th>Par</th><th>Début</th><th>Fin</th></tr></thead>
    <tbody>
    <% jobs.forEach(j => { %>
      <tr>
        <td><a href="<%= base %>/sync/jobs/<%= j.id %>">#<%= j.id %></a></td>
        <td><%= JOB_TYPES[j.type] %><%= j.dry_run ? ' (simulation)' : '' %></td>
        <td><span class="badge badge-<%= j.status %>"><%= JOB_STATUS[j.status] %></span></td>
        <td class="num"><%= j.done %> / <%= j.total %></td>
        <td class="num"><%= j.errors %></td>
        <td><%= j.username || 'cron' %></td>
        <td class="small"><%= j.started_at %></td>
        <td class="small"><%= j.finished_at || '' %></td>
      </tr>
    <% }) %>
    <% if (!jobs.length) { %><tr><td colspan="8" class="muted">Aucune tâche.</td></tr><% } %>
    </tbody>
  </table>
</section>
<%- include('partials/footer') %>
