PageSourceSearch

https://hou.la/chunk-YUVGHMLK.js

js hou.la collected 2026-10-02 15:58:40 UTC 53,967 bytes, 2 lines download raw bytes

1import{a as De}from"./chunk-26XLPZOC.js";import{a as Te}from"./chunk-QB77CW57.js";import"./chunk-MYC5JTVS.js";import{b as Ie}from"./chunk-SLWPYULI.js";import"./chunk-7KPSWP4B.js";import"./chunk-S2LG7ZZI.js";import{a as ye}from"./chunk-66YEL2AC.js";import"./chunk-S6TTBGGW.js";import{a as be}from"./chunk-HSIZWO7V.js";import"./chunk-FJ72TNAF.js";import{a as xe,b as z}from"./chunk-LKSO5KD5.js";import{a as ke}from"./chunk-UKMV2C3M.js";import"./chunk-K743QFEH.js";import"./chunk-GMMLNK5I.js";import"./chunk-SWDVUH47.js";import"./chunk-R6UHQ2L4.js";import"./chunk-NMYOKXK2.js";import"./chunk-GW2HFBUG.js";import"./chunk-6S5SATLI.js";import"./chunk-53QTIXFR.js";import"./chunk-4QSLM5BF.js";import"./chunk-6KF7XEC7.js";import"./chunk-RPDGXIQT.js";import"./chunk-RFHORXFH.js";import"./chunk-44BDWJO3.js";import"./chunk-YPSMJDVJ.js";import"./chunk-F6HJUGGY.js";import"./chunk-W6FQLWKF.js";import"./chunk-6MXSXX3N.js";import"./chunk-MT62CIDI.js";import"./chunk-SFNFCOZS.js";import"./chunk-BXNQRMY5.js";import"./chunk-RFCDL6VX.js";import"./chunk-JJGEVTON.js";import"./chunk-25TT7GVM.js";import"./chunk-K2BDEELT.js";import{b as Se}from"./chunk-HOBTJYQI.js";import"./chunk-XWDSR7V3.js";import"./chunk-VV34F7XC.js";import"./chunk-Y7FJXXIW.js";import{c as Ce,d as W}from"./chunk-ICHHVHZA.js";import"./chunk-FRZHUY6N.js";import"./chunk-OAED5FIG.js";import{a as j,b as K}from"./chunk-P37GQ53N.js";import"./chunk-NZ226J7R.js";import"./chunk-7EBKYMB6.js";import"./chunk-YK3HMHC4.js";import"./chunk-2DRXLVRR.js";import{b as he}from"./chunk-OFHUO5H7.js";import"./chunk-M3XSAKW4.js";import"./chunk-H76LZNGX.js";import"./chunk-PGR2NPNS.js";import"./chunk-OZD37XM5.js";import"./chunk-DLIVM562.js";import"./chunk-CV2ZWZQE.js";import"./chunk-AVEXXPAT.js";import{ja as ue}from"./chunk-FHU4TM37.js";import{e as ve}from"./chunk-32B64V2R.js";import"./chunk-3XLVKQRY.js";import"./chunk-DJ5AJG3T.js";import{b as ge}from"./chunk-SLPC3Y4V.js";import"./chunk-XIRWNEM2.js";import"./chunk-AAORKXGN.js";import"./chunk-KDGXQRVY.js";import"./chunk-DLKM2IVF.js";import{a as Me}from"./chunk-UUEFXD6N.js";import"./chunk-Q2KKZV5J.js";import{a as _e}from"./chunk-JICM7NVH.js";import{a as fe}from"./chunk-BD6EMWWF.js";import{a as G}from"./chunk-AB6CKZTE.js";import{d as U,e as $}from"./chunk-DIGPPQJE.js";import{o as de,r as pe,s as ce,x as me}from"./chunk-EU6HCBUP.js";import{c as H,h as ne}from"./chunk-KAJMKXZ6.js";import{A as se,D as V,j as ae,l as re,m as B,w as oe,x as le}from"./chunk-ZAQTNZYS.js";import"./chunk-SRTXE2HR.js";import{Jb as o,Jc as ie,Kb as M,Lb as E,Lc as O,Mb as te,Nb as L,Rb as A,Uc as d,Vc as m,Wb as a,Wc as b,Xb as r,Yb as g,Z as Q,_a as N,ac as T,ca as J,db as n,gc as y,hc as c,ib as k,ka as X,la as S,ma as C,p as w,sb as F,uc as s,vc as u,wa as ee,wc as v,xc as P,yb as p}from"./chunk-NTTV6FWH.js";import{g as h}from"./chunk-W7GRJBO5.js";var q=class t{constructor(i,e){this.http=i;this.storage=e}apiEndpoint=G.api+"/api/hit";getHourlyStats(i,e="24h"){return h(this,null,function*(){let l=new H().set("period",e);return w(this.http.get(`${this.apiEndpoint}/hourly/${i}`,{params:l}))})}downloadExport(i,e="csv"){return h(this,null,function*(){let l=this.storage.getItem(ve),_=new H().set("format",e);try{let f=yield w(this.http.get(`${this.apiEndpoint}/export/${i}`,{params:_,responseType:"blob",headers:{Authorization:`Bearer ${l}`}})),D=new Blob([f],{type:e==="csv"?"text/csv":"application/json"}),I=window.URL.createObjectURL(D),x=document.createElement("a");x.href=I,x.download=`stats-${i}.${e}`,document.body.appendChild(x),x.click(),document.body.removeChild(x),window.URL.revokeObjectURL(I)}catch(f){console.error("Erreur lors de l'export:",f)}})}getExportData(i,e="json"){return h(this,null,function*(){let l=new H().set("format",e);return w(this.http.get(`${this.apiEndpoint}/export/${i}`,{params:l,responseType:e==="csv"?"text":"json"}))})}getDetailedStats(i,e=30){return h(this,null,function*(){let l=new H().set("days",e.toString());return w(this.http.get(`${this.apiEndpoint}/detailed/${i}`,{params:l}))})}static \u0275fac=function(e){return new(e||t)(J(ne),J(ge))};static \u0275prov=Q({token:t,factory:t.\u0275fac,providedIn:"root"})};var Z=t=>({"border-top":t});function Re(t,i){if(t&1&&(a(0,"div",26)(1,"span",27),d(2,"translate"),g(3,"span",28),a(4,"span"),s(5,"LIVE"),r()(),a(6,"span",29),d(7,"translate"),g(8,"i",30),a(9,"span"),s(10),d(11,"number"),r()(),a(12,"span",31),d(13,"translate"),g(14,"i",32),a(15,"span"),s(16),d(17,"number"),r()()()),t&2){let e=c(2);n(),o("pTooltip",m(2,5,"MANAGER.STATS.LIVE_TOOLTIP")),n(5),o("pTooltip",m(7,7,"MANAGER.STATS.CLICKS_PERIOD")),n(4),u(m(11,9,e.periodTotalClicks)),n(2),o("pTooltip",m(13,11,"MANAGER.STATS.QR_FLASHS_PERIOD")),n(4),u(m(17,13,e.periodTotalFlashs))}}function Ne(t,i){if(t&1){let e=T();a(0,"button",35),y("click",function(){let _=S(e).$implicit,f=c(3);return f.selectedDailyPeriod=_.value,C(f.onDailyPeriodChange())}),s(1),r()}if(t&2){let e=i.$implicit,l=c(3);E("active",l.selectedDailyPeriod===e.value),n(),v(" ",e.label," ")}}function Fe(t,i){if(t&1&&(a(0,"div",33),p(1,Ne,2,3,"button",34),r()),t&2){let e=c(2);n(),o("ngForOf",e.dailyPeriodOptions)}}function Be(t,i){if(t&1){let e=T();a(0,"button",35),y("click",function(){let _=S(e).$implicit,f=c(3);return f.selectedHourlyPeriod=_.value,C(f.onHourlyPeriodChange())}),s(1),r()}if(t&2){let e=i.$implicit,l=c(3);E("active",l.selectedHourlyPeriod===e.value),n(),v(" ",e.label," ")}}function Ve(t,i){if(t&1&&(a(0,"div",33),p(1,Be,2,3,"button",34),r()),t&2){let e=c(2);n(),o("ngForOf",e.hourlyPeriodOptions)}}function Ge(t,i){if(t&1&&(a(0,"span",36),d(1,"translate"),g(2,"i",37),a(3,"span"),s(4),d(5,"number"),r()()),t&2){let e=c(2);o("pTooltip",m(1,2,"MANAGER.STATS.UNIQUE_VISITORS")),n(4),u(m(5,4,e.totalUniqueVisitors))}}function Ue(t,i){if(t&1){let e=T();
1a(0,"div",10)(1,"div",11)(2,"span",12),g(3,"i",13),s(4),d(5,"translate"),r(),p(6,Re,18,15,"div",14),r(),a(7,"div",15)(8,"div",16)(9,"div",17)(10,"button",18),y("click",function(){S(e);let _=c();return C(_.switchView("daily"))}),g(11,"i",19),a(12,"span"),s(13),d(14,"translate"),r()(),a(15,"button",18),y("click",function(){S(e);let _=c();return C(_.switchView("hourly"))}),g(16,"i",20),a(17,"span"),s(18),d(19,"translate"),r()()(),p(20,Fe,2,1,"div",21)(21,Ve,2,1,"div",21),r(),a(22,"div",22),p(23,Ge,6,6,"span",23),a(24,"button",24),d(25,"translate"),y("click",function(){S(e);let _=c();return C(_.exportCSV())}),g(26,"i",25),r()()()()}if(t&2){let e=c();n(4),v(" ",m(5,12,"MANAGER.STATS.TITLE")," "),n(2),o("ngIf",e.link),n(4),E("active",e.viewMode==="daily"),n(3),u(m(14,14,"MANAGER.STATS.DAY")),n(2),E("active",e.viewMode==="hourly"),n(3),u(m(19,16,"MANAGER.STATS.HOUR")),n(2),o("ngIf",e.viewMode==="daily"),n(),o("ngIf",e.viewMode==="hourly"),n(2),o("ngIf",e.viewMode==="hourly"&&e.totalUniqueVisitors>0),n(),o("pTooltip",m(25,18,"MANAGER.STATS.EXPORT_CSV"))}}function $e(t,i){t&1&&(a(0,"div",38),g(1,"i",39),r())}function je(t,i){t&1&&(a(0,"div",40)(1,"div",41),s(2),d(3,"translate"),r()()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.NO_DATA")," "))}function Ke(t,i){if(t&1&&(a(0,"div",42),g(1,"app-widget-chart",43),r()),t&2){let e=c();n(),o("tooltip",!0)("responsive",!0)("data",e.data)}}function ze(t,i){t&1&&(a(0,"div",44),g(1,"i",39),r())}function We(t,i){t&1&&(a(0,"span",12),g(1,"i",55),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.COUNTRIES")," "))}function qe(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function Ye(t,i){if(t&1&&g(0,"span",63),t&2){let e=c().$implicit;o("ngClass","fp-"+e.name.toLowerCase())}}function Ze(t,i){t&1&&(a(0,"span"),s(1,"\u{1F30D}"),r())}function Je(t,i){if(t&1&&(a(0,"div",57)(1,"div",58),p(2,Ye,1,1,"span",59)(3,Ze,2,0,"span",7),r(),a(4,"div",60),s(5),d(6,"translate"),r(),a(7,"div",61),s(8),d(9,"number"),r(),a(10,"div",62),s(11),r()()),t&2){let e=i.$implicit,l=i.first;o("ngClass",O(11,Z,!l)),n(2),o("ngIf",e.name&&e.name.length===2),n(),o("ngIf",!e.name||e.name.length!==2),n(2),u(e.name||m(6,6,"MANAGER.STATS.UNKNOWN")),n(3),v("",b(9,8,e.percentage,"1.0-0"),"%"),n(3),u(e.count)}}function Qe(t,i){t&1&&(a(0,"span",12),g(1,"i",64),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.CITIES")," "))}function Xe(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function et(t,i){if(t&1&&g(0,"span",63),t&2){let e=c().$implicit;o("ngClass","fp-"+e.country.toLowerCase())}}function tt(t,i){t&1&&(a(0,"span"),s(1,"\u{1F30D}"),r())}function it(t,i){if(t&1&&(a(0,"div",57)(1,"div",58),p(2,et,1,1,"span",59)(3,tt,2,0,"span",7),r(),a(4,"div",60),s(5),d(6,"translate"),r(),a(7,"div",61),s(8),d(9,"number"),r(),a(10,"div",62),s(11),r()()),t&2){let e=i.$implicit,l=i.first;o("ngClass",O(11,Z,!l)),n(2),o("ngIf",e.country&&e.country.length===2),n(),o("ngIf",!e.country||e.country.length!==2),n(2),u(e.name||m(6,6,"MANAGER.STATS.UNKNOWN")),n(3),v("",b(9,8,e.percentage,"1.0-0"),"%"),n(3),u(e.count)}}function nt(t,i){t&1&&(a(0,"span",12),g(1,"i",65),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.REFERRERS")," "))}function at(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function rt(t,i){if(t&1&&g(0,"i",70),t&2){let e=c().$implicit,l=c(2);o("ngClass",l.expandedReferrer===e.name?"pi-chevron-down":"pi-chevron-right")}}function ot(t,i){t&1&&(a(0,"span"),s(1,"\u{1F517}"),r())}function lt(t,i){if(t&1){let e=T();a(0,"div",73)(1,"div",58),s(2,"\u{1F4C4}"),r(),a(3,"div",60)(4,"a",74),y("click",function(_){return S(e),C(_.stopPropagation())}),s(5),r()(),a(6,"div",61),s(7),d(8,"number"),r(),a(9,"div",62),s(10),r()()}if(t&2){let e=i.$implicit;n(4),o("href",e.name,N)("title",e.name),n(),u(e.name),n(2),v("",b(8,5,e.percentage,"1.0-0"),"%"),n(3),u(e.count)}}function st(t,i){if(t&1&&(a(0,"div",71),p(1,lt,11,8,"div",72),r()),t&2){let e=c().$implicit,l=c(2);n(),o("ngForOf",l.getReferrerUrls(e.name))}}function dt(t,i){if(t&1){let e=T();a(0,"div")(1,"div",66),y("click",function(){let _=S(e).$implicit,f=c(2);return C(f.hasReferrerUrls(_.name)&&f.toggleReferrer(_.name))}),a(2,"div",58),p(3,rt,1,1,"i",67)(4,ot,2,0,"span",7),r(),a(5,"div",68),s(6),d(7,"translate"),r(),a(8,"div",61),s(9),d(10,"number"),r(),a(11,"div",62),s(12),r()(),p(13,st,2,1,"div",69),r()}if(t&2){let e=i.$implicit,l=i.first,_=c(2);n(),E("cursor-pointer",_.hasReferrerUrls(e.name))("bg-light",_.expandedReferrer===e.name),o("ngClass",O(17,Z,!l)),n(2),o("ngIf",_.hasReferrerUrls(e.name)),n(),o("ngIf",!_.hasReferrerUrls(e.name)),n(),o("title",e.name),n(),u(e.name||m(7,12,"MANAGER.STATS.DIRECT")),n(3),v("",b(10,14,e.percentage,"1.0-0"),"%"),n(3),u(e.count),n(),o("ngIf",_.expandedReferrer===e.name)}}function pt(t,i){t&1&&(a(0,"span",12),g(1,"i",75),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.BROWSERS")," "))}function ct(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function mt(t,i){if(t&1&&(a(0,"div",80),g(1,"app-widget-chart",81),r()),t&2){let e=c(3);
1n(),o("tooltip",!0)("responsive",!0)("data",e.browsersChartData)}}function gt(t,i){if(t&1&&(a(0,"div",82),g(1,"span",83),a(2,"span",84),s(3),d(4,"translate"),r(),a(5,"span",85),s(6),d(7,"number"),r()()),t&2){let e=i.$implicit,l=i.index,_=c(3);n(),M("background",_.chartColors[l%_.chartColors.length]),n(2),u(e.name||m(4,4,"MANAGER.STATS.UNKNOWN")),n(3),v("",b(7,6,e.percentage,"1.0-0"),"%")}}function _t(t,i){if(t&1&&(a(0,"div",76),p(1,mt,2,3,"div",77),a(2,"div",78),p(3,gt,8,9,"div",79),r()()),t&2){let e=c(2);n(),o("ngIf",e.browsersChartData),n(2),o("ngForOf",e.detailedStats.topBrowsers)}}function vt(t,i){t&1&&(a(0,"span",12),g(1,"i",86),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.DEVICES")," "))}function ut(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function ft(t,i){if(t&1&&(a(0,"div",80),g(1,"app-widget-chart",81),r()),t&2){let e=c(3);n(),o("tooltip",!0)("responsive",!0)("data",e.devicesChartData)}}function ht(t,i){if(t&1&&(a(0,"div",82),g(1,"span",83),a(2,"span",84),s(3),d(4,"translate"),d(5,"translate"),d(6,"translate"),r(),a(7,"span",85),s(8),d(9,"number"),r()()),t&2){let e=i.$implicit,l=i.index,_=c(3);n(),M("background",_.chartColors[l%_.chartColors.length]),n(2),v(" ",e.name==="mobile"?m(4,4,"MANAGER.STATS.MOBILE"):e.name==="tablet"?m(5,6,"MANAGER.STATS.TABLET"):m(6,8,"MANAGER.STATS.DESKTOP")," "),n(5),v("",b(9,10,e.percentage,"1.0-0"),"%")}}function xt(t,i){if(t&1&&(a(0,"div",76),p(1,ft,2,3,"div",77),a(2,"div",78),p(3,ht,10,13,"div",79),r()()),t&2){let e=c(2);n(),o("ngIf",e.devicesChartData),n(2),o("ngForOf",e.detailedStats.topDevices)}}function St(t,i){t&1&&(a(0,"span",12),g(1,"i",87),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.OS")," "))}function Ct(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function yt(t,i){if(t&1&&(a(0,"div",80),g(1,"app-widget-chart",81),r()),t&2){let e=c(3);n(),o("tooltip",!0)("responsive",!0)("data",e.osChartData)}}function bt(t,i){if(t&1&&(a(0,"div",82),g(1,"span",83),a(2,"span",84),s(3),d(4,"translate"),r(),a(5,"span",85),s(6),d(7,"number"),r()()),t&2){let e=i.$implicit,l=i.index,_=c(3);n(),M("background",_.chartColors[l%_.chartColors.length]),n(2),u(e.name||m(4,4,"MANAGER.STATS.UNKNOWN")),n(3),v("",b(7,6,e.percentage,"1.0-0"),"%")}}function kt(t,i){if(t&1&&(a(0,"div",76),p(1,yt,2,3,"div",77),a(2,"div",78),p(3,bt,8,9,"div",79),r()()),t&2){let e=c(2);n(),o("ngIf",e.osChartData),n(2),o("ngForOf",e.detailedStats.topOS)}}function Dt(t,i){t&1&&(a(0,"span",12),g(1,"i",88),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.LANGUAGES")," "))}function Tt(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function It(t,i){if(t&1&&(a(0,"div",80),g(1,"app-widget-chart",81),r()),t&2){let e=c(3);n(),o("tooltip",!0)("responsive",!0)("data",e.languagesChartData)}}function Mt(t,i){if(t&1&&(a(0,"div",82),g(1,"span",83),a(2,"span",84),s(3),d(4,"translate"),r(),a(5,"span",85),s(6),d(7,"number"),r()()),t&2){let e=i.$implicit,l=i.index,_=c(3);n(),M("background",_.chartColors[l%_.chartColors.length]),n(2),u(e.name||m(4,4,"MANAGER.STATS.UNKNOWN")),n(3),v("",b(7,6,e.percentage,"1.0-0"),"%")}}function Et(t,i){if(t&1&&(a(0,"div",76),p(1,It,2,3,"div",77),a(2,"div",78),p(3,Mt,8,9,"div",79),r()()),t&2){let e=c(2);n(),o("ngIf",e.languagesChartData),n(2),o("ngForOf",e.detailedStats.topLanguages)}}function At(t,i){t&1&&(a(0,"span",12),g(1,"i",93),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.DESTINATIONS")," "))}function wt(t,i){if(t&1&&(a(0,"div",94)(1,"div",95),g(2,"app-widget-chart",96),r()()),t&2){let e=c(3);n(2),o("tooltip",!0)("responsive",!0)("data",e.destinationsChartData)}}function Lt(t,i){if(t&1&&(a(0,"small",105),s(1),r()),t&2){let e=c().$implicit;n(),u(e.destinationUrl)}}function Pt(t,i){if(t&1&&(a(0,"div",97),g(1,"span",98),a(2,"div",99)(3,"span",100),s(4),r(),p(5,Lt,2,1,"small",101),r(),a(6,"div",102)(7,"span",103),s(8),d(9,"number"),r(),a(10,"span",104),s(11),r()()()),t&2){let e=i.$implicit,l=i.first,_=i.index,f=c(3);o("ngClass",O(10,Z,!l)),n(),M("background",f.chartColors[_%f.chartColors.length]),n(3),u(e.label),n(),o("ngIf",e.de
1stinationUrl),n(3),v("",b(9,7,e.percentage,"1.0-1"),"%"),n(3),u(e.count)}}function Ot(t,i){if(t&1&&(a(0,"div",45)(1,"div",89)(2,"p-panel"),p(3,At,4,3,"ng-template",0),a(4,"div",47)(5,"div",90),p(6,wt,3,3,"div",91),a(7,"div",89),p(8,Pt,12,12,"div",92),r()()()()()()),t&2){let e=c(2);n(6),o("ngIf",e.destinationsChartData),n(),E("col-md-8",e.destinationsChartData)("col-12",!e.destinationsChartData),n(),o("ngForOf",e.detailedStats.topDestinations)}}function Ht(t,i){t&1&&(a(0,"span",12),g(1,"i",20),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.PEAK_HOURS")," "))}function Rt(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function Nt(t,i){if(t&1&&(a(0,"div",40),g(1,"app-widget-chart",106),r()),t&2){let e=c(2);n(),o("tooltip",!0)("responsive",!0)("data",e.heatmapChartData)}}function Ft(t,i){t&1&&(a(0,"span",12),g(1,"i",107),s(2),d(3,"translate"),r()),t&2&&(n(2),v(" ",m(3,1,"MANAGER.STATS.SOCIAL_MEDIA")," "))}function Bt(t,i){t&1&&(a(0,"div",40)(1,"div",56),s(2),d(3,"translate"),r()()),t&2&&(n(2),u(m(3,1,"MANAGER.STATS.NO_DATA_SHORT")))}function Vt(t,i){if(t&1&&(a(0,"div",80),g(1,"app-widget-chart",81),r()),t&2){let e=c(3);n(),o("tooltip",!0)("responsive",!0)("data",e.socialMediaChartData)}}function Gt(t,i){if(t&1&&(a(0,"div",82),g(1,"span",83),a(2,"span",84),s(3),r(),a(4,"span",85),s(5),d(6,"number"),r()()),t&2){let e=i.$implicit,l=i.index,_=c(3);n(),M("background",_.chartColors[l%_.chartColors.length]),n(2),u(e.name),n(2),v("",b(6,4,e.percentage,"1.0-0"),"%")}}function Ut(t,i){if(t&1&&(a(0,"div",76),p(1,Vt,2,3,"div",77),a(2,"div",78),p(3,Gt,7,7,"div",79),r()()),t&2){let e=c(2);n(),o("ngIf",e.socialMediaChartData),n(2),o("ngForOf",e.detailedStats.topSocialMedia)}}function $t(t,i){if(t&1&&(a(0,"div")(1,"div",45)(2,"div",46)(3,"p-panel"),p(4,We,4,3,"ng-template",0),a(5,"div",47),p(6,qe,4,3,"div",3)(7,Je,12,13,"div",48),r()()(),a(8,"div",46)(9,"p-panel"),p(10,Qe,4,3,"ng-template",0),a(11,"div",47),p(12,Xe,4,3,"div",3)(13,it,12,13,"div",48),r()()(),a(14,"div",46)(15,"p-panel"),p(16,nt,4,3,"ng-template",0),a(17,"div",47),p(18,at,4,3,"div",3)(19,dt,14,19,"div",49),r()()()(),a(20,"div",45)(21,"div",50)(22,"p-panel"),p(23,pt,4,3,"ng-template",0),a(24,"div",47),p(25,ct,4,3,"div",3)(26,_t,4,2,"div",51),r()()(),a(27,"div",50)(28,"p-panel"),p(29,vt,4,3,"ng-template",0),a(30,"div",47),p(31,ut,4,3,"div",3)(32,xt,4,2,"div",51),r()()(),a(33,"div",50)(34,"p-panel"),p(35,St,4,3,"ng-template",0),a(36,"div",47),p(37,Ct,4,3,"div",3)(38,kt,4,2,"div",51),r()()(),a(39,"div",50)(40,"p-panel"),p(41,Dt,4,3,"ng-template",0),a(42,"div",47),p(43,Tt,4,3,"div",3)(44,Et,4,2,"div",51),r()()()(),p(45,Ot,9,6,"div",52),a(46,"div",53)(47,"div",54)(48,"p-panel"),p(49,Ht,4,3,"ng-template",0),a(50,"div",47),p(51,Rt,4,3,"div",3)(52,Nt,2,3,"div",3),r()()(),a(53,"div",46)(54,"p-panel"),p(55,Ft,4,3,"ng-template",0),a(56,"div",47),p(57,Bt,4,3,"div",3)(58,Ut,4,2,"div",51),r()()()()()),t&2){let e=c();n(6),o("ngIf",!(e.detailedStats.topCountries!=null&&e.detailedStats.topCountries.length)),n(),o("ngForOf",e.detailedStats.topCountries),n(5),o("ngIf",!(e.detailedStats.topCities!=null&&e.detailedStats.topCities.length)),n(),o("ngForOf",e.detailedStats.topCities),n(5),o("ngIf",!(e.detailedStats.topReferrers!=null&&e.detailedStats.topReferrers.length)),n(),o("ngForOf",e.detailedStats.topReferrers),n(6),o("ngIf",!(e.detailedStats.topBrowsers!=null&&e.detailedStats.topBrowsers.length)),n(),o("ngIf",e.detailedStats.topBrowsers==null?null:e.detailedStats.topBrowsers.length),n(5),o("ngIf",!(e.detailedStats.topDevices!=null&&e.detailedStats.topDevices.length)),n(),o("ngIf",e.detailedStats.topDevices==null?null:e.detailedStats.topDevices.length),n(5),o("ngIf",!(e.detailedStats.topOS!=null&&e.detailedStats.topOS.length)),n(),o("ngIf",e.detailedStats.topOS==null?null:e.detailedStats.topOS.length),n(5),o("ngIf",!(e.detailedStats.topLanguages!=null&&e.detailedStats.topLanguages.length)),n(),o("ngIf",e.detailedStats.topLanguages==null?null:e.detailedStats.topLanguages.length),n(),o("ngIf",e.detailedStats.topDestinations&&e.detailedStats.topDestinations.length>1),n(6),o("ngIf",!e.heatmapChartData),n(),o("ngIf",e.heatmapChartData),n(5),o("ngIf",!(e.detailedStats.topSocialMedia!=null&&e.detailedStats.topSocialMedia.length)),n(),o("ngIf",e.detailedStats.topSocialMedia==null?null:e.detailedStats.topSocialMedia.length)}}function jt(t,i){t&1&&(a(0,"div",108),g(1,"i",109),a(2,"div",110),s(3),d(4,"translate"),r(),a(5,"div",111),s(6),d(7,"translate"),r()()),t&2&&(n(3),v(" ",m(4,2,"MANAGER.STATS.INSUFFICIENT_DATA")," "),n(3),v(" ",m(7,4,"MANAGER.STATS.INSUFFICIENT_DATA_DESC")," "))}function Kt(t,i){t&1&&g(0,"i",120)}function zt(t,i){t&1&&g(0,"i",121)}
1function Wt(t,i){if(t&1&&(a(0,"span",131),s(1),r()),t&2){let e=i.$implicit;n(),u(e)}}function qt(t,i){if(t&1&&(a(0,"div",129),p(1,Wt,2,1,"span",130),r()),t&2){let e=c(3);n(),o("ngForOf",e.aiSummary.highlights)}}function Yt(t,i){if(t&1&&(a(0,"div",133),g(1,"i",134),s(2),r()),t&2){let e=i.$implicit;n(2),v("",e," ")}}function Zt(t,i){if(t&1&&(a(0,"div"),p(1,Yt,3,1,"div",132),r()),t&2){let e=c(3);n(),o("ngForOf",e.aiSummary.recommendations)}}function Jt(t,i){if(t&1&&(a(0,"div",126)(1,"p",127),s(2),r(),p(3,qt,2,1,"div",128)(4,Zt,2,1,"div",7),r()),t&2){let e=c(2);n(2),u(e.aiSummary.summary),n(),o("ngIf",e.aiSummary.highlights==null?null:e.aiSummary.highlights.length),n(),o("ngIf",e.aiSummary.recommendations==null?null:e.aiSummary.recommendations.length)}}function Qt(t,i){t&1&&g(0,"i",120)}function Xt(t,i){t&1&&g(0,"i",121)}function ei(t,i){if(t&1&&(a(0,"div",140),g(1,"i",141),s(2),r()),t&2){let e=i.$implicit;n(2),v("",e.description," ")}}function ti(t,i){if(t&1&&(a(0,"div"),p(1,ei,3,1,"div",139),r()),t&2){let e=c(3);n(),o("ngForOf",e.aiFraud.suspiciousPatterns)}}function ii(t,i){if(t&1&&(a(0,"div",126)(1,"div",135)(2,"span",136),s(3),r(),a(4,"span",137),s(5),d(6,"uppercase"),r()(),a(7,"p",138),s(8),r(),p(9,ti,2,1,"div",7),r()),t&2){let e=c(2);n(2),L(e.fraudRiskClass),n(),v("",e.aiFraud.fraudScore,"/100"),n(),L("bg-"+(e.aiFraud.riskLevel==="low"?"success":e.aiFraud.riskLevel==="medium"?"info":e.aiFraud.riskLevel==="high"?"warning":"danger")),n(),v(" ",m(6,8,e.aiFraud.riskLevel)," "),n(3),u(e.aiFraud.recommendation),n(),o("ngIf",e.aiFraud.suspiciousPatterns==null?null:e.aiFraud.suspiciousPatterns.length)}}function ni(t,i){t&1&&g(0,"i",120)}function ai(t,i){t&1&&g(0,"i",121)}function ri(t,i){if(t&1&&(a(0,"span",148),s(1),r()),t&2){let e=i.$implicit,l=c(4);n(),P(" ",l.translateDay(e.dayOfWeek)," ",e.hour,"h ")}}function oi(t,i){if(t&1&&(a(0,"div",129)(1,"span",117),s(2),d(3,"translate"),r(),a(4,"div",146),p(5,ri,2,2,"span",147),r()()),t&2){let e=c(3);n(2),u(m(3,2,"MANAGER.STATS.AI_BEST_TIMES")),n(3),o("ngForOf",e.aiPrediction.optimalPostTimes)}}function li(t,i){if(t&1&&(a(0,"div",133),g(1,"i",134),s(2),r()),t&2){let e=i.$implicit;n(2),v("",e," ")}}function si(t,i){if(t&1&&(a(0,"div"),p(1,li,3,1,"div",132),r()),t&2){let e=c(3);n(),o("ngForOf",e.aiPrediction.recommendations)}}function di(t,i){if(t&1&&(a(0,"div",126)(1,"div",135)(2,"span",136),s(3),r(),a(4,"span",142),s(5),d(6,"translate"),r(),a(7,"span",143),g(8,"i",144),s(9),r()(),a(10,"p",145),s(11),r(),p(12,oi,6,4,"div",128)(13,si,2,1,"div",7),r()),t&2){let e=c(2);n(3),u(e.aiPrediction.projectedClicks),n(2),u(m(6,11,"MANAGER.STATS.AI_PROJECTED_CLICKS")),n(2),L(e.trendClass),n(),L(e.trendIcon),n(),P(" ",e.aiPrediction.trendPercentage>0?"+":"","",e.aiPrediction.trendPercentage,"% "),n(2),u(e.aiPrediction.summary),n(),o("ngIf",e.aiPrediction.optimalPostTimes==null?null:e.aiPrediction.optimalPostTimes.length),n(),o("ngIf",e.aiPrediction.recommendations==null?null:e.aiPrediction.recommendations.length)}}function pi(t,i){if(t&1){let e=T();a(0,"div",112)(1,"div",113),g(2,"i",114),a(3,"span",104),s(4),d(5,"translate"),r()(),a(6,"div",53)(7,"div",89)(8,"div",115)(9,"div",116)(10,"span",117),g(11,"i",118),s(12),d(13,"translate"),r(),a(14,"button",119),y("click",function(){S(e);let _=c();return C(_.loadAiSummary())}),p(15,Kt,1,0,"i",120)(16,zt,1,0,"i",121),s(17),d(18,"translate"),r()(),p(19,Jt,5,3,"div",122),r()(),a(20,"div",123)(21,"div",115)(22,"div",116)(23,"span",117),g(24,"i",124),s(25),d(26,"translate"),r(),a(27,"button",119),y("click",function(){S(e);let _=c();return C(_.loadAiFraudDetection())}),p(28,Qt,1,0,"i",120)(29,Xt,1,0,"i",121),s(30),d(31,"translate"),r()(),p(32,ii,10,10,"div",122),r()(),a(33,"div",123)(34,"div",115)(35,"div",116)(36,"span",117),g(37,"i",125),s(38),d(39,"translate"),r(),a(40,"button",119),y("click",function(){S(e);let _=c();return C(_.loadAiPrediction())}),p(41,ni,1,0,"i",120)(42,ai,1,0,"i",121),s(43),d(44,"translate"),r()(),p(45,di,14,13,"div",122),r()()()()}if(t&2){let e=c();n(4),u(m(5,16,"MANAGER.STATS.AI_INSIGHTS_TITLE")),n(8),v(" ",m(13,18,"MANAGER.STATS.AI_SUMMARY_TITLE")," "),n(2),o("disabled",e.aiSummaryLoading),n(),A(e.aiSummaryLoading?15:16),n(2),v(" ",m(18,20,"MANAGER.STATS.AI_GENERATE")," "),n(2),o("ngIf",e.aiSummary),n(6),v(" ",m(26,22,"MANAGER.STATS.AI_FRAUD_TITLE")," "),n(2),o("disabled",e.aiFraudLoading),n(),A(e.aiFraudLoading?28:29),n(2),v(" ",m(31,24,"MANAGER.STATS.AI_ANALYZE")," "),n(2),o("ngIf",e.aiFraud),n(6),v(" ",m(39,26,"MANAGER.STATS.AI_PREDICTION_TIT
1LE")," "),n(2),o("disabled",e.aiPredictionLoading),n(),A(e.aiPredictionLoading?41:42),n(2),v(" ",m(44,28,"MANAGER.STATS.AI_PREDICT")," "),n(2),o("ngIf",e.aiPrediction)}}var Y=class t{constructor(i,e){this.hitService=i;this.aiService=e}link;data;viewMode="daily";dailyPeriodOptions=[{label:"15j",value:"15d",days:15},{label:"30j",value:"30d",days:30},{label:"90j",value:"90d",days:90}];selectedDailyPeriod="30d";hourlyPeriodOptions=[{label:"24h",value:"24h"},{label:"48h",value:"48h"},{label:"7 jours",value:"7d"}];selectedHourlyPeriod="24h";hourlyStats=[];loadingHourly=!1;totalUniqueVisitors=0;periodTotalClicks=0;periodTotalFlashs=0;detailedStats=null;loadingDetailed=!1;browsersChartData=null;devicesChartData=null;osChartData=null;languagesChartData=null;socialMediaChartData=null;heatmapChartData=null;destinationsChartData=null;expandedReferrer=null;aiSummary=null;aiSummaryLoading=!1;aiFraud=null;aiFraudLoading=!1;aiPrediction=null;aiPredictionLoading=!1;get hasDetailedData(){return this.detailedStats?!!(this.detailedStats.topCountries?.length||this.detailedStats.topCities?.length||this.detailedStats.topReferrers?.length||this.detailedStats.topBrowsers?.length||this.detailedStats.topDevices?.length||this.detailedStats.topOS?.length||this.detailedStats.topLanguages?.length||this.detailedStats.topSocialMedia?.length||this.detailedStats.heatmap?.some(i=>i>0)||this.detailedStats.topDestinations?.length&&this.detailedStats.topDestinations.length>1):!1}chartColors=["#3b82f6","#22c55e","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#84cc16","#f97316","#6366f1"];ngOnInit(){this.setDailyChart(),this.loadDetailedStats()}ngOnChanges(i){this.viewMode==="daily"&&this.setDailyChart()}switchView(i){return h(this,null,function*(){this.viewMode=i,i==="daily"?(this.setDailyChart(),this.loadDetailedStats()):(yield this.loadHourlyStats(),this.loadDetailedStats())})}loadHourlyStats(){return h(this,null,function*(){if(this.link?.id){this.loadingHourly=!0;try{let i=yield this.hitService.getHourlyStats(this.link.id.toString(),this.selectedHourlyPeriod);this.hourlyStats=i.data,this.setHourlyChart()}catch(i){console.error("Erreur chargement stats horaires:",i)}finally{this.loadingHourly=!1}}})}onHourlyPeriodChange(){return h(this,null,function*(){this.viewMode==="hourly"&&(yield this.loadHourlyStats(),this.loadDetailedStats())})}onDailyPeriodChange(){this.viewMode==="daily"&&(this.setDailyChart(),this.loadDetailedStats())}exportCSV(){this.link?.id&&this.hitService.downloadExport(this.link.id.toString(),"csv")}setDailyChart(){if(!this.link?.hits)return;let i=getComputedStyle(document.documentElement),l=this.dailyPeriodOptions.find(x=>x.value===this.selectedDailyPeriod)?.days||30,_=this.link.hits.slice(-l),f=[],D=[],I=[];this.periodTotalClicks=0,this.periodTotalFlashs=0;for(let x of _)f.push(new Date(x.date).toLocaleDateString()),D.push(x.clicks),I.push(x.flashs),this.periodTotalClicks+=x.clicks,this.periodTotalFlashs+=x.flashs;this.data={labels:f,datasets:[{type:"bar",label:"clics",backgroundColor:i.getPropertyValue("--bs-primary"),data:D,minBarLength:1},{type:"bar",label:"flashs",backgroundColor:i.getPropertyValue("--bs-success"),data:I,minBarLength:0}]}}setHourlyChart(){if(!this.hourlyStats?.length){this.data=null;return}let i=getComputedStyle(document.documentElement),e=[],l=[],_=[];this.totalUniqueVisitors=0,this.periodTotalClicks=0,this.periodTotalFlashs=0;for(let f of this.hourlyStats){let D=new Date(f.hour),I=D.toLocaleDateString("fr-FR",{day:"2-digit",month:"2-digit"}),x=D.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit"}),R=`${I} ${x}`;e.push(R),l.push(f.clicks),_.push(f.flashs),this.totalUniqueVisitors+=f.unique_visitors,this.periodTotalClicks+=f.clicks,this.periodTotalFlashs+=f.flashs}this.data={labels:e,datasets:[{type:"bar",label:"clics",backgroundColor:i.getPropertyValue("--bs-primary"),data:l,minBarLength:1},{type:"bar",label:"flashs",backgroundColor:i.getPropertyValue("--bs-success"),data:_,minBarLength:0}]}}loadDetailedStats(){return h(this,null,function*(){if(this.link?.id){this.loadingDetailed=!0;try{let i;this.viewMode==="daily"?i=this.dailyPeriodOptions.find(l=>l.value===this.selectedDailyPeriod)?.days||30:i={"24h":1,"48h":2,"7d":7}[this.selectedHourlyPeriod]||7,this.detailedStats=yield this.hitService.getDetailedStats(this.link.id.toString(),i),this.buildDetailedCharts()}catch(i){console.error("Erreur chargement stats d\xE9taill\xE9es:",i)}finally{this.loadingDetailed=!1}}})}buildDetailedCharts(){this.detailedStats&&(this.detailedStats.topBrowsers?.length?this.browsersChartData=this.buildDoughnutChart(this.detailedStats.topBrowsers
1):this.browsersChartData=null,this.detailedStats.topDevices?.length?this.devicesChartData=this.buildDoughnutChart(this.detailedStats.topDevices):this.devicesChartData=null,this.detailedStats.topOS?.length?this.osChartData=this.buildDoughnutChart(this.detailedStats.topOS):this.osChartData=null,this.detailedStats.topLanguages?.length?this.languagesChartData=this.buildDoughnutChart(this.detailedStats.topLanguages):this.languagesChartData=null,this.detailedStats.topSocialMedia?.length?this.socialMediaChartData=this.buildDoughnutChart(this.detailedStats.topSocialMedia):this.socialMediaChartData=null,this.detailedStats.topDestinations?.length&&this.detailedStats.topDestinations.length>1?this.destinationsChartData=this.buildDoughnutChart(this.detailedStats.topDestinations.map(i=>({name:i.label,count:i.count,percentage:i.percentage}))):this.destinationsChartData=null,this.detailedStats.heatmap?.length?this.detailedStats.heatmap.some(e=>e>0)?this.heatmapChartData={labels:Array.from({length:24},(e,l)=>`${l}h`),datasets:[{label:"Clics",data:this.detailedStats.heatmap,backgroundColor:this.detailedStats.heatmap.map(e=>{let l=Math.max(...this.detailedStats.heatmap);return`rgba(59, 130, 246, ${.15+(l>0?e/l:0)*.85})`}),borderWidth:0,borderRadius:3}]}:this.heatmapChartData=null:this.heatmapChartData=null)}buildDoughnutChart(i){let e=i.map(f=>f.name||"Inconnu"),l=i.map(f=>f.count),_=i.map((f,D)=>this.chartColors[D%this.chartColors.length]);return{labels:e,datasets:[{data:l,backgroundColor:_,borderWidth:0,hoverOffset:4}]}}getCountryFlag(i){if(!i||i.length!==2)return"\u{1F30D}";let e=i.toUpperCase().split("").map(l=>127397+l.charCodeAt(0));return String.fromCodePoint(...e)}toggleReferrer(i){this.expandedReferrer=this.expandedReferrer===i?null:i}getReferrerUrls(i){return this.detailedStats?.topReferrersFull?this.detailedStats.topReferrersFull.filter(e=>{try{let l=new URL(e.name).hostname.replace(/^www\./,"");return l===i||l===i.replace(/^www\./,"")}catch{return e.name.includes(i)}}):[]}hasReferrerUrls(i){return!i||i==="Direct"?!1:this.getReferrerUrls(i).length>0}loadAiSummary(){return h(this,null,function*(){if(!(!this.link||this.aiSummaryLoading)){this.aiSummaryLoading=!0;try{let i=this.viewMode==="hourly"?this.selectedHourlyPeriod:this.selectedDailyPeriod;this.aiSummary=yield this.aiService.generateAnalyticsSummary({period:i,totalClicks:this.periodTotalClicks,topCountries:this.detailedStats?.topCountries?.map(e=>({country:e.name,clicks:e.count,percentage:e.percentage}))||[],topDevices:this.detailedStats?.topDevices?.map(e=>({device:e.name,percentage:e.percentage}))||[],topReferrers:this.detailedStats?.topReferrers?.map(e=>({referrer:e.name,clicks:e.count}))||[]})}catch{this.aiSummary=null}this.aiSummaryLoading=!1}})}loadAiFraudDetection(){return h(this,null,function*(){if(!(!this.link||this.aiFraudLoading)){this.aiFraudLoading=!0;try{let i=this.viewMode==="hourly"?this.selectedHourlyPeriod:this.selectedDailyPeriod;this.aiFraud=yield this.aiService.detectClickFraud({linkId:this.link.id,period:i,totalClicks:this.periodTotalClicks,uniqueIps:this.totalUniqueVisitors,clicksData:[],topReferrers:this.detailedStats?.topReferrers?.map(e=>({referrer:e.name,count:e.count}))||[],hourlyDistribution:this.detailedStats?.heatmap||[],botDetectedCount:0,datacenterIpCount:0})}catch{this.aiFraud=null}this.aiFraudLoading=!1}})}loadAiPrediction(){return h(this,null,function*(){if(!(!this.link||this.aiPredictionLoading)){this.aiPredictionLoading=!0;try{this.aiPrediction=yield this.aiService.predictPerformance({linkId:this.link.id,shortUrl:this.link.shortUrl||this.link.key,destinationUrl:this.link.url,createdAt:this.link.createdAt,dailyClicks:this.data?.labels?.map((i,e)=>({date:i,clicks:this.data?.datasets?.[0]?.data?.[e]||0}))||[],totalClicks:this.periodTotalClicks,topReferrers:this.detailedStats?.topReferrers?.map(i=>({referrer:i.name,clicks:i.count}))||[],topCountries:this.detailedStats?.topCountries?.map(i=>({country:i.name,clicks:i.count}))||[],deviceBreakdown:{mobile:this.detailedStats?.topDevices?.find(i=>i.name==="mobile")?.percentage||0,desktop:this.detailedStats?.topDevices?.find(i=>i.name==="desktop")?.percentage||0,tablet:this.detailedStats?.topDevices?.find(i=>i.name==="tablet")?.percentage||0},hourlyHeatmap:this.detailedStats?.heatmap||new Array(24).fill(0),period:this.viewMode==="hourly"?this.selectedHourlyPeriod:this.selectedDailyPeriod})}catch{this.aiPrediction=null}this.aiPredictionLoading=!1}})}get fraudRiskClass(){if(!this.aiFraud)return"";switch(this.aiFraud.riskLevel){case"critical":return"text-danger";case"high":return"text-warning";case"medium":return"text-info";default:return"text-success"}}get trendIcon(){if(!this.aiPrediction)return"pi-minus";switch(this.aiPrediction.trend){case"growing":return"pi-arrow-up";case"declining":return"pi-arrow-down";default:return"pi-minus"}}get trendClass(){if(!this.aiPrediction)return"";switch(this.aiPrediction.trend){case"growing":return"text-success";case"declining":return"text-danger";default:return"text-info"}}translateDay(i){return{monday:"Lun",tuesday:"Mar",wednesday:"Mer",thursday:"Jeu",friday:"Ven",saturday:"Sam",sunday:"Dim"}[i]||i}static \u0275fac=function(e){return new(e||t)(k(q),k(ye))};
1static \u0275cmp=F({type:t,selectors:[["app-manager-link-details-hits"]],inputs:{link:"link"},features:[X],decls:11,vars:7,consts:[["pTemplate","header"],[2,"min-height","300px"],["class","d-flex justify-content-center align-items-center h-100 py-5",4,"ngIf"],["class","p-2",4,"ngIf"],["class","d-flex px-3 align-items-end h-100 w-100",4,"ngIf"],[1,"detailed-stats-section","mt-3"],["class","d-flex justify-content-center py-4",4,"ngIf"],[4,"ngIf"],["class","text-center py-5",4,"ngIf"],["class","ai-insights mt-4",4,"ngIf"],[1,"stats-header","w-100"],[1,"stats-header-top"],[1,"stats-title"],[1,"pi","pi-chart-line"],["class","stats-badges",4,"ngIf"],[1,"stats-header-controls"],[1,"stats-controls-left"],[1,"stats-view-toggle"],["type","button",1,"stats-toggle-btn",3,"click"],[1,"pi","pi-calendar"],[1,"pi","pi-clock"],["class","stats-period-selector",4,"ngIf"],[1,"stats-controls-right"],["class","stats-badge stats-badge-warning","tooltipPosition","bottom",3,"pTooltip",4,"ngIf"],["type","button","tooltipPosition","left",1,"stats-export-btn",3,"click","pTooltip"],[1,"pi","pi-download"],[1,"stats-badges"],["tooltipPosition","bottom",1,"stats-badge","stats-badge-live",3,"pTooltip"],[1,"live-dot"],["tooltipPosition","bottom",1,"stats-badge","stats-badge-primary",3,"pTooltip"],[1,"pi","pi-eye"],["tooltipPosition","bottom",1,"stats-badge","stats-badge-success",3,"pTooltip"],[1,"pi","pi-qrcode"],[1,"stats-period-selector"],["type","button","class","stats-period-btn",3,"active","click",4,"ngFor","ngForOf"],["type","button",1,"stats-period-btn",3,"click"],["tooltipPosition","bottom",1,"stats-badge","stats-badge-warning",3,"pTooltip"],[1,"pi","pi-users"],[1,"d-flex","justify-content-center","align-items-center","h-100","py-5"],[1,"pi","pi-spin","pi-spinner","fs-3","text-primary"],[1,"p-2"],[1,"alert","alert-warning","p-2","fs-6","text-center","user-select-none"],[1,"d-flex","px-3","align-items-end","h-100","w-100"],["type","bar","height","280",1,"w-100",3,"tooltip","responsive","data"],[1,"d-flex","justify-content-center","py-4"],[1,"row","g-3","mb-3"],[1,"col-12","col-md-6","col-lg-4"],[1,"stats-panel-body"],["class","d-flex flex-nowrap row border-1 ps-3 pe-3 pt-2 pb-2 text-dark fs-6",3,"ngClass",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"col-12","col-md-6","col-lg-3"],["class","stats-donut-wrapper",4,"ngIf"],["class","row g-3 mb-3",4,"ngIf"],[1,"row","g-3"],[1,"col-12","col-md-6","col-lg-8"],[1,"pi","pi-globe"],[1,"alert","alert-warning","p-2","fs-6","text-center","user-select-none","mb-0"],[1,"d-flex","flex-nowrap","row","border-1","ps-3","pe-3","pt-2","pb-2","text-dark","fs-6",3,"ngClass"],[1,"col-auto"],["class","fp",3,"ngClass",4,"ngIf"],[1,"col","text-truncate"],[1,"col-auto","text-muted","small"],[1,"col-auto","fw-semibold"],[1,"fp",3,"ngClass"],[1,"pi","pi-map-marker"],[1,"pi","pi-external-link"],[1,"d-flex","flex-nowrap","row","border-1","ps-3","pe-3","pt-2","pb-2","text-dark","fs-6",3,"click","ngClass"],["class","pi","style","font-size: 0.75rem;",3,"ngClass",4,"ngIf"],[1,"col","text-truncate",3,"title"],["class","bg-light border-start border-3 border-info ms-3",4,"ngIf"],[1,"pi",2,"font-size","0.75rem",3,"ngClass"],[1,"bg-light","border-start","border-3","border-info","ms-3"],["class","d-flex flex-nowrap row ps-3 pe-3 pt-1 pb-1 text-dark small border-top border-1",4,"ngFor","ngForOf"],[1,"d-flex","flex-nowrap","row","ps-3","pe-3","pt-1","pb-1","text-dark","small","border-top","border-1"],["target","_blank","rel","noopener noreferrer",1,"text-primary","text-decoration-none",3,"click","href","title"],[1,"pi","pi-desktop"],[1,"stats-donut-wrapper"],["class","stats-donut-chart",4,"ngIf"],[1,"stats-donut-legend"],["class","stats-donut-legend-item",4,"ngFor","ngForOf"],[1,"stats-donut-chart"],["type","doughnut","height","120",3,"tooltip","responsive","data"],[1,"stats-donut-legend-item"],[1,"stats-donut-dot"],[1,"stats-donut-label","text-truncate"],[1,"stats-donut-value"],[1,"pi","pi-mobile"],[1,"pi","pi-cog"],[1,"pi","pi-language"],[1,"col-12"],[1,"row"],["class","col-12 col-md-4",4,"ngIf"],["class","d-flex flex-nowrap align-items-center border-1 ps-3 pe-3 pt-2 pb-2 text-dark fs-6",3,"ngClass",4,"ngFor","ngForOf"],[1,"pi","pi-directions"],[1,"col-12","col-md-4"],[1,"p-3"],["type","doughnut","height","180",3,"tooltip","responsive","data"],[1,"d-flex","flex-nowrap","align-items-center","border-1","ps-3","pe-3","pt-2","pb-2","text-dark","fs-6",3,"ngClass"],[1,"stats-donut-dot","me-2"],[1,"d-flex","flex-column","flex-grow-1","min-width-0"],[1,"fw-semibold","text-truncate"],["class","text-muted text-truncate",4,"ngIf"],[1,"d-flex","align-items-center","gap-2","ms-2","flex-shrink-0"],[1,"text-muted","small"],[1,"fw-semibold"],[1,"text-muted","text-truncate"],["type","bar","height","150",3,"tooltip","responsive","data"],[1,"pi","pi-share-alt"],[1,"text-center","py-5"],[1,"pi","pi-info-circle","fs-1","text-muted","d-block","mb-3"],[1,"text-muted","fs-6","user-select-none"],[1,"text-muted","small","mt-1","user-select-none"],[1,"ai-insights","mt-4"],[1,"d-flex","align-items-center","mb-3"],[1,"pi","pi-sparkles","me-2","text-info"],[1,"ai-card","p-3","rounded","border"],[1,"d-flex","align-items-center","justify-content-between","mb-2"],[1,"small","fw-semibold"],[1,"pi","pi-chart-bar","me-1"],[1,"btn","btn-sm","btn-outline-info",3,"click","disabled"],[1,"pi","pi-spin","pi-spinner","me-1"],[1,"pi","pi-sparkles","me-1"],["class","ai-result",4,"ngIf"],[1,"col-12","col-md-6"],[1,"pi","pi-shield","me-1"],[1,"pi","pi-chart-line","me-1"],[1,"ai-result"],[1,"mb-2","small"],["class","mb-2",4,"ngIf"],[1,"mb-2"],["class","badge bg-info bg-opacity-10 text-info me-1 mb-1",4,"ngFor","ngForOf"],[1,"badge","bg-info","bg-opacity-10","text-info","me-1","mb-1"],["class","small text-muted",4,"ngFor","ngForOf"],[1,"small","text-muted"],[1,"pi","pi-lightbulb","me-1","text-warning"],[1,"d-flex","align-items-center","mb-2"],[1,"fs-4","fw-bold"],[1,"badge","ms-2"],[1,"small","text-muted","mb-1"],["class","small",4,"ngFor","ngForOf"],[1,"small"],[1,"pi","pi-exclamation-triangle","me-1","text-warning"],[1,"small","text-muted","ms-2"],[1,"ms-2"],[1,"pi"],[1,"small","text-muted","mb-2"],[1,"d-flex","flex-wrap","gap-1","mt-1"],["class","badge bg-primary bg-opacity-10 text-primary",4,"ngFor","ngForOf"],[1,"badge","bg-primary","bg-opacity-10","text-primary"]],template:function(e,l){e&1&&(a(0,"p-panel"),p(1,Ue,27,20,"ng-template",0),a(2,"div",1),p(3,$e,2,0,"div",2)(4,je,4,3,"div",3)(5,Ke,2,3,"div",4),r()(),a(6,"div",5),p(7,ze,2,0,"div",6)(8,$t,59,19,"div",7)(9,jt,8,6,"div",8)(10,pi,46,30,"div",9),r()),e&2&&(n(3),o("ngIf",l.loadingHourly),n(),o("ngIf",!l.loadingHourly&&!l.data&&(l.viewMode==="daily"?!l.link.hits:l.hourlyStats.length===0)),n(),o("ngIf",!l.loadingHourly&&l.data),n(2),o("ngIf",l.loadingDetailed),n(),o("ngIf",!l.loadingDetailed&&l.detailedStats&&l.hasDetailedData),n(),o("ngIf",!l.loadingDetailed&&l.detailedStats&&!l.hasDetailedData),n(),o("ngIf",l.hasDetailedData))},dependencies:[V,ae,re,B,oe,se,z,xe,ue,K,j,$,U,Te],styles:[".stats-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;width:100%}.stats-header-top[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stats-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1rem;color:var(--bs-primary);-webkit-user-select:none;user-select:none}.stats-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1.1rem}.stats-badges[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.stats-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;-webkit-user-select:none;user-select:none;transition:all .2s ease}.stats-badge[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.85rem}.stats-badge.stats-badge-primary[_ngcontent-%COMP%]{background-color:var(--bs-primary);color:#fff}.stats-badge.stats-badge-success[_ngcontent-%COMP%]{background-color:var(--bs-success);color:#fff}.stats-badge.stats-badge-warning[_ngcontent-%COMP%]{background-color:var(--bs-warning);color:#333}
1.stats-badge.stats-badge-live[_ngcontent-%COMP%]{background-color:#dc3545;color:#fff;gap:6px;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.live-dot[_ngcontent-%COMP%]{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#fff;animation:_ngcontent-%COMP%_live-pulse 1.5s ease-in-out infinite}@keyframes _ngcontent-%COMP%_live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.stats-header-controls[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stats-controls-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stats-controls-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.stats-view-toggle[_ngcontent-%COMP%]{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--bs-primary);background:#fff}.stats-toggle-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:none;background:transparent;color:var(--bs-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.stats-toggle-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.9rem}.stats-toggle-btn[_ngcontent-%COMP%]:not(:last-child){border-right:1px solid var(--bs-primary)}.stats-toggle-btn[_ngcontent-%COMP%]:hover:not(.active){background:#3b82f61a}.stats-toggle-btn.active[_ngcontent-%COMP%]{background:var(--bs-primary);color:#fff}.stats-period-selector[_ngcontent-%COMP%]{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid #dee2e6;background:#fff}.stats-period-btn[_ngcontent-%COMP%]{padding:6px 14px;border:none;background:transparent;color:#666;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.stats-period-btn[_ngcontent-%COMP%]:not(:last-child){border-right:1px solid #dee2e6}.stats-period-btn[_ngcontent-%COMP%]:hover:not(.active){background:#f8f9fa;color:#333}.stats-period-btn.active[_ngcontent-%COMP%]{background:#f1f5f9;color:var(--bs-primary);font-weight:600}.stats-export-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:1px solid #dee2e6;background:#fff;color:#666;cursor:pointer;transition:all .2s ease}.stats-export-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem}.stats-export-btn[_ngcontent-%COMP%]:hover{background:#f8f9fa;color:var(--bs-primary);border-color:var(--bs-primary)}@media (max-width: 576px){.stats-header-top[_ngcontent-%COMP%], .stats-header-controls[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.stats-controls-left[_ngcontent-%COMP%], .stats-controls-right[_ngcontent-%COMP%]{width:100%;justify-content:flex-start}.stats-toggle-btn[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{display:none}}.detailed-stats-section[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%]{align-items:stretch}.detailed-stats-section[_ngcontent-%COMP%]   .col-12[_ngcontent-%COMP%]{display:flex}.detailed-stats-section[_ngcontent-%COMP%]   .col-12[_ngcontent-%COMP%]     p-panel{width:100%}.detailed-stats-section[_ngcontent-%COMP%]   .col-12[_ngcontent-%COMP%]     p-panel .p-panel{height:100%;display:flex;flex-direction:column}.detailed-stats-section[_ngcontent-%COMP%]   .col-12[_ngcontent-%COMP%]     p-panel .p-panel-content{flex:1}.stats-panel-body[_ngcontent-%COMP%]{max-height:220px;overflow-y:auto;overflow-x:hidden}.stats-donut-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;padding:8px}.stats-donut-chart[_ngcontent-%COMP%]{flex:0 0 120px;width:120px;height:120px}.stats-donut-legend[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.stats-donut-legend-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:.85rem}.ai-insights[_ngcontent-%COMP%]{border-top:1px solid var(--bs-border-color);padding-top:1rem}.ai-card[_ngcontent-%COMP%]{background:var(--bs-body-bg);transition:box-shadow .2s ease}.ai-card[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014}.ai-result[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeIn .3s ease}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
1.stats-donut-dot[_ngcontent-%COMP%]{flex-shrink:0;width:10px;height:10px;border-radius:2px}.stats-donut-label[_ngcontent-%COMP%]{flex:1;min-width:0;color:#334155}.stats-donut-value[_ngcontent-%COMP%]{flex-shrink:0;font-weight:600;color:#64748b}@media (min-width: 992px){.col-lg-3[_ngcontent-%COMP%]   .stats-donut-wrapper[_ngcontent-%COMP%]{flex-direction:column;align-items:center}.col-lg-3[_ngcontent-%COMP%]   .stats-donut-chart[_ngcontent-%COMP%]{flex:none;width:100px;height:100px}.col-lg-3[_ngcontent-%COMP%]   .stats-donut-legend[_ngcontent-%COMP%]{width:100%}}@media (max-width: 576px){.stats-donut-wrapper[_ngcontent-%COMP%]{flex-direction:column}.stats-donut-chart[_ngcontent-%COMP%]{flex:none}}"]})};function ci(t,i){if(t&1&&(a(0,"div",20),g(1,"i",21),a(2,"div")(3,"strong"),s(4),d(5,"translate"),r(),a(6,"div",22),s(7),d(8,"translate"),r()()()),t&2){let e=c(2);n(4),v("\u26A0\uFE0F ",m(5,2,"MANAGER.LINK_DETAILS.UNSAFE_LINK"),""),n(3),v(" ",e.link.threatDescription||e.link.threatType||m(8,4,"MANAGER.LINK_DETAILS.THREAT_DEFAULT")," ")}}function mi(t,i){if(t&1&&(a(0,"div"),s(1),r()),t&2){let e=c(2);n(),v(" ",e.link.title," ")}}function gi(t,i){if(t&1&&(a(0,"div",6)(1,"div",7),p(2,ci,9,6,"div",8),a(3,"div",9)(4,"a",10),g(5,"i",11),s(6),r(),p(7,mi,2,1,"div",12),r()(),a(8,"div",13)(9,"div",14)(10,"small",15),d(11,"translate"),g(12,"i",16),a(13,"span"),s(14),r()(),a(15,"small",17),d(16,"translate"),g(17,"i",18),a(18,"span"),s(19),r()()(),a(20,"div",19),s(21),d(22,"translate"),d(23,"date"),r()()()),t&2){let e=c();n(2),o("ngIf",e.link.safetyStatus&&e.link.safetyStatus!=="unknown"&&e.link.safetyStatus!=="safe"),n(2),o("href",e.link.shortUrl||e.environment.api+"/"+e.link.key,N),n(2),v(" ",e.link.shortUrl||e.environment.api+"/"+e.link.key," "),n(),o("ngIf",e.link.url!==e.link.title),n(3),o("pTooltip",m(11,10,"MANAGER.LINKS.CLICKS_TOTAL")),n(4),u(e.link.hitsCount),n(),o("pTooltip",m(16,12,"MANAGER.LINKS.FLASHS_TOTAL")),n(4),u(e.link.flashsCount),n(2),P(" ",m(22,14,"MANAGER.LINK_DETAILS.CREATED_ON")," ",b(23,16,e.link.createdAt,"dd MMM YYYY")," ")}}function _i(t,i){if(t&1){let e=T();a(0,"div",23)(1,"button",24),d(2,"translate"),y("click",function(){S(e);let _=c();return C(_.openEditDialog())}),g(3,"i",25),s(4),d(5,"translate"),r(),a(6,"button",24),d(7,"translate"),y("click",function(_){S(e);let f=c();return C(f.confirmDelete(_))}),g(8,"i",26),s(9),d(10,"translate"),r()()}t&2&&(n(),o("pTooltip",m(2,4,"MANAGER.LINK_DETAILS.EDIT_TOOLTIP")),n(3),v("",m(5,6,"MANAGER.LINK_DETAILS.EDIT")," "),n(2),o("pTooltip",m(7,8,"MANAGER.LINK_DETAILS.DELETE_TOOLTIP")),n(3),v("",m(10,10,"MANAGER.LINK_DETAILS.DELETE")," "))}function vi(t,i){if(t&1){let e=T();a(0,"app-widget-api-error",27),y("retry",function(){S(e);let _=c();return C(_.getLinkData())}),r()}}function ui(t,i){if(t&1&&(a(0,"div",5)(1,"div",28),g(2,"app-manager-link-details-hits",29),r()()),t&2){let e=c();n(2),o("link",e.link)}}var Ae=class t{constructor(i,e,l,_,f,D,I,x){this.linkManagerService=i;this.route=e;this.$gaService=l;this.router=_;this.ngZone=f;this.dialogService=D;this.confirmService=I;this.toastService=x;let R=this.route.snapshot.paramMap.get("id");R&&(this.linkId=R)}error;loading;environment=G;eventSource=null;sseConnected=!1;ref;linkId;link;getLinkData(){return h(this,null,function*(){try{this.link||(this.loading=!0),this.link=yield this.linkManagerService.findOneById(this.linkId),this.loading=!1,this.error=null}catch(i){console.error(i),this.loading=!1,this.error=yield this.linkManagerService.handleError(i?.error?.message)}})}ngOnInit(){return h(this,null,function*(){this.$gaService.pageView(this.router.url,"Manager - Lien d\xE9tails"),yield this.getLinkData(),this.startStatsStream()})}ngOnDestroy(){this.eventSource&&(this.eventSource.close(),this.eventSource=null)}startStatsStream(){this.linkId&&(this.eventSource=this.linkManagerService.getLinkStatsStream(this.linkId,i=>{this.ngZone.run(()=>{this.link=i,this.sseConnected=!0})},i=>{this.ngZone.run(()=>{console.warn("SSE link-stats non disponible:",i),this.sseConnected=!1})}))}openEditDialog(){this.link&&(this.ref=this.dialogService.open(De,{header:"",width:"600px",style:{maxWidth:"95vw"},contentStyle:{overflow:"auto"},baseZIndex:1e4,closable:!0,data:{link:this.link},resizable:!1,styleClass:"manager-link-create"}),this.ref.onClose.subscribe(i=>h(this,null,function*(){i&&(yield this.getLinkData())})))}confirmDelete(i){return h(this,null,function*(){if(!(!this.link||!(yield this.confirmService.confirm({message:"Supprimer d\xE9finitivement ce lien ?",header:"Supprimer",severity:"danger",acceptLabel:"Supprimer",rejectLabel:"Annuler"}))))try{yield this.linkManagerService.deleteLink(this.linkId),this.toastService.add({severity:"success",summary:"Lien supprim\xE9",life:3e3}),this.router.navigate(["/studio/links"])}catch(l){this.toastService.add({severity:"error",summary:"Erreur",detail:l?.error?.message||"Erreur",life:5e3})}})}static \u0275fac=function(e){return new(e||t)(k(be),k(de),k(ke),k(pe),k(ee),k(W),k(Me),k(_e))};static \u0275cmp=F({type:t,selectors:[["app-view-manager-link-detail
1s"]],features:[ie([W])],decls:9,vars:11,consts:[[1,"btn","btn-sm","pe-1","ps-0","text-light","d-flex","align-items-center",3,"routerLink"],[1,"pi","pi-arrow-left","me-2"],["class","row mb-3",4,"ngIf"],["class","link-actions d-flex gap-2 mb-3",4,"ngIf"],[3,"loading"],[1,"row"],[1,"row","mb-3"],[1,"col","align-items-center","d-flex","align-items-stretch","flex-column","justify-content-center"],["class","alert alert-danger py-2 px-3 mb-2 d-flex align-items-center",4,"ngIf"],[1,"user-select-none"],["target","_blank",1,"text-decoration-none","text-warning",3,"href"],[1,"pi","pi-link"],[4,"ngIf"],[1,"col-auto","user-select-none","text-light","fs-6","d-flex","flex-column","justify-content-end","align-items-end"],[1,"d-flex","justify-content-end"],["tooltipPosition","right",1,"d-flex","align-items-center","me-3",3,"pTooltip"],[1,"pi","pi-eye","fs-6","me-1"],["tooltipPosition","right",1,"d-flex","align-items-center",3,"pTooltip"],[1,"pi","pi-qrcode","fs-6","me-1"],[1,""],[1,"alert","alert-danger","py-2","px-3","mb-2","d-flex","align-items-center"],[1,"pi","pi-ban","me-2",2,"font-size","1.2rem"],[1,"small"],[1,"link-actions","d-flex","gap-2","mb-3"],["tooltipPosition","bottom",1,"btn","btn-sm","btn-outline-secondary",3,"click","pTooltip"],[1,"pi","pi-pencil","me-1"],[1,"pi","pi-trash","me-1"],[3,"retry"],[1,"col-12","mb-3"],[3,"link"]],template:function(e,l){e&1&&(a(0,"a",0),g(1,"i",1),s(2),d(3,"translate"),r(),p(4,gi,24,19,"div",2)(5,_i,11,12,"div",3),g(6,"app-widget-loading",4),p(7,vi,1,0,"app-widget-api-error")(8,ui,3,1,"div",5)),e&2&&(o("routerLink","/studio/links"),n(2),v("",m(3,9,"MANAGER.LINK_DETAILS.BACK"),`
2`),n(2),o("ngIf",l.link),n(),o("ngIf",l.link),n(),te("dark"),o("loading",l.loading),n(),A(!l.loading&&l.error?7:-1),n(),A(l.link?8:-1))},dependencies:[V,B,le,fe,Ie,me,ce,z,K,j,he,Se,Ce,$,U,Y],styles:["p-panel .p-panel-header{padding:10px 15px!important}  p-panel .p-panel-content{padding:0!important}.link-actions[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]{font-size:.82rem;padding:4px 12px}"]})};export{Ae as ViewManagerLinkDetailsComponent};

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.