<%- include('../partials/header') %>
<style>
.email-editor{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(500px,1.2fr);gap:16px;align-items:start}.preview-frame{width:100%;height:680px;border:1px solid #ddd;border-radius:10px;background:#fff}.pilot-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.pilot-kpi{border:1px solid #e5e7eb;border-radius:9px;padding:10px}.pilot-kpi .v{font-size:23px;font-weight:800}.pilot-list{max-height:320px;overflow:auto;border:1px solid #e5e7eb;border-radius:9px}.danger-box{border:1px solid #fecaca;background:#fff7f7;border-radius:10px;padding:12px}@media(max-width:1050px){.email-editor{grid-template-columns:1fr}.preview-frame{height:600px}.pilot-kpis{grid-template-columns:1fr 1fr}}
</style>
<div class="toolbar"><div><h2><%= campaign.name %></h2><div class="small"><%= campaign.segment_name %> · <%= campaign.store_name %></div></div><div style="display:flex;gap:8px"><a class="btn" href="/campaigns/<%= campaign.id %>/tracking">Tracking</a><a class="btn" target="_blank" href="/campaigns/<%= campaign.id %>/preview">Preview ↗</a></div></div>

<div class="email-editor" style="margin-top:14px">
<form class="card" method="post" action="/campaigns/<%= campaign.id %>/save">
  <h3>Conținut email</h3>
  <label>Nume intern<input name="name" value="<%= campaign.name %>" required></label>
  <label>Subiect<input name="subject" value="<%= campaign.subject %>" required></label>
  <label>Preheader<input name="preheader" value="<%= campaign.preheader || '' %>"></label>
  <label>Titlu<input name="heading" value="<%= campaign.heading || '' %>"></label>
  <label>Introducere<textarea name="intro_text" rows="3"><%= campaign.intro_text || '' %></textarea></label>

  <div style="margin:-4px 0 10px">
    <button class="btn" type="button" id="generate-slogans">
      Generează sloganuri AI
    </button>
    <span class="small" id="slogan-source"></span>
  </div>

  <div id="slogan-results" style="display:none;border:1px solid #e5e7eb;border-radius:9px;padding:10px;margin-bottom:10px"></div>

  <label>Text<textarea name="body_text" rows="5"><%= campaign.body_text || '' %></textarea></label>
  <label>Buton<input name="cta_label" value="<%= campaign.cta_label || 'Vezi produsul' %>"></label>
  <label>Footer<textarea name="footer_text" rows="3"><%= campaign.footer_text || '' %></textarea></label>
  <% if(campaign.status!=='sent'){ %><button class="btn primary">Salvează și regenerează preview</button><% } else { %><div class="small">Campania este deja trimisă.</div><% } %>
</form>
<div>
  <div class="card"><div class="toolbar"><strong>Preview</strong><span class="small">Segment <%= campaign.audience_count||0 %> · eligibili acum <strong><%= eligibleNow %></strong></span></div><iframe class="preview-frame" src="/campaigns/<%= campaign.id %>/preview"></iframe></div>
  <form class="card" style="margin-top:14px" method="post" action="/campaigns/<%= campaign.id %>/test" onsubmit="return confirm('Trimiți emailul de TEST?');"><h3>Trimite test</h3><div class="toolbar"><input type="email" name="test_email" required value="<%= campaign.test_email || '' %>" placeholder="email@exemplu.ro"><button class="btn">Trimite TEST prin Brevo</button></div></form>
</div>
</div>

<div class="card" id="pilot" style="margin-top:16px">
  <div class="toolbar"><div><h2>Campanie pilot / lot controlat</h2><div class="small">Selecție aleatorie doar dintre contactele eligibile marketing, ne-dezabonate și fără hard bounce.</div></div><a class="btn" href="/campaigns/<%= campaign.id %>/tracking">Vezi tracking</a></div>
  <div class="pilot-kpis">
    <div class="pilot-kpi"><div class="small">Eligibili acum</div><div class="v"><%= eligibleNow %></div></div>
    <div class="pilot-kpi"><div class="small">Selectați</div><div class="v"><%= stats.selected %></div></div>
    <div class="pilot-kpi"><div class="small">Delivered</div><div class="v"><%= stats.delivered %></div></div>
    <div class="pilot-kpi"><div class="small">Opened unic</div><div class="v"><%= stats.opened %></div></div>
    <div class="pilot-kpi"><div class="small">Clickeri / clickuri</div><div class="v"><%= stats.clickers %> / <%= stats.clicks %></div></div>
  </div>

  <% if(campaign.status!=='sent'){ %>
  <form method="post" action="/campaigns/<%= campaign.id %>/select-random" style="display:flex;gap:8px;align-items:end;flex-wrap:wrap">
    <label style="margin:0">Câte emailuri?<input type="number" min="1" max="1000" name="sample_size" value="100" style="width:130px"></label>
    <button class="btn" type="submit" onclick="return confirm('Selectezi aleatoriu un nou lot?');">Selectează aleatoriu</button>
    <button type="button" class="btn" onclick="this.form.sample_size.value=25">25</button><button type="button" class="btn" onclick="this.form.sample_size.value=50">50</button><button type="button" class="btn" onclick="this.form.sample_size.value=100">100</button><button type="button" class="btn" onclick="this.form.sample_size.value=200">200</button>
  </form>
  <% } %>

  <% if(selectedRecipients.length){ %><h3 style="margin-top:14px">Destinatari selectați</h3><div class="pilot-list"><table><thead><tr><th>#</th><th>Email</th><th>Tip</th><th>Client</th><th>Status</th></tr></thead><tbody><% selectedRecipients.forEach(r=>{ %><tr><td><%= r.selection_position %></td><td><%= r.email %></td><td><%= r.customer_type || '-' %></td><td><%= r.company_name || [r.first_name,r.last_name].filter(Boolean).join(' ') || '-' %></td><td><%= r.status %></td></tr><% }) %></tbody></table></div><% } %>

  <% if(stats.selected>0 && campaign.status!=='sent'){ %><div class="danger-box" style="margin-top:14px"><strong>Trimitere REALĂ către <%= stats.selected %> contacte.</strong><div class="small" style="margin:5px 0 10px">Se creează o campanie Marketing în Brevo și se urmăresc Delivered, Opened, Click, Bounce, Spam și Unsubscribe.</div><form method="post" action="/campaigns/<%= campaign.id %>/send-pilot" onsubmit="return confirm('CONFIRMI trimiterea REALĂ către <%= stats.selected %> destinatari?');"><button class="btn primary">Trimite campania către cei <%= stats.selected %> selectați</button></form></div><% } %>
  <% if(campaign.status==='sent'){ %><div style="margin-top:14px;background:#ecfdf5;padding:12px;border-radius:9px">Campania a fost trimisă. Brevo Campaign ID: <strong><%= campaign.provider_campaign_id || '-' %></strong>. <a href="/campaigns/<%= campaign.id %>/tracking">Deschide tracking-ul →</a></div><% } %>
</div>

<script>
(function(){
  const btn=document.getElementById('generate-slogans');
  const box=document.getElementById('slogan-results');
  const source=document.getElementById('slogan-source');
  if(!btn) return;

  btn.addEventListener('click', async ()=>{
    btn.disabled=true;
    btn.textContent='Generez...';
    try{
      const r=await fetch('/campaigns/<%= campaign.id %>/generate-slogans',{
        method:'POST',
        headers:{'Content-Type':'application/json'}
      });
      const data=await r.json();
      if(!data.ok) throw new Error(data.error || 'Eroare');

      source.textContent=data.source==='openai'
        ? '· OpenAI'
        : '· variante locale (OPENAI_API_KEY neconfigurat)';

      box.innerHTML='';
      data.items.forEach(text=>{
        const row=document.createElement('div');
        row.style.cssText='display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px solid #eee';

        const span=document.createElement('div');
        span.style.flex='1';
        span.textContent=text;

        const use=document.createElement('button');
        use.type='button';
        use.className='btn';
        use.textContent='Folosește';
        use.addEventListener('click',()=>{
          const ta=document.querySelector('textarea[name="intro_text"]');
          if(ta) ta.value=text;
        });

        row.appendChild(span);
        row.appendChild(use);
        box.appendChild(row);
      });

      box.style.display='block';
    }catch(e){
      alert('Nu am putut genera sloganurile: '+e.message);
    }finally{
      btn.disabled=false;
      btn.textContent='Generează sloganuri AI';
    }
  });
})();
</script>

<%- include('../partials/footer') %>
