93 lines
11 KiB
PHP
93 lines
11 KiB
PHP
<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>WEVADS • SMS Templates</title>
|
||
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
||
<style>
|
||
:root{--bg:#060a14;--s:#0c1220;--s2:#111827;--b:#1e293b;--t:#e2e8f0;--d:#64748b;--cy:#22d3ee;--gn:#34d399;--am:#fbbf24;--rd:#f87171;--pu:#a78bfa;--bl:#60a5fa;--pk:#f472b6;--og:#fb923c}
|
||
.light{--bg:#f0f2f5;--s:#fff;--s2:#f8fafc;--b:#e2e8f0;--t:#1e293b;--d:#64748b}.light input,.light select,.light textarea{background:#f8fafc!important;border-color:#e2e8f0!important;color:#1e293b!important}
|
||
*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--t);font-family:'DM Sans',sans-serif;font-size:11px}
|
||
.hdr{background:var(--s);border-bottom:1px solid var(--b);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.hdr h1{font-size:16px;font-weight:700}.hdr h1 span{color:var(--pk)}
|
||
.wrap{padding:16px;max-width:1400px;margin:0 auto}
|
||
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}
|
||
.sc{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:14px;text-align:center}.sc .n{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700}.sc .l{font-size:9px;text-transform:uppercase;color:var(--d);margin-top:4px}
|
||
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
|
||
.card{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:16px;margin-bottom:12px}
|
||
.card h3{font-size:12px;font-weight:700;margin-bottom:10px}
|
||
.tpl{background:var(--s2);border:1px solid var(--b);border-radius:8px;padding:12px;cursor:pointer;transition:.2s}.tpl:hover{border-color:var(--pk)}
|
||
.tpl.active{border-color:var(--pk);background:rgba(244,114,182,.05)}
|
||
.tpl h4{font-size:11px;margin-bottom:4px}.tpl .meta{font-size:9px;color:var(--d)}
|
||
.badge{font-size:8px;padding:2px 6px;border-radius:3px;font-weight:600}.badge-gn{background:rgba(52,211,153,.15);color:var(--gn)}.badge-am{background:rgba(251,191,36,.15);color:var(--am)}.badge-pk{background:rgba(244,114,182,.15);color:var(--pk)}
|
||
textarea{width:100%;background:var(--s2);border:1px solid var(--b);color:var(--t);padding:8px;border-radius:6px;font-size:11px;font-family:'JetBrains Mono',monospace;min-height:100px;resize:vertical}
|
||
input,select{width:100%;background:var(--s2);border:1px solid var(--b);color:var(--t);padding:8px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif}
|
||
.form-row{margin-bottom:10px}.form-row label{display:block;font-size:9px;text-transform:uppercase;color:var(--d);margin-bottom:4px}
|
||
.btn{padding:8px 16px;border-radius:6px;border:1px solid var(--b);background:var(--s2);color:var(--t);cursor:pointer;font-size:10px;font-weight:600}.btn:hover{border-color:var(--pk)}
|
||
.btn-pk{background:rgba(244,114,182,.15);border-color:var(--pk);color:var(--pk)}
|
||
table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:var(--d);text-transform:uppercase;font-size:9px;padding:6px 8px;border-bottom:1px solid var(--b)}td{padding:6px 8px;border-bottom:1px solid rgba(30,41,59,.3)}
|
||
.phone-preview{background:#1a1a2e;border:2px solid var(--b);border-radius:20px;padding:20px 14px;max-width:280px;margin:0 auto}
|
||
.phone-preview .msg{background:var(--pk);color:#fff;border-radius:12px 12px 4px 12px;padding:10px;font-size:11px;line-height:1.5;margin-bottom:6px}
|
||
.phone-preview .sender{font-size:9px;color:var(--d);margin-bottom:4px}
|
||
.toggle-btn{position:fixed;top:12px;right:56px;z-index:9999;width:30px;height:30px;border-radius:50%;background:rgba(17,24,39,.85);border:1px solid #334155;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#e2e8f0;padding:0;line-height:1}
|
||
@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.grid2,.grid3{grid-template-columns:1fr}}
|
||
</style>
|
||
</head><body>
|
||
<button id="theme-toggle" onclick="toggleTheme()" class="toggle-btn">🌙</button>
|
||
<div class="hdr"><div><h1>📱 WEVADS • <span>SMS Templates</span></h1><span style="font-size:10px;color:var(--d)">Gestion des templates SMS — Édition, Preview, Variables, Performance</span></div><div style="font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--d)" id="clock"></div></div>
|
||
<div class="wrap">
|
||
<div class="stats">
|
||
<div class="sc"><div class="n" style="color:var(--pk)">24</div><div class="l">Templates actifs</div></div>
|
||
<div class="sc"><div class="n" style="color:var(--cy)">850</div><div class="l">SMS envoyés 24h</div></div>
|
||
<div class="sc"><div class="n" style="color:var(--gn)">3.2x</div><div class="l">ROI moyen</div></div>
|
||
<div class="sc"><div class="n" style="color:var(--am)">15</div><div class="l">Pays couverts</div></div>
|
||
<div class="sc"><div class="n" style="color:var(--pu)">98%</div><div class="l">Taux livraison</div></div>
|
||
</div>
|
||
<div class="grid2">
|
||
<div class="card">
|
||
<h3 style="color:var(--pk)">📋 Templates</h3>
|
||
<div style="display:flex;flex-direction:column;gap:6px">
|
||
<div class="tpl active" onclick="selectTpl(this,'FOMO Flash','Nur noch {{count}} Stück! {{link}} -40% endet {{date}}. Stop:{{unsub}}','DE','4.1x','32%')"><h4>🔥 FOMO Flash Sale</h4><div class="meta">DE • CTR: 32% • ROI: 4.1x • <span class="badge badge-gn">TOP</span></div></div>
|
||
<div class="tpl" onclick="selectTpl(this,'Pharma Trial','{{prenom}}, essayez gratuitement! Livraison offerte. {{link}} Stop:{{unsub}}','FR','3.8x','28%')"><h4>💊 Pharma Free Trial</h4><div class="meta">FR • CTR: 28% • ROI: 3.8x</div></div>
|
||
<div class="tpl" onclick="selectTpl(this,'Casino Bonus','🎰 {{prenom}} 50 Free Spins! No deposit. {{link}} 18+ Stop:{{unsub}}','EU','2.9x','22%')"><h4>🎰 Casino Welcome</h4><div class="meta">EU • CTR: 22% • ROI: 2.9x</div></div>
|
||
<div class="tpl" onclick="selectTpl(this,'Finance Alert','⚠️ {{prenom}}, action urgente sur votre compte. Vérifiez: {{link}} Stop:{{unsub}}','FR','3.5x','35%')"><h4>💰 Finance Alert</h4><div class="meta">FR • CTR: 35% • ROI: 3.5x</div></div>
|
||
<div class="tpl" onclick="selectTpl(this,'E-commerce','{{prenom}}, votre panier expire! -30% avec code SMS30. {{link}} Stop:{{unsub}}','FR','4.5x','30%')"><h4>🛒 E-commerce Abandon</h4><div class="meta">FR • CTR: 30% • ROI: 4.5x</div></div>
|
||
<div class="tpl" onclick="selectTpl(this,'Crypto Signal','📊 BTC signal detected! Entry: ${{price}}. Details: {{link}} Stop:{{unsub}}','EN','2.2x','18%')"><h4>📊 Crypto Signal</h4><div class="meta">EN • CTR: 18% • ROI: 2.2x</div></div>
|
||
</div>
|
||
<button class="btn btn-pk" style="width:100%;margin-top:8px">➕ Nouveau template</button>
|
||
</div>
|
||
<div>
|
||
<div class="card">
|
||
<h3>✏️ Éditeur</h3>
|
||
<div class="form-row"><label>Nom</label><input id="tpl-name" value="FOMO Flash Sale"></div>
|
||
<div class="form-row"><label>Contenu SMS (160 chars max)</label><textarea id="tpl-body" oninput="updatePreview()">Nur noch {{count}} Stück! {{link}} -40% endet {{date}}. Stop:{{unsub}}</textarea></div>
|
||
<div style="display:flex;gap:8px;margin-bottom:10px">
|
||
<div class="form-row" style="flex:1"><label>Langue</label><select id="tpl-lang"><option>DE</option><option>FR</option><option>EN</option><option>ES</option><option>IT</option></select></div>
|
||
<div class="form-row" style="flex:1"><label>Sender ID</label><input value="PROMO"></div>
|
||
</div>
|
||
<div style="font-size:9px;color:var(--d);margin-bottom:8px">Caractères: <span id="char-count" style="font-family:'JetBrains Mono',monospace">67</span>/160 • Variables: {{prenom}}, {{link}}, {{date}}, {{count}}, {{unsub}}</div>
|
||
<div style="display:flex;gap:6px"><button class="btn btn-pk">💾 Sauvegarder</button><button class="btn">🧪 Test SMS</button><button class="btn">📊 A/B Test</button></div>
|
||
</div>
|
||
<div class="card">
|
||
<h3>📱 Preview</h3>
|
||
<div class="phone-preview"><div class="sender">PROMO • Maintenant</div><div class="msg" id="phone-msg">Nur noch 3 Stück! https://trk.ex/abc -40% endet 08/02. Stop:unsub.ex/x</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<h3>📊 Performance par template</h3>
|
||
<table><thead><tr><th>Template</th><th>Envoyés</th><th>Livrés</th><th>Clics</th><th>CTR</th><th>ROI</th><th>Coût</th><th>Revenu</th></tr></thead><tbody>
|
||
<tr><td style="font-weight:600">🔥 FOMO Flash</td><td>12,400</td><td style="color:var(--gn)">98%</td><td>3,968</td><td style="color:var(--gn);font-weight:700">32%</td><td style="color:var(--am);font-weight:700">4.1x</td><td>€248</td><td style="color:var(--gn)">€1,017</td></tr>
|
||
<tr><td style="font-weight:600">💊 Pharma Trial</td><td>8,200</td><td style="color:var(--gn)">97%</td><td>2,296</td><td style="color:var(--gn);font-weight:700">28%</td><td style="color:var(--am);font-weight:700">3.8x</td><td>€164</td><td style="color:var(--gn)">€623</td></tr>
|
||
<tr><td style="font-weight:600">💰 Finance Alert</td><td>5,600</td><td style="color:var(--gn)">99%</td><td>1,960</td><td style="color:var(--gn);font-weight:700">35%</td><td style="color:var(--am);font-weight:700">3.5x</td><td>€112</td><td style="color:var(--gn)">€392</td></tr>
|
||
<tr><td style="font-weight:600">🛒 E-commerce</td><td>4,100</td><td style="color:var(--gn)">98%</td><td>1,230</td><td style="color:var(--gn);font-weight:700">30%</td><td style="color:var(--am);font-weight:700">4.5x</td><td>€82</td><td style="color:var(--gn)">€369</td></tr>
|
||
</tbody></table>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
function toggleTheme(){var b=document.body,t=document.getElementById('theme-toggle');if(b.classList.contains('light')){b.classList.remove('light');t.textContent='🌙';localStorage.setItem('wevads-theme','dark')}else{b.classList.add('light');t.textContent='☀️';localStorage.setItem('wevads-theme','light')}}
|
||
if(localStorage.getItem('wevads-theme')==='light'){document.body.classList.add('light');document.getElementById('theme-toggle').textContent='☀️'}
|
||
function selectTpl(el,name,body,lang,roi,ctr){document.querySelectorAll('.tpl').forEach(function(t){t.classList.remove('active')});el.classList.add('active');document.getElementById('tpl-name').value=name;document.getElementById('tpl-body').value=body;updatePreview()}
|
||
function updatePreview(){var t=document.getElementById('tpl-body').value;document.getElementById('char-count').textContent=t.length;t=t.replace(/\{\{prenom\}\}/g,'Anna').replace(/\{\{link\}\}/g,'https://trk.ex/abc').replace(/\{\{date\}\}/g,'08/02').replace(/\{\{count\}\}/g,'3').replace(/\{\{unsub\}\}/g,'unsub.ex/x').replace(/\{\{price\}\}/g,'97,420');document.getElementById('phone-msg').textContent=t}
|
||
setInterval(function(){document.getElementById('clock').textContent=new Date().toLocaleString('fr-FR')},1000);
|
||
</script>
|
||
<script src="arsenal-common.js"></script>
|
||
|
||
</body></html>
|
||
|