1import{a as Ue}from"./chunk-JWQAAVGC.js";import"./chunk-I2Y5L2NC.js";import"./chunk-JNDJ5ZBA.js";import"./chunk-ATXEZIPJ.js";import{a as Ve}from"./chunk-I2BF4VFZ.js";import{a as K}from"./chunk-RH57MTTG.js";import{f as Me}from"./chunk-B3QJM2RM.js";import"./chunk-M6OZBIKI.js";import"./chunk-XQLXGKEK.js";import{a as Ae,b as Pe}from"./chunk-IXD6ECVB.js";import"./chunk-RRCBQ55K.js";import"./chunk-DQRROS2B.js";import"./chunk-EONF3GVN.js";import"./chunk-5LMG4TVJ.js";import"./chunk-Z2TVBXTG.js";import"./chunk-DJ5AJG3T.js";import{a as he}from"./chunk-K6QYQNRN.js";import{a as Re}from"./chunk-QIOURN4K.js";import{a as Se,b as Ee}from"./chunk-KYVCMV2E.js";import"./chunk-HWZZ5RQT.js";import"./chunk-ZNR7QNVV.js";import{a as we}from"./chunk-JCFONIMH.js";import"./chunk-WGAXTYG2.js";import"./chunk-U3Z5BGA7.js";import{a as Ie,b as Le,c as Te,d as Y}from"./chunk-G6MDBWTL.js";import{a as Oe,b as De}from"./chunk-M6YDMVQ7.js";import{a as q}from"./chunk-EB6TJ75L.js";import"./chunk-QI7CEGT6.js";import{b as be}from"./chunk-6ND7557V.js";import{D as ye,c as ve,g as xe,l as Ce}from"./chunk-FOJCKIWO.js";import{a as G}from"./chunk-NBMUSEX4.js";import{a as z,b as j}from"./chunk-3AIY57KH.js";import{a as N}from"./chunk-AB6CKZTE.js";import{a as Ne,b as Fe}from"./chunk-5SQFN2EX.js";import"./chunk-H66TAOKK.js";import"./chunk-Z64D265S.js";import"./chunk-K5O3OQFW.js";import"./chunk-2DRXLVRR.js";import{e as ke}from"./chunk-RQJZECR4.js";import"./chunk-G3G5OK6Q.js";import"./chunk-AERMLNF3.js";import"./chunk-QHMYZ6SM.js";import"./chunk-PJPLTBJX.js";import"./chunk-DLIVM562.js";import"./chunk-CV2ZWZQE.js";import"./chunk-H4HD3LNW.js";import"./chunk-AQEWHUN5.js";import{d as B,e as W}from"./chunk-YQZAETCE.js";import{o as fe}from"./chunk-EO42E46J.js";import{h as ue}from"./chunk-3QVSKJ3X.js";import{I as $,p as U,r as _e,s as Q}from"./chunk-ERUCNOOT.js";import{$b as E,Cc as O,Dc as D,Ec as V,Fc as de,Gc as ce,H as ee,Hc as me,Jb as a,Jc as ge,L as te,Mb as P,Qb as ae,Qc as _,Rc as f,Sc as R,Vb as l,Wb as r,Xb as c,Yb as L,Z as ie,Zb as T,_a as A,ca as ne,da as I,db as o,f as J,fc as h,gc as m,ib as b,la as y,ma as w,mc as le,nc as se,oc as pe,p as S,sa as oe,sb as F,sc as Z,tc as d,uc as v,vc as k,wa as re,wc as M,yb as u}from"./chunk-DBE7WQEG.js";import{g as x}from"./chunk-W7GRJBO5.js";var He=["qrcodeElement"];function Xe(i,t){if(i&1&&(l(0,"p",21),d(1),r()),i&2){let e=m();o(),v(e.link.title)}}function Ze(i,t){if(i&1&&(l(0,"div",22),c(1,"i",23),l(2,"span",24),d(3),_(4,"translate"),_(5,"localizedDate"),r()()),i&2){let e=m();o(3),M("",f(4,2,"WIDGET.QR_DIALOG.EPHEMERAL_LABEL")," ",R(5,4,e.link.expiresAt,"dd/MM/yyyy HH:mm"),"")}}function Ye(i,t){i&1&&(L(0),c(1,"i",25),d(2,"PNG "),T())}function Je(i,t){if(i&1&&c(0,"app-widget-loading",26),i&2){let e=m();P("dark"),a("loading",e.downloadingPng)}}function et(i,t){i&1&&(L(0),c(1,"i",27),d(2,"SVG "),T())}function tt(i,t){if(i&1&&c(0,"app-widget-loading",26),i&2){let e=m();P("dark"),a("loading",e.downloadingSvg)}}function it(i,t){i&1&&(l(0,"div",28),c(1,"i",29),d(2),_(3,"translate"),_(4,"translate"),r()),i&2&&(o(2),M("",f(3,2,"COMMON.ERROR"),". ",f(4,4,"WIDGET.LOADING.RETRY")," "))}var H=class i{constructor(t,e,n,s,p){this.ref=t;this.config=e;this.linkService=n;this.clipboardService=s;this.toastService=p;e?.data?.link&&(this.link=e.data.link)}qrcodeElement;link;copied=!1;downloadingPng=!1;downloadingSvg=!1;downloadingError=!1;elementType="canvas";ngOnInit(){}get shortUrl(){return this.link.shortUrl||this.linkService.getUrlByKey(this.link.key)}get flashUrl(){return this.link.flashUrl||this.linkService.getUrlFlashByKey(this.link.key)}copyToClipboard(){this.clipboardService.copy(this.shortUrl),this.copied=!0,this.toastService.add({severity:"success",summary:"Copi\xE9 !",detail:"Le lien a \xE9t\xE9 copi\xE9 dans le presse-papiers",life:3e3}),setTimeout(()=>{this.copied=!1},3e3)}saveAsImagePng(t){return x(this,null,function*(){this.downloadingPng=!0,this.downloadingError=!1;try{let e=null;if(this.elementType==="canvas"?e=t.qrcElement.nativeElement.querySelector("canvas").toDataURL("image/png"):(this.elementType==="img"||this.elementType==="url")&&(e=t.qrcElement.nativeElement.querySelector("img").src
1),e){let n=this.convertBase64ToBlob(e),s=new Blob([n],{type:"image/png"}),p=window.URL.createObjectURL(s),g=document.createElement("a");g.href=p,g.download=`houla-qrcode-${this.link.key}.png`,g.click(),window.URL.revokeObjectURL(p)}}catch(e){console.error("Erreur t\xE9l\xE9chargement PNG:",e),this.downloadingError=!0}finally{this.downloadingPng=!1}})}saveAsImageSvg(t){return x(this,null,function*(){this.downloadingSvg=!0,this.downloadingError=!1;try{let e=t.qrcElement.nativeElement.querySelector("svg");if(e){let n=new XMLSerializer().serializeToString(e),s=new Blob([n],{type:"image/svg+xml"}),p=window.URL.createObjectURL(s),g=document.createElement("a");g.href=p,g.download=`houla-qrcode-${this.link.key}.svg`,g.click(),window.URL.revokeObjectURL(p)}else this.downloadingError=!0}catch(e){console.error("Erreur t\xE9l\xE9chargement SVG:",e),this.downloadingError=!0}finally{this.downloadingSvg=!1}})}convertBase64ToBlob(t){let e=t.split(";base64,"),n=e[0].split(":")[1],s=window.atob(e[1]),p=new Uint8Array(s.length);for(let g=0;g<s.length;++g)p[g]=s.charCodeAt(g);return new Blob([p],{type:n})}close(){this.ref.close()}static \u0275fac=function(e){return new(e||i)(b(Le),b(Ie),b(he),b(we),b(q))};static \u0275cmp=F({type:i,selectors:[["app-widget-qrcode-dialog"]],viewQuery:function(e,n){if(e&1&&le(He,5),e&2){let s;se(s=pe())&&(n.qrcodeElement=s.first)}},decls:32,vars:39,consts:[["parent",""],[1,"qrcode-dialog"],[1,"text-center","mb-4"],[1,"url-display","mb-3"],["target","_blank",1,"text-decoration-none",3,"href"],[1,"pi","pi-external-link","me-2"],["class","text-muted mb-0",4,"ngIf"],[1,"qrcode-container","text-center","mb-4"],[3,"qrdata","allowEmptyString","ariaLabel","cssClass","colorDark","colorLight","elementType","errorCorrectionLevel","margin","scale","title","width"],["class","alert alert-warning py-2 mb-4 text-center",4,"ngIf"],[1,"d-flex","gap-2","mb-3"],["type","button",1,"btn","flex-grow-1",3,"click","ngClass"],[1,"pi","me-2",3,"ngClass"],[1,"download-section"],[1,"form-label","fw-semibold","text-muted","small","d-block","text-center"],[1,"pi","pi-download","me-1"],[1,"d-flex","gap-2","justify-content-center"],["type","button","tooltipPosition","top",1,"btn","btn-outline-primary",3,"click","disabled","pTooltip"],[4,"ngIf"],[3,"loading","style",4,"ngIf"],["class","alert alert-danger text-center p-2 mt-3 mb-0",4,"ngIf"],[1,"text-muted","mb-0"],[1,"alert","alert-warning","py-2","mb-4","text-center"],[1,"pi","pi-clock","me-2"],[1,"small"],[1,"pi","pi-image","me-1"],[3,"loading"],[1,"pi","pi-file","me-1"],[1,"alert","alert-danger","text-center","p-2","mt-3","mb-0"],[1,"pi","pi-exclamation-triangle","me-2"]],template:function(e,n){if(e&1){let s=E();l(0,"div",1)(1,"div",2)(2,"div",3)(3,"a",4),c(4,"i",5),d(5),r()(),u(6,Xe,2,1,"p",6),r(),l(7,"div",7),c(8,"qrcode",8,0),r(),u(10,Ze,6,7,"div",9),l(11,"div",10)(12,"button",11),h("click",function(){return y(s),w(n.copyToClipboard())}),c(13,"i",12),d(14),_(15,"translate"),_(16,"translate"),r()(),l(17,"div",13)(18,"label",14),c(19,"i",15),d(20),_(21,"translate"),r(),l(22,"div",16)(23,"button",17),_(24,"translate"),h("click",function(){y(s);let g=Z(9);return w(n.saveAsImagePng(g))}),u(25,Ye,3,0,"ng-container",18)(26,Je,1,3,"app-widget-loading",19),r(),l(27,"button",17),_(28,"translate"),h("click",function(){y(s);let g=Z(9);return w(n.saveAsImageSvg(g))}),u(29,et,3,0,"ng-container",18)(30,tt,1,3,"app-widget-loading",19),r()()(),u(31,it,5,6,"div",20),r()}e&2&&(o(3),a("href",n.shortUrl,A),o(2),k("",n.shortUrl," "),o(),a("ngIf",n.link.title),o(2),a("qrdata",n.flashUrl)("allowEmptyString",!1)("ariaLabel",n.link.title||n.link.key)("cssClass","qrcode border border-4 rounded border-white shadow-sm")("colorDark","#000000ff")("colorLight","#ffffffff")("elementType",n.elementType)("errorCorrectionLevel","M")("margin",0)("scale",1)("title",n.link.title||n.link.key)("width",280),o(2),a("ngIf",n.link.isEphemeral&&n.link.expiresAt),o(2),a("ngClass",n.copied?"btn-success":"btn-primary"),o(),a("ngClass",n.copied?"pi-check":"pi-copy"),o(),k(" ",n.copied?f(15,29,"WIDGET.QR_DIALOG.COPIED"):f(16,31,"WIDGET.QR_DIALOG.COPY_LINK")," "),o(6),k("",f(21,33,"WIDGET.QR_DIALOG.DOWNLOAD_QRCODE")," "),o(3),a("disabled",n.downloadingPng)("pTooltip",f(24,35,"WIDGET.QR_DIALOG.DOWNLOAD_PNG")),o(2),a("ngIf",!n.downloadingPng),o(),a("ngIf",n.downloadingPng),o(),a("disabled",n.downloadingSvg)("pTooltip",f(28,37,"WIDGET.QR_DIALOG.DOWNLOAD_SVG")),o(2),a("ngIf",!n.downloadingSvg),o(),a("ngIf",n.downloadingSvg),o(),a("ngIf",n.downloadingError))},dependencies:[$,U,Q,ke,j,z,Fe,Ne,G,W,B,K],styles:[".qrcode-dialog[_ngcontent-%COMP%] .url-display[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#0d6efd;font-size:1rem;font-weight:500}.qrcode-dialog[_ngcontent-%COMP%] .url-display[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline!important}.qrcode-dialog[_ngcontent-%COMP%] .qrcode-container[_ngcontent-%COMP%] .qrcode{max-width:100%;height:auto}.qrcode-dialog[_ngcontent-%COMP%] .download-section[_ngcontent-%COMP%]{padding-top:1rem;border-top:1px solid #dee2e6}"]})};var X=class i{constructor(t){this.http=t}baseUrl=`${N.api}/api/admin/links`;getLinks(){return x(this,arguments,function*(t={}){let e=new URLSearchParams;t.page&&e.set("page",t.page.toString()),t.limit&&e.set("limit",t.limit.toString()),t.search&&e.set("search",t.search),t.sort&&e.set("sort",t.sort),t.status&&e.set("status",t.status),t.isEphemeral!==void 0&&e.set("isEphemeral",t.isEphemeral.toString()),t.expired!==void 0&&e.set("expired",t.expired.toString());let n=e.toString()?`${this.baseUrl}?${e.toString()}`:this.baseUrl;return S(this.http.get(n))})}getStats(){return x(this,null,function*(){return S(this.http.get(`${this.baseUrl}/stats`))})}getLink(t){return x(this,null,function*(){return S(this.http.get(`${this.baseUrl}/${t}`))})}updateLinkStatus(t,e){return x(this,null,function*(){return S(this.http.patch(`${this.baseUrl}/${t}/status`,{status:e}))})}updateLinkExpiration(t,e){return x(this,null,function*(){return S(this.http.patch(`${this.baseUrl}/${t}/expiration`,e))})}extendExpiration(t,e){return x(this,null,function*(){return S(this.http.post(`${this.baseUrl}/${t}/extend`,{hours:e}))})}deleteLink(t){return x(this,null,function*(){return S(this.http.delete(`${this.baseUrl}/${t}`))})}getLinksStream(t,e,n){if(typeof window>"u")return null;let s=!1,p=null,g=()=>x(this,null,function*(){if(!s){try{let C={};t.page&&(C.page=t.page),t.limit&&(C.limit=t.limit),t.search&&(C.search=t.search),t.sort&&(C.sort=t.sort),t.status&&(C.status=t.status),t.isEphemeral!==void 0&&(C.isEphemeral=t.isEphemeral),t.expired!==void 0&&(C.expired=t.expired);let We=yield S(this.http.get(`${this.baseUrl}/combined`,{params:C}));s||e(We)}catch(C){s||n?.(C)}s||(p=setTimeout(g,5e3))}});return g(),{close:()=>{s=!0,p&&clearTimeout(p)}}}static \u0275fac=function(e){return new(e||i)(ne(ue))};static \u0275prov=ie({token:i,factory:i.\u0275fac,providedIn:"root"})};var ot=i=>({"opacity-50":i}),rt=(i,t,e)=>({"table-danger":i,"table-warning":t,"dead-link-row":e}),at=()=>[10,25,50];function lt(i,t){if(i&1&&(l(0,"div",17)(1,"div",18)(2,"div",19)(3,"div",20)(4,"div",21),d(5),r(),l(6,"div",22),d(7,"Total"),r()()()(),l(8,"div",18)(9,"div",23)(10,"div",20)(11,"div",21),d(12),r(),l(13,"div",22),d(14),_(15,"translate"),r()()()(),l(16,"div",18)(17,"div",24)(18,"div",20)(19,"div",21),d(20),r(),l(21,"div",22),d(22),_(23,"translate"),r()()()(),l(24,"div",18)(25,"div",25)(26,"div",20)(27,"div",21),d(28),r(),l(29,"div",22),d(30),_(31,"translate"),r()()()(),l(32,"div",18)(33,"div",26)(34,"div",20)(35,"div",21),d(36),r(),l(37,"div",22),d(38),_(39,"translate"),r()()()(),l(40,"div",18)(41,"div",27)(42,"div",20)(43,"div",21),d(44),r(),l(45,"div",22),d(46),_(47,"translate"),r()()()()()),i&2){let e=m();o(5),v(e.stats.total),o(7),v(e.stats.active),o(2),v(f(15,11,"ADMIN.LINKS.ACTIVE")),o(6),v(e.stats.expired),o(2),v(f(23,13,"ADMIN.LINKS.EXPIRED")),o(6),v(e.stats.ep
1hemeral),o(2),v(f(31,15,"ADMIN.LINKS.EPHEMERAL")),o(6),v(e.stats.ephemeralActive),o(2),v(f(39,17,"ADMIN.LINKS.EPHEMERAL_ACTIVE")),o(6),v(e.stats.ephemeralExpired),o(2),v(f(47,19,"ADMIN.LINKS.EPHEMERAL_EXPIRED"))}}function st(i,t){if(i&1){let e=E();l(0,"button",28),h("click",function(){y(e);let s=m();return w(s.onResetFilters())}),c(1,"i",29),d(2),_(3,"translate"),r()}i&2&&(o(2),k(" ",f(3,1,"COMMON.RESET_FILTERS")," "))}function pt(i,t){if(i&1&&(l(0,"span"),d(1),_(2,"translate"),r()),i&2){let e=m();o(),M("",e.total," ",f(2,2,"ADMIN.LINKS.LINK_COUNT"),"")}}function dt(i,t){i&1&&(l(0,"span"),d(1,"Essayez une autre recherche."),r())}function ct(i,t){i&1&&(l(0,"span"),d(1,"Aucun lien correspondant aux crit\xE8res."),r())}function mt(i,t){if(i&1&&(l(0,"div",30)(1,"b"),d(2),_(3,"translate"),r(),c(4,"br"),u(5,dt,2,0,"span",12)(6,ct,2,0,"span",12),r()),i&2){let e=m();o(2),v(f(3,3,"ADMIN.LINKS.NO_LINK_FOUND")),o(3),a("ngIf",e.searchTerm),o(),a("ngIf",!e.searchTerm)}}function gt(i,t){i&1&&c(0,"i",47)}function ut(i,t){i&1&&c(0,"i",48)}function _t(i,t){i&1&&c(0,"i",49)}function ft(i,t){i&1&&c(0,"i",47)}function ht(i,t){i&1&&c(0,"i",48)}function vt(i,t){i&1&&c(0,"i",49)}function xt(i,t){i&1&&c(0,"i",47)}function Ct(i,t){i&1&&c(0,"i",48)}function yt(i,t){i&1&&c(0,"i",49)}function wt(i,t){i&1&&c(0,"i",47)}function kt(i,t){i&1&&c(0,"i",48)}function bt(i,t){i&1&&c(0,"i",49)}function St(i,t){if(i&1&&c(0,"i",80),i&2){let e=m().$implicit;a("pTooltip","\u26A0\uFE0F DANGEREUX: "+(e.threatDescription||e.threatType||"Menace d\xE9tect\xE9e par Safe Browsing"))}}function Et(i,t){if(i&1&&c(0,"i",81),i&2){let e=m().$implicit;a("pTooltip","Lien mort: "+(e.lastErrorMessage||"URL inaccessible"))}}function It(i,t){if(i&1&&c(0,"i",82),i&2){let e=m().$implicit;a("pTooltip","En surveillance: "+(e.lastErrorMessage||"Erreurs r\xE9centes"))}}function Lt(i,t){if(i&1&&(l(0,"span",83),d(1),r()),i&2){let e=m().$implicit;o(),v(e.title)}}function Tt(i,t){if(i&1){let e=E();l(0,"span",84),h("click",function(){y(e);let s=m().$implicit,p=m(2);return w(p.showUserInfo(s.owner.id))}),c(1,"i",85),d(2),r()}if(i&2){let e=m().$implicit;a("pTooltip",e.owner.email),o(2),k(" ",e.owner.firstName||e.owner.lastName?(e.owner.firstName||"")+" "+(e.owner.lastName||""):e.owner.email," ")}}function At(i,t){i&1&&(l(0,"span",86),c(1,"i",87),d(2,"Inconnu"),r())}function Pt(i,t){if(i&1&&(l(0,"span"),d(1),r()),i&2){let e=m().$implicit,n=m(2);o(),v(n.getRelativeTime(e.lastCall))}}function Mt(i,t){i&1&&(l(0,"span",11),d(1,"-"),r())}function Ot(i,t){i&1&&(l(0,"span",88),c(1,"i",89),d(2,"API "),r())}function Dt(i,t){i&1&&(l(0,"span",90),c(1,"i",91),d(2,"App "),r())}function Vt(i,t){if(i&1&&c(0,"p-tag",92),i&2){let e=m().$implicit;a("pTooltip",e.ephemeralDuration||"")}}function Rt(i,t){i&1&&c(0,"p-tag",93)}function Nt(i,t){i&1&&(l(0,"span",97),c(1,"i",98),d(2,"Expir\xE9 "),r())}function Ft(i,t){if(i&1&&(l(0,"span",99),c(1,"i",100),d(2),r()),i&2){let e=m(2).$implicit,n=m(2);o(2),k("",n.getTimeRemaining(e)," ")}}function Ut(i,t){if(i&1&&(L(0),u(1,Nt,3,0,"span",94)(2,Ft,3,1,"span",95),l(3,"div",96),d(4),_(5,"localizedDate"),r(),T()),i&2){let e=m().$implicit,n=m(2);o(),a("ngIf",n.isExpired(e)),o(),a("ngIf",!n.isExpired(e)),o(2),v(R(5,3,e.expiresAt,"dd/MM HH:mm"))}}function Qt(i,t){i&1&&(l(0,"span",11),d(1,"-"),r())}function $t(i,t){if(i&1){let e=E();L(0),l(1,"p-select",101),h("onChange",function(s){y(e);let p=m().$implicit,g=m(2);return w(g.extendExpiration(p,s.value))}),r(),T()}if(i&2){let e=m(3);o(),a("options",e.extendHoursOptions)("placeholder","\u23F1\uFE0F")}}function Bt(i,t){if(i&1){let e=E();l(0,"tr",50)(1,"td",51)(2,"div",52),u(3,St,1,1,"i",53)(4,Et,1,1,"i",54)(5,It,1,1,"i",55),l(6,"a",56),d(7),r(),l(8,"button",57),h("click",function(){let s=y(e).$implicit,p=m(2);return w(p.copyLink(s))}),c(9,"i",58),r()()(),l(10,"td",51)(11,"div",59),u(12,Lt,2,1,"span",60),l(13,"a",61),d(14),r()()(),l(15,"td",51),u(16,Tt,3,2,"span",62)(17,At,3,0,"span",63),r(),l(18,"td",64)(19,"span",65),d(20),r()(),l(21,"td",66),d(22),_(23,"localizedDate"),r(),l(24,"td",66),u(25,Pt,2,1,"span",12)(26,Mt,2,0,"span",67),r(),l(27,"td",64),u(28,Ot,3,0,"span",68)(29,Dt,3,0,"span",69),r(),l(30,"td",64),u(31,Vt,1,1,"p-tag",70)(32,Rt,1,0,"p-tag",71),r(),l(33,"td",64),u(34,Ut,6,6,"ng-container",12)(35,Qt,2,0,"span",67),r(),l(36,"td",72)(37,"div",73)(38,"button",74),h("click",function(){let s=y(e).$implicit,p=m(2);return w(p.showQrCode(s))}),c(39,"i",75),r(),u(40,$t,2,2,"ng-container",12),l(41,"button",76),h("click",function(){let s=y(e).$implicit,p=m(2);return w(p.toggleEphemeral(s))}),c(42,"i",77),r(),l(43,"button",78),h("click",function(s){let p=y(e).$implicit,g=m(2);return w(g.confirmDelete(s,p))}),c(44,"i",79),r()()()()}if(i&2){let e=t.$implicit,n=m(2);
1a("ngClass",ge(30,rt,n.isExpired(e)||n.isUnsafe(e),e.healthStatus==="warning",e.healthStatus==="dead")),o(3),a("ngIf",n.isUnsafe(e)),o(),a("ngIf",e.healthStatus==="dead"&&!n.isUnsafe(e)),o(),a("ngIf",e.healthStatus==="warning"&&!n.isUnsafe(e)),o(),a("href",e.shortUrl||n.environment.api+"/"+e.key,A),o(),k(" ",e.key," "),o(4),a("pTooltip",e.url),o(),a("ngIf",e.title),o(),a("href",e.url,A),o(),v(e.url),o(2),a("ngIf",e.owner),o(),a("ngIf",!e.owner),o(2),a("ngClass",e.hitsCount>0?"bg-primary":"bg-light text-muted"),o(),v(e.hitsCount||0),o(2),k(" ",R(23,27,e.createdAt,"dd/MM/yy")," "),o(3),a("ngIf",e.lastCall),o(),a("ngIf",!e.lastCall),o(2),a("ngIf",e.createdByType==="api"),o(),a("ngIf",e.createdByType!=="api"),o(2),a("ngIf",e.isEphemeral),o(),a("ngIf",!e.isEphemeral),o(2),a("ngIf",e.isEphemeral&&e.expiresAt),o(),a("ngIf",!e.isEphemeral||!e.expiresAt),o(5),a("ngIf",e.isEphemeral),o(),a("ngClass",e.isEphemeral?"text-warning":"text-info")("pTooltip",e.isEphemeral?"Rendre permanent":"Rendre \xE9ph\xE9m\xE8re"),o(),a("ngClass",e.isEphemeral?"pi-clock":"pi-stopwatch")}}function Wt(i,t){if(i&1){let e=E();l(0,"div",31)(1,"table",32)(2,"thead",33)(3,"tr")(4,"th",34),h("click",function(){y(e);let s=m();return w(s.onSort("key"))}),d(5," Short Code "),u(6,gt,1,0,"i",35)(7,ut,1,0,"i",36)(8,_t,1,0,"i",37),r(),l(9,"th",38),d(10,"URL de destination"),r(),l(11,"th",39),d(12),_(13,"translate"),r(),l(14,"th",40),h("click",function(){y(e);let s=m();return w(s.onSort("hitsCount"))}),d(15),_(16,"translate"),u(17,ft,1,0,"i",35)(18,ht,1,0,"i",36)(19,vt,1,0,"i",37),r(),l(20,"th",41),h("click",function(){y(e);let s=m();return w(s.onSort("createdAt"))}),d(21),_(22,"translate"),u(23,xt,1,0,"i",35)(24,Ct,1,0,"i",36)(25,yt,1,0,"i",37),r(),l(26,"th",41),h("click",function(){y(e);let s=m();return w(s.onSort("lastCall"))}),d(27),_(28,"translate"),u(29,wt,1,0,"i",35)(30,kt,1,0,"i",36)(31,bt,1,0,"i",37),r(),l(32,"th",42),d(33,"Source"),r(),l(34,"th",43),d(35,"Type"),r(),l(36,"th",44),d(37,"Expiration"),r(),l(38,"th",45),d(39,"Actions"),r()()(),l(40,"tbody"),u(41,Bt,45,34,"tr",46),r()()()}if(i&2){let e=m();a("ngClass",me(26,ot,e.loading)),o(6),a("ngIf",e.sortField!=="key"),o(),a("ngIf",e.sortField==="key"&&e.sortOrder==="ASC"),o(),a("ngIf",e.sortField==="key"&&e.sortOrder==="DESC"),o(4),v(f(13,18,"ADMIN.LINKS.OWNER")),o(3),k(" ",f(16,20,"ADMIN.LINKS.CLICKS")," "),o(2),a("ngIf",e.sortField!=="hitsCount"),o(),a("ngIf",e.sortField==="hitsCount"&&e.sortOrder==="ASC"),o(),a("ngIf",e.sortField==="hitsCount"&&e.sortOrder==="DESC"),o(2),k(" ",f(22,22,"ADMIN.LINKS.CREATED_AT")," "),o(2),a("ngIf",e.sortField!=="createdAt"),o(),a("ngIf",e.sortField==="createdAt"&&e.sortOrder==="ASC"),o(),a("ngIf",e.sortField==="createdAt"&&e.sortOrder==="DESC"),o(2),k(" ",f(28,24,"ADMIN.LINKS.LAST_CLICK")," "),o(2),a("ngIf",e.sortField!=="lastCall"),o(),a("ngIf",e.sortField==="lastCall"&&e.sortOrder==="ASC"),o(),a("ngIf",e.sortField==="lastCall"&&e.sortOrder==="DESC"),o(10),a("ngForOf",e.links)}}function qt(i,t){if(i&1){let e=E();l(0,"p-paginator",102),h("onPageChange",function(s){y(e);let p=m();return w(p.onPageChange(s))}),r()}if(i&2){let e=m();a("first",e.first)("rows",e.limit)("totalRecords",e.total)("rowsPerPageOptions",ce(4,at))}}var Be=(e=>(e.ACTIVE="active",e.EXPIRED="expired",e))(Be||{}),$e=class i{constructor(t,e,n){this.adminLinksService=t;this.toastService=e;this.confirmService=n}ngZone=I(re);dialogService=I(Y);route=I(fe);qf=I(Ve);destroyRef=I(oe);filters;eventSource=null;links=[];stats=null;total=0;page=1;limit=10;first=0;loading=!1;error=null;searchTerm="";environment=N;selectedStatus=null;selectedEphemeral=null;selectedExpired=null;sortField="createdAt";sortOrder="DESC";statusOptions=[{label:"Tous les statuts",value:null},{label:"Actif",value:"active"},{label:"Expir\xE9",value:"expired"}];ephemeralOptions=[{label:"Tous les types",value:null},{label:"\xC9ph\xE9m\xE8res seulement",value:!0},{label:"Permanents seulement",value:!1}];expiredOptions=[{label:"Tous",value:null},{label:"Expir\xE9s",value:!0},{label:"Non expir\xE9s",value:!1}];extendHoursOptions=[{label:"+1h",value:1},{label:"+6h",value:6},{label:"+12h",value:12},{label:"+24h",value:24},{label:"+48h",value:48}];sortOptions=[{label:"Plus r\xE9cents",value:"createdAt,DESC"},{label:"Plus anciens",value:"createdAt,ASC"},{label:"Plus de clics",value:"hitsCount,DESC"},{label:"Moins de clics",value:"hitsCount,ASC"},{label:"Dernier clic (r\xE9cent)",value:"lastCall,DESC"},{label:"Dernier clic (ancien)",value:"lastCall,ASC"}];selectedSortOption="createdAt,DESC";
1searchSubject=new J;LinkStatus=Be;ngOnInit(){this.filters=this.qf.init(this.route,[{key:"search",default:""},{key:"ephemeral",default:""},{key:"expired",default:""},{key:"sort",default:"createdAt,DESC"},{key:"page",default:1,type:"number"},{key:"limit",default:10,type:"number"}],()=>this.onFiltersChanged(),this.destroyRef),this.syncFromFilters(),this.searchSubject.pipe(ee(400),te()).subscribe(()=>{this.filters.set({search:this.searchTerm,page:1})}),this.startLinksStream()}ngOnDestroy(){this.eventSource&&(this.eventSource.close(),this.eventSource=null)}startLinksStream(){this.eventSource&&this.eventSource.close();let t=this.buildQueryParams();this.eventSource=this.adminLinksService.getLinksStream(t,e=>{this.ngZone.run(()=>{this.stats=e.stats,this.links=e.links.data,this.total=e.links.total,this.loading=!1,this.error=null})},e=>{this.ngZone.run(()=>{console.warn("HTTP polling error:",e),this.error="Erreur lors du chargement des donn\xE9es"})}),this.eventSource||(this.loadLinks(),this.loadStats())}restartStream(){this.startLinksStream()}buildQueryParams(){let t={page:this.page,limit:this.limit,sort:`${this.sortField},${this.sortOrder}`};return this.searchTerm&&(t.search=this.searchTerm),this.selectedStatus&&(t.status=this.selectedStatus),this.selectedEphemeral!==null&&(t.isEphemeral=this.selectedEphemeral),this.selectedExpired!==null&&(t.expired=this.selectedExpired),t}loadStats(){return x(this,null,function*(){try{this.stats=yield this.adminLinksService.getStats()}catch(t){console.error("Erreur chargement stats:",t)}})}loadLinks(){return x(this,null,function*(){this.loading=!0,this.error=null;try{let t={page:this.page,limit:this.limit,sort:`${this.sortField},${this.sortOrder}`};this.searchTerm&&(t.search=this.searchTerm),this.selectedStatus&&(t.status=this.selectedStatus),this.selectedEphemeral!==null&&(t.isEphemeral=this.selectedEphemeral),this.selectedExpired!==null&&(t.expired=this.selectedExpired);let e=yield this.adminLinksService.getLinks(t);this.links=e.data,this.total=e.total}catch(t){this.error="Erreur lors du chargement des liens",console.error(t)}finally{this.loading=!1}})}onSearch(){this.searchSubject.next(this.searchTerm)}onFilterChange(){this.filters.set({ephemeral:this.selectedEphemeral===null?"":String(this.selectedEphemeral),expired:this.selectedExpired===null?"":String(this.selectedExpired),page:1})}onSortOptionChange(){this.filters.set({sort:this.selectedSortOption,page:1})}onSort(t){this.sortField===t?this.sortOrder=this.sortOrder==="ASC"?"DESC":"ASC":(this.sortField=t,this.sortOrder="DESC"),this.selectedSortOption=`${this.sortField},${this.sortOrder}`,this.filters.set({sort:this.selectedSortOption,page:1})}onPageChange(t){this.first=t.first??0,this.page=(t.first??0)/(t.rows??this.limit)+1,this.limit=t.rows??this.limit,this.filters.set({page:this.page,limit:this.limit})}syncFromFilters(){let t=this.filters.values();this.searchTerm=t.search;let e=t.ephemeral;this.selectedEphemeral=e===""?null:e==="true";let n=t.expired;this.selectedExpired=n===""?null:n==="true",this.selectedSortOption=t.sort;let[s,p]=this.selectedSortOption.split(",");this.sortField=s,this.sortOrder=p,this.page=t.page,this.limit=t.limit,this.first=(this.page-1)*this.limit}onFiltersChanged(){this.syncFromFilters(),this.restartStream()}onResetFilters(){this.filters.reset()}extendExpiration(t,e){return x(this,null,function*(){try{let n=yield this.adminLinksService.extendExpiration(t.id,e);t.expiresAt=n.expiresAt,this.toastService.add({severity:"success",detail:`Expiration prolong\xE9e de ${e}h`}),this.loadStats()}catch{this.toastService.add({severity:"error",detail:"Erreur lors de la prolongation"})}})}toggleEphemeral(t){return x(this,null,function*(){try{let e=!t.isEphemeral,n=null;e&&(n=new Date(Date.now()+24*60*60*1e3));let s=yield this.adminLinksService.updateLinkExpiration(t.id,{isEphemeral:e,expiresAt:n,ephemeralDuration:e?"24h":void 0});t.isEphemeral=s.isEphemeral,t.expiresAt=s.expiresAt,t.ephemeralDuration=s.ephemeralDuration,this.toastService.add({severity:"success",detail:e?"Lien converti en \xE9ph\xE9m\xE8re":"Lien converti en permanent"}),this.loadStats()}catch{this.toastService.add({severity:"error",detail:"Erreur lors de la modification"})}})}confirmDelete(t,e){return x(this,null,function*(){(yield this.confirmService.confirm({message:`\xCAtes-vous s\xFBr de vouloir supprimer le lien ${e.key} ?`,header:"Suppression",severity:"danger",acceptLabel:"Oui",rejectLabel:"Non"}))&&(yield this.deleteLink(e))})}deleteLink(t){return x(this,null,function*(){try{yield this.adminLinksService.deleteLink(t.id),this.links=this.links.filter(e=>e.id!==t.id),this.total--,this.toastService.add({severity:"success",detail
1:`Lien ${t.key} supprim\xE9`}),this.loadStats()}catch{this.toastService.add({severity:"error",detail:"Erreur lors de la suppression"})}})}isExpired(t){return t.expiresAt?new Date(t.expiresAt)<new Date:!1}isUnsafe(t){return t.safetyStatus?t.safetyStatus!=="unknown"&&t.safetyStatus!=="safe":!1}getTimeRemaining(t){if(!t.expiresAt)return"";let e=new Date().getTime(),s=new Date(t.expiresAt).getTime()-e;if(s<=0)return"Expir\xE9";let p=Math.floor(s/(1e3*60*60)),g=Math.floor(s%(1e3*60*60)/(1e3*60));return p>24?`${Math.floor(p/24)}j ${p%24}h`:`${p}h ${g}m`}copyLink(t){let e=t.shortUrl||`${N.api}/${t.key}`;navigator.clipboard.writeText(e),this.toastService.add({severity:"success",detail:"Lien copi\xE9 !"})}getRelativeTime(t){if(!t)return"";let e=new Date().getTime(),n=new Date(t).getTime(),s=e-n,p=Math.floor(s/(1e3*60)),g=Math.floor(s/(1e3*60*60)),C=Math.floor(s/(1e3*60*60*24));return p<1?"\xC0 l'instant":p<60?`${p}min`:g<24?`${g}h`:C<7?`${C}j`:C<30?`${Math.floor(C/7)}sem`:`${Math.floor(C/30)}mois`}showQrCode(t){this.dialogService.open(H,{header:`QR Code - ${t.key}`,width:"400px",closable:!0,data:{link:t},styleClass:"qrcode-dialog-modal"})}showUserInfo(t){this.dialogService.open(Ue,{header:"Informations utilisateur",width:"500px",closable:!0,data:{userId:t},styleClass:"user-info-dialog-modal"})}static \u0275fac=function(e){return new(e||i)(b(X),b(q),b(Re))};static \u0275cmp=F({type:i,selectors:[["app-view-admin-links"]],features:[de([Y])],decls:18,vars:20,consts:[["class","row g-3 mb-4",4,"ngIf"],[1,"d-flex","justify-content-between","align-items-center","mb-3","gap-3","flex-wrap"],[1,"input-group",2,"max-width","300px"],[1,"input-group-text","bg-white","border-end-0"],[1,"pi","pi-search","text-muted"],["type","text",1,"form-control","border-start-0","shadow-none",3,"ngModelChange","placeholder","ngModel"],[1,"d-flex","gap-2","flex-wrap"],["placeholder","Type","styleClass","compact-select",3,"ngModelChange","onChange","options","ngModel"],["placeholder","Expiration","styleClass","compact-select",3,"ngModelChange","onChange","options","ngModel"],["styleClass","compact-select",3,"ngModelChange","onChange","options","ngModel"],[1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1"],[1,"text-muted"],[4,"ngIf"],["class","alert alert-info",4,"ngIf"],["class","border rounded",3,"ngClass",4,"ngIf"],["class","d-block border border-top-0 rounded-bottom bg-white",3,"first","rows","totalRecords","rowsPerPageOptions","onPageChange",4,"ngIf"],[1,"d-block","mt-4",3,"loading","loadingError"],[1,"row","g-3","mb-4"],[1,"col-md-2","col-6"],[1,"card","border-0","bg-primary","text-white"],[1,"card-body","py-2","text-center"],[1,"fs-4","fw-bold"],[1,"small"],[1,"card","border-0","bg-success","text-white"],[1,"card","border-0","bg-danger","text-white"],[1,"card","border-0","text-white",2,"background-color","#6c757d"],[1,"card","border-0","text-white",2,"background-color","#17a2b8"],[1,"card","border-0","bg-dark","text-white"],[1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1",3,"click"],[1,"pi","pi-filter-slash"],[1,"alert","alert-info"],[1,"border","rounded",3,"ngClass"],[1,"table","table-hover","mb-0"],[1,"table-light"],["scope","col",1,"sortable",2,"width","100px",3,"click"],["class","pi pi-sort-alt ms-1",4,"ngIf"],["class","pi pi-sort-amount-up ms-1",4,"ngIf"],["class","pi pi-sort-amount-down ms-1",4,"ngIf"],["scope","col"],["scope","col",2,"width","120px"],["scope","col",1,"sortable","text-center",2,"width","80px",3,"click"],["scope","col",1,"sortable","text-center",2,"width","100px",3,"click"],["scope","col",1,"text-center",2,"width","65px"],["scope","col",1,"text-center",2,"width","90px"],["scope","col",1,"text-center",2,"width","110px"],["scope","col",1,"text-end",2,"width","130px"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"pi","pi-sort-alt","ms-1"],[1,"pi","pi-sort-amount-up","ms-1"],[1,"pi","pi-sort-amount-down","ms-1"],[3,"ngClass"],[1,"align-middle"],[1,"d-flex","align-items-center","gap-1"],["class","pi pi-ban text-danger","style","font-size: 15px;","tooltipPosition","top",3,"pTooltip",4,"ngIf"],["class","pi pi-times-circle text-danger","style","font-size: 14px;","tooltipPosition","top",3,"pTooltip",4,"ngIf"],["class","pi pi-exclamation-triangle text-warning","style","font-size: 14px;","tooltipPosition","top",3,"pTooltip",4,"ngIf"],["target","_blank",1,"text-primary","fw-medium","text-decoration-none",3,"href"],["pTooltip","Copier","tooltipPosition","top",1,"btn","btn-link","btn-sm","p-0",3,"click"],[1,"pi","pi-copy","text-muted",2,"font-size","12px"],["tooltipPosition","top",1,"text-truncate",2,"max-width","250px",3,"pTooltip"],["class","d-block small text-muted",4,"ngIf"],["target","_blank",1,"text-decoration-none",3,"href"],["class","small text-truncate d-block owner-link","style","max-width: 110px; cursor: pointer;","tooltipPosition","top",3,"pTooltip","click",4,"ngIf"],["class","text-muted small",4,"ngIf"],[1,"align-middle","text-center"],[1,"badge",3,"ngClass"],[1,"align-middle","text-center","small"],["class","text-muted",4,"ngIf"],["class","badge text-white","style","background-color: #6f42c1;","pTooltip","Cr\xE9\xE9 via API","tooltipPosition","top",4,"ngIf"],["class","badge text-white","style","background-color: #6c757d;","pTooltip","Cr\xE9\xE9 manuellement","tooltipPosition","top",4,"ngIf"],["value","\xC9ph\xE9m\xE8re","severity","warn","tooltipPosition","top",3,"pTooltip",4,"ngIf"],["value","Permanent","severity","info",4,"ngIf"],[1,"align-middle","text-end"],[1,"d-flex","justify-content-end","gap-1","align-items-center"],["pTooltip","Voir QR Code","tooltipPosition","top",1,"btn","btn-sm","btn-link","text-primary","p-1",3,"click"],[1,"pi","pi-qrcode"],["tooltipPosition","top",1,"btn","btn-sm","btn-link","p-1",3,"click","ngClass","pTooltip"],[1,"pi",3,"ngClass"],["pTooltip","Supprimer","tooltipPosition","left",1,"btn","btn-sm","btn-link","text-danger","p-1",3,"click"],[1,"pi","pi-trash"],["tooltipPosition","top",1,"pi","pi-ban","text-danger",2,"font-size","15px",3,"pTooltip"],["tooltipPosition","top",1,"pi","pi-times-circle","text-danger",2,"font-size","14px",3,"pTooltip"],["tooltipPosition","top",1,"pi","pi-exclamation-triangle","text-warning",2,"font-size","14px",3,"pTooltip"],[1,"d-block","small","text-muted"],["tooltipPosition","top",1,"small","text-truncate","d-block","owner-link",2,"max-width","110px","cursor","pointer",3,"click","pTooltip"],[1,"pi","pi-user","me-1",2,"font-size","10px"],[1,"text-muted","small"],[1,"pi","pi-user-minus","me-1"],["pTooltip","Cr\xE9\xE9 via API","tooltipPosition","top",1,"badge","text-white",2,"background-color","#6f42c1"],[1,"pi","pi-code","me-1",2,"font-size","10px"],["pTooltip","Cr\xE9\xE9 manuellement","tooltipPosition","top",1,"badge","text-white",2,"background-color","#6c757d"],[1,"pi","pi-desktop","me-1",2,"font-size","10px"],["value","\xC9ph\xE9m\xE8re","severity","warn","tooltipPosition","top",3,"pTooltip"],["value","Permanent","severity","info"],["class","badge bg-danger",4,"ngIf"],["class","badge bg-success",4,"ngIf"],[1,"small","text-muted"],[1,"badge","bg-danger"],[1,"pi","pi-times-circle","me-1"],[1,"badge","bg-success"],[1,"pi","pi-clock","me-1"],["styleClass","compact-select-action","appendTo","body","pTooltip","Prolonger","tooltipPosition","top",3,"onChange","options","placeholder"],[1,"d-block","border","border-top-0","rounded-bottom","bg-white",3,"onPageChange","first","rows","totalRecords","rowsPerPageOptions"]],template:function(e,n){e&1&&(u(0,lt,48,21,"div",0),l(1,"div",1)(2,"div",2)(3,"span",3),c(4,"i",4),r(),l(5,"input",5),_(6,"translate"),V("ngModelChange",function(p){return D(n.searchTerm,p)||(n.searchTerm=p),p}),h("ngModelChange",function(){return n.onSearch()}),r()(),l(7,"div",6)(8,"p-select",7),V("ngModelChange",function(p){return D(n.selectedEphemeral,p)||(n.selectedEphemeral=p),p}),h("onChange",function(){return n.onFilterChange()}),r(),l(9,"p-select",8),V("ngModelChange",function(p){return D(n.selectedExpired,p)||(n.selectedExpired=p),p}),h("onChange",function(){return n.onFilterChange()}),r(),l(10,"p-select",9),V("ngModelChange",function(p){return D(n.selectedSortOption,p)||(n.selectedSortOption=p),p}),h("onChange",function(){return n.onSortOptionChange()}),r(),u(11,st,4,3,"button",10),r(),l(12,"div",11),u(13,pt,3,4,"span",12),r()(),u(14,mt,7,5,"div",13)(15,Wt,42,28,"div",14)(16,qt,1,5,"p-paginator",15),c(17,"app-widget-loading",16)),e&2&&(a("ngIf",n.stats),o(5),a("placeholder",f(6,18,"ADMIN.LINKS.SEARCH_PLACEHOLDER")),O("ngModel",n.searchTerm),o(3),a("options",n.ephemeralOptions),O("ngModel",n.selectedEphemeral),o(),a("options",n.expiredOptions),O("ngModel",n.selectedExpired),o(),a("options",n.sortOptions),O("ngModel",n.selectedSortOption),o(),ae(n.filters&&n.filters.activeCount()>0?11:-1),o(2),a("ngIf",n.total>0),o(),a("ngIf",n.links.length===0&&!n.loading&&!n.error),o(),a("ngIf",n.links.length>0),o(),a("ngIf",n.total>n.limit),o(),P("dark"),a("loading",n.loading)("loadingError",!!n.error))},dependencies:[$,U,_e,Q,ye,ve,xe,Ce,Me,Pe,Ae,j,z,Ee,Se,De,Oe,be,Te,G,W,B,K],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:100%;padding-top:.5rem} .compact-select .p-select{min-width:140px;height:38px} .compact-select .p-select .p-select-label{padding:.5rem .75rem;font-size:.875rem} .compact-select-action .p-select{min-width:50px;max-width:60px;height:32px} .compact-select-action .p-select .p-select-label{padding:.25rem .5rem;font-size:.875rem} .compact-select-action .p-select .p-select-dropdown{width:1.5rem}.table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600;font-size:.8rem;white-space:nowrap}.table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] .pi[_ngcontent-%COMP%]{font-size:.7rem;opacity:.6}.table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{font-size:.85rem;vertical-align:middle}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.text-primary[_ngcontent-%COMP%]:hover{text-decoration:underline!important}.badge[_ngcontent-%COMP%]{font-weight:500}.badge.bg-light[_ngcontent-%COMP%]{border:1px solid #dee2e6}.badge.bg-purple[_ngcontent-%COMP%]{background-color:#6f42c1!important;color:#fff}.card[_ngcontent-%COMP%]{transition:transform .2s ease-in-out}.card[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.btn-group-sm[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:.25rem .5rem}.table-danger[_ngcontent-%COMP%]{background-color:#dc35451a!important}.table-warning[_ngcontent-%COMP%]{background-color:#ffc1071a!important}.dead-link-row[_ngcontent-%COMP%]{background-color:#dc354526!important}.dead-link-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{opacity:.9}.dead-link-row[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:line-through!important;opacity:.7}.unsafe-link-row[_ngcontent-%COMP%]{background-color:#9003!important;border-left:3px solid #cc0000!important}.unsafe-link-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{color:#600}.unsafe-link-row[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#c00!important;font-weight:600} .p-paginator{padding:.5rem 1rem} .p-paginator .p-paginator-pages .p-paginator-page{min-width:2rem;height:2rem}.input-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{border-color:#ced4da;box-shadow:none}.owner-link[_ngcontent-%COMP%]{color:#0d6efd;transition:color .2s}.owner-link[_ngcontent-%COMP%]:hover{color:#0a58ca;text-decoration:underline}"]})};export{Be as LinkStatus,$e as ViewAdminLinksComponent};
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.