PageSourceSearch

https://hou.la/chunk-3I45YHXW.js

js hou.la collected 2026-09-25 03:32:09 UTC 67,779 bytes, 4 lines download raw bytes

1import{a as St,b as bt}from"./chunk-X5FQST2K.js";import{a as yt}from"./chunk-I2BF4VFZ.js";import{a as kt}from"./chunk-RNOOREKO.js";import{a as he}from"./chunk-VET56DZT.js";import{a as Mt}from"./chunk-HVLO3SGC.js";import"./chunk-TKJJQVX7.js";import"./chunk-2JP6QD6L.js";import"./chunk-4ABKOVHO.js";import"./chunk-EHNU5VHG.js";import"./chunk-NKETS5FT.js";import{a as ut,b as vt}from"./chunk-MCLQ35G6.js";import"./chunk-PMINCVZJ.js";import"./chunk-LAPCUU4J.js";import{a as _t}from"./chunk-RH57MTTG.js";import{a as ft}from"./chunk-TFL7IPB2.js";import"./chunk-KP4Y3PC5.js";import"./chunk-RFPPTBN5.js";import"./chunk-G7K5QAPV.js";import"./chunk-ALWASWSS.js";import"./chunk-C5VG7OMG.js";import"./chunk-CQSCVE5N.js";import"./chunk-3LQ6JEFM.js";import{a as ot,b as at}from"./chunk-URVIZL7P.js";import{a as mt,b as gt}from"./chunk-NDG66OB4.js";import{f as Ct}from"./chunk-B3QJM2RM.js";import"./chunk-M6OZBIKI.js";import"./chunk-XQLXGKEK.js";import{a as ht,b as xt}from"./chunk-IXD6ECVB.js";import"./chunk-IHE2TIXH.js";import"./chunk-7NAHQCRY.js";import"./chunk-RRCBQ55K.js";import"./chunk-DQRROS2B.js";import"./chunk-EONF3GVN.js";import"./chunk-5LMG4TVJ.js";import"./chunk-Z2TVBXTG.js";import"./chunk-ZV7NG4F4.js";import"./chunk-DJ5AJG3T.js";import"./chunk-6EF6RNOO.js";import{a as We}from"./chunk-T3DWPM4S.js";import"./chunk-K6QYQNRN.js";import{a as Tt}from"./chunk-QIOURN4K.js";import"./chunk-KYVCMV2E.js";import"./chunk-HWZZ5RQT.js";import"./chunk-ZNR7QNVV.js";import{a as Xe}from"./chunk-JCFONIMH.js";import"./chunk-WGAXTYG2.js";import"./chunk-U3Z5BGA7.js";import{c as dt,d as pe}from"./chunk-G6MDBWTL.js";import"./chunk-6L3VWL47.js";import"./chunk-IRE2CVIC.js";import"./chunk-JS6LICOA.js";import"./chunk-GQ2RX7RJ.js";import"./chunk-WF4KZOYP.js";import{a as Et,b as It}from"./chunk-M6YDMVQ7.js";import{a as wt}from"./chunk-OTMVSU27.js";import{b as rt}from"./chunk-VRHU7RMY.js";import{a as ie}from"./chunk-EB6TJ75L.js";import"./chunk-QI7CEGT6.js";import{a as lt,b as st}from"./chunk-6ND7557V.js";import{D as ae,E as qe,c as ne,g as re,h as He,i as je,k as ve,l as oe,m as Ue,q as ze,s as $e,t as Je,u as Qe,v as Ye,z as Ze}from"./chunk-FOJCKIWO.js";import"./chunk-6DXFCF2C.js";import{a as tt}from"./chunk-NBMUSEX4.js";import{a as et,b as se}from"./chunk-3AIY57KH.js";import{a as F}from"./chunk-AB6CKZTE.js";import{b as pt,c as ct}from"./chunk-H66TAOKK.js";import"./chunk-Z64D265S.js";import"./chunk-K5O3OQFW.js";import"./chunk-2DRXLVRR.js";import{c as it,e as nt}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{ja as le}from"./chunk-AQEWHUN5.js";import{d as ee,e as te}from"./chunk-YQZAETCE.js";import{o as Ge,s as Fe,x as Ke}from"./chunk-EO42E46J.js";import{h as Oe}from"./chunk-3QVSKJ3X.js";import{C as De,D as q,I as X,c as fe,p as Q,r as Y,s as Z,w as Ve,x as Be}from"./chunk-ERUCNOOT.js";import{$b as b,B as Se,Cc as k,D as be,Dc as T,Ec as L,Fa as Te,Fc as Re,Gc as K,Hc as G,J as Me,Jb as d,Kb as P,Kc as Ne,Lb as O,Lc as Pe,Mb as V,Na as Le,Qb as w,Qc as s,Rc as p,Sb as me,Sc as W,Tb as B,Ub as D,Vb as r,Wb as a,Xb as u,Yb as z,Z as Ee,Za as de,Zb as $,_a as Ae,c as Ce,ca as Ie,da as j,db as t,fc as x,gc as m,ib as I,la as f,ma as v,mc as ge,nc as _e,oc as ue,p as N,sa as we,sb as U,tc as c,uc as S,va as ye,vc as g,wa as ke,wc as J,yb as C}from"./chunk-DBE7WQEG.js";import{g as E}from"./chunk-W7GRJBO5.js";var ce=class n{constructor(i){this.http=i}apiEndpoint=F.api+"/api/manager/import";startImport(i){return N(this.http.post(`${this.apiEndpoint}/start`,i))}listJobs(){return N(this.http.get(this.apiEndpoint))}getJob(i){return N(this.http.get(`${this.apiEndpoint}/${i}`))}cancelJob(i){return N(this.http.post(`${this.apiEndpoint}/${i}/cancel`,{}))}pollProgress(i,e=2e3){return new Ce(o=>{let l=!1;return E(this,null,function*(){for(;!l;){try{let h=yield this.getJob(i),y={id:h.id,status:h.status,totalLinks:h.totalLinks,importedCount:h.importedCount,skippedCount:h.skippedCount,errorCount:h.errorCount,completedAt:h.completedAt,failureReason:h.failureReason};if(o.next(y),["completed","failed","cancelled"].includes(h.status)){o.complete();return}}catch(h){o.error(h);return}yield new Promise(h=>setTimeout(h,e))}}),()=>{l=!0}})}static \u0275fac=function(e){return new(e||n)(Ie(Oe))};static \u0275prov=Ee({token:n,factory:n.\u0275fac,providedIn:"root"})};var Kt=()=>({width:"520px",maxWidth:"95vw"});function Wt(n,i){n&1&&(r(0,"div",4),u(1,"i",5),r(2,"span",6),c(3),s(4,"translate"),a()()),n&2&&(t(3),S(p(4,1,"MANAGER.IMPORT.TITLE")))}function Ht(n,i){if(n&1){let e=b();r(0,"div",7)(1,"p",8),c(2),s(3,"translate"),a(),r(4,"div",9)(5,"button",10),x("click",function(){f(e);let l=m();return v(l.selectBitly())}),r(6,"div",11),u(7,"i",12),a(),r(8,"div",13)(9,"div",14),c(10,"Bitly"),a(),r(11,"div",15),c(12),s(13,"translate"),a()(),u(14,"i",16),a(),r(15,"button",17)(16,"div",11),u(17,"i",18),a(),r(18,"div",13)(19,"div",19),c(20,"CSV"),a(),r(21,"div",15),c(22),s(23,"translate"),a()(),r(24,"span",20),c(25),s(26,"translate"),a()()()()}n&2&&(t(2),g(" ",p(3,4,"MANAGER.IMPORT.CHOOSE_DESC")," "),t(10),g(" ",p(13,6,"MANAGER.IMPORT.BITLY_DESC")," "),t(10),g(" ",p(23,8,"MANAGER.IMPORT.CSV_SOON")," "),t(3),S(p(26,10,"MANAGER.IMPORT.COMING_SOON")))}function jt(n,i){if(n&1&&(r(0,"div",40),u(1,"i",41),c(2),s(3,"translate"),a()),n&2){let e=m(2);t(2),g(" ",p(3,1,e.error)," ")}}function Ut(n,i){if(n&1){let e=b();r(0,"div",7)(1,"button",21),s(2,"translate"),x("click",function(){f(e);let l=m();return v(l.goBack())}),a(),r(3,"div",22),u(4,"i",23),r(5,"h4",24),c(6),s(7,"translate"),a()(),r(8,"div",25)(9,"p",26),c(10),s(11,"translate"),a(),r(12,"ol",27),u(13,"li",28),s(14,"translate"),u(15,"li",28),s(16,"translate"),r(17,"li"),c(18),s(19,"translate"),a()()(),r(20,"div",29)(21,"label",30),c(22),s(23,"translate"),a(),r(24,"input",31),s(25,"translate"),L("ngModelChange",function(l){f(e);let _=m();return T(_.bitlyToken,l)||(_.bitlyToken=l),v(l)}
1),a(),r(26,"small",32),c(27),s(28,"translate"),a()(),r(29,"div",33)(30,"div",34)(31,"div")(32,"div",35),c(33),s(34,"translate"),a(),r(35,"div",32),c(36),s(37,"translate"),a()(),r(38,"p-inputSwitch",36),L("ngModelChange",function(l){f(e);let _=m();return T(_.skipDuplicates,l)||(_.skipDuplicates=l),v(l)}),a()(),r(39,"div",34)(40,"div")(41,"div",35),c(42),s(43,"translate"),a(),r(44,"div",32),c(45),s(46,"translate"),a()(),r(47,"p-inputSwitch",36),L("ngModelChange",function(l){f(e);let _=m();return T(_.preserveTags,l)||(_.preserveTags=l),v(l)}),a()(),r(48,"div",37)(49,"div")(50,"div",35),c(51),s(52,"translate"),a(),r(53,"div",32),c(54),s(55,"translate"),a()(),r(56,"p-inputSwitch",36),L("ngModelChange",function(l){f(e);let _=m();return T(_.preserveCustomSlugs,l)||(_.preserveCustomSlugs=l),v(l)}),a()()(),C(57,jt,4,3,"div",38),r(58,"button",39),s(59,"translate"),x("click",function(){f(e);let l=m();return v(l.startImport())}),a()()}if(n&2){let e=m();t(),d("label",p(2,23,"MANAGER.IMPORT.BACK")),t(5),g(" ",p(7,25,"MANAGER.IMPORT.BITLY_CONFIGURE")," "),t(4),g(" ",p(11,27,"MANAGER.IMPORT.BITLY_HELP_TITLE")," "),t(3),d("innerHTML",p(14,29,"MANAGER.IMPORT.BITLY_HELP_STEP1"),de),t(2),d("innerHTML",p(16,31,"MANAGER.IMPORT.BITLY_HELP_STEP2"),de),t(3),S(p(19,33,"MANAGER.IMPORT.BITLY_HELP_STEP3")),t(4),S(p(23,35,"MANAGER.IMPORT.TOKEN_LABEL")),t(2),k("ngModel",e.bitlyToken),d("placeholder",p(25,37,"MANAGER.IMPORT.TOKEN_PLACEHOLDER")),t(3),S(p(28,39,"MANAGER.IMPORT.TOKEN_HINT")),t(6),g(" ",p(34,41,"MANAGER.IMPORT.OPT_SKIP_DUPLICATES")," "),t(3),g(" ",p(37,43,"MANAGER.IMPORT.OPT_SKIP_DUPLICATES_DESC")," "),t(2),k("ngModel",e.skipDuplicates),t(4),g(" ",p(43,45,"MANAGER.IMPORT.OPT_PRESERVE_TAGS")," "),t(3),g(" ",p(46,47,"MANAGER.IMPORT.OPT_PRESERVE_TAGS_DESC")," "),t(2),k("ngModel",e.preserveTags),t(4),g(" ",p(52,49,"MANAGER.IMPORT.OPT_PRESERVE_SLUGS")," "),t(3),g(" ",p(55,51,"MANAGER.IMPORT.OPT_PRESERVE_SLUGS_DESC")," "),t(2),k("ngModel",e.preserveCustomSlugs),t(),d("ngIf",e.error),t(),d("label",p(59,53,"MANAGER.IMPORT.BTN_START"))("loading",e.loading)("disabled",e.loading||!e.bitlyToken.trim())}}function zt(n,i){if(n&1&&(r(0,"div",49)(1,"div",47)(2,"div",50),c(3),a(),r(4,"div",32),c(5),s(6,"translate"),a()(),r(7,"div",47)(8,"div",51),c(9),a(),r(10,"div",32),c(11),s(12,"translate"),a()(),r(13,"div",47)(14,"div",52),c(15),a(),r(16,"div",32),c(17),s(18,"translate"),a()(),r(19,"div",47)(20,"div",53),c(21),a(),r(22,"div",32),c(23),s(24,"translate"),a()()()),n&2){let e=m(2);t(3),g(" ",e.progress.importedCount," "),t(2),g(" ",p(6,8,"MANAGER.IMPORT.IMPORTED")," "),t(4),g(" ",e.progress.skippedCount," "),t(2),g(" ",p(12,10,"MANAGER.IMPORT.SKIPPED")," "),t(4),g(" ",e.progress.errorCount," "),t(2),g(" ",p(18,12,"MANAGER.IMPORT.ERRORS")," "),t(4),S(e.progress.totalLinks),t(2),g(" ",p(24,14,"MANAGER.IMPORT.TOTAL")," ")}}function $t(n,i){if(n&1){let e=b();r(0,"div",7)(1,"div",42),u(2,"i",43),r(3,"h4",44),c(4),s(5,"translate"),a(),r(6,"p",15),c(7),s(8,"translate"),a()(),u(9,"p-progressBar",45),C(10,zt,25,16,"div",46),r(11,"div",47)(12,"button",48),s(13,"translate"),x("click",function(){f(e);let l=m();return v(l.cancelImport())}),a()()()}if(n&2){let e=m();t(4),g(" ",p(5,6,"MANAGER.IMPORT.IN_PROGRESS")," "),t(3),g(" ",p(8,8,"MANAGER.IMPORT.PROGRESS_DESC")," "),t(2),d("value",e.progressPercent)("showValue",!0),t(),d("ngIf",e.progress),t(2),d("label",p(13,10,"MANAGER.IMPORT.BTN_CANCEL"))}}function Jt(n,i){n&1&&(z(0),c(1),s(2,"translate"),$()),n&2&&(t(),S(p(2,1,"MANAGER.IMPORT.RESULT_SUCCESS")))}function Qt(n,i){n&1&&(z(0),c(1),s(2,"translate"),$()),n&2&&(t(),S(p(2,1,"MANAGER.IMPORT.RESULT_FAILED")))}function Yt(n,i){n&1&&(z(0),c(1),s(2,"translate"),$()),n&2&&(t(),S(p(2,1,"MANAGER.IMPORT.RESULT_CANCELLED")))}function Zt(n,i){if(n&1&&(r(0,"div",40),c(1),a()),n&2){let e=m(2);t(),g(" ",e.progress.failureReason," ")}}function qt(n,i){if(n&1){let e=b();r(0,"div",7)(1,"div",42),u(2,"i",54),r(3,"h4",44),C(4,Jt,3,3,"ng-container",55)(5,Qt,3,3,"ng-container",55)(6,Yt,3,3,"ng-container",55),a()(),r(7,"div",49)(8,"div",47)(9,"div",50),c(10),a(),r(11,"div",32),c(12),s(13,"translate"),a()(),r(14,"div",47)(1
15,"div",51),c(16),a(),r(17,"div",32),c(18),s(19,"translate"),a()(),r(20,"div",47)(21,"div",52),c(22),a(),r(23,"div",32),c(24),s(25,"translate"),a()()(),C(26,Zt,2,1,"div",38),r(27,"div",56)(28,"button",57),s(29,"translate"),x("click",function(){f(e);let l=m();return l.reset(),v(l.step="choose")}),a(),r(30,"button",58),s(31,"translate"),x("click",function(){f(e);let l=m();return v(l.toggleImport())}),a()()()}if(n&2){let e=m();t(2),O("text-success",e.progress.status==="completed")("text-danger",e.progress.status==="failed")("text-muted",e.progress.status==="cancelled"),d("ngClass",e.getStatusIcon(e.progress.status)),t(2),d("ngIf",e.progress.status==="completed"),t(),d("ngIf",e.progress.status==="failed"),t(),d("ngIf",e.progress.status==="cancelled"),t(4),g(" ",e.progress.importedCount," "),t(2),g(" ",p(13,19,"MANAGER.IMPORT.IMPORTED")," "),t(4),g(" ",e.progress.skippedCount," "),t(2),g(" ",p(19,21,"MANAGER.IMPORT.SKIPPED")," "),t(4),g(" ",e.progress.errorCount," "),t(2),g(" ",p(25,23,"MANAGER.IMPORT.ERRORS")," "),t(2),d("ngIf",e.progress.failureReason),t(2),d("label",p(29,25,"MANAGER.IMPORT.BTN_NEW_IMPORT")),t(2),d("label",p(31,27,"MANAGER.IMPORT.BTN_CLOSE"))}}function Xt(n,i){if(n&1&&(r(0,"div",63),u(1,"p-tag",64),r(2,"span",65),c(3),a(),r(4,"span",32),c(5),a(),r(6,"span",66),c(7),s(8,"date"),a()()),n&2){let e=i.$implicit,o=m(2);t(),d("severity",o.getStatusSeverity(e.status))("value",e.status),t(2),S(e.source),t(2),J("",e.importedCount,"/",e.totalLinks,""),t(2),S(W(8,6,e.createdAt,"short"))}}function ei(n,i){if(n&1&&(r(0,"div",59)(1,"h5",60),c(2),s(3,"translate"),a(),r(4,"div",61),C(5,Xt,9,9,"div",62),a()()),n&2){let e=m();t(2),g(" ",p(3,2,"MANAGER.IMPORT.HISTORY_TITLE")," "),t(3),d("ngForOf",e.importHistory)}}var H=class n{constructor(i,e){this.importService=i;this.toastService=e}importCompleted=new ye;showImport=!1;step="choose";loading=!1;error=null;bitlyToken="";skipDuplicates=!0;preserveTags=!0;preserveCustomSlugs=!1;currentJob=null;progress=null;progressSub;importHistory=[];ngOnInit(){this.loadHistory()}ngOnDestroy(){this.progressSub?.unsubscribe()}toggleImport(){this.showImport=!this.showImport,this.showImport&&this.reset()}onDialogHide(){this.step!=="progress"&&(this.showImport=!1)}selectBitly(){this.step="configure"}goBack(){this.step==="configure"?this.step="choose":this.step==="result"&&this.reset()}reset(){this.step="choose",this.bitlyToken="",this.error=null,this.currentJob=null,this.progress=null,this.progressSub?.unsubscribe()}startImport(){return E(this,null,function*(){if(!this.bitlyToken.trim()){this.error="MANAGER.IMPORT.ERROR_TOKEN_REQUIRED";return}this.loading=!0,this.error=null;try{this.currentJob=yield this.importService.startImport({source:"bitly",apiToken:this.bitlyToken.trim(),skipDuplicates:this.skipDuplicates,preserveTags:this.preserveTags,preserveCustomSlugs:this.preserveCustomSlugs}),this.bitlyToken="",this.step="progress",this.subscribeToProgress(this.currentJob.id)}catch(i){this.error=i?.error?.message||i?.message||"MANAGER.IMPORT.ERROR_GENERIC"}finally{this.loading=!1}})}subscribeToProgress(i){this.progressSub?.unsubscribe(),this.progressSub=this.importService.pollProgress(i).subscribe({next:e=>{this.progress=e,(e.status==="completed"||e.status==="failed"||e.status==="cancelled")&&(this.step="result",this.loadHistory(),e.status==="completed"&&(this.toastService.success("MANAGER.IMPORT.TOAST_SUCCESS"),this.importCompleted.emit()))},error:()=>{this.pollFinalState(i)}})}pollFinalState(i){return E(this,null,function*(){try{let e=yield this.importService.getJob(i);this.progress={id:e.id,status:e.status,totalLinks:e.totalLinks,importedCount:e.importedCount,skippedCount:e.skippedCount,errorCount:e.errorCount,completedAt:e.completedAt,failureReason:e.failureReason},["completed","failed","cancelled"].includes(e.status)&&(this.step="result",this.loadHistory())}catch{}})}cancelImport(){return E(this,null,function*(){if(this.currentJob)try{yield this.importService.cancelJob(this.currentJob.id),this.toastService.info("MANAGER.IMPORT.TOAST_CANCELLED")}catch{}})}loadHistory(){return E(this,null,function*(){try{this.importHistory=yield this.importService.listJobs()}catch{}})}get progressPercent(){if(!this.progress||!this.progress.totalLinks)return 0;let i=this.progress.importedCount+this.progress.skippedCount+this.progress.errorCount;return Math.round(i/this.progress.totalLinks*100)}getStatusSeverity(i){switch(i){case"completed":return"success";case"processing":return"info";
1case"pending":return"warn";case"failed":return"danger";case"cancelled":return"secondary";default:return"info"}}getStatusIcon(i){switch(i){case"completed":return"pi pi-check-circle";case"processing":return"pi pi-spin pi-spinner";case"pending":return"pi pi-clock";case"failed":return"pi pi-times-circle";case"cancelled":return"pi pi-ban";default:return"pi pi-info-circle"}}static \u0275fac=function(e){return new(e||n)(I(ce),I(ie))};static \u0275cmp=U({type:n,selectors:[["app-widget-import-links"]],outputs:{importCompleted:"importCompleted"},decls:7,vars:14,consts:[["styleClass","import-dialog",3,"visibleChange","onHide","visible","modal","draggable","resizable","dismissableMask","header"],["pTemplate","header"],["class","import-step",4,"ngIf"],["class","import-history mt-4",4,"ngIf"],[1,"d-flex","align-items-center","gap-2"],[1,"pi","pi-download","text-primary"],[1,"fw-semibold","fs-5"],[1,"import-step"],[1,"text-muted","mb-3"],[1,"import-sources"],[1,"import-source-card",3,"click"],[1,"import-source-card__icon"],[1,"pi","pi-link","fs-2","text-primary"],[1,"import-source-card__text"],[1,"fw-semibold"],[1,"text-muted","fs-7"],[1,"pi","pi-chevron-right","ms-auto"],["disabled","",1,"import-source-card","import-source-card--disabled"],[1,"pi","pi-file-excel","fs-3","text-muted"],[1,"fw-semibold","text-muted"],[1,"badge","bg-secondary","ms-auto"],["pButton","","type","button","icon","pi pi-arrow-left",1,"p-button-text","p-button-sm","mb-3",3,"click","label"],[1,"d-flex","align-items-center","gap-2","mb-3"],[1,"pi","pi-link","text-primary"],[1,"mb-0","fs-6","fw-semibold"],[1,"import-help","p-3","rounded","mb-3"],[1,"mb-1","fw-semibold","fs-7"],[1,"mb-0","ps-3","fs-7"],[3,"innerHTML"],[1,"mb-3"],[1,"form-label","fw-semibold","fs-7"],["pInputText","","type","password",1,"w-100",3,"ngModelChange","ngModel","placeholder"],[1,"text-muted","fs-8"],[1,"import-options","mb-3"],[1,"d-flex","align-items-center","justify-content-between","mb-2"],[1,"fw-semibold","fs-7"],[3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center","justify-content-between"],["class","alert alert-danger fs-7 mb-3",4,"ngIf"],["pButton","","type","button","icon","pi pi-play",1,"p-button-primary","w-100",3,"click","label","loading","disabled"],[1,"alert","alert-danger","fs-7","mb-3"],[1,"pi","pi-exclamation-triangle","me-1"],[1,"text-center","mb-3"],[1,"pi","pi-spin","pi-spinner","fs-1","text-primary","mb-2","d-block"],[1,"fs-6","fw-semibold"],[1,"mb-3",3,"value","showValue"],["class","import-counters d-flex gap-3 justify-content-center mb-3",4,"ngIf"],[1,"text-center"],["pButton","","type","button","icon","pi pi-ban",1,"p-button-outlined","p-button-danger","p-button-sm",3,"click","label"],[1,"import-counters","d-flex","gap-3","justify-content-center","mb-3"],[1,"fs-4","fw-bold","text-success"],[1,"fs-4","fw-bold","text-warning"],[1,"fs-4","fw-bold","text-danger"],[1,"fs-4","fw-bold"],[1,"fs-1","mb-2","d-block",3,"ngClass"],[4,"ngIf"],[1,"d-flex","gap-2","justify-content-center"],["pButton","","type","button","icon","pi pi-refresh",1,"p-button-outlined","p-button-sm",3,"click","label"],["pButton","","type","button","icon","pi pi-times",1,"p-button-sm",3,"click","label"],[1,"import-history","mt-4"],[1,"fs-7","fw-semibold","text-muted","mb-2"],[1,"import-history-list"],["class","import-history-item d-flex align-items-center gap-2 p-2 rounded mb-1",4,"ngFor","ngForOf"],[1,"import-history-item","d-flex","align-items-center","gap-2","p-2","rounded","mb-1"],[1,"text-capitalize",3,"severity","value"],[1,"fw-semibold","fs-7","text-capitalize"],[1,"text-muted","fs-8","ms-auto"]],template:function(e,o){e&1&&(r(0,"p-dialog",0),L("visibleChange",function(_){return T(o.showImport,_)||(o.showImport=_),_}),x("onHide",function(){return o.onDialogHide()}),C(1,Wt,5,3,"ng-template",1)(2,Ht,27,12,"div",2)(3,Ut,60,55,"div",2)(4,$t,14,12,"div",2)(5,qt,32,29,"div",2)(6,ei,6,4,"div",3),a()),e&2&&(V(K(13,Kt)),k("visible",o.showImport),d("modal",!0)("draggable",!1)("resizable",!1)("dismissableMask",!0)("header",""),t(2),d("ngIf",o.step==="choose"),t(),d("ngIf",o.step==="configure"),t(),d("ngIf",o.step==="progress"),t(),d("ngIf",o.step==="result"&&o.progress),t(),d("ngIf",o.importHistory.length>0&&o.step==="choose"))},dependencies:[X,Q,Y,Z,q,ae,ne,re,oe,te,ee,nt,it,le,st,lt,at,ot,gt,mt,It,Et,se,ct,pt],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%]     .import-dialog .p-dialog-content{padding:0 1.5rem 1.5rem}.import-sources[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.import-sources.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.import-source-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-ground);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.import-source-card[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--primary-color);background:var(--surface-hover)}.import-source-card--disabled[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.6}.import-source-card__icon[_ngcontent-%COMP%]{width:40px;height:40px;
1display:flex;align-items:center;justify-content:center;flex-shrink:0}.import-source-card__icon-fallback[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:8px;background:var(--primary-100);display:flex;align-items:center;justify-content:center}.import-source-card__icon-fallback[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:var(--primary-color)}.import-help[_ngcontent-%COMP%]{background:var(--surface-ground);border:1px solid var(--surface-border)}.import-help[_ngcontent-%COMP%]   ol[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-bottom:.25rem;line-height:1.5}.import-options[_ngcontent-%COMP%]{background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:8px;padding:.875rem}.import-counters[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{min-width:60px}.import-plan-gate[_ngcontent-%COMP%]{background:var(--yellow-50);border:1px solid var(--yellow-200)}.import-history-item[_ngcontent-%COMP%]{background:var(--surface-ground);border:1px solid var(--surface-border);transition:background .15s ease}.import-history-item[_ngcontent-%COMP%]:hover{background:var(--surface-hover)}@media (max-width: 767.98px){.import-panel[_ngcontent-%COMP%]{padding:1rem;border-radius:8px}.import-counters[_ngcontent-%COMP%]{flex-wrap:wrap}}"]})};var ti=["infiniteScrollSentinel"],At=()=>({"min-height":"50vh","max-height":"80vh"}),ii=n=>({"btn-primary text-white":n}),Nt=n=>({active:n}),ni=n=>({"opacity-50":n}),ri=(n,i,e,o,l)=>({"border-bottom":n,"rounded-top":i,"unsafe-link-row":e,"dead-link-row":o,"warning-link-row":l}),oi=n=>({"text-decoration-line-through":n}),ai=(n,i,e,o)=>({"bg-info text-white":n,"bg-dark text-white":i,"bg-primary text-white":e,"bg-secondary text-white":o}),xe=(n,i)=>i.id;function li(n,i){if(n&1){let e=b();r(0,"div",16)(1,"div",17)(2,"div",18)(3,"div",19)(4,"div",20),u(5,"i",21),a(),r(6,"h2",22),c(7),s(8,"translate"),a(),r(9,"p",23),c(10),s(11,"translate"),a(),r(12,"div",24)(13,"div",25)(14,"div",26),u(15,"i",27),a(),r(16,"div",28)(17,"div",29),c(18),s(19,"translate"),a(),r(20,"div",30),c(21),s(22,"translate"),a()()(),r(23,"div",25)(24,"div",31),u(25,"i",32),a(),r(26,"div",28)(27,"div",29),c(28),s(29,"translate"),a(),r(30,"div",30),c(31),s(32,"translate"),a()()(),r(33,"div",25)(34,"div",33),u(35,"i",34),a(),r(36,"div",28)(37,"div",29),c(38),s(39,"translate"),a(),r(40,"div",30),c(41),s(42,"translate"),a()()(),r(43,"div",25)(44,"div",35),u(45,"i",36),a(),r(46,"div",28)(47,"div",29),c(48),s(49,"translate"),a(),r(50,"div",30),c(51),s(52,"translate"),a()()()(),r(53,"button",37),x("click",function(){f(e);let l=m();return v(l.openCreateDialog())}),u(54,"i",38),c(55),s(56,"translate"),a()(),r(57,"div",39),u(58,"i",40),a()()()()}n&2&&(t(7),g(" ",p(8,11,"MANAGER.LINKS.ONBOARDING_TITLE")," "),t(3),g(" ",p(11,13,"MANAGER.LINKS.ONBOARDING_DESC")," "),t(8),g(" ",p(19,15,"MANAGER.LINKS.FEATURE_SHORTEN")," "),t(3),g(" ",p(22,17,"MANAGER.LINKS.FEATURE_SHORTEN_DESC")," "),t(7),g(" ",p(29,19,"MANAGER.LINKS.FEATURE_ANALYTICS")," "),t(3),g(" ",p(32,21,"MANAGER.LINKS.FEATURE_ANALYTICS_DESC")," "),t(7),g(" ",p(39,23,"MANAGER.LINKS.FEATURE_OG")," "),t(3),g(" ",p(42,25,"MANAGER.LINKS.FEATURE_OG_DESC")," "),t(7),g(" ",p(49,27,"MANAGER.LINKS.FEATURE_EXPIRATION")," "),t(3),g(" ",p(52,29,"MANAGER.LINKS.FEATURE_EXPIRATION_DESC")," "),t(4),g("",p(56,31,"MANAGER.LINKS.CREATE_FIRST")," "))}function si(n,i){if(n&1){let e=b();r(0,"button",67),x("click",function(){f(e);let l=m(2);return v(l.onResetFilters())}),u(1,"i",68),c(2),s(3,"translate"),a()}n&2&&(t(2),g(" ",p(3,1,"COMMON.RESET_FILTERS")," "))}function pi(n,i){n&1&&u(0,"span",69)}function ci(n,i){n&1&&(c(0),s(1,"translate")),n&2&&S(p(1,1,"MANAGER.LINKS.FOUND_SINGULAR"))}function di(n,i){n&1&&(c(0),s(1,"translate")),n&2&&S(p(1,1,"MANAGER.LINKS.FOUND_PLURAL"))}function mi(n,i){if(n&1&&(r(0,"div",70)(1,"span",71),c(2),C(3,ci,2,3,"ng-template",72)(4,di,2,3,"ng-template",73),a()()),n&2){let e=m(2);t(),d("ngPlural",+e.linkManagerService.total),t(),g(" ",e.linkManagerService.total," ")}}function gi(n,i){if(n&1){let e=b();r(0,"div",41)(1,"form",42),x("ngSubmit",function(){f(e);let l=m();return v(l.onSubmit())})("keyup.enter",function(){f(e);let l=m();return v(l.onSubmit())}),r(2,"div",43)(3,"label",44),u(4,"i",45),a(),r(5,"select",46),x("change",function(){f(e);let l=m();return v(l.onFilterChange())}),r(6,"option",47),c(7),s(8,"translate"),a(),r(9,"option",47),c(10),s(11,"translate"),a(),r(12,"option",47),c(13),s(14,"translate"),a(),r(15,"option",47),c(16),s(17,"translate"),a(),r(18,"option",47),c(19),s(20,"translate"),a(),r(21,"option",47),c(22),s(23,"translate"),a(),r(24,"option",47),c(25),s(26,"translate"),a()()(),r(27,"div",43)(28,"label",48),u(29,"i",49),a(),r(30,"select",50),x("change",function(){f(e);let l=m();return v(l.onSubmit())}),r(31,"option",47),c(32),s(33,"translate"),a(),r(34,"option",47),c(35),s(36,"translate"),a(),r(37,"option",47),c(38),s(39,"translate"),a(),r(40,"option",47),c(41),s(42,"translate"),a(),r(43,"option",47),c(44),s(45,"translate"),a(),r(46,"option",47),c(47),s(48,"translate"),a(),r(49,"option",47),c(50),s(51,"translate"),a(),r(52,"option",47),c(53),s(54,"translate"),a()()(),C(55,si,4,3,"button",51),a(),r(56,"div",52)(57,"button",53),x("click",function(){f(e);let l=m();return v(l.showMobileFilter=!0)}
1),u(58,"i",54),C(59,pi,1,0,"span",55),a(),r(60,"button",56),x("click",function(){f(e);let l=m();return v(l.showMobileSort=!0)}),u(61,"i",57),a()(),r(62,"div",58),C(63,mi,5,2,"div",59),r(64,"button",60),s(65,"translate"),x("click",function(){f(e);let l=m();return v(l.importWidget.toggleImport())}),u(66,"i",61),a(),r(67,"button",60),s(68,"translate"),x("click",function(){f(e);let l=m();return v(l.exportCsv())}),u(69,"i",62),a(),r(70,"button",63),x("click",function(){f(e);let l=m();return v(l.openCreateDialog())}),u(71,"i",64),r(72,"span",65),c(73),s(74,"translate"),a(),r(75,"span",66),c(76),s(77,"translate"),a()()()()}if(n&2){let e=m();t(),d("formGroup",e.form),t(5),d("value",""),t(),g(" ",p(8,39,"MANAGER.LINKS.FILTER_ALL")," "),t(2),d("value","dead"),t(),g(" \u{1F534} ",p(11,41,"MANAGER.LINKS.FILTER_DEAD")," "),t(2),d("value","warning"),t(),g(" \u{1F7E1} ",p(14,43,"MANAGER.LINKS.FILTER_WARNING")," "),t(2),d("value","healthy"),t(),g(" \u{1F7E2} ",p(17,45,"MANAGER.LINKS.FILTER_HEALTHY")," "),t(2),d("value","expired"),t(),g(" \u23F0 ",p(20,47,"MANAGER.LINKS.FILTER_EXPIRED")," "),t(2),d("value","ephemeral"),t(),g(" \u23F3 ",p(23,49,"MANAGER.LINKS.FILTER_EPHEMERAL")," "),t(2),d("value","secured"),t(),g(" \u{1F512} ",p(26,51,"MANAGER.LINKS.FILTER_SECURED")," "),t(6),d("value","createdAt,DESC"),t(),g(" ",p(33,53,"MANAGER.LINKS.SORT_NEWEST")," "),t(2),d("value","createdAt,ASC"),t(),g(" ",p(36,55,"MANAGER.LINKS.SORT_OLDEST")," "),t(2),d("value","hitsCount,DESC"),t(),g(" ",p(39,57,"MANAGER.LINKS.SORT_BEST")," "),t(2),d("value","hitsCount,ASC"),t(),g(" ",p(42,59,"MANAGER.LINKS.SORT_WORST")," "),t(2),d("value","flashsCount,DESC"),t(),g(" ",p(45,61,"MANAGER.LINKS.SORT_MOST_FLASHED")," "),t(2),d("value","flashsCount,ASC"),t(),g(" ",p(48,63,"MANAGER.LINKS.SORT_LEAST_FLASHED")," "),t(2),d("value","title,DESC"),t(),g(" ",p(51,65,"MANAGER.LINKS.SORT_AZ")," "),t(2),d("value","title,ASC"),t(),g(" ",p(54,67,"MANAGER.LINKS.SORT_ZA")," "),t(2),w(e.filters&&e.filters.activeCount()>0?55:-1),t(2),d("ngClass",G(77,ii,e.linkManagerService.statusFilter)),t(2),d("ngIf",e.linkManagerService.statusFilter),t(4),d("ngIf",e.linkManagerService.total),t(),d("pTooltip",p(65,69,"MANAGER.LINKS.BTN_IMPORT")),t(3),d("pTooltip",p(68,71,"MANAGER.LINKS.BTN_EXPORT")),t(6),S(p(74,73,"MANAGER.LINKS.NEW_LINK")),t(3),S(p(77,75,"COMMON.ADD"))}}function _i(n,i){n&1&&(r(0,"span",74),c(1),s(2,"translate"),a()),n&2&&(t(),S(p(2,1,"MANAGER.LINKS.MOBILE_FILTER_TITLE")))}function ui(n,i){n&1&&u(0,"i",78)}function fi(n,i){if(n&1){let e=b();r(0,"button",75),x("click",function(){let l=f(e).$implicit,_=m();return v(_.applyMobileFilter(l.value))}),r(1,"span",76),c(2),a(),c(3),s(4,"translate"),C(5,ui,1,0,"i",77),a()}if(n&2){let e=i.$implicit,o=m();d("ngClass",G(6,Nt,o.f.statusFilter.value===e.value)),t(2),S(e.emoji),t(),g(" ",p(4,4,e.labelKey)," "),t(2),d("ngIf",o.f.statusFilter.value===e.value)}}function vi(n,i){n&1&&(r(0,"span",74),c(1),s(2,"translate"),a()),n&2&&(t(),S(p(2,1,"MANAGER.LINKS.MOBILE_SORT_TITLE")))}function hi(n,i){n&1&&u(0,"i",78)}function xi(n,i){if(n&1){let e=b();r(0,"button",75),x("click",function(){let l=f(e).$implicit,_=m();return v(_.applyMobileSort(l.value))}
1),c(1),s(2,"translate"),C(3,hi,1,0,"i",77),a()}if(n&2){let e=i.$implicit,o=m();d("ngClass",G(5,Nt,o.f.order.value===e.value)),t(),g(" ",p(2,3,e.labelKey)," "),t(2),d("ngIf",o.f.order.value===e.value)}}function Ci(n,i){if(n&1){let e=b();r(0,"button",85),x("click",function(){f(e);let l=m(2);return v(l.filterByTag(l.linkManagerService.tagFilter))}),u(1,"i",86),c(2),s(3,"translate"),a()}n&2&&(t(2),g(" ",p(3,1,"MANAGER.LINKS.TAG_ALL")," "))}function Si(n,i){if(n&1){let e=b();r(0,"button",87),x("click",function(){let l=f(e).$implicit,_=m(2);return v(_.filterByTag(l.id))}),u(1,"span",88),c(2),a()}if(n&2){let e=i.$implicit,o=m(2);P("--tag-color",e.color),O("active",o.linkManagerService.tagFilter===e.id),t(),P("background",e.color),t(),g(" ",e.name," ")}}function bi(n,i){if(n&1){let e=b();r(0,"button",97),x("click",function(){let l=f(e).$implicit,_=m(3);return v(_.newTagColor=l)}),a()}if(n&2){let e=i.$implicit,o=m(3);P("background",e),O("active",o.newTagColor===e)}}function Mi(n,i){if(n&1){let e=b();r(0,"button",97),x("click",function(){let l=f(e).$implicit,_=m(6);return v(_.editTagColor=l)}),a()}if(n&2){let e=i.$implicit,o=m(6);P("background",e),O("active",o.editTagColor===e)}}function Ei(n,i){if(n&1){let e=b();r(0,"div",99)(1,"div",90),B(2,Mi,1,4,"button",91,me),a(),r(4,"input",100),L("ngModelChange",function(l){f(e);let _=m(5);return T(_.editTagName,l)||(_.editTagName=l),v(l)}),x("keyup.enter",function(){f(e);let l=m(5);return v(l.saveEditTag())}),a(),r(5,"button",101),x("click",function(){f(e);let l=m(5);return v(l.saveEditTag())}),u(6,"i",102),a(),r(7,"button",103),x("click",function(){f(e);let l=m(5);return v(l.cancelEditTag())}),u(8,"i",104),a()()}if(n&2){let e=m(5);t(2),D(e.tagColors),t(2),k("ngModel",e.editTagName)}}function Ii(n,i){if(n&1){let e=b();r(0,"div",105),u(1,"span",88),r(2,"span",106),c(3),a()(),r(4,"div",107)(5,"button",108),s(6,"translate"),x("click",function(){f(e);let l=m().$implicit,_=m(4);return v(_.startEditTag(l))}),u(7,"i",109),a(),r(8,"button",110),s(9,"translate"),x("click",function(){f(e);let l=m().$implicit,_=m(4);return v(_.deleteTag(l))}),u(10,"i",111),a()()}if(n&2){let e=m().$implicit;t(),P("background",e.color),t(2),S(e.name),t(2),d("pTooltip",p(6,5,"MANAGER.LINKS.TAG_EDIT")),t(3),d("pTooltip",p(9,7,"MANAGER.LINKS.TAG_DELETE"))}}function wi(n,i){if(n&1&&(r(0,"div",98),C(1,Ei,9,1,"div",99)(2,Ii,11,9),a()),n&2){let e=i.$implicit,o=m(4);t(),w((o.editingTag==null?null:o.editingTag.id)===e.id?1:2)}}function yi(n,i){if(n&1&&(r(0,"div",96),B(1,wi,3,1,"div",98,xe),a()),n&2){let e=m(3);t(),D(e.tagService.tags)}}function ki(n,i){if(n&1){let e=b();r(0,"div",84)(1,"div",89)(2,"div",90),B(3,bi,1,4,"button",91,me),a(),r(5,"div",92)(6,"input",93),s(7,"translate"),L("ngModelChange",function(l){f(e);let _=m(2);return T(_.newTagName,l)||(_.newTagName=l),v(l)}),x("keyup.enter",function(){f(e);let l=m(2);return v(l.createTag())}),a(),r(8,"button",94),x("click",function(){f(e);let l=m(2);return v(l.createTag())}),u(9,"i",95),a()()(),C(10,yi,3,0,"div",96),a()}if(n&2){let e=m(2);t(3),D(e.tagColors),t(3),d("placeholder",p(7,4,"MANAGER.LINKS.TAG_NEW_PLACEHOLDER")),k("ngModel",e.newTagName),t(2),d("disabled",!e.newTagName.trim()),t(2),w(e.tagService.tags.length>0?10:-1)}}function Ti(n,i){if(n&1){let e=b();r(0,"div",8)(1,"div",79),C(2,Ci,4,3,"button",80),B(3,Si,3,7,"button",81,xe),r(5,"button",82),s(6,"translate"),s(7,"translate"),x("click",function(){f(e);let l=m();return v(l.showTagManager=!l.showTagManager)}),u(8,"i",83),a()(),C(9,ki,11,6,"div",84),a()}if(n&2){let e=m();t(2),w(e.linkManagerService.tagFilter?2:-1),t(),D(e.tagService.tags),t(2),d("pTooltip",e.showTagManager?p(6,4,"MANAGER.LINKS.TAG_CLOSE"):p(7,6,"MANAGER.LINKS.TAG_MANAGE")),t(3),d("ngClass",e.showTagManager?"pi-times":"pi-cog"),t(),w(e.showTagManager?9:-1)}}function Li(n,i){if(n&1){let e=b();r(0,"span"),c(1),s(2,"translate"),r(3,"a",114),x("click",function(){f(e);let l=m(2);return v(l.resetSearch())}),c(4),s(5,"translate"),a(),c(6," ?"),a()}n&2&&(t(),g("",p(2,2,"MANAGER.LINKS.TRY_OTHER_SEARCH")," "),t(3),S(p(5,4,"MANAGER.LINKS.TRY_OTHER_SEARCH_LINK")))}function Ai(n,i){n&1&&(r(0,"span"),c(1),s(2,"translate"),a()),n&2&&(t(),S(p(2,1,"MANAGER.LINKS.NO_FILTER_MATCH")))}
1function Ri(n,i){if(n&1&&(r(0,"div",112)(1,"b"),c(2),s(3,"translate"),a(),u(4,"br"),C(5,Li,7,6,"span",113)(6,Ai,3,3,"span",113),a()),n&2){let e=m();t(2),S(p(3,3,"MANAGER.LINKS.NO_RESULT")),t(3),d("ngIf",e.linkManagerService.searchTerm),t(),d("ngIf",!e.linkManagerService.searchTerm&&e.linkManagerService.statusFilter)}}function Ni(n,i){n&1&&(r(0,"span",122),c(1),s(2,"translate"),a()),n&2&&(t(),g(" ",p(2,1,"MANAGER.LINKS.EXPIRED")," "))}function Pi(n,i){if(n&1&&(r(0,"span",123),s(1,"translate"),s(2,"localizedDate"),u(3,"i",149),c(4),s(5,"translate"),a()),n&2){let e=m().$implicit,o=m(2);d("pTooltip",p(1,3,"MANAGER.LINKS.EXPIRES_ON")+" "+W(2,5,e.expiresAt,"dd/MM/yyyy HH:mm")),t(4),J("",p(5,8,"MANAGER.LINKS.EXPIRES_IN")," ",o.getTimeUntilExpiry(e.expiresAt)," ")}}function Oi(n,i){n&1&&(r(0,"span",124),s(1,"translate"),u(2,"i",150),c(3),s(4,"translate"),a()),n&2&&(d("pTooltip",p(1,2,"MANAGER.LINKS.PASSWORD_PROTECTED_TOOLTIP")),t(3),g("",p(4,4,"MANAGER.LINKS.PROTECTED")," "))}function Vi(n,i){n&1&&(u(0,"i",151),c(1,"WordPress "))}function Bi(n,i){n&1&&(u(0,"i",152),c(1,"API "))}function Di(n,i){n&1&&(u(0,"i",153),c(1,"Extension "))}function Gi(n,i){n&1&&(u(0,"i",154),c(1,"Browser "))}function Fi(n,i){if(n&1&&(r(0,"span",125),s(1,"uppercase"),s(2,"translate"),C(3,Vi,2,0)(4,Bi,2,0)(5,Di,2,0)(6,Gi,2,0),a()),n&2){let e,o=m().$implicit;d("ngClass",Ne(7,ai,o.createdByType==="wordpress",o.createdByType==="api",o.createdByType==="extension",o.createdByType==="browser"))("pTooltip",p(2,5,"MANAGER.LINKS.SOURCE_"+p(1,3,o.createdByType))),t(3),w((e=o.createdByType)==="wordpress"?3:e==="api"?4:e==="extension"?5:e==="browser"?6:-1)}}function Ki(n,i){if(n&1&&(u(0,"i",127),s(1,"translate"),s(2,"translate")),n&2){let e=m().$implicit;d("pTooltip","\u26A0\uFE0F "+p(1,1,"MANAGER.LINKS.UNSAFE_LINK")+": "+(e.threatDescription||e.threatType||p(2,3,"MANAGER.LINKS.THREAT_DETECTED")))}}function Wi(n,i){if(n&1&&(u(0,"i",128),s(1,"translate"),s(2,"translate")),n&2){let e=m().$implicit;d("pTooltip",p(1,1,"MANAGER.LINKS.DEAD_LINK")+": "+(e.lastErrorMessage||p(2,3,"MANAGER.LINKS.URL_UNREACHABLE")))}}function Hi(n,i){if(n&1&&(u(0,"i",129),s(1,"translate"),s(2,"translate")),n&2){let e=m().$implicit;d("pTooltip",p(1,1,"MANAGER.LINKS.WARNING")+": "+(e.lastErrorMessage||p(2,3,"MANAGER.LINKS.CONNECTION_PROBLEM")))}}function ji(n,i){n&1&&u(0,"i",131)}function Ui(n,i){if(n&1){let e=b();r(0,"span",156),x("click",function(){let l=f(e).$implicit,_=m(4);return v(_.filterByTag(l.id))}),u(1,"i",157),c(2),a()}if(n&2){let e=i.$implicit,o=m(4);P("background-color",e.color)("color",o.getTagTextColor(e.color)),t(2),g("",e.name," ")}}function zi(n,i){if(n&1&&(r(0,"div",139),B(1,Ui,3,5,"span",155,xe),a()),n&2){let e=m().$implicit;t(),D(e.tags)}}function $i(n,i){if(n&1){let e=b();r(0,"div",117)(1,"div",118),c(2),a(),r(3,"div",119)(4,"div",120),c(5),s(6,"date"),a(),r(7,"div",121),C(8,Ni,3,3,"span",122)(9,Pi,6,10,"span",123)(10,Oi,5,6,"span",124)(11,Fi,7,12,"span",125),c(12),a(),r(13,"div",126),C(14,Ki,3,5,"i",127)(15,Wi,3,5,"i",128)(16,Hi,3,5,"i",129),r(17,"a",130),C(18,ji,1,0,"i",131),c(19),a()(),r(20,"div",132)(21,"div",133)(22,"small",134),s(23,"translate"),u(24,"i",135),r(25,"span"),c(26),a()(),r(27,"small",134),s(28,"translate"),u(29,"i",136),r(30,"span"),c(31),a()(),r(32,"div",137),s(33,"translate"),u(34,"app-widget-chart",138),a()()(),C(35,zi,3,0,"div",139),a(),r(36,"div",140)(37,"div",141)(38,"button",142),s(39,"translate"),x("click",function(){let l=f(e).$implicit,_=m(2);return v(_.copy(l))}),u(40,"i",143),a(),r(41,"button",142),s(42,"translate"),x("click",function(){let l=f(e).$implicit,_=m(2);return v(_.edit(l))}),u(43,"i",144),a(),r(44,"a",145),s(45,"translate"),x("click",function(){let l=f(e).$implicit,_=m(2);return v(_.view(l))}),u(46,"i",146),a(),r(47,"button",147),s(48,"translate"),x("click",function(){let l=f(e).$implicit,_=m(2);return v(_.confirmDelete(l))}),u(49,"i",148),a()()()()}if(n&2){let e=i.$implicit,o=i.index,l=i.last,_=i.first,h=m(2);d("ngClass",Pe(43,ri,!l,_,e.safetyStatus&&e.safetyStatus!=="unknown"&&e.safetyStatus!=="safe",e.healthStatus==="dead"&&!(e.safetyStatus&&e.safetyStatus!=="unknown"&&e.safetyStatus!=="safe"),e.healthStatus==="warning"&&!(e.safetyStatus&&e.safetyStatus!=="unknown"&&e.safetyStatus!=="safe"))),t(2),g(" ",o+h.linkManagerService.offset+1," "),t(3),g(" ",W(6,26,e.createdAt,"dd MMM YYYY")," "),t(2),d("title",e.url),t(),w(e.isEphemeral&&e.expiresAt&&h.isExpired(e.expiresAt)?8:e.isEphemeral&&e.expiresAt?9:-1),t(2),w(e.hasPassword?10:-1),t(),w(e.createdByType&&e.createdByType!=="app"?11:-1),t(),g(" ",e.title?e.title:e.url," "),t(2),w(e.safetyStatus&&e.safetyStatus!=="unknown"&&e.safetyStatus!=="safe"?14:e.healthStatus==="dead"?15:e.healthStatus==="warning"?16:-1),t(3),d("href",e.shortUrl||h.environment.api+"/"+e.key,Ae)("ngClass",G(49,oi,e.healthStatus==="dead")),t(),w(e.hasPassword?18:-1),t(),g(" ",e.shortUrl||h.environment.api+"/"+e.key,""),t(3),d("pTooltip",p(23,29,"MANAGER.LINKS.CLICKS_TOTAL")),t(4),S(e.hitsCount),t(),d("pTooltip",p(28,31,"MANAGER.LINKS.FLASHS_TOTAL")),t(4),S(e.flashsCount),t(),d("pTooltip",p(33,33,"MANAGER.LINKS.ENGAGEMENTS_10_DAYS")),t(2),d("responsive",!0)("data",h.getChartData(e)),t(),w(e.tags&&e.tags.length>0?35:-1),t(3),d("pTooltip",p(39,35,"MANAGER.LINKS.COPY_SHORT_LINK")),t(3),d("pTooltip",p(42,37,"MANAGER.LINKS.EDIT")),t(3),d("routerLink","/studio/links/"+e.id)("pTooltip",p(45,39,"MANAGER.LINKS.STATISTICS")),t(3),d("pTooltip",p(48,41,"MANAGER.LINKS.DELETE"))}}
1function Ji(n,i){if(n&1&&(r(0,"div",115),C(1,$i,50,51,"div",116),a()),n&2){let e=m();d("ngClass",G(3,ni,e.linkManagerService.loading)),t(),d("ngForOf",e.displayItems)("ngForTrackBy",e.trackByLinkId)}}function Qi(n,i){if(n&1){let e=b();r(0,"p-paginator",158),x("onPageChange",function(l){f(e);let _=m();return v(_.onPageChange(l))}),a()}if(n&2){let e=m();d("first",e.first)("rows",e.linkManagerService.limit)("totalRecords",e.linkManagerService.total)}}function Yi(n,i){n&1&&(r(0,"div",159),u(1,"i",160),a())}function Zi(n,i){n&1&&(r(0,"div",161),c(1),s(2,"translate"),a()),n&2&&(t(),g(" ",p(2,1,"MANAGER.LINKS.ALL_LOADED"),`
2`))}function qi(n,i){if(n&1){let e=b();r(0,"app-widget-api-error",162),x("retry",function(){f(e);let l=m();return v(l.retryLoad())}),a()}}var Rt=class n{constructor(i,e,o,l,_,h,y,M,A,R,Xi){this.linkManagerService=i;this.searchService=e;this.dialogService=o;this.$gaService=l;this.toastService=_;this.contextService=h;this.clipboardService=y;this.confirmService=M;this.route=A;this.tagService=R;this.ngZone=Xi;Le(()=>{this.setupInfiniteScroll(),Se(500).pipe(be(()=>!this.linkManagerService.loading&&this.linkManagerService.items.length>0),Me(1)).subscribe(()=>{this.checkShouldLoadMore()})})}infiniteScrollSentinel;importWidget;environment=F;first=0;subSearch;ref;isMobile=!1;mobileItems=[];mobileLoading=!1;scrollHandler;mediaQuery;mediaQueryHandler;platformId=j(Te);qf=j(yt);destroyRef=j(we);filters;chartDataCache=new Map;expiryCache=new Map;cachedCssVarLight="";expiryRefreshInterval;form=new je({order:new ve("createdAt,DESC"),statusFilter:new ve("")});showMobileFilter=!1;showMobileSort=!1;filterOptions=[{value:"",emoji:"\u{1F4CB}",labelKey:"MANAGER.LINKS.FILTER_ALL"},{value:"dead",emoji:"\u{1F534}",labelKey:"MANAGER.LINKS.FILTER_DEAD"},{value:"warning",emoji:"\u{1F7E1}",labelKey:"MANAGER.LINKS.FILTER_WARNING"},{value:"healthy",emoji:"\u{1F7E2}",labelKey:"MANAGER.LINKS.FILTER_HEALTHY"},{value:"expired",emoji:"\u23F0",labelKey:"MANAGER.LINKS.FILTER_EXPIRED"},{value:"ephemeral",emoji:"\u23F3",labelKey:"MANAGER.LINKS.FILTER_EPHEMERAL"},{value:"secured",emoji:"\u{1F512}",labelKey:"MANAGER.LINKS.FILTER_SECURED"}];sortOptions=[{value:"createdAt,DESC",labelKey:"MANAGER.LINKS.SORT_NEWEST"},{value:"createdAt,ASC",labelKey:"MANAGER.LINKS.SORT_OLDEST"},{value:"hitsCount,DESC",labelKey:"MANAGER.LINKS.SORT_BEST"},{value:"hitsCount,ASC",labelKey:"MANAGER.LINKS.SORT_WORST"},{value:"flashsCount,DESC",labelKey:"MANAGER.LINKS.SORT_MOST_FLASHED"},{value:"flashsCount,ASC",labelKey:"MANAGER.LINKS.SORT_LEAST_FLASHED"},{value:"title,DESC",labelKey:"MANAGER.LINKS.SORT_AZ"},{value:"title,ASC",labelKey:"MANAGER.LINKS.SORT_ZA"}];get f(){return this.form.controls}onSubmit(){return E(this,null,function*(){if(this.form.invalid)return;let{order:i}=this.form.value;if(!i)return;let e=i.split(","),o=e[0],l=e[1];this.linkManagerService.isValidSortColumn(o)&&["ASC","DESC"].includes(l)&&this.filters.set({sort:i,page:1})})}onImportCompleted(){this.linkManagerService.refresh(),this.clearChartCache(),this.mobileItems=[]}exportCsv(){let i=this.linkManagerService.items;if(!i||i.length===0)return;this.$gaService.event("export","link_list","Export CSV");let e=["Short URL","Key","Destination URL","Title","Clicks","QR Scans","Created At","Status","Tags"],o=i.map(M=>[M.shortUrl||`${F.api}/${M.key}`,M.key,M.url,(M.title||"").replace(/"/g,'""'),M.hitsCount??0,M.flashsCount??0,M.createdAt?new Date(M.createdAt).toISOString():"",M.status||"active",(M.tags||[]).map(A=>A.name).join("; ")]),l=[e,...o].map(M=>M.map(A=>`"${A}"`).join(",")).join(`
3`),_=new Blob(["\uFEFF"+l],{type:"text/csv;charset=utf-8;"}),h=URL.createObjectURL(_),y=document.createElement("a");y.href=h,y.download=`houla-links-${new Date().toISOString().slice(0,10)}.csv`,y.click(),URL.revokeObjectURL(h),this.toastService.add({severity:"success",detail:`${i.length} liens export\xE9s en CSV`})}view(i){}confirmDelete(i){return E(this,null,function*(){(yield this.confirmService.confirm({message:`\xCAtes-vous s\xFBr de vouloir supprimer le lien <strong>hou.la/${i.key}</strong> ?<br><br>
4                <small class="text-muted">La cl\xE9 courte sera lib\xE9r\xE9e et pourra \xEAtre r\xE9attribu\xE9e \xE0 un autre utilisateur.</small>`,isHtml:!0,header:"Supprimer ce lien ?",severity:"danger",acceptLabel:"Supprimer",rejectLabel:"Annuler"}))&&this.delete(i)})}delete(i){return E(this,null,function*(){try{this.$gaService.event
4("delete","link_list","Supprimer un lien"),yield this.linkManagerService.deleteLink(i.id),this.toastService.add({severity:"success",summary:"Lien supprim\xE9",detail:`Le lien hou.la/${i.key} a \xE9t\xE9 supprim\xE9 avec succ\xE8s.`}),this.linkManagerService.refresh()}catch(e){console.error("Erreur lors de la suppression:",e),this.toastService.add({severity:"error",summary:"Erreur",detail:e?.error?.message||"Une erreur est survenue lors de la suppression."})}})}edit(i){let e=this.isMobile;this.ref=this.dialogService.open(he,{header:"",width:e?"100%":"600px",style:e?void 0:{maxWidth:"95vw"},contentStyle:{overflow:"auto"},baseZIndex:1e4,closable:!0,data:{link:i},resizable:!1,styleClass:e?"manager-link-create mobile-fullscreen-dialog":"manager-link-create"}),this.ref.onClose.subscribe(o=>{this.clearChartCache(),this.linkManagerService.refresh()})}openCreateDialog(){let i=this.isMobile;this.ref=this.dialogService.open(he,{header:"Nouveau lien",width:i?"100%":"600px",style:i?void 0:{maxWidth:"95vw"},contentStyle:{overflow:"auto"},baseZIndex:1e4,closable:!0,resizable:!1,styleClass:i?"manager-link-create mobile-fullscreen-dialog":"manager-link-create"}),this.ref.onClose.subscribe(()=>{this.clearChartCache(),this.linkManagerService.refresh()})}copy(i){if(this.$gaService.event("copy","link_list","Copier le lien"),!i)return;let e=i.shortUrl||`${F.api}/${i.key}`;this.clipboardService.copy(e),this.toastService.add({severity:"success",detail:"Le lien a bien \xE9t\xE9 copi\xE9 dans le clipboard"})}onPageChange(i){this.first=i.first,this.clearChartCache(),i.rows!==this.linkManagerService.limit&&(this.linkManagerService.limit=i.rows),this.filters.set({page:i.page+1})}getChartData(i){let e=this.chartDataCache.get(i.id);if(e)return e;if(!i.hits)return[];this.cachedCssVarLight||(this.cachedCssVarLight=getComputedStyle(document.documentElement).getPropertyValue("--bs-light")||"#dee2e6");let o=[],l=[],_=[];for(let y of i.hits)o.push(new Date(y.date).toLocaleDateString()),l.push(y.clicks),_.push(y.flashs);let h={labels:o,datasets:[{type:"bar",label:"clics",backgroundColor:this.cachedCssVarLight,data:l,minBarLength:1},{type:"bar",label:"flashs",backgroundColor:this.cachedCssVarLight,data:_,minBarLength:0}]};return this.chartDataCache.set(i.id,h),h}clearChartCache(){this.chartDataCache.clear(),this.expiryCache.clear()}trackByLinkId(i,e){return e.id}resetSearch(){this.searchService.reset()}syncFromFilters(){let i=this.filters.values(),e=i.filter||"",o=i.sort||"createdAt,DESC",l=i.page;this.form.get("statusFilter")?.setValue(e,{emitEvent:!1}),this.form.get("order")?.setValue(o,{emitEvent:!1});let[_,h]=o.split(",");this.linkManagerService._state.sortColumn=_,this.linkManagerService._state.sortDirection=h,this.linkManagerService._state.page=l,this.linkManagerService.statusFilter=e,this.first=(l-1)*this.linkManagerService.limit}onFiltersChanged(){this.syncFromFilters(),this.clearChartCache(),this.isMobile&&(this.mobileItems=[])}onResetFilters(){this.filters.reset()}onFilterChange(){let i=this.form.get("statusFilter")?.value||"";this.filters.set({filter:i,page:1}),this.clearChartCache(),this.$gaService.event("filter","link_list",`Filtrer par: ${i||"tous"}`)}applyMobileFilter(i){this.form.get("statusFilter")?.setValue(i),this.mobileItems=[],this.clearChartCache(),this.filters.set({filter:i,page:1}),this.$gaService.event("filter","link_list",`Filtrer par: ${i||"tous"}`),this.showMobileFilter=!1}applyMobileSort(i){this.form.get("order")?.setValue(i),this.mobileItems=[],this.clearChartCache(),this.filters.set({sort:i,page:1}),this.showMobileSort=!1}isExpired(i){return i?new Date(i)<new Date:!1}getTimeUntilExpiry(i){if(!i)return"";let e=String(i),o=this.expiryCache.get(e);if(o)return o;let l=new Date,h=new Date(i).getTime()-l.getTime();if(h<=0)return"";let y=Math.floor(h/(1e3*60)),M=Math.floor(h/(1e3*60*60)),A=Math.floor(h/(1e3*60*60*24)),R;return A>0?R=A===1?"1 jour":`${A} jours`:M>0?R=M===1?"1 heure":`${M} heures`:y>0?R=y===1?"1 minute":`${y} minutes`:R="quelques secondes",this.expiryCache.set(e,R),R}ngOnInit(){this.$gaService.pageView("/studio/links","Manager - Liens"),fe(this.platformId)&&(this.mediaQuery=window.matchMedia("(max-width: 767.98px)"),this.isMobile=this.mediaQuery.matches,this.mediaQueryHandler=i=>{this.ngZone.run(()=>{this.isMobile=i.matches,this.isMobile||(this.mobileItems=[])})},this.mediaQuery.addEventListener("change",this.mediaQueryHandler)),this.tagService.loadTags(),this.linkManagerService.init(),this.filters=this.qf.init(this.route,[{key:"filter",default:""},{key:"sort",default:"createdAt,DESC"},{key:"page",default:1,type:"number"}],()=>this.onFiltersChanged(),this.destroyRef),this.syncFromFilters(),this.subSearch=this.searchService.q$.subscribe(i=>{this.linkManagerService.searchTerm=i,this.clearChartCache(),this.isMobile&&(this.mobileItems=[])}),fe(this.platformId)&&(this.expiryRefreshInterval=setInterval(()=>{this.expiryCache.clear()},6e4))}retryLoad(){this.linkManagerService.error=null,this.linkManagerService._search$.next()}get displayItems(){return this.isMobile&&this.mobileItems.length>0?this.mobileItems:this.linkManagerService.items}setupInfiniteScroll(){this.scrollHandler=()=>{if(!this.isMobile||this.mobileLoading||this.linkManagerService.loading)return;let i=this.infiniteScrollSentinel?.nativeElement;if(!i)return;i.getBoundingClientRect().top<window.innerHeight+800&&this.ngZone.run(()=>this.loadMoreMobile())},window.addEventListener("scroll",this.scrollHandler,{passive:!0})}checkShouldLoadMore(){!this.isMobile||this.mobileLoading||this.linkManagerService.loading||requestAnimationFrame(()=>{this.scrollHandler&&this.scrollHandler()})}loadMoreMobile(){return E(this,null,function*(){if((this.mobileItems.length||this.linkManagerService.items.length)>=this.linkManagerService.total)return;this.mobileItems.length===0&&(this.mobileItems=[...this.linkManagerService.items]),this.mobileLoading=!0;let e=Math.floor(this.mobileItems.length/this.linkManagerService.limit)+1,o=this.linkManagerService.page;this.linkManagerService._state.page=e;try{let l=yield N(this.linkManagerService.find());l.data&&l.data.length>0&&(this.mobileItems=[...this.mobileItems,...l.data])}catch(l){console.error("Infinite scroll load error:",l)}finally{this.linkManagerService._state.page=o,this.mobileLoading=!1,this.checkShouldLoadMore()}})}ngOnDestroy(){this.subSearch&&this.subSearch.unsubscribe(),this.scrollHandler&&window.removeEventListener("scroll",this.scrollHandler),this.mediaQuery&&this.mediaQueryHandler&&this.mediaQuery.removeEventListener("change",this.mediaQueryHandler),this.expiryRefreshInterval&&clearInterval(this.expiryRefreshInterval),this.chartDataCache.clear(),this.expiryCache.clear(),this.linkManagerService.destroy()}getTagTextColor(i){let e=i.replace("#",""),o=parseInt(e.substring(0,2),16),l=parseInt(e.substring(2,4),16),_=parseInt(e.substring(4,6),16);return(.299*o+.587*l+.114*_)/255>.5?"#000000":"#ffffff"}filterByTag(i){this.linkManagerService.tagFilter===i?this.linkManagerService.tagFilter="":this.linkManagerService.tagFilter=i}showTagManager=!1;newTagName="";newTagColor="#667eea";editingTag=null;editTagName="";editTagColor="";tagColors=["#667eea","#ef4444","#f59e0b","#10b981","#8b5cf6","#ec4899","#06b6d4","#f97316"];createTag(){return E(this,null,function*(){if(this.newTagName.trim())try{yield this.tagService.create(this.newTagName.trim(),this.newTagColor),this.newTagName="",this.newTagColor="#667eea",this.toastService.add({severity:"success",detail
4:"Tag cr\xE9\xE9 avec succ\xE8s"})}catch(i){this.toastService.add({severity:"error",detail:i?.error?.message||"Erreur lors de la cr\xE9ation du tag"})}})}startEditTag(i){this.editingTag=i,this.editTagName=i.name,this.editTagColor=i.color}cancelEditTag(){this.editingTag=null}saveEditTag(){return E(this,null,function*(){if(!(!this.editingTag||!this.editTagName.trim()))try{yield this.tagService.update(this.editingTag.id,{name:this.editTagName.trim(),color:this.editTagColor}),this.editingTag=null,this.linkManagerService.refresh(),this.toastService.add({severity:"success",detail:"Tag modifi\xE9 avec succ\xE8s"})}catch(i){this.toastService.add({severity:"error",detail:i?.error?.message||"Erreur lors de la modification"})}})}deleteTag(i){return E(this,null,function*(){if(yield this.confirmService.confirm({message:`Supprimer le tag <strong>${i.name}</strong> ? Il sera retir\xE9 de tous les liens associ\xE9s.`,isHtml:!0,header:"Supprimer ce tag ?",severity:"danger",acceptLabel:"Supprimer",rejectLabel:"Annuler"}))try{yield this.tagService.remove(i.id),this.linkManagerService.tagFilter===i.id&&(this.linkManagerService.tagFilter=""),this.linkManagerService.refresh(),this.toastService.add({severity:"success",detail:"Tag supprim\xE9"})}catch(o){this.toastService.add({severity:"error",detail:o?.error?.message||"Erreur lors de la suppression"})}})}static \u0275fac=function(e){return new(e||n)(I(ut),I(kt),I(pe),I(ft),I(ie),I(We),I(Xe),I(Tt),I(Ge),I(vt),I(ke))};static \u0275cmp=U({type:n,selectors:[["app-view-manager-links-list"]],viewQuery:function(e,o){if(e&1&&(ge(ti,5),ge(H,5)),e&2){let l;_e(l=ue())&&(o.infiniteScrollSentinel=l.first),_e(l=ue())&&(o.importWidget=l.first)}},features:[Re([pe])],decls:21,vars:22,consts:[["infiniteScrollSentinel",""],["class","upsell-container",4,"ngIf"],[3,"importCompleted"],["class","d-flex justify-content-between align-items-center mb-2",4,"ngIf"],["position","bottom","styleClass","mobile-bottom-sheet",3,"visibleChange","visible"],["pTemplate","header"],[1,"mobile-sheet-list"],["class","mobile-sheet-item w-100",3,"ngClass","click",4,"ngFor","ngForOf"],[1,"tags-bar","mb-2"],["class","alert alert-secondary mt-2",4,"ngIf"],["class","border rounded-top container-items container-fluid bg-white position-relative",3,"ngClass",4,"ngIf"],["class","d-none d-md-block border border-top-0 rounded-bottom bg-white",3,"first","rows","totalRecords","onPageChange",4,"ngIf"],[1,"d-md-none",2,"height","1px"],["class","d-md-none text-center py-3",4,"ngIf"],["class","d-md-none text-center py-3 text-light fs-7",4,"ngIf"],[1,"d-block","mt-5",3,"loading"],[1,"upsell-container"],[1,"upsell-card"],[1,"upsell-layout"],[1,"upsell-text"],[1,"upsell-icon-wrapper","upsell-icon--link","mb-3"],[1,"pi","pi-link"],[1,"upsell-title"],[1,"upsell-desc"],[1,"upsell-features"],[1,"upsell-feature"],[1,"upsell-feature-icon","upsell-fi--purple"],[1,"pi","pi-bolt"],[1,"upsell-feature-text"],[1,"upsell-feature-label"],[1,"upsell-feature-hint"],[1,"upsell-feature-icon","upsell-fi--blue"],[1,"pi","pi-chart-bar"],[1,"upsell-feature-icon","upsell-fi--cyan"],[1,"pi","pi-image"],[1,"upsell-feature-icon","upsell-fi--orange"],[1,"pi","pi-clock"],["type","button",1,"upsell-cta","upsell-cta--link",3,"click"],[1,"pi","pi-plus"],[1,"upsell-illustration","upsell-illust--link"],[1,"upsell-illustration-icon","pi","pi-link"],[1,"d-flex","justify-content-between","align-items-center","mb-2"],[1,"d-none","d-md-flex","justify-content-between","align-items-center","gap-2",3,"ngSubmit","keyup.enter","formGroup"],[1,"input-group","input-group-sm"],["for","filterSelect",1,"input-group-text"],[1,"pi","pi-filter","text-light"],["formControlName","statusFilter","id","filterSelect",1,"form-select","shadow-none",3,"change"],[3,"value"],["for","inputGroupSelect01",1,"input-group-text"],[1,"pi","pi-sort-amount-down-alt","text-light"],["formControlName","order","id","inputGroupSelect01",1,"form-select","shadow-none",3,"change"],["type","button",1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1"],[1,"d-flex","d-md-none","align-items-center","gap-2"],[1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1",3,"click","ngClass"],[1,"pi","pi-filter",2,"font-size","0.85rem"],["class","mobile-filter-dot",4,"ngIf"],[1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1",3,"click"],[1,"pi","pi-sort-amount-down-alt",2,"font-size","0.85rem"],[1,"d-flex","align-items-center","gap-2"],["class","text-nowrap fs-6 fw-normal pe-1 text-light d-none d-md-block",4,"ngIf"],["type","button","tooltipPosition","bottom",1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center",3,"click","pTooltip"],[1,"pi","pi-download",2,"font-size","0.85rem"],[1,"pi","pi-upload",2,"font-size","0.85rem"],["type","button",1,"btn","btn-sm","btn-primary","text-white",3,"click"],[1,"pi","pi-plus","me-1"],[1,"d-none","d-md-inline"],[1,"d-md-none"],["type","button",1,"btn","btn-sm","btn-outline-secondary","d-flex","align-items-center","gap-1",3,"click"],[1,"pi","pi-filter-slash"],[1,"mobile-filter-dot"],[1,"text-nowrap","fs-6","fw-normal","pe-1","text-light","d-none","d-md-block"],[3,"ngPlural"],["ngPluralCase","=1"],["ngPluralCase","other"],[1,"fw-bold"],[1,"mobile-sheet-item","w-100",3,"click","ngClass"],[1,"me-2"],["class","pi pi-check ms-auto text-primary",4,"ngIf"],[1,"pi","pi-check","ms-auto","text-primary"],[1,"d-flex","align-items-center","gap-1","flex-wrap"],[1,"tag-filter-chip","active-clear"],[1,"tag-filter-chip",3,"active","--tag-color"],["tooltipPosition","top",1,"tag-manage-btn",3,"click","pTooltip"],[1,"pi",2,"font-size","0.75rem",3,"ngClass"],[1,"tag-manager-panel","mt-2"],[1,"tag-filter-chip","active-clear",3,"click"],[1,"pi","pi-times",2,"font-size","0.65rem"],[1,"tag-filter-chip",3,"click"],[1,"tag-dot"],[1,"tag-create-row"],[1,"tag-color-picker"],["type","button",1,"color-dot",3,"background","active"],[1,"d-flex","gap-1","flex-grow-1"],["type","text","maxlength","50",1,"form-control","form-control-sm",3,"ngModelChange","keyup.enter","placeholder","ngModel"],[1,"btn","btn-sm","btn-primary",3,"click","disabled"],[1,"pi","pi-plus",2,"font-size","0.75rem"],[1,"tag-list-manage","mt-2"],["type","button",1,"color-dot",3,"click"],[1,"tag-manage-item"],[1,"tag-edit-row"],["type","text","maxlength","50",1,"form-control","form-control-sm","flex-grow-1",3,"ngModelChange","keyup.enter","ngModel"],[1,"btn","btn-sm","btn-success",3,"click"],[1,"pi","pi-check",2,"font-size","0.7rem"],[1,"btn","btn-sm","btn-secondary",3,"click"],[1,"pi","pi-times",2,"font-size","0.7rem"],[1,"d-flex","align-items-center","gap-2","flex-grow-1"],[1,"tag-manage-name"],[1,"d-flex","gap-1"],["tooltipPosition","top",1,"btn","btn-sm","p-1","text-primary",3,"click","pTooltip"],[1,"pi","pi-pencil",2,"font-size","0.7rem"],["tooltipPosition","top",1,"btn","btn-sm","p-1","text-danger",3,"click","pTooltip"],[1,"pi","pi-trash",2,"font-size","0.7rem"],[1,"alert","alert-secondary","mt-2"],[4,"ngIf"],[1,"c-pointer","text-decoration-none","text-primary",3,"click"],[1,"border","rounded-top","container-items","container-fluid","bg-white","position-relative",3,"ngClass"],["class","link row p-2 link-row",3,"ngClass",4,"ngFor","ngForOf","ngForTrackBy"],[1,"link","row","p-2","link-row",3,"ngClass"],[1,"col-auto","d-none","d-md-flex","align-items-center","fs-6","text-light",2,"max-width","30px","width","30px"],[1,"col","d-flex","flex-column","text-truncate"],[1,"text-light","fs-6"],[1,"text-dark","fs-6","text-truncate","d-block","nowrap","w-100",3,"title"],[1,"badge","bg-danger","text-white","me-1",2,"font-size","0.65rem"],["tooltipPosition","top",1,"badge","bg-warning","text-dark","me-1",2,"font-size","0.65rem",3,"pTooltip"],["tooltipPosition","top",1,"badge","bg-secondary","text-white","me-1",2,"font-size","0.65rem",3,"pTooltip"],["tooltipPosition","top",1,"badge","me-1",2,"font-size","0.65rem",3,"ngClass","pTooltip"],[1,"fs-6","d-flex","align-items-center"],["tooltipPosition","top",1,"pi","pi-ban","text-danger","me-1",2,"font-size","0.9rem",3,"pTooltip"],["tooltipPosition","top",1,"pi","pi-times-circle","text-danger","me-1",2,"font-size","0.85rem",3,"pTooltip"],["tooltipPosition","top",1,"pi","pi-exclamation-triangle","text-warning","me-1",2,"font-size","0.85rem",3,"pTooltip"],["target","_blank",1,"text-decoration-none","text-warning",3,"href","ngClass"],[1,"pi","pi-lock","me-1",2,"font-size","0.7rem"],[1,"text-light","fs-6","mt-2"],[1,"d-flex","flew-column"],["tooltipPosition","right",1,"d-flex","align-items-center","me-3",3,"pTooltip"],[1,"pi","pi-eye","fs-6","me-1"],[1,"pi","pi-qrcode","fs-6","me-1"],["tooltipPosition","right",1,"user-select-none",2,"width","30px","height","18px","margin-top","-3px",3,"pTooltip"],["type","bar","width","30","height","18",1,"d-block",2,"opacity","0.7",3,"responsive","data"],[1,"mt-1","d-flex","flex-wrap","gap-1"],[1,"col-auto","d-flex","align-items-center","justify-content-end","pe-0","link-actions-col"],["role","group","aria-label","Basic example",1,"btn-group"],["tooltipPosition","left",1,"btn","btn-sm","text-primary","p-1","me-1",3,"click","pTooltip"],[1,"pi","pi-copy","fs-6"],[1,"pi","pi-file-edit","fs-6"],["tooltipPosition","left",1,"btn","btn-sm","text-primary","p-1","me-1",3,"click","routerLink","pTooltip"],[1,"pi","pi-chart-bar","fs-6"],["tooltipPosition","left",1,"btn","btn-sm","text-danger","p-1",3,"click","pTooltip"],[1,"pi","pi-trash","fs-6"],[1,"pi","pi-clock","me-1",2,"font-size","0.6rem"],[1,"pi","pi-lock","me-1",2,"font-size","0.6rem"],[1,"pi","pi-globe","me-1",2,"font-size","0.6rem"],[1,"pi","pi-code","me-1",2,"font-size","0.6rem"],[1,"pi","pi-box","me-1",2,"font-size","0.6rem"],[1,"pi","pi-desktop","me-1",2,"font-size","0.6rem"],[1,"badge","rounded-pill",2,"font-size","0.6rem","padding","2px 8px","cursor","pointer",3,"background-color","color"],[1,"badge","rounded-pill",2,"font-size","0.6rem","padding","2px 8px","cursor","pointer",3,"click"],[1,"pi","pi-tag","me-1",2,"font-size","0.55rem"],[1,"d-none","d-md-block","border","border-top-0","rounded-bottom","bg-white",3,"onPageChange","first","rows","totalRecords"],[1,"d-md-none","text-center","py-3"],[1,"pi","pi-spin","pi-spinner","text-primary",2,"font-size","1.5rem"],[1,"d-md-none","text-center","py-3","text-light","fs-7"],[3,"retry"]],template:function(e,o){if(e&1){let l=b();C(0,li,59,33,"div",1),r(1,"app-widget-import-links",2),x("importCompleted",function(){return f(l),v(o.onImportCompleted())}),a(),C(2,gi,78,79,"div",3),r(3,"p-sidebar",4),L("visibleChange",function(h){return f(l),T(o.showMobileFilter,h)||(o.showMobileFilter=h),v(h)}),C(4,_i,3,3,"ng-template",5),r(5,"div",6),C(6,fi,6,8,"button",7),a()(),r(7,"p-sidebar",4),L("visibleChange",function(h){return f(l),T(o.showMobileSort,h)||(o.showMobileSort=h),v(h)}),C(8,vi,3,3,"ng-template",5),r(9,"div",6),C(10,xi,4,7,"button",7),a()(),C(11,Ti,10,8,"div",8)(12,Ri,7,5,"div",9)(13,Ji,2,5,"div",10)(14,Qi,1,3,"p-paginator",11),u(15,"div",12,0),C(17,Yi,2,0,"div",13)(18,Zi,3,3,"div",14)(19,qi,1,0,"app-widget-api-error"),u(20,"app-widget-loading",15)}if(e&2){let l;d("ngIf",!o.linkManagerService.loading&&!o.linkManagerService.error&&(o.linkManagerService.items==null?null:o.linkManagerService.items.length)===0&&!o.linkManagerService.searchTerm&&!o.linkManagerService.statusFilter),t(2),d("ngIf",o.linkManagerService.total>0||((l=o.linkManagerService.items==null?null:o.linkManagerService.items.length)!==null&&l!==void 0?l:0)>0),t(),V(K(20,At)),k("visible",o.showMobileFilter),t(3),d("ngForOf",o.filterOptions),t(),V(K(21,At)),k("visible",o.showMobileSort),t(3),d("ngForOf",o.sortOptions),t(),w(o.tagService.tags.length>0||o.showTagManager?11:-1),t(),d("ngIf",(o.linkManagerService.items==null?null:o.linkManagerService.items.length)===0&&(o.linkManagerService.searchTerm!==""||o.linkManagerService.statusFilter)&&!o.linkManagerService.loading),t(),d("ngIf",o.displayItems==null?null:o.displayItems.length),t(),d("ngIf",o.linkManagerService.total&&(
4o.displayItems==null?null:o.displayItems.length)),t(3),d("ngIf",o.mobileLoading),t(),d("ngIf",o.isMobile&&o.mobileItems.length>0&&o.mobileItems.length>=o.linkManagerService.total),t(),w(!o.linkManagerService.loading&&o.linkManagerService.error?19:-1),t(),V("dark"),d("loading",o.linkManagerService.loading)}},dependencies:[X,Q,Y,Z,Ve,Be,De,q,Ct,le,xt,ht,dt,se,et,rt,bt,St,qe,Ue,Qe,Ye,ne,Je,re,He,Ze,ze,$e,ae,oe,Ke,Fe,te,ee,Mt,tt,_t,H,wt],styles:[".dead-link-row[_ngcontent-%COMP%]{background-color:#fff6!important}.dead-link-row[_ngcontent-%COMP%]:hover{background-color:#ffffff80!important}.unsafe-link-row[_ngcontent-%COMP%]{background-color:#99000026!important;border-left:3px solid #cc0000!important}.unsafe-link-row[_ngcontent-%COMP%]:hover{background-color:#9003!important}.text-decoration-line-through[_ngcontent-%COMP%]{text-decoration:line-through!important}.tags-bar[_ngcontent-%COMP%]{padding:.25rem 0}.tag-filter-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:16px;border:1.5px solid #e2e8f0;background:#fff;font-size:.75rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s ease;white-space:nowrap}.tag-filter-chip[_ngcontent-%COMP%]:hover{border-color:var(--tag-color, #667eea);background:#667eea0a}.tag-filter-chip.active[_ngcontent-%COMP%]{border-color:var(--tag-color, #667eea);background:color-mix(in srgb,var(--tag-color, #667eea) 15%,transparent);color:#1e293b;font-weight:600}.tag-filter-chip.active-clear[_ngcontent-%COMP%]{border-color:#94a3b8;background:#f1f5f9;color:#475569}.tag-filter-chip.active-clear[_ngcontent-%COMP%]:hover{background:#e2e8f0}.tag-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.tag-manage-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;cursor:pointer;transition:all .15s ease}.tag-manage-btn[_ngcontent-%COMP%]:hover{border-color:#667eea;color:#667eea;background:#667eea0a}.tag-manager-panel[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.tag-create-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.tag-color-picker[_ngcontent-%COMP%]{display:flex;gap:.3rem;flex-wrap:wrap}.color-dot[_ngcontent-%COMP%]{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;padding:0}.color-dot[_ngcontent-%COMP%]:hover{transform:scale(1.15)}.color-dot.active[_ngcontent-%COMP%]{border-color:#1e293b;box-shadow:0 0 0 2px #fff,0 0 0 3px currentColor}.tag-list-manage[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.3rem}.tag-manage-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;background:#fff;border:1px solid #e2e8f0}.tag-manage-name[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:#334155}.tag-edit-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;width:100%;flex-wrap:wrap}.tag-edit-row[_ngcontent-%COMP%]   .tag-color-picker[_ngcontent-%COMP%]{flex-basis:100%}.mobile-filter-dot[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:#fff;display:inline-block}.mobile-sheet-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.mobile-sheet-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.95rem;color:#334155;cursor:pointer;transition:background .15s ease;text-align:left}.mobile-sheet-item[_ngcontent-%COMP%]:hover{background:#f1f5f9}.mobile-sheet-item.active[_ngcontent-%COMP%]{background:#667eea14;color:var(--bs-primary);font-weight:600}.mobile-sheet-item[_ngcontent-%COMP%]   .pi-check[_ngcontent-%COMP%]{font-size:.85rem}@media (max-width: 767.98px){.container-items[_ngcontent-%COMP%]{border:none!important;border-radius:0!important;background:transparent!important}.link-row[_ngcontent-%COMP%]{background:#fff;border:1px solid #e2e8f0!important;border-radius:12px!important;margin-bottom:8px;padding:12px!important;flex-direction:column;box-shadow:0 1px 3px #0000000a}.link-row.border-bottom[_ngcontent-%COMP%]{border-bottom:1px solid #e2e8f0!important}.link-row[_ngcontent-%COMP%]   .col[_ngcontent-%COMP%]{max-width:100%!important;flex:0 0 100%}.link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%;justify-content:flex-start!important;padding-top:8px;margin-top:8px;border-top:1px solid #f1f5f9}.link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]   .btn-group[_ngcontent-%COMP%]{display:flex;gap:4px;width:100%}.link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]   .btn-group[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%], .link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]   .btn-group[_ngcontent-%COMP%]   a.btn[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f8fafc;padding:8px!important}.link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]   .btn-group[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:hover, .link-row[_ngcontent-%COMP%]   .link-actions-col[_ngcontent-%COMP%]   .btn-group[_ngcontent-%COMP%]   a.btn[_ngcontent-%COMP%]:hover{background:#e2e8f0}p-paginator[_ngcontent-%COMP%]{display:none!important}}  .mobile-bottom-sheet{border-radius:16px 16px 0 0!important}  .mobile-bottom-sheet .p-sidebar-header{padding:1rem 1.25rem .5rem;border-bottom:1px solid #f1f5f9}  .mobile-bottom-sheet .p-sidebar-content{padding:.5rem .75rem 1rem}  .mobile-fullscreen-dialog.p-dialog{margin:0!important;max-height:100vh!important;height:100vh!important;border-radius:0!important}  .mobile-fullscreen-dialog.p-dialog .p-dialog-content{flex:1;overflow-y:auto;padding:.75rem!important}  .mobile-fullscreen-dialog.p-dialog .p-dialog-header{padding:.75rem 1rem!important;border-bottom:1px solid #f1f5f9}"]})};export{Rt as ViewManagerLinksListComponent};

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.