40 lines
3.0 KiB
JavaScript
40 lines
3.0 KiB
JavaScript
/* WEVAL Audit Alignment Banner - Widget v1.0 - 2026-04-17
|
||
* Non-destructif. Zéro dépendance. Toggle via localStorage.
|
||
* Source: /opt/weval-l99/audits/AUDIT-LINKEDIN-ARCHI-2026-04-16.md
|
||
*/
|
||
(function(){
|
||
if (window.__wevAuditBanner) return;
|
||
window.__wevAuditBanner = true;
|
||
if (localStorage.getItem('weval_audit_banner_hidden') === '1') return;
|
||
|
||
var style = document.createElement('style');
|
||
style.textContent = [
|
||
'#weval-audit-banner{position:sticky;top:0;z-index:99999;background:linear-gradient(90deg,#1B6CA8,#7EDAB5);color:#0a0e1a;padding:8px 16px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,.3)}',
|
||
'#weval-audit-banner .k{font-weight:700;letter-spacing:.02em}',
|
||
'#weval-audit-banner .b{background:rgba(255,255,255,.25);padding:2px 8px;border-radius:10px;font-weight:600}',
|
||
'#weval-audit-banner .b.bad{background:#ef4444;color:#fff}',
|
||
'#weval-audit-banner .b.ok{background:#10b981;color:#fff}',
|
||
'#weval-audit-banner a{color:#0a0e1a;text-decoration:underline;font-weight:700}',
|
||
'#weval-audit-banner button{margin-left:auto;background:transparent;border:1px solid rgba(0,0,0,.3);color:#0a0e1a;padding:2px 10px;border-radius:6px;cursor:pointer;font-size:11px}',
|
||
'#weval-audit-banner button:hover{background:rgba(0,0,0,.1)}'
|
||
].join('');
|
||
document.head.appendChild(style);
|
||
|
||
var b = document.createElement('div');
|
||
b.id = 'weval-audit-banner';
|
||
b.innerHTML = '<span class="k">📊 LinkedIn×Archi</span><span class="b" id="wev-score">…</span><span>eng:<span class="b" id="wev-eng">…</span></span><span>reach:<span class="b" id="wev-reach">…</span></span><span>risky:<span class="b" id="wev-risky">…</span></span><a href="/live-status.php">live-status</a><a href="/audits/AUDIT-LINKEDIN-ARCHI-2026-04-16.md">audit</a><button onclick="localStorage.setItem(\'weval_audit_banner_hidden\',\'1\');this.parentNode.remove();">✕</button>';
|
||
if (document.body) document.body.insertBefore(b, document.body.firstChild);
|
||
else document.addEventListener('DOMContentLoaded', function(){ document.body.insertBefore(b, document.body.firstChild); });
|
||
|
||
fetch('/api/linkedin-alignment-kpi.php').then(function(r){return r.json();}).then(function(d){
|
||
var s = d.audit_score || 0;
|
||
var e = d.kpis && d.kpis.engagement_rate_30d ? d.kpis.engagement_rate_30d.value : '?';
|
||
var re = d.kpis && d.kpis.avg_reach_30d ? d.kpis.avg_reach_30d.value : '?';
|
||
var ri = d.kpis && d.kpis.risky_claims ? d.kpis.risky_claims.value : '?';
|
||
var se = document.getElementById('wev-score'); if (se){se.textContent = s + '/10'; if(s<6) se.className='b bad';}
|
||
var ee = document.getElementById('wev-eng'); if (ee) ee.textContent = e + '%';
|
||
var rea = document.getElementById('wev-reach'); if (rea) rea.textContent = re;
|
||
var rie = document.getElementById('wev-risky'); if (rie){rie.textContent = ri; if(ri>0) rie.className='b bad'; else rie.className='b ok';}
|
||
}).catch(function(){});
|
||
})();
|