1import{a as F}from"./chunk-IPKLJJ3K.js";import{a as ae,b as oe}from"./chunk-TKJJQVX7.js";import{a as ee}from"./chunk-6EF6RNOO.js";import"./chunk-T3DWPM4S.js";import{a as ie}from"./chunk-NBMUSEX4.js";import{a as te,b as ne}from"./chunk-3AIY57KH.js";import{a as z}from"./chunk-AB6CKZTE.js";import"./chunk-DLIVM562.js";import"./chunk-CV2ZWZQE.js";import"./chunk-H4HD3LNW.js";import"./chunk-AQEWHUN5.js";import"./chunk-YQZAETCE.js";import{h as Q}from"./chunk-3QVSKJ3X.js";import{G as X,I as Y,c as K}from"./chunk-ERUCNOOT.js";import{$b as J,Fa as G,Jb as v,Kb as Z,Lb as S,Qb as f,Qc as x,Rc as w,Tb as E,Ub as I,Vb as a,Wb as l,Xb as c,Z as B,_a as W,ca as $,cb as H,da as P,db as r,fc as k,gc as m,la as N,ma as U,p as T,sb as q,tc as s,uc as g,vc as h,wa as L,yb as _}from"./chunk-DBE7WQEG.js";import{a as A,b as O,g as y}from"./chunk-W7GRJBO5.js";var me='"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif';function ue(){let n=document.createElement("canvas");n.width=n.height=1;let e=n.getContext("2d",{willReadFrequently:!0});return e.textBaseline="top",e.font=`100px ${me}`,e.scale(.01,.01),e}function le(n,e,t){return n.clearRect(0,0,100,100),n.fillStyle=t,n.fillText(e,0,0),n.getImageData(0,0,1,1).data.join(",")}function re(n){let e=ue(),t=le(e,n,"#fff"),i=le(e,n,"#000");return i===t&&!i.startsWith("0,0,0,")}function se(n="Twemoji Country Flags",e="https://cdn.jsdelivr.net/npm/[email protected]/dist/TwemojiCountryFlags.woff2"){if(typeof window<"u"&&re("\u{1F60A}")&&!re("\u{1F1E8}\u{1F1ED}")){let t=document.createElement("style");return t.textContent=`@font-face { 2 font-family: "${n}"; 3 unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, 4 U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F; 5 src: url('${e}') format('woff2'); 6 font-display: swap; 7 }`,document.head.appendChild(t),!0}return!1}var D=class n{constructor(e){this.http=e}getSnapshot(e=90){return y(this,null,function*(){return T(this.http.get(`${z.api}/api/admin/audience/snapshot?days=${e}`))})}getPulse(){return y(this,null,function*(){return T(this.http.get(`${z.api}/api/admin/audience/pulse`))})}getAll(e=90){return y(this,null,function*(){return T(this.http.get(`${z.api}/api/admin/audience/all?days=${e}`))})}poll(e,t,i){if(typeof window>"u")return null;let o=!1,p=null,u=()=>y(null,null,function*(){if(!o){try{yield e()}catch(b){o||i?.(b)}o||(p=setTimeout(u,t))}});return u(),{close:()=>{o=!0,p&&clearTimeout(p)}}}static \u0275fac=function(t){return new(t||n)($(Q))};static \u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"})};var R=(n,e)=>e.id;function fe(n,e){if(n&1&&(a(0,"span",29),s(1),l()),n&2){let t=m(2);r(),g(t.platformLabel(t.toastSignup.platform))}}function he(n,e){if(n&1&&(a(0,"span",29),s(1),l()),n&2){let t=m(2);r(),g(t.toastSignup.countryCode)}}function _e(n,e){if(n&1){let t=J();a(0,"div",24),k("click",function(){N(t);let o=m();return U(o.toastSignup=null)}),c(1,"i",25),a(2,"div",26)(3,"div",27),s(4,"Nouveau compte\xA0!"),l(),a(5,"div",28),s(6),_(7,fe,2,1,"span",29)(8,he,2,1,"span",29),l()()()}if(n&2){let t=m();r(6),h(" ",t.toastSignup.displayName," "),r(),f(t.toastSignup.platform?7:-1),r(),f(t.toastSignup.countryCode?8:-1)}}function xe(n,e){if(n&1&&(a(0,"span",9),s(1),l()),n&2){let t=m();r(),h(" ",t.realtime.source==="ga4"?"Temps r\xE9el \xB7 GA4":"Temps r\xE9el \xB7 interne"," ")}}function we(n,e){n&1&&(a(0,"span",11),c(1,"i",30),s(2," activer le son "),l())}function ve(n,e){n&1&&(a(0,"div",21),c(1,"app-widget-loading"),l())}function be(n,e){if(n&1&&(a(0,"div",22),c(1,"i",31),a(2,"span"),s(3),l()()),n&2){let t=m();r(3),g(t.error)}}function Ce(n,e){if(n&1&&(a(0,"header",42),c(1,"i",67),a(2,"span"),s(3,"Inscriptions \xB7 contenus \xB7 interactions / jour \u2014 90 jours"),l(),c(4,"span",68),l(),a(5,"div",44),c(6,"p-chart",48),l()),n&2){let t=m(2);r(6),v("data",t.signupsData)("options",t.signupsOptions)}}function ye(n,e){if(n&1&&(a(0,"header",42),c(1,"i",69),a(2,"span"),s(3,"Ventes / jour \u2014 30 jours \xB7 marketplace \xB7 commission \xB7 port \xB7 coins"),l(),c(4,"span",68),l(),a(5,"div",44),c(6,"p-chart",48),l()),n&2){let t=m(2);r(6),v("data",t.revenueData)("options",t.revenueOptions)}}function Se(n,e){if(n&1&&c(0,"p-chart",50),n&2){let t=m(2);v("data",t.platformsData)("options",t.doughnutOptions)}}function ke(n,e){n&1&&(a(0,"div",51),s(1,"Aucune donn\xE9e"),l())}function Ae(n,e){if(n&1&&c(0,"p-chart",50),n&2){let t=m(2);v("data",t.countriesData)("options",t.countriesOptions)}}function Oe(n,e){n&1&&(a(0,"div",51),s(1,"Aucune donn\xE9e"),l())}function Pe(n,e){if(n&1&&c(0,"p-chart",48),n&2){let t=m(2);v("data",t.moderationData)("options",t.moderationOptions)}}function Ee(n,e){n&1&&(a(0,"div",51),s(1,"En attente de donn\xE9es"),l())}function Ie(n,e){if(n&1&&c(0,"p-chart",48),n&2){let t=m(2);v("data",t.ageData)("options",t.ageOptions)}}function Me(n,e){n&1&&(a(0,"div",51),s(1,"Aucune donn\xE9e"),l())}function Te(n,e){n&1&&(a(0,"span",71),c(1,"i",61),l())}function ze(n,e){if(n&1&&(a(0,"span",72),c(1,"i",75),s(2),x(3,"number"),l()),n&2){let t=m().$implicit,i=m(2);r(2),h("",w(3,1,i.eur(t.shippingCents)),"\xA0\u20AC")}}function De(n,e){if(n&1&&(a(0,"div",63)(1,"span",70),s(2),x(3,"number"),l(),_(4,Te,2,0,"span",71)(5,ze,4,3,"span",72),a(6,"span",73),s(7),l(),a(8,"span",74),s(9),l()()),n&2){let t=e.$implicit,i=m(2);r(2),h("",w(3,5,i.eur(t.totalCents)),"\xA0\u20AC"),r(2),f(t.openCart?4:-1),r(),f(t.
7shippingCents>0?5:-1),r(2),g(t.buyerName),r(2),g(i.timeAgo(t.createdAt))}}function Re(n,e){n&1&&(a(0,"div",51),s(1," Aucune commande "),l())}function Ve(n,e){if(n&1&&(a(0,"div",63)(1,"span",70),s(2),x(3,"number"),l(),a(4,"span",76),s(5),l(),a(6,"span",73),s(7),l(),a(8,"span",74),s(9),l()()),n&2){let t=e.$implicit,i=m(2);r(2),h("",w(3,8,i.eur(t.totalCents)),"\xA0\u20AC"),r(2),S("wall-order__pf--apple",t.platform==="apple")("wall-order__pf--google",t.platform==="google"),r(),g(i.platformShort(t.platform)),r(2),g(t.buyerName),r(2),g(i.timeAgo(t.createdAt))}}function We(n,e){n&1&&(a(0,"div",51),s(1,"Aucun achat"),l())}function Fe(n,e){if(n&1&&c(0,"img",77),n&2){let t=m().$implicit;v("src",t.avatarUrl,W)}}function je(n,e){n&1&&c(0,"i",78)}function Be(n,e){if(n&1&&(a(0,"div",63),_(1,Fe,1,1,"img",77)(2,je,1,0,"i",78),a(3,"span",73),s(4),l(),a(5,"span",79),c(6,"i",47),s(7),l(),a(8,"span",80),c(9,"i",81),s(10),l(),a(11,"span",82),c(12,"i",83),s(13),l(),a(14,"span",84),c(15,"i",85),s(16),l()()),n&2){let t=e.$implicit,i=m(2);r(),f(t.avatarUrl?1:2),r(3),g(t.displayName),r(3),g(i.compact(t.engagementScore)),r(3),g(i.compact(t.followers)),r(3),g(i.compact(t.views)),r(3),g(i.compact(t.contentCount))}}function $e(n,e){n&1&&(a(0,"div",51),s(1,"Aucun cr\xE9ateur"),l())}function Ne(n,e){if(n&1&&c(0,"img",77),n&2){let t=m().$implicit;v("src",t.avatarUrl,W)}}function Ue(n,e){n&1&&c(0,"i",78)}function Le(n,e){if(n&1&&(a(0,"span",86),s(1),l()),n&2){let t=m().$implicit,i=m(2);v("pTooltip",t.countryCode),r(),g(i.flagEmoji(t.countryCode))}}function Ge(n,e){if(n&1&&(a(0,"div",63),_(1,Ne,1,1,"img",77)(2,Ue,1,0,"i",78),a(3,"span",73),s(4),l(),_(5,Le,2,2,"span",86),a(6,"span",87),s(7),l(),a(8,"span",74),s(9),l()()),n&2){let t=e.$implicit,i=m(2);r(),f(t.avatarUrl?1:2),r(3),g(t.displayName),r(),f(t.countryCode?5:-1),r(),S("wall-feed__chip--ios",t.platform==="ios")("wall-feed__chip--android",t.platform==="android"),r(),g(i.platformLabel(t.platform)),r(2),g(i.timeAgo(t.createdAt))}}function He(n,e){n&1&&(a(0,"div",51),s(1,"Aucun compte r\xE9cent"),l())}function qe(n,e){if(n&1&&(a(0,"div",32)(1,"div",33)(2,"div",34)(3,"div",35),s(4),x(5,"number"),l(),a(6,"div",36),s(7,"Comptes r\xE9els"),l()(),a(8,"div",37)(9,"div",35),s(10),x(11,"number"),l(),a(12,"div",36),s(13),x(14,"number"),l()(),a(15,"div",37)(16,"div",35),s(17),x(18,"number"),l(),a(19,"div",36),s(20),x(21,"number"),l()(),a(22,"div",37)(23,"div",35),s(24),x(25,"number"),l(),a(26,"div",36),s(27,"Boutiques actives"),l()(),a(28,"div",38)(29,"div",35),c(30,"span",39),s(31),x(32,"number"),l(),a(33,"div",36),s(34,"Lives en cours"),l()(),a(35,"div",37)(36,"div",35),s(37),x(38,"number"),l(),a(39,"div",36),s(40,"Contenus"),l()(),a(41,"div",38)(42,"div",35),c(43,"span",39),s(44),x(45,"number"),l(),a(46,"div",36),s(47),l()()(),a(48,"div",40)(49,"section",41),_(50,Ce,7,2)(51,ye,7,2),l(),a(52,"section",41)(53,"header",42),c(54,"i",43),a(55,"span"),s(56,"Croissance \u2014 totaux & actifs / jour"),l()(),a(57,"div",44),c(58,"p-chart",45),l()(),a(59,"section",46)(60,"header",42),c(61,"i",47),a(62,"span"),s(63,"Pr\xE9sence \u2014 12 h (tranches de 30 min)"),l()(),a(64,"div",44),c(65,"p-chart",48),l()(),a(66,"section",46)(67,"header",42),c(68,"i",49),a(69,"span"),s(70,"Plateformes"),l()(),a(71,"div",44),_(72,Se,1,2,"p-chart",50)(73,ke,2,0,"div",51),l()(),a(74,"section",46)(75,"header",42),c(76,"i",52),a(77,"span"),s(78,"Pays"),l()(),a(79,"div",44),_(80,Ae,1,2,"p-chart",50)(81,Oe,2,0,"div",51),l()(),a(82,"section",46)(83,"header",42),c(84,"i",53),a(85,"span"),s(86,"Mod\xE9ration \xB7 toxicit\xE9"),l(),a(87,"span",54),s(88),l()(),a(89,"div",44),_(90,Pe,1,2,"p-chart",48)(91,Ee,2,0,"div",51),l()(),a(92,"section",46)(93,"header",42),c(94,"i",55),a(95,"span"),s(96,"\xC2ge \xD7 parit\xE9"),l()(),a(97,"div",44),_(98,Ie,1,2,"p-chart",48)(99,Me,2,0,"div",51),l()(),a(100,"section",56)(101,"header",42),c(102,"i",57),a(103,"span"),s(104,"Derni\xE8res commandes"),l()(),a(105,"div",58)(106,"div",59)(107,"div",60),c(108,"i",61),s(109," Marketplace "),l(),a(110,"div",62),E(111,De,10,7,"div",63,R,!1,Re,2,0,"div",51),l()(),a(114,"div",59)(115,"div",60),c(116,"i",64),s(117," Coins "),l(),a(118,"div",62),E(119,Ve,10,10,"div",63,R,!1,We,2,0,"div",51),l()()()(),a(122,"section",56)(123,"header",42),c(124,"i",65),a(125,"span"),s(126,"Top cr\xE9ateurs \xB7 30 j"),l()(),a(127,"div",62),E(128,Be,17,6,"div",63,R,!1,$e,2,0,"div",51),l()(),a(131,"section",56)(132,"header",42),c(133,"i",66),a(134,"span"),s(135,"Derniers comptes"),l()(),a(136,"div",62),E(137,Ge,10,9,"div",63,R,!1,He,2,0,"div",51),l()()()()),n&2){let t,i,o=m();Z("font-size",o.zoomLevel,"%"),r(4),h(" ",w(5,26,o.snapshot.overview.totalUsers)," "),r(6),h(" ",w(11,28,o.eur(o.snapshot.overview.coinRevenueNetCents)),"\xA0\u20AC "),r(3),h(" Revenus coins (net) \xB7 ",w(14,30,o.eur(o.snapshot.overview.coinRevenueGrossCents)),"\xA0\u20AC brut "),r(4),h(" ",w(18,32,o.eur(o.snapshot.overview.marketplaceCommissionCents)),"\xA0\u20AC "),r(3),h(" Marketplace (commission 5%) \xB7 ",w(21,34,o.eur(o.snapshot.overview.marketplaceGrossCents)),"\xA0\u20AC ventes "),r(4),h(" ",w(25,36,o.snapshot.overview.activeShops)," "),r(7),h(" ",w(32,38,o.activeLives)," "),r(6),h(" ",w(38,40,o.snapshot.overview.totalContent)," "),r(7),h(" ",w(45,42,(t=o.realtime==null?null:o.realtime.activeNow)!==null&&t!==void 0?t:0)," "),r(3),h(" Actifs \xB7 ",(i=o.realtime==null?null:o.realtime.activeWindowMinutes)!==null&&i!==void 0?i:30," min "),r(3),f(o.signupsCardView==="signups"?50:51),r(8),v("data",o.growthData)("options",o.growthOptions),r(7),v("data",o.realtimeData)("options",o.realtimeOptions),r(7),f(o.hasData(o.snapshot.platforms)?72:73),r(8),f(o.hasData(o.snapshot.countries)?80:81),r(8),g(o.moderationRate),r(2),f(o.moderationData?90:91),r(8),f(o.hasAgeData()?98:99),r(13),I(o.recentOrders),r(8),I(o.recentCoinOrders
7),r(9),I(o.snapshot.topCreators),r(9),I(o.recentSignups)}}var de=class n{audienceService=P(D);platformId=P(G);storage=P(ee);zone=P(L);static PULSE_MS=1e4;static SNAPSHOT_MS=3e5;static ROTATION_MS=12e3;signupsCardView="signups";rotationTimer=null;loading=!0;error="";darkMode=!0;soundEnabled=!0;soundUnlocked=!1;zoomLevel=100;isFullscreen=!1;snapshot=null;realtime=null;activeLives=0;recentSignups=[];recentOrders=[];recentCoinOrders=[];knownSignupIds=new Set;knownOrderIds=new Set;knownCoinOrderIds=new Set;pulseSeeded=!1;toastSignup=null;toastTimer=null;signupsData=null;signupsOptions=null;revenueData=null;revenueOptions=null;growthData=null;growthOptions=null;realtimeData=null;realtimeOptions=null;platformsData=null;countriesData=null;countriesOptions=null;gendersData=null;moderationData=null;moderationOptions=null;moderationRate="";moderationTotals={toxic:0,clean:0};ageData=null;ageOptions=null;doughnutOptions=null;snapshotStream=null;pulseStream=null;audioCtx=null;platformColors={ios:"#0ea5e9",android:"#10b981",web:"#6366f1",unknown:"#94a3b8"};genderColors={male:"#2f8eef",female:"#ec4899",other:"#a855f7",unknown:"#94a3b8"};countryPalette=["#2f8eef","#10b981","#f59e0b","#ec4899","#a855f7","#38bdf8","#ef4444","#14b8a6","#f97316","#6366f1","#22c55e","#facc15","#d946ef","#06b6d4","#84cc16","#fb7185","#7c3aed","#b45309","#e11d48","#65a30d"];otherCountryColor="#64748b";onAnyClick(){this.unlockAudio()}ngOnInit(){if(!K(this.platformId))return;se("Twemoji Country Flags","/assets/fonts/TwemojiCountryFlags.woff2")&&typeof document<"u"&&document.fonts?.load&&document.fonts.load("16px 'Twemoji Country Flags'").then(()=>{this.snapshot&&this.zone.run(()=>this.buildSnapshotCharts(this.snapshot))}).catch(()=>{}),this.storage.getItem("admin_wall_dark")==="false"&&(this.darkMode=!1),this.storage.getItem("admin_wall_sound")==="false"&&(this.soundEnabled=!1);let o=this.storage.getItem("admin_wall_zoom");if(o){let p=parseInt(o,10);p>=50&&p<=150&&(this.zoomLevel=p)}this.zone.runOutsideAngular(()=>{this.snapshotStream=this.audienceService.poll(()=>this.loadSnapshot(),n.SNAPSHOT_MS,p=>this.onError(p)),this.pulseStream=this.audienceService.poll(()=>this.loadPulse(),n.PULSE_MS)}),this.rotationTimer=setInterval(()=>{this.signupsCardView=this.signupsCardView==="signups"?"revenue":"signups"},n.ROTATION_MS)}ngOnDestroy(){this.snapshotStream?.close(),this.pulseStream?.close(),this.toastTimer&&clearTimeout(this.toastTimer),this.rotationTimer&&clearInterval(this.rotationTimer),this.audioCtx?.close().catch(()=>{})}loadSnapshot(){return y(this,null,function*(){let e=yield this.audienceService.getSnapshot(90);this.zone.run(()=>{this.snapshot=e,this.loading=!1,this.error="",this.buildSnapshotCharts(e)})})}loadPulse(){return y(this,null,function*(){let e=yield this.audienceService.getPulse();this.zone.run(()=>{if(this.realtime=e.realtime,this.activeLives=e.activeLives,this.recentSignups=e.recentSignups||[],this.recentOrders=e.recentOrders||[],this.recentCoinOrders=e.recentCoinOrders||[],this.pulseSeeded)this.detectNewSignups(this.recentSignups),this.detectNewOrders(this.recentOrders),this.detectNewCoinOrders(this.recentCoinOrders);else{for(let t of this.recentSignups)this.knownSignupIds.add(t.id);for(let t of this.recentOrders)this.knownOrderIds.add(t.id);for(let t of this.recentCoinOrders)this.knownCoinOrderIds.add(t.id);this.pulseSeeded=!0}this.buildRealtimeChart(e.realtime)})})}onError(e){this.zone.run(()=>{this.snapshot||(this.error=e?.message||"Erreur de chargement",this.loading=!1)})}detectNewSignups(e){let t=e.filter(i=>!this.knownSignupIds.has(i.id));for(let i of e)this.knownSignupIds.add(i.id);t.length>0&&(this.showToast(t[0]),this.playPlop())}detectNewOrders(e){let t=e.filter(i=>!this.knownOrderIds.has(i.id));for(let i of e)this.knownOrderIds.add(i.id);t.length>0&&this.playChaChing()}detectNewCoinOrders(e){let t=e.filter(i=>!this.knownCoinOrderIds.has(i.id));for(let i of e)this.knownCoinOrderIds.add(i.id);t.length>0&&this.playCoin()}showToast(e){this.toastSignup=e,this.toastTimer&&clearTimeout(this.toastTimer),this.toastTimer=setTimeout(()=>this.toastSignup=null,6e3)}gridColor(){return this.darkMode?"rgba(148,163,184,0.15)":"rgba(0,0,0,0.08)"}textColor(){return this.darkMode?"#94a3b8":"#64748b"}
7legendColor(){return this.darkMode?"#cbd5e1":"#475569"}buildSnapshotCharts(e){let t=this.gridColor(),i=this.textColor();this.signupsData={labels:e.signupsDaily.map(d=>this.shortDate(d.date)),datasets:[{type:"bar",label:"Inscriptions",data:e.signupsDaily.map(d=>d.signups),backgroundColor:"rgba(47,142,239,0.55)",borderColor:"#2f8eef",borderWidth:0,borderRadius:3,maxBarThickness:14},{type:"line",label:"Contenus",data:e.signupsDaily.map(d=>d.content),borderColor:"#f59e0b",backgroundColor:"rgba(245,158,11,0.10)",borderWidth:2,pointRadius:0,pointHoverRadius:4,fill:!0,tension:.35},{type:"line",label:"Interactions",data:e.signupsDaily.map(d=>d.interactions),yAxisID:"y1",borderColor:"#10b981",backgroundColor:"rgba(16,185,129,0.10)",borderWidth:2,pointRadius:0,pointHoverRadius:4,fill:!0,tension:.35}]},this.signupsOptions=this.cartesianOptions(i,t,14,!0,!0);let o=e.revenueDaily||[];this.revenueData={labels:o.map(d=>this.shortDate(d.date)),datasets:[this.revDataset("Ventes marketplace",o.map(d=>this.eur(d.marketplaceNetCents)),"#2f8eef"),this.revDataset("Commission 5%",o.map(d=>this.eur(d.commissionCents)),"#10b981"),this.revDataset("Frais de port",o.map(d=>this.eur(d.shippingCents)),"#f59e0b"),this.revDataset("Coins",o.map(d=>this.eur(d.coinsCents)),"#a855f7")]},this.revenueOptions={responsive:!0,maintainAspectRatio:!1,animation:!1,plugins:{legend:{display:!0,position:"top",labels:{color:this.legendColor(),font:{size:10},boxWidth:10,padding:6}},tooltip:{callbacks:{label:d=>` ${d.dataset.label} : ${Number(d.raw||0).toLocaleString("fr-FR")} \u20AC`,footer:d=>`Total : ${d.reduce((M,V)=>M+Number(V.raw||0),0).toLocaleString("fr-FR")} \u20AC`}}},scales:{x:{stacked:!0,grid:{display:!1},ticks:{color:i,font:{size:9},maxTicksLimit:12,autoSkip:!0}},y:{stacked:!0,grid:{color:t},ticks:{color:i,font:{size:10},precision:0,callback:d=>`${d} \u20AC`},beginAtZero:!0}}},this.growthData={labels:e.userGrowth.map(d=>this.shortDate(d.date)),datasets:[{type:"line",label:"Utilisateurs totaux",data:e.userGrowth.map(d=>d.total),borderColor:"#10b981",backgroundColor:"rgba(16,185,129,0.16)",borderWidth:2,pointRadius:0,pointHoverRadius:4,fill:!0,tension:.3},{type:"line",label:"Actifs / jour",data:(e.activeUsersDaily||[]).map(d=>d.active),yAxisID:"y1",borderColor:"#2f8eef",backgroundColor:"rgba(47,142,239,0.10)",borderWidth:2,pointRadius:0,pointHoverRadius:4,fill:!0,tension:.3}]},this.growthOptions=this.cartesianOptions(i,t,14,!0,!0),this.doughnutOptions={responsive:!0,maintainAspectRatio:!1,animation:!1,cutout:"62%",layout:{padding:4},plugins:{legend:{position:"right",labels:{color:this.legendColor(),font:{size:11,family:"'Twemoji Country Flags', 'Inter', system-ui, sans-serif"},boxWidth:12,padding:8}}}},this.countriesOptions=O(A({},this.doughnutOptions),{cutout:"55%",plugins:O(A({},this.doughnutOptions.plugins),{legend:O(A({},this.doughnutOptions.plugins.legend),{labels:O(A({},this.doughnutOptions.plugins.legend.labels),{font:{size:9,family:"'Twemoji Country Flags', 'Inter', system-ui, sans-serif"},boxWidth:8,padding:4}),maxWidth:260}),tooltip:{callbacks:{label:d=>{let C=Number(d.raw||0),M=(d.dataset?.data||[]).reduce((ce,pe)=>ce+Number(pe||0),0),V=M?Math.round(C/M*1e3)/10:0;return` ${F(C)} utilisateurs \xB7 ${V}%`}}}})}),this.platformsData=this.doughnut(e.platforms,d=>this.platformColors[d.key]||"#94a3b8"),this.gendersData=this.doughnut(e.genders,d=>this.genderColors[d.key]||"#94a3b8"),this.countriesData=this.doughnut(e.countries,(d,C)=>d.key==="__other"?this.otherCountryColor:this.countryPalette[C%this.countryPalette.length],d=>`${this.countryIcon(d.key)} ${d.label}
7 (${F(d.count)})`);let p=e.moderation||[],u=p.reduce((d,C)=>d+C.toxic,0),b=p.reduce((d,C)=>d+C.clean,0),j=u+b;this.moderationTotals={toxic:u,clean:b},this.moderationRate=j>0?`${this.compact(b)} envoy\xE9s \xB7 ${this.compact(u)} bloqu\xE9s`:"en attente de donn\xE9es",this.moderationData=j>0?{labels:p.map(d=>this.shortDate(d.date)),datasets:[{type:"bar",label:"Envoy\xE9s",data:p.map(d=>d.clean),backgroundColor:"#10b981",borderRadius:2,barPercentage:.9,categoryPercentage:.9},{type:"bar",label:"Bloqu\xE9s",data:p.map(d=>d.toxic),backgroundColor:"#ef4444",borderRadius:2,barPercentage:.9,categoryPercentage:.9}]}:null,this.moderationOptions={responsive:!0,maintainAspectRatio:!1,animation:!1,plugins:{legend:{display:!0,position:"top",labels:{color:this.legendColor(),font:{size:10},boxWidth:10,padding:6}}},scales:{x:{stacked:!0,grid:{display:!1},ticks:{color:i,font:{size:9},maxTicksLimit:8,autoSkip:!0}},y:{stacked:!0,grid:{color:t},ticks:{color:i,font:{size:10},precision:0},beginAtZero:!0}}},this.ageData={labels:e.ageGender.map(d=>d.ageRange),datasets:[this.ageDataset("Hommes",e.ageGender.map(d=>d.male),"#2f8eef"),this.ageDataset("Femmes",e.ageGender.map(d=>d.female),"#ec4899"),this.ageDataset("Autre",e.ageGender.map(d=>d.other),"#a855f7"),this.ageDataset("Inconnu",e.ageGender.map(d=>d.unknown),"#94a3b8")]},this.ageOptions={responsive:!0,maintainAspectRatio:!1,animation:!1,plugins:{legend:{display:!0,position:"top",labels:{color:this.legendColor(),font:{size:10},boxWidth:10,padding:6}}},scales:{x:{stacked:!0,grid:{display:!1},ticks:{color:i,font:{size:11}}},y:{stacked:!0,grid:{color:t},ticks:{color:i,font:{size:10},precision:0},beginAtZero:!0}}}}ageDataset(e,t,i){return{type:"bar",label:e,data:t,backgroundColor:i,borderRadius:3,barPercentage:.7,categoryPercentage:.8}}revDataset(e,t,i){return{type:"bar",label:e,data:t,backgroundColor:i,borderRadius:2,barPercentage:.9,categoryPercentage:.9}}buildRealtimeChart(e){let t=this.gridColor(),i=this.textColor(),o=e.presenceBuckets||(e.perMinute||[]).map(p=>({bucket:p.minute,count:p.count,peak:p.count,partial:!1}));this.realtimeOptions=this.cartesianOptions(i,t,8,!0),this.realtimeOptions.plugins.tooltip={callbacks:{title:p=>{let u=o[p?.[0]?.dataIndex??0];return u?u.partial?`${u.bucket.slice(11)} \u2014 en cours`:`${u.bucket.slice(11)} \u2014 30 min`:""}}},this.realtimeData={labels:o.map(p=>p.bucket.slice(11)),datasets:[{type:"bar",label:"Personnes uniques / 30 min",data:o.map(p=>p.count),backgroundColor:o.map(p=>p.partial?"rgba(16,185,129,0.25)":"rgba(16,185,129,0.7)"),borderColor:"#10b981",borderWidth:0,borderRadius:3,barPercentage:.9,categoryPercentage:.95},{type:"line",label:"Pic simultan\xE9",data:o.map(p=>p.peak),borderColor:"#2f8eef",backgroundColor:"rgba(47,142,239,0.10)",borderWidth:2,pointRadius:0,pointHoverRadius:4,tension:.3,fill:!1}]}}cartesianOptions(e,t,i=12,o=!1,p=!1){let u={x:{grid:{display:!1},ticks:{color:e,font:{size:10},maxTicksLimit:i,autoSkip:!0}},y:{grid:{color:t},ticks:{color:e,font:{size:10},precision:0},beginAtZero:!0}};return p&&(u.y1={position:"right",grid:{drawOnChartArea:!1},ticks:{color:e,font:{size:10},precision:0},beginAtZero:!0}),{responsive:!0,maintainAspectRatio:!1,animation:!1,plugins:{legend:o?{display:!0,position:"top",labels:{color:this.legendColor(),font:{size:10},boxWidth:10,padding:6}}:{display:!1}},scales:u}}doughnut(e,t,i){return{labels:e.map(o=>i?i(o):o.label),datasets:[{data:e.map(o=>o.count),backgroundColor:e.map((o,p)=>t(o,p)),borderWidth:0,hoverOffset:6}]}}hasData(e){return!!e&&e.some(t=>t.count>0)}hasAgeData(){return!!this.snapshot&&this.snapshot.ageGender.length>0}eur(e){return Math.round((e||0)/100)}unlockAudio(){if(!this.soundUnlocked)try{let e=window.AudioContext||window.webkitAudioContext;if(!e)return;this.audioCtx=new e,this.audioCtx?.resume?.().catch(()=>{}),this.soundUnlocked=!0}catch{}}playPlop(){if(!(!this.soundEnabled||!this.audioCtx))try{let e=this.audioCtx,t=e.currentTime,i=e.createOscillator(),o=e.createGain();i.type="sine",i.frequency.setValueAtTime(420,t),i.frequency.exponentialRampToValueAtTime(880,t+.08),o.gain.setValueAtTime(1e-4,t),o.gain.exponentialRampToValueAtTime(.25,t+.02),o.gain.exponentialRampToValueAtTime(1e-4,t+.28),i.connect(o),o.connect(e.destination),i.start(t),i.stop(t+.3)}catch{}}playCoin(){if(!(!this.soundEnabled||!this.audioCtx))try{let e=this.audioCtx,t=e.currentTime,i=e.createGain();i.gain.setValueAtTime(1e-4,t),i.gain.exponentialRampToValueAtTime(.3,t+.01),i.gain.exponentialRampToValueAtTime(1e-4,t+.5),i.connect(e.destination);let o=e.createOscillator();o.type="square",o.frequency.setValueAtTime(988,t),o.frequency.setValueAtTime(1319,t+.08),o.connect(i),o.start(t),o.stop(t+.5)}catch{}}playChaChing(){if(!(!this.soundEnabled||!this.audioCtx))try{let e=this.audioCtx,t=e.currentTime,i=(o,p)=>{let u=e.createOscillator(),b=e.createGain();u.type="triangle",u.frequency.setValueAtTime(p,o),b.gain.setValueAtTime(1e-4,o),b.gain.exponentialRampToValueAtTime(.32,o+.01),b.gain.exponentialRampToValueAtTime(1e-4,o+.38),u.connect(b),b.connect(e.destination),u.start(o),u.stop(o+.42)};i(t,1046),i(t+.12,1568)}catch{}}toggleDarkMode(){this.darkMode=!this.darkMode,this.storage.setItem("admin_wall_dark",String(this.darkMode)),this.snapshot&&this.buildSnapshotCharts(this.snapshot),this.realtime&&this.buildRealtimeChart(this.realtime)}
7toggleSound(){this.soundEnabled=!this.soundEnabled,this.storage.setItem("admin_wall_sound",String(this.soundEnabled)),this.soundEnabled&&this.unlockAudio()}toggleFullscreen(){typeof document>"u"||(document.fullscreenElement?(document.exitFullscreen().catch(()=>{}),this.isFullscreen=!1):(document.documentElement.requestFullscreen().catch(()=>{}),this.isFullscreen=!0))}zoomIn(){this.zoomLevel=Math.min(150,this.zoomLevel+10),this.storage.setItem("admin_wall_zoom",String(this.zoomLevel))}zoomOut(){this.zoomLevel=Math.max(50,this.zoomLevel-10),this.storage.setItem("admin_wall_zoom",String(this.zoomLevel))}shortDate(e){let[,t,i]=e.split("-");return`${i}/${t}`}compact(e){let t=e||0;return t>=1e6?(t/1e6).toFixed(1).replace(".0","").replace(".",",")+"M":t>=1e3?(t/1e3).toFixed(1).replace(".0","").replace(".",",")+"k":String(t)}platformLabel(e){return{ios:"iOS",android:"Android",web:"Web",unknown:"Inconnu"}[(e||"").toLowerCase()]||"Inconnu"}platformShort(e){return{apple:"Apple",google:"Play",web:"Web"}[(e||"").toLowerCase()]||e||""}timeAgo(e){if(!e)return"";let t=new Date(e).getTime();if(isNaN(t))return"";let i=Math.max(0,Math.floor((Date.now()-t)/1e3));if(i<60)return`il y a ${i} s`;let o=Math.floor(i/60);if(o<60)return`il y a ${o} min`;let p=Math.floor(o/60);return p<24?`il y a ${p} h`:`il y a ${Math.floor(p/24)} j`}countryIcon(e){return e==="__other"?"\u{1F30D}":this.flagEmoji(e)}flagEmoji(e){if(!e||e.length!==2)return"\u{1F3F3}\uFE0F";let t=e.toUpperCase();if(!/^[A-Z]{2}$/.test(t))return"\u{1F3F3}\uFE0F";let i=127462;return String.fromCodePoint(i+t.charCodeAt(0)-65)+String.fromCodePoint(i+t.charCodeAt(1)-65)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=q({type:n,selectors:[["app-view-admin-stats-wall"]],hostBindings:function(t,i){t&1&&k("click",function(){return i.onAnyClick()},!1,H)},decls:30,vars:21,consts:[[1,"wall"],[1,"wall-toast"],[1,"wall-toolbar"],[1,"wall-toolbar__left"],["href","/admin","title","Hou.la Admin",1,"wall-logo"],["src","assets/images/hou.la-logo-light.svg","alt","Hou.la",1,"wall-logo__img"],[1,"wall-title"],[1,"wall-indicator"],[1,"wall-dot"],[1,"wall-source"],[1,"wall-toolbar__right"],["pTooltip","Cliquez n'importe o\xF9 pour activer le son","tooltipPosition","bottom",1,"wall-hint"],["type","button","pTooltip","Son (plop nouveaux comptes)","tooltipPosition","bottom",1,"toolbar-btn",3,"click"],[1,"pi"],[1,"toolbar-zoom"],["type","button",1,"toolbar-btn",3,"click"],[1,"pi","pi-minus",2,"font-size","12px"],[1,"toolbar-zoom__value"],[1,"pi","pi-plus",2,"font-size","12px"],["type","button","pTooltip","Mode sombre / clair","tooltipPosition","bottom",1,"toolbar-btn",3,"click"],["type","button","pTooltip","Plein \xE9cran","tooltipPosition","bottom",1,"toolbar-btn",3,"click"],[1,"wall-loading"],[1,"wall-error"],[1,"wall-content",3,"fontSize"],[1,"wall-toast",3,"click"],[1,"pi","pi-user-plus","wall-toast__icon"],[1,"wall-toast__body"],[1,"wall-toast__title"],[1,"wall-toast__name"],[1,"wall-toast__chip"],[1,"pi","pi-volume-up"],[1,"pi","pi-exclamation-triangle"],[1,"wall-content"],[1,"wall-kpis"],[1,"wall-kpi","wall-kpi--accent"],[1,"wall-kpi__value"],[1,"wall-kpi__label"],[1,"wall-kpi"],[1,"wall-kpi","wall-kpi--live"],[1,"wall-kpi__pulse"],[1,"wall-grid"],[1,"wall-card","wall-card--wide"],[1,"wall-card__head"],[1,"pi","pi-arrow-up-right"],[1,"wall-card__chart"],["type","line",3,"data","options"],[1,"wall-card"],[1,"pi","pi-bolt"],["type","bar",3,"data","options"],[1,"pi","pi-mobile"],["type","doughnut",3,"data","options"],[1,"wall-empty"],[1,"pi","pi-globe"],[1,"pi","pi-shield"],[1,"wall-card__tag"],[1,"pi","pi-calendar"],[1,"wall-card","wall-card--feed"],[1,"pi","pi-shopping-bag"],[1,"wall-split"],[1,"wall-split__col"],[1,"wall-split__title"],[1,"pi","pi-shopping-cart"],[1,"wall-feed"],[1,"wall-feed__row"],[1,"pi","pi-wallet"],[1,"pi","pi-star"],[1,"pi","pi-user-plus"],[1,"pi","pi-chart-line"],["title","Rotation",1,"wall-card__rotate"],[1,"pi","pi-euro"],[1,"wall-order__amount"],["pTooltip","Paiement sur panier ouvert","tooltipPosition","top",1,"wall-order__cart"],["pTooltip","Dont frais de port","tooltipPosition","top",1,"wall-order__ship"],[1,"wall-feed__name"],[1,"wall-feed__time"],[1,"pi","pi-truck"],[1,"wall-order__pf"],["alt","",1,"wall-feed__avatar-img",3,"src"],[1,"pi","pi-user","wall-feed__avatar"],["pTooltip","Interactions (30 j) \u2014 likes + commentaires + vues","tooltipPosition","top",1,"wall-creator__stat","wall-creator__stat--engagement"],["pTooltip","Abonn\xE9s","tooltipPosition","top",1,"wall-creator__stat"],[1,"pi","pi-users"],["pTooltip","Vues","tooltipPosition","top",1,"wall-creator__stat"],[1,"pi","pi-eye"],["pTooltip","Contenus","tooltipPosition","top",1,"wall-creator__stat"],[1,"pi","pi-video"],[1,"wall-feed__flag",3,"pTooltip"],[1,"wall-feed__chip"]],template:function(t,i){t&1&&(a(0,"div",0),_(1,_e,9,3,"div",1),a(2,"header",2)(3,"div",3)(4,"a",4),c(5,"img",5),l(),a(6,"span",6),s(7,"Audience"),l(),a(8,"span",7),c(9,"span",8),s(10," LIVE "),l(),_(11,xe,2,1,"span",9),l(),a(12,"div",10),_(13,we,3,0,"span",11),a(14,"button",12),k("click",function(){return i.toggleSound()}),c(15,"i",13),l(),a(16,"div",14)(17,"button",15),k("click",function(){return i.zoomOut()}),c(18,"i",16),l(),a(19,"span",17),s(20),l(),a(21,"button",15),k("click",function(){return i.zoomIn()}),c(22,"i",18),l()(),a(23,"button",19),k("click",function(){return i.toggleDarkMode()}),c(24,"i",13),l(),a(25,"button",20),k("click",function(){return i.toggleFullscreen()}),c(26,"i",13),l()()(),_(27,ve,2,0,"div",21)(28,be,4,1,"div",22)(29,qe,140,44,"div",23),l()),t&2&&(S("wall--dark",i.darkMode),r(),f(i.toastSignup?1:-1),r(10),f(i.realtime?11:-1),r(2),f(!i.soundUnlocked&&i.soundEnabled?13:-1),r(),S("toolbar-btn--off",!i.soundEnabled),r(),S("pi-volume-up",i.soundEnabled)("pi-volume-off",!i.soundEnabled),r(5),h("",i.zoomLevel,"%"),r(4),S("pi-moon",!i.darkMode)("pi-sun",i.darkMode),r(2),S("pi-window-maximize",!i.isFullscreen)("pi-window-minimize",i.isFullscreen),r(),f(i.loading?27:i.error?28:i.snapshot?29:-1))}
7,dependencies:[Y,X,oe,ae,ne,te,ie],styles:[".wall[_ngcontent-%COMP%]{--wall-bg: #f1f5f9;--wall-surface: #ffffff;--wall-border: #e2e8f0;--wall-text: #1e293b;--wall-text-secondary: #64748b;--wall-text-muted: #94a3b8;--wall-accent: #2f8eef;--wall-success: #10b981;--wall-toolbar-bg: #1e293b;--wall-shadow: 0 1px 3px rgba(0, 0, 0, .08);--wall-kpi-highlight: rgba(47, 142, 239, .08);position:fixed;inset:0;width:100vw;height:100vh;background:var(--wall-bg);color:var(--wall-text);display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;z-index:9999}.wall--dark[_ngcontent-%COMP%]{--wall-bg: #0f172a;--wall-surface: #1e293b;--wall-border: #334155;--wall-text: #f1f5f9;--wall-text-secondary: #94a3b8;--wall-text-muted: #64748b;--wall-toolbar-bg: #020617;--wall-shadow: 0 1px 3px rgba(0, 0, 0, .3);--wall-kpi-highlight: rgba(47, 142, 239, .18)}.wall-toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;background:var(--wall-toolbar-bg);color:#f8fafc;padding:0 16px;height:44px;min-height:44px;gap:12px;z-index:10}.wall-toolbar__left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex-shrink:0}.wall-toolbar__right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;flex-shrink:0}.wall-logo[_ngcontent-%COMP%]{display:flex;align-items:center;text-decoration:none}.wall-logo__img[_ngcontent-%COMP%]{height:16px;width:auto;opacity:.9}.wall-title[_ngcontent-%COMP%]{font-size:14px;font-weight:700;letter-spacing:.5px;color:#f1f5f9}.wall-indicator[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;letter-spacing:1px;color:#ef4444}.wall-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:_ngcontent-%COMP%_wall-pulse 1.5s ease-in-out infinite}.wall-source[_ngcontent-%COMP%]{font-size:11px;color:#94a3b8;background:#ffffff0f;padding:3px 8px;border-radius:6px}.wall-hint[_ngcontent-%COMP%]{font-size:11px;color:#fbbf24;background:#fbbf241f;padding:4px 9px;border-radius:6px;margin-right:6px;cursor:default;white-space:nowrap}@keyframes _ngcontent-%COMP%_wall-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.toolbar-btn[_ngcontent-%COMP%]{background:transparent;border:none;color:#94a3b8;font-size:16px;cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.toolbar-btn[_ngcontent-%COMP%]:hover{background:#ffffff1a;color:#f8fafc}.toolbar-btn--off[_ngcontent-%COMP%]{opacity:.4}.toolbar-zoom[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;background:#ffffff0f;border-radius:8px;padding:0 2px;margin:0 4px}.toolbar-zoom__value[_ngcontent-%COMP%]{font-size:11px;color:#94a3b8;min-width:36px;text-align:center;-webkit-user-select:none;user-select:none}.wall-loading[_ngcontent-%COMP%], .wall-error[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--wall-text-secondary)}.wall-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ef4444;font-size:20px}.wall-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:hidden}.wall-kpis[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;flex-shrink:0}.wall-kpi[_ngcontent-%COMP%]{background:var(--wall-surface);border:1px solid var(--wall-border);border-radius:12px;box-shadow:var(--wall-shadow);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.wall-kpi__value[_ngcontent-%COMP%]{font-size:1.7em;font-weight:800;line-height:1;color:var(--wall-text);display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.wall-kpi__label[_ngcontent-%COMP%]{font-size:.9em;font-weight:500;color:var(--wall-text-muted);text-transform:uppercase;letter-spacing:.5px}.wall-kpi--accent[_ngcontent-%COMP%]{background:linear-gradient(135deg,#2f8eef,#1e6fd0);border-color:transparent}.wall-kpi--accent[_ngcontent-%COMP%] .wall-kpi__value[_ngcontent-%COMP%], .wall-k
7pi--accent[_ngcontent-%COMP%] .wall-kpi__label[_ngcontent-%COMP%]{color:#fff}.wall-kpi--accent[_ngcontent-%COMP%] .wall-kpi__label[_ngcontent-%COMP%]{color:#ffffffd9}.wall-kpi--live[_ngcontent-%COMP%] .wall-kpi__value[_ngcontent-%COMP%]{color:var(--wall-success)}.wall-kpi__pulse[_ngcontent-%COMP%]{width:12px;height:12px;border-radius:50%;background:var(--wall-success);box-shadow:0 0 #10b98180;animation:_ngcontent-%COMP%_wall-live-pulse 1.6s infinite}@keyframes _ngcontent-%COMP%_wall-live-pulse{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.wall-grid[_ngcontent-%COMP%]{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);gap:12px;min-height:0}.wall-card[_ngcontent-%COMP%]{background:var(--wall-surface);border:1px solid var(--wall-border);border-radius:12px;box-shadow:var(--wall-shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}.wall-card--wide[_ngcontent-%COMP%]{grid-column:span 2}.wall-card--feed[_ngcontent-%COMP%]{grid-column:span 1}.wall-card__head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.95em;font-weight:700;color:var(--wall-text);border-bottom:1px solid var(--wall-border);flex-shrink:0}.wall-card__head[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--wall-accent);font-size:1em}.wall-card__chart[_ngcontent-%COMP%]{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;padding:12px;display:flex;flex-direction:column}.wall-card__chart[_ngcontent-%COMP%] p-chart[_ngcontent-%COMP%]{display:block!important;flex:1;position:relative!important;min-height:0;width:100%!important}.wall-card__chart[_ngcontent-%COMP%] p-chart[_ngcontent-%COMP%] >div{position:absolute!important;inset:0;width:100%!important;height:100%!important}.wall-card__chart[_ngcontent-%COMP%] p-chart[_ngcontent-%COMP%] canvas{width:100%!important;height:100%!important}.wall-empty[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;justify-content:center;color:var(--wall-text-muted);font-size:.9em}.wall-feed[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px}.wall-feed__row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--wall-kpi-highlight)}.wall-feed__avatar[_ngcontent-%COMP%]{color:var(--wall-accent);font-size:.95em;width:22px;text-align:center;flex-shrink:0}.wall-feed__avatar-img[_ngcontent-%COMP%]{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--wall-border)}.wall-feed__name[_ngcontent-%COMP%]{flex:1;font-size:.92em;font-weight:600;color:var(--wall-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-feed__flag[_ngcontent-%COMP%]{font-size:1.05em;line-height:1;flex-shrink:0}.wall-feed__time[_ngcontent-%COMP%]{font-size:.7em;color:var(--wall-text-muted);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.wall-feed__chip[_ngcontent-%COMP%]{font-size:.72em;font-weight:700;padding:2px 7px;border-radius:6px;flex-shrink:0;background:#6366f129;color:#818cf8}.wall-feed__chip--ios[_ngcontent-%COMP%]{background:#0ea5e929;color:#38bdf8}.wall-feed__chip--android[_ngcontent-%COMP%]{background:#10b98129;color:#34d399}.wall-creator__stat[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:3px;font-size:.74em;font-weight:600;color:var(--wall-text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.wall-creator__stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9em;opacity:.7}.wall-split[_ngcontent-%COMP%]{display:flex;flex:1;min-height:0;gap:0}.wall-split__col[_ngcontent-%COMP%]{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;min-height:0}.wall-split__col[_ngcontent-%COMP%]:first-child{border-right:1px solid var(--wall-border, rgba(255, 255, 255, .08));padding-right:12px}.wall-split__col[_ngcontent-%COMP%]:last-child{padding-left:12px}.wall-split__title[_ngcontent-%COMP%]{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--wall-text-secondary);margin-bottom:6px;display:flex;align-items:center;gap:5px}.wall-split__title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9em;opacity:.8}.wall-order__pf[_ngcontent-%COMP%]{flex-shrink:0;font-size:.64em;font-weight:700;padding:1px 5px;border-radius:5px;background:var(--wall-border, rgba(255, 255, 255, .1));color:var(--wall-text-secondary)}.wall-order__pf--apple[_ngcontent-%COMP%]{background:#ffffff24;color:#e5e7eb}.wall-order__pf--google[_ngcontent-%COMP%]{background:#10b9812e;color:#10b981}.wall-card__tag[_ngcontent-%COMP%]{margin-left:auto;font-size:.72em;font-weight:700;color:var(--wall-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.wall-creator__stat--engagement[_ngcontent-%COMP%]{color:var(--wall-accent, #2f8eef);font-weight:800}.wall-creator__stat--engagement[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{opacity:1}
7.wall-order__amount[_ngcontent-%COMP%]{font-size:.95em;font-weight:800;color:var(--wall-success);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;min-width:70px}.wall-order__ship[_ngcontent-%COMP%]{flex-shrink:0;display:inline-flex;align-items:center;gap:3px;font-size:.66em;font-weight:700;padding:1px 5px;border-radius:5px;background:#f59e0b29;color:#f59e0b;font-variant-numeric:tabular-nums;white-space:nowrap}.wall-order__ship[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9em}.wall-order__cart[_ngcontent-%COMP%]{flex-shrink:0;display:inline-flex;align-items:center;font-size:.66em;padding:1px 5px;border-radius:5px;background:#2f8eef2e;color:#2f8eef}.wall-order__cart[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9em}.wall-card__rotate[_ngcontent-%COMP%]{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--wall-accent, #2f8eef);opacity:.65;animation:_ngcontent-%COMP%_wall-rotate-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes _ngcontent-%COMP%_wall-rotate-pulse{0%,to{opacity:.25}50%{opacity:.8}}.wall-toast[_ngcontent-%COMP%]{position:absolute;top:56px;right:16px;z-index:50;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#2f8eef,#1e6fd0);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 10px 30px #0000004d;cursor:pointer;animation:_ngcontent-%COMP%_wall-toast-in .35s cubic-bezier(.16,1,.3,1);max-width:320px}.wall-toast__icon[_ngcontent-%COMP%]{font-size:22px}.wall-toast__title[_ngcontent-%COMP%]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.wall-toast__name[_ngcontent-%COMP%]{font-size:15px;font-weight:800;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wall-toast__chip[_ngcontent-%COMP%]{font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;background:#ffffff38}@keyframes _ngcontent-%COMP%_wall-toast-in{0%{opacity:0;transform:translate(30px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-aspect-ratio: 1/1),(max-width: 1100px){.wall-kpis[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}.wall-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}.wall-card--wide[_ngcontent-%COMP%]{grid-column:span 2}}.wall-feed__flag[_ngcontent-%COMP%]{font-family:Twemoji Country Flags,Inter,system-ui,-apple-system,sans-serif}"]})};export{de as ViewAdminStatsWallComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.