1"use strict";(self.webpackChunkclient=self.webpackChunkclient||[]).push([[485],{485:(on,O,l)=>{l.r(O),l.d(O,{SettingsModule:()=>en});var p=l(4755),i=l(9401),T=l(8157),P=l(9507),u=l(9129),I=l(2847),z=l(5543),H=l(9248),B=l(4410),V=l(5354),t=l(2223);const $=["saveToServerModal"];let U=(()=>{class e{set openModal(n){n&&!this.modalOpen()?this.modalOpen.set(!0):!1===n&&this.modalOpen()&&this.modalOpen.set(!1)}constructor(){this.afterClosed=new t.vpe,this.modalOpen=(0,t.tdS)(!1)}accept(){this.modalOpen.set(!1),this.afterClosed.emit(!0)}decline(){this.modalOpen.set(!1),this.afterClosed.emit(!1)}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-save-to-server-dialog"]],viewQuery:function(o,s){if(1&o&&t.Gf($,5,t.SBq),2&o){let r;t.iGM(r=t.CRH())&&(s.modal=r.first)}},inputs:{openModal:"openModal"},outputs:{afterClosed:"afterClosed"},standalone:!0,features:[t.jDz],decls:14,vars:1,consts:[[1,"modal","modal-bottom","sm:modal-middle",3,"open"],["saveToServerModal",""],[1,"modal-box","bg-base-300"],["translate","",1,"font-bold","text-lg"],["translate","",1,"text-sm","my-3"],[1,"modal-action","gap-3"],["data-testid","zc-settings-save-server-cancel","translate","",1,"btn",3,"click"],["data-testid","zc-settings-save-server-confirm","translate","",1,"btn","btn-primary",3,"click"]],template:function(o,s){1&o&&(t.TgZ(0,"dialog",0,1)(2,"div",2)(3,"h3",3),t._uU(4,"MODAL.syncSettingsTitle"),t.qZA(),t.TgZ(5,"p",4),t._uU(6," MODAL.syncSettingsP1 "),t.qZA(),t.TgZ(7,"p",4),t._uU(8," MODAL.syncSettingsP2 "),t.qZA(),t.TgZ(9,"div",5)(10,"button",6),t.NdJ("click",function(){return s.decline()}),t._uU(11,"BUTTONS.decline"),t.qZA(),t.TgZ(12,"button",7),t.NdJ("click",function(){return s.accept()}),t._uU(13,"BUTTONS.saveAndClose"),t.qZA()()()()),2&o&&t.Q6J("open",s.modalOpen())},dependencies:[p.ez,u.aw,u.Pi]})}return e})();const j=["unsavedChangesModal"];let J=(()=>{class e{set openModal(n){n&&!this.modalOpen()?this.modalOpen.set(!0):!1===n&&this.modalOpen()&&this.modalOpen.set(!1)}constructor(){this.afterClosed=new t.vpe,this.modalOpen=(0,t.tdS)(!1)}accept(){this.modalOpen.set(!1),this.afterClosed.emit(!0)}decline(){this.modalOpen.set(!1),this.afterClosed.emit(!1)}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-unsaved-changes-dialog"]],viewQuery:function(o,s){if(1&o&&t.Gf(j,5,t.SBq),2&o){let r;t.iGM(r=t.CRH())&&(s.modal=r.first)}},inputs:{openModal:"openModal"},outputs:{afterClosed:"afterClosed"},standalone:!0,features:[t.jDz],decls:12,vars:1,consts:[[1,"modal","modal-bottom","sm:modal-middle",3,"open"],["unsavedChangesModal",""],[1,"modal-box","bg-base-300"],["translate","",1,"font-bold","text-lg"],["translate","",1,"text-sm","my-3"],[1,"modal-action","gap-3"],["data-testid","zc-settings-unsaved-confirm","translate","",1,"btn","btn-primary",3,"click"],["data-testid","zc-settings-unsaved-cancel","translate","",1,"btn",3,"click"]],template:function(o,s){1&o&&(t.TgZ(0,"dialog",0,1)(2,"div",2)(3,"h1",3),t._uU(4,"MODAL.unsavedChangesTitle"),t.qZA(),t.TgZ(5,"p",4),t._uU(6," MODAL.unsavedChangesParagraph "),t.qZA(),t.TgZ(7,"div",5)(8,"button",6),t.NdJ("click",function(){return s.accept()}),t._uU(9,"BUTTONS.confirm"),t.qZA(),t.TgZ(10,"button",7),t.NdJ("click",function(){return s.decline()}),t._uU(11,"BUTTONS.goBack"),t.qZA()()()()),2&o&&t.Q6J("open",s.modalOpen())},dependencies:[p.ez,u.aw,u.Pi]})}return e})();var c=l(5855),h=l(8784),v=l(9124),x=l(7579),w=l(4004),K=l(8505),b=l(8675),E=l(8603),A=l(285),q=l(9300),S=l(2722),W=l(9841),_=l(8783),C=l(6936),f=l(3545),Z=l(3005),X=l(4367);function tt(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.ALo(2,"proper"),t.ALo(3,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n.value),t.xp6(1),t.Oqu(t.lcZ(2,2,t.lcZ(3,4,"THEMES."+n.key)))}}let et=(()=>{class e{constructor(){this.themes=f.SJ}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-theme-selector"]],inputs:{group:"group",controlName:"controlName"},decls:6,vars:5,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-theme",1,"select","select-lg","mt-1","w-full",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.theme"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,tt,4,6,"option",3),t.ALo(5,"keyvalue"),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",t.lcZ(5,3,s.themes)))},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,p.Nd,X.w,u.X$]})}return e})();function nt(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n),t.xp6(1),t.Oqu(t.lcZ(2,2,"LANGUAGES."+n))}}let ot=(()=>{class e{constructor(){this.languages=f.D}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-language-selector"]],inputs:{group:"group",controlName:"controlName"},decls:5,vars:3,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-lang",1,"select","select-lg","mt-1","w-full",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.lang"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,nt,3,4,"option",3),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",s.languages)
1)},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,u.X$]})}return e})();function st(e,a){1&e&&(t.TgZ(0,"span",6),t._uU(1,"LABELS.wakelockOn"),t.qZA())}function it(e,a){1&e&&(t.TgZ(0,"span",6),t._uU(1,"LABELS.wakelockOff"),t.qZA())}let at=(()=>{class e{constructor(){this.isEnabled=(0,t.tdS)(!0),this.onDestroy$=new x.x}ngOnInit(){const n=this.group.get(this.controlName);n.valueChanges.pipe((0,S.R)(this.onDestroy$),(0,b.O)(n.value)).subscribe(o=>this.isEnabled.set(o))}ngOnDestroy(){this.onDestroy$.next()}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-wake-lock-enabled"]],inputs:{group:"group",controlName:"controlName"},decls:8,vars:4,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],[1,"cursor-pointer","label","bg-base-100","rounded-lg","ps-5","pe-3","py-4"],["class","label-text me-2","translate","",4,"ngIf","ngIfElse"],["isDisabledLabel",""],["data-testid","zc-appearance-wakelock","type","checkbox",1,"checkbox","checkbox-primary",3,"formControlName"],["translate","",1,"label-text","me-2"]],template:function(o,s){if(1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.wakelock"),t.qZA(),t.TgZ(3,"label",2),t.YNc(4,st,2,0,"span",3),t.YNc(5,it,2,0,"ng-template",null,4,t.W1O),t._UZ(7,"input",5),t.qZA()()),2&o){const r=t.MAs(6);t.Q6J("formGroup",s.group),t.xp6(4),t.Q6J("ngIf",s.isEnabled())("ngIfElse",r),t.xp6(3),t.Q6J("formControlName",s.controlName)}},dependencies:[p.O5,i.Wl,i.JJ,i.JL,i.sg,i.u,u.Pi]})}return e})();function rt(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n),t.xp6(1),t.Oqu(t.lcZ(2,2,"TEXT_SIZE."+n))}}let lt=(()=>{class e{constructor(){this.availableTextSizes=f.xQ,this.isEnabled=(0,t.tdS)(!0),this.onDestroy$=new x.x}ngOnInit(){const n=this.group.get(this.controlName);n.valueChanges.pipe((0,S.R)(this.onDestroy$),(0,b.O)(n.value)).subscribe(o=>this.isEnabled.set(o))}ngOnDestroy(){this.onDestroy$.next()}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-text-size"]],inputs:{group:"group",controlName:"controlName"},decls:5,vars:3,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-text-size",1,"select","select-lg","mt-1","w-full",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.textSize"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,rt,3,4,"option",3),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",s.availableTextSizes))},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,u.X$]})}return e})();function ct(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n),t.xp6(1),t.Oqu(t.lcZ(2,2,"LINE_HEIGHT."+n))}}let pt=(()=>{class e{constructor(){this.availableHeights=f.JA,this.isEnabled=(0,t.tdS)(!0),this.onDestroy$=new x.x}ngOnInit(){const n=this.group.get(this.controlName);n.valueChanges.pipe((0,S.R)(this.onDestroy$),(0,b.O)(n.value)).subscribe(o=>this.isEnabled.set(o))}ngOnDestroy(){this.onDestroy$.next()}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-line-height"]],inputs:{group:"group",controlName:"controlName"},decls:5,vars:3,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-line-height",1,"select","select-lg","mt-1","w-full",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.lineHeight"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,ct,3,4,"option",3),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",s.availableHeights))},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,u.X$]})}return e})(),dt=(()=>{class e{static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-render-history"]],inputs:{group:"group",controlName:"controlName"},decls:13,vars:2,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-render-history","type","range","max","15","min","0",1,"range",3,"formControlName"],[1,"w-full","flex","justify-between","text-xs","px-2"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.renderHistory"),t.qZA(),t._UZ(3,"input",2),t.TgZ(4,"div",3)(5,"span"),t._uU(6,"0"),t.qZA(),t.TgZ(7,"span"),t._uU(8,"5"),t.qZA(),t.TgZ(9,"span"),t._uU(10,"10"),t.qZA(),t.TgZ(11,"span"),t._uU(12,"15"),t.qZA()()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName))},dependencies:[i.Fj,i.eT,i.JJ,i.JL,i.sg,i.u,u.Pi]})}return e})();function ut(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n.key),t.xp6(1),t.Oqu(n.key)}}let gt=(()=>{class e{constructor(){this.fontFamilies=f.Yx}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-font-family-selector"]],inputs:{group:"group",controlName:"controlName"},decls:6,vars:7,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-font",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.fontFamily"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,ut,2,2,"option",3),t.ALo(5,"keyvalue"),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Tol("select select-lg mt-1 w-full "+s.fontFamilies.get(s.group.controls[s.controlName].value)),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",t.lcZ(5,5,s.fontFamilies)))},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,p.Nd]})}return e})();function mt(e,a){if(1&e&&(t.TgZ(0,"option",4),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n),t.xp6(1),t.Oqu(t.lcZ(2,2,"DIALECTS."+n))}}let R=(()=>{class e{constructor(){this.disableUnspecified=!1,this.availableDialects=(0,t.tdS)(void 0),this.dialects=f.F1,this.hasSubscription=!1,this.onDestroy$=new x.x,(0,t.cEC)(()=>{const n=this.group?.controls[this.controlName],o=this.availableDialects();n&&(void 0===o?n.disabled||n.disable():n.disabled&&n.enable())})}ngOnChanges(n){if(n.group&&n.languageControlName?.currentValue&&!this.hasSubscription){const s=this.group.get(n.languageControlName.currentValue);
1s&&(this.hasSubscription=!0,s.valueChanges.pipe((0,b.O)(s.value),(0,S.R)(this.onDestroy$)).subscribe(r=>{this.filterDialects(r)}))}n.language?.currentValue&&this.filterDialects(n.language.currentValue)}ngOnDestroy(){this.onDestroy$.next()}filterDialects(n){const o=new RegExp(n),s=this.dialects.filter(r=>o.test(r));this.disableUnspecified||s.unshift("unspecified"),this.availableDialects.set(s)}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-dialect-selector"]],inputs:{group:"group",controlName:"controlName",languageControlName:"languageControlName",language:"language",disableUnspecified:"disableUnspecified"},features:[t.TTD],decls:5,vars:3,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-appearance-dialect",1,"select","select-lg","mt-1","w-full",3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(o,s){1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.dialect"),t.qZA(),t.TgZ(3,"select",2),t.YNc(4,mt,3,4,"option",3),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(3),t.Q6J("formControlName",s.controlName),t.xp6(1),t.Q6J("ngForOf",s.availableDialects()))},dependencies:[p.sg,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,u.X$]})}return e})();function ft(e,a){1&e&&(t.TgZ(0,"div",22),t._uU(1,"SETTINGS.UI.cookieWarning"),t.qZA())}function _t(e,a){if(1&e&&(t.TgZ(0,"div",20),t._uU(1," SETTINGS.UI.p1 "),t.qZA()),2&e){const n=t.oxw();t.Q6J("classList",n.classList())("@fadeOutOnLeave",void 0)("@fadeInOnEnter",void 0)}}function ht(e,a){if(1&e&&(t.TgZ(0,"div",20),t._uU(1," SETTINGS.UI.p2 "),t.qZA()),2&e){const n=t.oxw();t.Q6J("classList",n.classList())("@fadeOutOnLeave",void 0)("@fadeInOnEnter",void 0)}}function vt(e,a){if(1&e&&(t.TgZ(0,"div",20),t._uU(1," SETTINGS.UI.p3 "),t.qZA()),2&e){const n=t.oxw();t.Q6J("classList",n.classList())("@fadeOutOnLeave",void 0)("@fadeInOnEnter",void 0)}}let bt=(()=>{class e{constructor(n,o,s,r,g,d){this.fb=n,this.store=o,this.renderer=s,this.el=r,this.router=g,this.translate=d,this.modalClosed$=new x.x,this.onDestroy$=new x.x,this.currentTheme=(0,c.O4)(this.store.select(_.FS)),this.language=(0,c.O4)(this.store.select(_.BX)),this.wakeLockEnabled=(0,c.O4)(this.store.select(_.VL)),this.currentTextSize=(0,c.O4)(this.store.select(_.MO)),this.currentLineHeight=(0,c.O4)(this.store.select(_.wx)),this.renderHistory=(0,c.O4)(this.store.select(_.or)),this.fontFamily=(0,c.O4)(this.store.select(_.LT)),this.dialect=(0,c.O4)(this.store.pipe((0,h.Ys)(_.a1))),this.settingsState=(0,c.O4)(this.store.select(_.eq)),this.syncUiSettings=(0,c.O4)(this.store.select(C.Pd)),this.formGroup=this.fb.group({theme:this.fb.control(this.currentTheme()),lang:this.fb.control(this.language()),dialect:this.fb.control(this.dialect()||null),font:this.fb.control(this.fontFamily()),wakelock:this.fb.control(this.wakeLockEnabled()),renderHistory:this.fb.control(this.renderHistory()),textSize:this.fb.control(this.currentTextSize()),lineHeight:this.fb.control(this.currentLineHeight())}),this.formGroup.controls.lang.valueChanges.pipe((0,c.sL)()).subscribe(m=>{m!==this.language()&&this.formGroup.controls.dialect.setValue("unspecified")}),this.renderHistoryFormValue=(0,c.O4)(this.formGroup.controls.renderHistory.valueChanges.pipe((0,b.O)(this.renderHistory()),(0,q.h)(m=>null!==m&&!isNaN(m)))),this.acceptedCookies=(0,c.O4)(this.store.pipe((0,h.Ys)(E.hp),(0,w.U)(m=>m.cookiesAccepted))),this.classList=(0,t.tdS)(`recognized-text ${this.currentTextSize()} ${this.currentLineHeight()} ${f.Yx.get(this.fontFamily())}`)}ngOnInit(){this.formGroup.get("theme")?.valueChanges.pipe((0,S.R)(this.onDestroy$)).subscribe(r=>{r&&this.renderer.setAttribute(this.el.nativeElement,"data-theme",r)}),this.formGroup.get("lang")?.valueChanges.pipe((0,S.R)(this.onDestroy$)).subscribe(r=>{r&&this.translate.use(r).subscribe(()=>{})});const n=this.formGroup.get("textSize").valueChanges.pipe((0,b.O)(this.currentTextSize())),o=this.formGroup.get("lineHeight").valueChanges.pipe((0,b.O)(this.currentLineHeight())),s=this.formGroup.get("font").valueChanges.pipe((0,b.O)(this.fontFamily()));(0,W.a)([n,o,s]).pipe((0,S.R)(this.onDestroy$)).subscribe(([r,g,d])=>{r&&g&&this._updateClassList(r,g,d)})}ngOnDestroy(){this.formGroup.dirty&&this.translate.use(this.language()),this.onDestroy$.next()}saveToServerCallback(n){const o=this.settingsState();n&&o&&this.store.dispatch(Z.E.saveSettingsState({settings:o})),this.showSaveToServerModal=!1,this.router.navigate([""])}saveSettings(){this.store.dispatch(f.Vp.setTheme({theme:this.formGroup.controls.theme.value})),this.store.dispatch(f.Vp.setLanguage({language:this.formGroup.controls.lang.value})),console.log("dialect form group value",this.formGroup.controls.dialect.value);const s=this.formGroup.controls.dialect.value;s&&(console.log("dialect",s),this.store.dispatch(f.Vp.setDialect({dialect:s}))),this.store.dispatch(f.Vp.updateWakeLockEnabled({enabled:this.formGroup.controls.wakelock.value})),this.store.dispatch(f.Vp.setTextSize({size:this.formGroup.controls.textSize.value})),this.store.dispatch(f.Vp.setLineHeight({height:this.formGroup.controls.lineHeight.value}));const m=this.formGroup.get("renderHistory").value;this.store.dispatch(f.Vp.setRenderHistory({count:m}));const nn=this.formGroup.get("font").value;return this.store.dispatch(f.Vp.setFontFamily({font:nn})),this.formGroup.markAsPristine(),console.log("syncUiSettings",this.syncUiSettings()),this.syncUiSettings()?this.showSaveToServerModal=!0:this.router.navigate([""]),!1}_updateClassList(n,o,s){let r=`recognized-text ${n} ${o}`;s&&(r+=` ${f.Yx.get(s)}`),this.classList.set(r)}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(i.qu),t.Y36(h.yh),t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(T.F0),t.Y36(u.sK))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-ui-settings"]],decls:30,vars:16,consts:[[1,"flex","flex-col","basis-full","px-3","sm:px-6","max-w-4xl",3,"formGroup","submit"],["class","text-error text-center text-sm","translate","",4,"ngIf"],[1,"basis-full","grid","sm:grid-cols-1","md:grid-cols-2","gap-3","sm:gap-12"],["controlName","theme",3,"group"],["controlName","lang",3,"group"],["controlName","dialect","languageControlName","lang",3,"group"],["controlName","font",3,"group"],["controlName","wakelock",3,"group"],["controlName","renderHistory",3,"group"],[1,"grid","grid-cols-2","gap-3"],["controlName","textSize",3,"group"],["controlName","lineHeight",3,"group"],[1,"flex","w-full","justify-end","items-center","gap-1","
1sm:gap-3"],["data-testid","zc-appearance-cancel","translate","","type","button","routerLink","..",1,"btn","btn-secondary","rounded-xl"],["data-testid","zc-appearance-save","type","submit","translate","",1,"btn","btn-primary","rounded-xl",3,"disabled"],[1,"form-control","overflow-y-auto"],[1,"label"],["translate","",1,"text-accent"],[1,"bg-base-100","text-base-content","font-raleway","p-6","gap-3","overflow-hidden","rounded-lg"],["translate","",3,"classList",4,"ngIf"],["translate","",3,"classList"],[3,"openModal","afterClosed"],["translate","",1,"text-error","text-center","text-sm"]],template:function(o,s){1&o&&(t.TgZ(0,"form",0),t.NdJ("submit",function(){return s.saveSettings()}),t.YNc(1,ft,2,0,"div",1),t.TgZ(2,"div",2)(3,"div"),t._UZ(4,"app-theme-selector",3)(5,"app-language-selector",4)(6,"app-dialect-selector",5)(7,"app-font-family-selector",6)(8,"app-wake-lock-enabled",7)(9,"app-render-history",8),t.TgZ(10,"div",9),t._UZ(11,"app-text-size",10)(12,"app-line-height",11),t.qZA()(),t.TgZ(13,"div")(14,"div",12)(15,"button",13),t._uU(16," BUTTONS.cancel "),t.qZA(),t.TgZ(17,"button",14),t._uU(18," BUTTONS.saveAndClose "),t.qZA()(),t.TgZ(19,"div",15)(20,"div",16)(21,"label",17),t._uU(22,"SETTINGS.UI.t1"),t.qZA()(),t.TgZ(23,"div",18),t.YNc(24,_t,2,3,"div",19),t.YNc(25,ht,2,3,"div",19),t.YNc(26,vt,2,3,"div",19),t.TgZ(27,"div",20),t._uU(28," SETTINGS.UI.p4 "),t.qZA()()()()()(),t.TgZ(29,"app-save-to-server-dialog",21),t.NdJ("afterClosed",function(g){return s.saveToServerCallback(g)}),t.qZA()),2&o&&(t.Q6J("formGroup",s.formGroup),t.xp6(1),t.Q6J("ngIf",!s.acceptedCookies()),t.xp6(3),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(2),t.Q6J("group",s.formGroup),t.xp6(1),t.Q6J("group",s.formGroup),t.xp6(5),t.Q6J("disabled",!1===s.acceptedCookies()||s.formGroup.pristine),t.xp6(7),t.Q6J("ngIf",s.renderHistoryFormValue()>0),t.xp6(1),t.Q6J("ngIf",s.renderHistoryFormValue()>1),t.xp6(1),t.Q6J("ngIf",s.renderHistoryFormValue()>2),t.xp6(1),t.Q6J("classList",s.classList()+" live pt-3"),t.xp6(2),t.Q6J("openModal",s.showSaveToServerModal))},dependencies:[p.O5,i._Y,i.JL,i.sg,T.rH,u.Pi,U,et,ot,at,lt,pt,dt,gt,R],data:{animation:[(0,v.QQ)(),(0,v.QP)()]}})}return e})();var y=l(2670);function Tt(e,a){1&e&&t.GkF(0)}const xt=function(e){return{server:e}};function St(e,a){if(1&e&&(t.TgZ(0,"div")(1,"div",9),t._uU(2,"SETTINGS.SYNC.subheader"),t.qZA(),t.YNc(3,Tt,1,0,"ng-container",10),t.qZA()),2&e){const n=a.ngIf;t.oxw();const o=t.MAs(6);t.xp6(3),t.Q6J("ngTemplateOutlet",o)("ngTemplateOutletContext",t.VKq(2,xt,n))}}function Ct(e,a){1&e&&(t.ynx(0),t.TgZ(1,"span",17),t._uU(2,"SETTINGS.SYNC.noneSaved"),t.qZA(),t.BQk())}function Zt(e,a){if(1&e&&(t.ynx(0),t.TgZ(1,"div",12)(2,"span",19),t._uU(3,"SETTINGS.SYNC.inSync"),t.qZA(),t.TgZ(4,"div",20),t._UZ(5,"input",21),t.TgZ(6,"span",17),t._uU(7," SETTINGS.SYNC.applyGlobally "),t.qZA()()(),t.BQk()),2&e){const n=t.oxw(4);t.xp6(5),t.Q6J("formControl",n.syncControl)}}const Q=function(e){return{"badge-outline":e}};function At(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"span",17),t._uU(1," SETTINGS.SYNC.viewFor "),t.qZA(),t.TgZ(2,"span",22)(3,"span",23),t._uU(4,"SETTINGS.SYNC.local"),t.qZA()(),t.TgZ(5,"input",24),t.NdJ("click",function(){t.CHM(n);const s=t.oxw(4);return t.KtG(s.toggleView())}),t.qZA(),t.TgZ(6,"span",25)(7,"span",26),t._uU(8,"SETTINGS.SYNC.server"),t.qZA()()}if(2&e){const n=t.oxw(4);t.xp6(3),t.Q6J("ngClass",t.VKq(2,Q,n.viewingSaved)),t.xp6(4),t.Q6J("ngClass",t.VKq(4,Q,!n.viewingSaved))}}function yt(e,a){if(1&e&&(t.YNc(0,Zt,8,1,"ng-container",3),t.YNc(1,At,9,6,"ng-template",null,18,t.W1O)),2&e){const n=t.MAs(2),o=t.oxw(3);t.Q6J("ngIf",o.settingsMatch())("ngIfElse",n)}}const Nt=function(e,a){return{"tooltip-accent":e,"tooltip-primary":a}};function Ot(e,a){if(1&e&&(t.ynx(0),t.TgZ(1,"span",29)(2,"span",30),t._uU(3),t.qZA()(),t.BQk()),2&e){const n=t.oxw().$implicit,o=t.oxw().ngIf,s=t.oxw().server,r=t.oxw();
1t.xp6(1),t.Q6J("ngClass",t.WLB(3,Nt,r.viewingSaved,!r.viewingSaved)),t.uIk("data-tip",r.viewingSaved?o[n.key]:s[n.key]),t.xp6(2),t.Oqu(r.viewingSaved?s[n.key]:o[n.key])}}function It(e,a){if(1&e&&(t.TgZ(0,"span",22),t._uU(1),t.qZA()),2&e){const n=t.oxw().$implicit;t.xp6(1),t.Oqu(n.value)}}function Ut(e,a){if(1&e&&(t.TgZ(0,"div",27)(1,"span",17),t._uU(2),t.qZA(),t.YNc(3,Ot,4,6,"ng-container",3),t.YNc(4,It,2,1,"ng-template",null,28,t.W1O),t.qZA()),2&e){const n=a.$implicit,o=t.MAs(5),s=t.oxw().ngIf,r=t.oxw().server;t.xp6(2),t.Oqu("LABELS."+n.key),t.xp6(1),t.Q6J("ngIf",r&&s[n.key]!==r[n.key])("ngIfElse",o)}}function Jt(e,a){if(1&e&&(t.TgZ(0,"div",12)(1,"div",13),t.YNc(2,Ct,3,0,"ng-container",3),t.YNc(3,yt,3,2,"ng-template",null,14,t.W1O),t.qZA(),t.TgZ(5,"div",15),t.YNc(6,Ut,6,3,"div",16),t.ALo(7,"keyvalue"),t.qZA()()),2&e){const n=a.ngIf,o=t.MAs(4),s=t.oxw().server;t.xp6(2),t.Q6J("ngIf",!s)("ngIfElse",o),t.xp6(4),t.Q6J("ngForOf",t.lcZ(7,3,n))}}function wt(e,a){if(1&e&&t.YNc(0,Jt,8,5,"div",11),2&e){const n=t.oxw();t.Q6J("ngIf",n.currentUiSettings())}}function Et(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"button",31),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.applySaved())}),t._uU(1,"BUTTONS.applySaved"),t.qZA()}if(2&e){const n=t.oxw();t.Q6J("disabled",n.settingsMatch()||!n.viewingSaved)}}const qt=function(){return["..","auth"]};function Rt(e,a){1&e&&(t.TgZ(0,"div",32),t._uU(1,"SETTINGS.SYNC.loginRequired"),t.qZA()),2&e&&t.Q6J("routerLink",t.DdM(1,qt))}let Qt=(()=>{class e{constructor(n,o){this.store=n,this.fb=o,this.viewingSaved=!1,this.userLoggedIn=(0,c.O4)(this.store.select(y.Ws)),this.syncSettings=(0,c.O4)(this.store.select(C.Pd)),this.syncControl=this.fb.control(null),this.savedUiSettings=(0,c.O4)(this.store.select(C.Zm)),this.currentUiSettings=(0,c.O4)(this.store.select(_.cd));const s=(0,c.O4)(this.store.select(C.c7));(0,t.cEC)(()=>{s()&&this.store.dispatch(Z.E.getSettings())},{allowSignalWrites:!0}),(0,t.cEC)(()=>{const r=this.syncSettings();void 0!==r&&this.syncControl.setValue(r,{emitEvent:!1})}),this.settingsMatch=(0,t.Flj)(()=>{const r=this.savedUiSettings(),g=this.currentUiSettings();return!(!r||!g)&&Object.keys(r).length===Object.keys(g).length&&Object.keys(r).every(d=>d in g&&JSON.stringify(r[d])===JSON.stringify(g[d]))}),this.syncControl.valueChanges.pipe((0,c.sL)()).subscribe(r=>{this.store.dispatch(Z.E.saveSyncProperty({sync:!!r}))})}applySaved(){const n=this.savedUiSettings();this.store.dispatch(n?f.Vp.applySettings({settings:n}):Z.E.getSettingsFailure({error:"No saved settings loaded into memory"}))}saveCurrent(){this.store.dispatch(Z.E.saveSettingsState({settings:this.currentUiSettings()}))}toggleView(){this.viewingSaved=!this.viewingSaved}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(h.yh),t.Y36(i.qu))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-user-saved-settings"]],decls:12,vars:5,consts:[[1,"card","bg-base-100","shadow-xl","flex","flex-col"],[1,"card-body"],["translate","",1,"card-title"],[4,"ngIf","ngIfElse"],["currentState",""],[1,"card-actions","mt-3","justify-between"],["data-testid","zc-sync-save-current","translate","",1,"btn","btn-sm","btn-accent",3,"disabled","click"],["data-testid","zc-sync-apply-saved","class","btn btn-sm btn-secondary","translate","",3,"disabled","click",4,"ngIf"],["class","badge badge-warning p-3 cursor-pointer","data-testid","zc-sync-login-required","translate","",3,"routerLink",4,"ngIf"],["translate","",1,"text-sm","mb-3"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","flex flex-col",4,"ngIf"],[1,"flex","flex-col"],[1,"flex","flex-row","justify-between","items-center","gap-1","mb-3"],["settingsStateManagement",""],[1,"d-flex"],["class","flex flex-row gap-3 justify-between",4,"ngFor","ngForOf"],["translate","",1,"label-text"],["settingsSwitch",""],["translate","",1,"label"],[1,"flex","flex-row","items-center","gap-2"],["data-testid","zc-sync-apply-globally","type","checkbox",1,"checkbox","checkbox-sm",3,"formControl"],[1,"label-text"],["translate","",1,"badge","badge-accent",3,"ngClass"],["data-testid","zc-sync-view-toggle","type","checkbox",1,"toggle","toggle-sm",3,"click"],[1,"label-alt-text"],["translate","",1,"badge","badge-primary",3,"ngClass"],[1,"flex","flex-row","gap-3","justify-between"],["valuesMatch",""],[1,"tooltip","tooltip-left","tooltip-rounded",3,"ngClass"],[1,"label-text","text-warning"],["data-testid","zc-sync-apply-saved","translate","",1,"btn","btn-sm","btn-secondary",3,"disabled","click"],["data-testid","zc-sync-login-required","translate","",1,"badge","badge-warning","p-3","cursor-pointer",3,"routerLink"]],template:function(o,s){if(1&o&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._uU(3,"SETTINGS.SYNC.header"),t.qZA(),t.YNc(4,St,4,4,"div",3),t.YNc(5,wt,1,1,"ng-template",null,4,t.W1O),t.TgZ(7,"div",5)(8,"button",6),t.NdJ("click",function(){return s.saveCurrent()}),t._uU(9,"BUTTONS.saveCurrent"),t.qZA(),t.YNc(10,Et,2,1,"button",7),t.qZA(),t.YNc(11,Rt,2,2,"div",8),t.qZA()()),2&o){const r=t.MAs(6);t.xp6(4),t.Q6J("ngIf",s.savedUiSettings())("ngIfElse",r),t.xp6(4),t.Q6J("disabled",s.settingsMatch()||s.viewingSaved||!s.userLoggedIn()),t.xp6(2),t.Q6J("ngIf",s.savedUiSettings()),t.xp6(1),t.Q6J("ngIf",!s.userLoggedIn())}},dependencies:[p.mk,p.sg,p.O5,p.tP,i.Wl,i.JJ,i.oH,T.rH,u.Pi,p.Nd],encapsulation:2})}return e})();var Gt=l(5698),Lt=l(1337),G=l(3447);function kt(e,a){1&e&&(t.TgZ(0,"div",21),t._UZ(1,"ng-icon",22),t.qZA())}function Mt(e,a){1&e&&(t.TgZ(0,"div",23),t._UZ(1,"ng-icon",24),t.qZA())}function Ft(e,a){if(1&e&&(t.TgZ(0,"div",12)(1,"span")(2,"span",13),t._uU(3,"STREAM.ROOMCARD.expires"),t.qZA(),t._uU(4,":"),t.qZA(),t.TgZ(5,"span"),t._uU(6),t.ALo(7,"timeago"),t.qZA()()),2&e){const n=t.oxw(2);t.xp6(6),t.Oqu(t.lcZ(7,1,n.room.expires))}}const Yt=function(e,a){return{"bg-primary":e,"bg-neutral":a}};function Dt(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"div",3),t._UZ(1,"input",4,5),t.TgZ(3,"div",6),t.NdJ("click",function(){t.CHM(n);const s=t.MAs(2);return t.KtG(s.checked=!s.checked)}),t.TgZ(4,"span",7)(5,"span",8),t._uU(6,"STREAM.ROOMCARD.broadcastId"),t.qZA(),t.TgZ(7,"span"),t._uU(8),t.ALo(9,"uppercase"),t.qZA()(),t.YNc(10,kt,2,0,"div",9),t.YNc(11,Mt,2,0,"div",10),t.qZA(),t.TgZ(12,"div",11)(13,"div",12)(14,"span",13),t._uU(15,"STREAM.ROOMCARD.broadcastType"),t.qZA(),t.TgZ(16,"span"),t._uU(17),t.ALo(18,"titlecase"),t.ALo(19,"translate"),t.qZA()(),t.TgZ(20,"div",12)(21,"span")(22,"span",13),t._uU(23,"STREAM.ROOMCARD.authentication"),t.qZA(),t._uU(24,":"),t.qZA(),t.TgZ(25,"span",13),t._uU(26),t.qZA()(),t.TgZ(27,"div",12)(28,"span")(29,"span",13),t._uU(30,"STREAM.ROOMCARD.created"),t.qZA(),t._uU(31,":"),t.qZA(),t.TgZ(32,"span"),t._uU(33),t.ALo(34,"timeago"),t.qZA()(),t.YNc(35,Ft,8,3,"div",14),t.TgZ(36,"div",15)(37,"button",16),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.showEditMode())}),t._UZ(38,"ng-icon",17),t.TgZ(39,"span",13),t._uU(40,"BUTTONS.edit"),t.qZA()()(),t.TgZ(41,"div",18)(42,"span")(43,"span",13),t._uU(44,"STREAM.ROOMCARD.link"),t.qZA(),t.TgZ(45,"span"),t._uU(46,":"),t.qZA()()()(),t.TgZ(47,"div",19)(48,"div",20),t.NdJ("cbOnSuccess",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.copied())}),t.ALo(49,"translate"),t._uU(50),t.qZA()()()}if(2&e){const n=t.oxw();
1t.xp6(1),t.Q6J("checked",n.room.isStatic),t.xp6(2),t.Q6J("ngClass",t.WLB(22,Yt,n.room.isStatic,!n.room.isStatic)),t.xp6(5),t.Oqu(t.lcZ(9,12,n.room.roomId)),t.xp6(2),t.Q6J("ngIf",n.room.allowAnonymous),t.xp6(1),t.Q6J("ngIf",!n.room.allowAnonymous),t.xp6(6),t.Oqu(t.lcZ(18,14,t.lcZ(19,16,n.room.isStatic?"STREAM.ROOMCARD.static":"STREAM.ROOMCARD.random"))),t.xp6(9),t.Oqu(n.room.allowAnonymous?"STREAM.ROOMCARD.anonymous":"STREAM.ROOMCARD.joinCode"),t.xp6(7),t.Oqu(t.lcZ(34,18,n.room.createdAt)),t.xp6(2),t.Q6J("ngIf",n.room.expires),t.xp6(13),t.Q6J("cbContent","https://zipcaptions.app/stream/"+n.room.roomId),t.uIk("data-tip",t.lcZ(49,20,"STREAM.copyIdTip")),t.xp6(2),t.Oqu("https://zipcaptions.app/stream/"+n.room.roomId)}}function Pt(e,a){1&e&&(t.TgZ(0,"span",13),t._uU(1,"STREAM.ROOMCARD.static"),t.qZA())}function zt(e,a){if(1&e&&(t.TgZ(0,"span",40)(1,"span",13),t._uU(2,"STREAM.ROOMCARD.create"),t.qZA(),t.YNc(3,Pt,2,0,"span",41),t.qZA()),2&e){const n=t.oxw(2);t.xp6(3),t.Q6J("ngIf",n.isStatic)}}function Ht(e,a){if(1&e&&(t.TgZ(0,"option",44),t._uU(1),t.ALo(2,"uppercase"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n),t.xp6(1),t.Oqu(t.lcZ(2,2,n))}}function Bt(e,a){if(1&e&&(t.TgZ(0,"select",42),t.YNc(1,Ht,3,4,"option",43),t.qZA()),2&e){const n=a.ngIf;t.xp6(1),t.Q6J("ngForOf",n)}}function Vt(e,a){if(1&e&&(t.TgZ(0,"span",45),t._uU(1),t.ALo(2,"uppercase"),t.qZA()),2&e){const n=t.oxw(2);t.xp6(1),t.Oqu(t.lcZ(2,1,n.room.roomId))}}function $t(e,a){1&e&&(t.TgZ(0,"p",46),t._uU(1," STREAM.ROOMCARD.changeWarning "),t.qZA())}function jt(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"button",47),t.NdJ("click",function(){t.CHM(n);const s=t.oxw(2);return t.KtG(s.deleteRoom(s.room.roomId))}),t._uU(1,"BUTTONS.delete"),t.qZA()}if(2&e){const n=t.oxw(2);t.Q6J("disabled",n.loading())}}const Kt=function(e){return{"bg-primary":e}};function Wt(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"form",25)(1,"div",26)(2,"div",27),t.YNc(3,zt,4,1,"span",28),t.TgZ(4,"span",29),t._uU(5,"STREAM.ROOMCARD.broadcastId"),t.qZA()(),t.YNc(6,Bt,2,1,"select",30),t.YNc(7,Vt,3,3,"span",31),t.qZA(),t.TgZ(8,"div",11),t.YNc(9,$t,2,0,"p",32),t.TgZ(10,"div",12)(11,"span")(12,"span",13),t._uU(13,"STREAM.ROOMCARD.broadcastType"),t.qZA(),t._uU(14,":"),t.qZA(),t.TgZ(15,"span",13),t._uU(16),t.qZA()(),t.TgZ(17,"div",33)(18,"span",13),t._uU(19,"STREAM.ROOMCARD.authentication"),t.qZA(),t.TgZ(20,"select",34)(21,"option",35),t._uU(22,"STREAM.ROOMCARD.requireJoinCode"),t.qZA(),t.TgZ(23,"option",35),t._uU(24,"STREAM.ROOMCARD.allowAnonymous"),t.qZA()()()(),t.TgZ(25,"div",36),t.YNc(26,jt,2,1,"button",37),t.TgZ(27,"button",38),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.closeEditMode())}),t._uU(28,"BUTTONS.cancel"),t.qZA(),t.TgZ(29,"button",39),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.saveAndClose())}),t._uU(30,"BUTTONS.saveAndClose"),t.qZA()()()}if(2&e){const n=t.oxw();t.Q6J("formGroup",n.roomFormGroup),t.xp6(1),t.Q6J("ngClass",t.VKq(12,Kt,n.isStatic||n.room&&n.room.isStatic)),t.xp6(2),t.Q6J("ngIf",!n.room),t.xp6(3),t.Q6J("ngIf",n.roomIdsList()),t.xp6(1),t.Q6J("ngIf",n.room&&n.room.roomId),t.xp6(2),t.Q6J("ngIf",n.isStatic),t.xp6(7),t.Oqu(n.isStatic?"STREAM.ROOMCARD.static":"STREAM.ROOMCARD.random"),t.xp6(5),t.Q6J("value",!1),t.xp6(2),t.Q6J("value",!0),t.xp6(3),t.Q6J("ngIf",n.room&&n.room.roomId),t.xp6(1),t.Q6J("disabled",n.loading()),t.xp6(2),t.Q6J("disabled",n.loading())}}function Xt(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"div",48)(1,"div",49)(2,"span",50),t._uU(3," STREAM.sessionIdCopied "),t.qZA(),t.TgZ(4,"button",51),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.dismissToast())}),t._uU(5,"BUTTONS.ok"),t.qZA()()()}2&e&&t.Q6J("@slideInUpOnEnter",void 0)("@fadeOutOnLeave",void 0)}let te=(()=>{class e{set showEdit(n){this.editMode.set(n)}constructor(n,o){this.fb=n,this.userService=o,this.editClosed=new t.vpe,this.editMode=(0,t.tdS)(!1),this.showCopied=(0,t.tdS)(!1),this.roomIdsList=(0,t.tdS)(void 0),this.loading=(0,t.tdS)(!1),this.roomFormGroup=this.fb.group({roomId:this.fb.control(this.room?.roomId,[i.kI.required]),allowAnonymous:this.fb.control(!1)})}ngAfterViewInit(){this.room?(this.roomFormGroup.setValue({roomId:this.room.roomId,allowAnonymous:this.room.allowAnonymous}),this.roomFormGroup.controls.roomId.disable(),this.isStatic=this.room.isStatic):this.userService.getCandidateRoomIdList(this.isStatic).subscribe(n=>{this.roomIdsList.set(n),this.roomFormGroup.controls.roomId.setValue(n[0])})}showEditMode(){this.editMode.set(!0)}closeEditMode(){this.editMode.set(!1),this.editClosed.next(!1)}deleteRoom(n){if(this.room?.roomId!==n)throw new Error("cannot delete room");this.userService.deleteUserRoom(n).subscribe(()=>{this.room=void 0,this.editClosed.next(!0)})}
1saveAndClose(){this.roomFormGroup.updateValueAndValidity(),this.roomFormGroup.valid?(this.loading.set(!0),this.roomFormGroup.disable(),this.userService.saveUserRoom({roomId:this.roomFormGroup.value.roomId,isStatic:this.isStatic,allowAnonymous:this.roomFormGroup.value.allowAnonymous}).subscribe({next:n=>{this.room&&(this.room=n),this.loading.set(!1),this.roomFormGroup.enable(),this.closeEditMode()},error:()=>{this.loading.set(!1),this.roomFormGroup.enable()}})):this.roomFormGroup.markAllAsTouched()}copied(){this.showCopied.set(!0),setTimeout(()=>this.showCopied.set(!1),1500)}dismissToast(){this.showCopied.set(!1)}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(i.qu),t.Y36(Lt.K))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-room-card"]],inputs:{room:"room",isStatic:"isStatic",showEdit:"showEdit"},outputs:{editClosed:"editClosed"},decls:4,vars:3,consts:[["class","collapse collapse-arrow bg-base-100 shadow-lg",4,"ngIf","ngIfElse"],["editRoom",""],["class","toast z-10",4,"ngIf"],[1,"collapse","collapse-arrow","bg-base-100","shadow-lg"],["type","checkbox",3,"checked"],["expanded",""],[1,"collapse-title","inline-flex","items-center","gap-6","justify-between",3,"ngClass","click"],[1,"text-lg","inline-flex","gap-3"],["translate","",1,"hidden","md:inline-block"],["class","badge shadow-md badge-accent p-3",4,"ngIf"],["class","badge shadow-md badge-secondary p-3",4,"ngIf"],[1,"collapse-content","text-sm"],[1,"flex","flex-row","justify-between","items-center","gap-1","mt-3"],["translate",""],["class","flex flex-row justify-between items-center gap-1 mt-3",4,"ngIf"],[1,"flex","flex-row","justify-end","items-center","gap-1","mt-3"],[1,"btn","btn-secondary","btn-sm",3,"click"],["name","heroPencilSquare"],[1,"mt-3","-mb-4","flex","flex-row","justify-center"],[1,"flex","flex-row","justify-center","items-center","p-1"],["ngxClipboard","",1,"text-xs","tooltip","tooltip-secondary",3,"cbContent","cbOnSuccess"],[1,"badge","shadow-md","badge-accent","p-3"],["name","heroLockOpen"],[1,"badge","shadow-md","badge-secondary","p-3"],["name","heroLockClosed"],[1,"collapse","collapse-open","bg-base-100","shadow-lg",3,"formGroup"],[1,"inline-flex","justify-between","items-center","p-3","gap-6",3,"ngClass"],[1,"inline-flex","flex-col"],["class","text-xs",4,"ngIf"],["translate","",1,"text-lg"],["class","select","formControlName","roomId",4,"ngIf"],["class","text-lg",4,"ngIf"],["class","text-warning mt-3","translate","",4,"ngIf"],[1,"flex","flex-row","justify-between","items-center","gap-1"],["formControlName","allowAnonymous",1,"select"],["translate","",3,"value"],[1,"p-3","flex","items-center","justify-end","gap-6"],["type","button","class","btn btn-sm btn-accent","translate","",3,"disabled","click",4,"ngIf"],["type","button","translate","",1,"btn","btn-sm",3,"disabled","click"],["type","submit","translate","",1,"btn","btn-sm","btn-primary",3,"disabled","click"],[1,"text-xs"],["translate","",4,"ngIf"],["formControlName","roomId",1,"select"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"text-lg"],["translate","",1,"text-warning","mt-3"],["type","button","translate","",1,"btn","btn-sm","btn-accent",3,"disabled","click"],[1,"toast","z-10"],["role","alert",1,"alert","alert-info","flex","flex-row","p-1"],["translate","",1,"text-sm","whitespace-pre-wrap"],["translate","",1,"btn","btn-sm","btn-secondary",3,"click"]],template:function(o,s){if(1&o&&(t.YNc(0,Dt,51,25,"div",0),t.YNc(1,Wt,31,14,"ng-template",null,1,t.W1O),t.YNc(3,Xt,6,2,"div",2)),2&o){const r=t.MAs(2);t.Q6J("ngIf",s.room&&!s.editMode())("ngIfElse",r),t.xp6(3),t.Q6J("ngIf",s.showCopied())}},dependencies:[p.mk,p.sg,p.O5,i._Y,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,u.Pi,A.Fv,G.yb,p.gd,p.rS,u.X$,I.wr],data:{animation:[(0,v.Jm)(),(0,v.QQ)()]}})}return e})();function ee(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"div",6)(1,"div",7),t._uU(2,"SETTINGS.SHARING.staticRoomHeader"),t.qZA(),t.TgZ(3,"p",8),t._uU(4,"SETTINGS.SHARING.staticRoomP1"),t.qZA(),t.TgZ(5,"p",8),t._uU(6,"SETTINGS.SHARING.staticRoomP2"),t.qZA(),t.TgZ(7,"button",9),t.NdJ("click",function(){t.CHM(n);const s=t.oxw(2);
1return t.KtG(s.openModal())}),t._uU(8,"BUTTONS.createRoom"),t.qZA()()}}function ne(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"app-room-card",10),t.NdJ("editClosed",function(){t.CHM(n);const s=t.oxw(2);return t.KtG(s.hideModal())}),t.qZA()}2&e&&t.Q6J("isStatic",!0)}function oe(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"app-room-card",13),t.NdJ("editClosed",function(s){t.CHM(n);const r=t.oxw(3);return t.KtG(r.editClosed(s))}),t.qZA()}2&e&&t.Q6J("room",a.$implicit)}function se(e,a){if(1&e&&(t.ynx(0),t.TgZ(1,"div",11),t._uU(2," SETTINGS.SHARING.staticRoomView "),t.qZA(),t.YNc(3,oe,1,1,"app-room-card",12),t.BQk()),2&e){const n=a.ngIf;t.xp6(3),t.Q6J("ngForOf",n)}}function ie(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"app-room-card",13),t.NdJ("editClosed",function(s){t.CHM(n);const r=t.oxw(3);return t.KtG(r.editClosed(s))}),t.qZA()}2&e&&t.Q6J("room",a.$implicit)}function ae(e,a){if(1&e&&(t.ynx(0),t._UZ(1,"div",14),t.TgZ(2,"div",15),t._uU(3," SETTINGS.SHARING.dynamicRoomView "),t.qZA(),t.YNc(4,ie,1,1,"app-room-card",12),t.BQk()),2&e){const n=a.ngIf;t.xp6(4),t.Q6J("ngForOf",n)}}function re(e,a){if(1&e&&(t.TgZ(0,"div",2),t.YNc(1,ee,9,0,"div",3),t.YNc(2,ne,1,1,"app-room-card",4),t.YNc(3,se,4,1,"ng-container",5),t.YNc(4,ae,5,1,"ng-container",5),t.qZA()),2&e){const n=t.oxw();t.xp6(1),t.Q6J("ngIf",n.canAddRooms()&&!n.modalOpen()),t.xp6(1),t.Q6J("ngIf",n.modalOpen()),t.xp6(1),t.Q6J("ngIf",n.staticRooms()),t.xp6(1),t.Q6J("ngIf",n.dynamicRooms())}}const le=function(){return["..","auth"]};function ce(e,a){1&e&&(t.TgZ(0,"div",16),t._uU(1,"SETTINGS.SHARING.loginRequired"),t.qZA()),2&e&&t.Q6J("routerLink",t.DdM(1,le))}let pe=(()=>{class e{constructor(n){this.store=n,this.modalOpen=(0,t.tdS)(!1),this.isLoggedIn=(0,c.O4)(this.store.select(y.Ws)),this.userRooms=(0,c.O4)(this.store.select(C.jw)),this.canAddRooms=(0,t.Flj)(()=>!this.userRooms()||!this.userRooms()?.some(o=>o.isStatic)),this.userId$=this.store.select(C.c7).pipe((0,c.sL)()),this.staticRooms=(0,t.Flj)(()=>{const o=this.userRooms()?.filter(s=>s.isStatic);if(o&&o.length)return o}),this.dynamicRooms=(0,t.Flj)(()=>{const o=this.userRooms()?.filter(s=>!s.isStatic);if(o&&o.length)return o})}ngOnInit(){this.isLoggedIn()?this._listUserRooms():this.userId$.pipe((0,q.h)(n=>!!n),(0,Gt.q)(1)).subscribe(()=>this._listUserRooms())}openModal(){this.modalOpen.set(!0)}hideModal(){this._listUserRooms(),this.modalOpen.set(!1)}editClosed(n){n&&this._listUserRooms()}_listUserRooms(){this.store.dispatch(Z.E.getRooms())}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(h.yh))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-broadcast-settings"]],decls:3,vars:2,consts:[["class","flex flex-col basis-full py-3 sm:px-6 gap-3 max-w-4xl",4,"ngIf","ngIfElse"],["loginRequired",""],[1,"flex","flex-col","basis-full","py-3","sm:px-6","gap-3","max-w-4xl"],["class","flex flex-col gap-3 max-w-sm text-center mb-3",4,"ngIf"],["class","mb-6",3,"isStatic","editClosed",4,"ngIf"],[4,"ngIf"],[1,"flex","flex-col","gap-3","max-w-sm","text-center","mb-3"],["translate","",1,"text-lg"],["translate",""],["translate","",1,"btn","btn-primary",3,"click"],[1,"mb-6",3,"isStatic","editClosed"],["translate","",1,"text-lg","text-center"],[3,"room","editClosed",4,"ngFor","ngForOf"],[3,"room","editClosed"],[1,"divider","divider-secondary"],["translate","",1,"text-lg","text-center","mb-3"],["translate","",1,"badge","badge-warning","p-3","cursor-pointer",3,"routerLink"]],template:function(o,s){if(1&o&&(t.YNc(0,re,5,4,"div",0),t.YNc(1,ce,2,2,"ng-template",null,1,t.W1O)),2&o){const r=t.MAs(2);t.Q6J("ngIf",s.isLoggedIn())("ngIfElse",r)}},dependencies:[p.sg,p.O5,T.rH,u.Pi,te]})}return e})();var L=l(8574),k=l(9232),N=l(7595);function de(e,a){if(1&e&&(t.TgZ(0,"div",18),t._uU(1),t.qZA()),2&e){const n=a.ngIf;t.xp6(1),t.Oqu(n)}}function ue(e,a){1&e&&(t.TgZ(0,"div",19)(1,"div",20),t._uU(2,"CONNECTIONS.connectionEstablished"),t.qZA()())}function ge(e,a){1&e&&(t.TgZ(0,"span",21),t._uU(1,"ERRORS.invalidUrl"),t.qZA())}function me(e,a){1&e&&(t.TgZ(0,"span",21),t._uU(1,"ERRORS.required"),t.qZA())}function fe(e,a){1&e&&(t.TgZ(0,"span",21),t._uU(1,"ERRORS.invalidUrl"),t.qZA())}
1function _e(e,a){1&e&&(t.TgZ(0,"span",21),t._uU(1,"ERRORS.required"),t.qZA())}const he=function(e){return{"btn-error":e}};function ve(e,a){if(1&e&&(t.TgZ(0,"button",22),t._uU(1,"BUTTONS.connect"),t.qZA()),2&e){const n=t.oxw();t.Q6J("ngClass",t.VKq(2,he,n.formGroup.invalid&&n.formGroup.touched))("disabled",n.isConnecting())}}function be(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"button",23),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.disconnect())}),t._uU(1,"BUTTONS.disconnect"),t.qZA()}if(2&e){const n=t.oxw();t.Q6J("disabled",n.isConnecting())}}const Te=function(e){return{"badge-success":e}},M=function(e){return{"text-error":e}},F=function(e){return{"input-error":e}};let xe=(()=>{class e{constructor(n,o){this.fb=n,this.store=o,this.connectionState=(0,c.O4)(this.store.select(N.Q6)),this.error=(0,c.O4)(this.store.select(N.Hb)),this.obsIsStreaming=(0,c.O4)(this.store.select(N.l5)),this.isConnected=(0,t.Flj)(()=>this.connectionState()===k.Sn.connected),this.isConnecting=(0,t.Flj)(()=>this.connectionState()===k.Sn.connecting),this.formGroup=this.fb.group({ip:this.fb.control("127.0.0.1"),port:this.fb.control(null),password:this.fb.control(null)})}saveObsWebsocket(){if(this._autofillDefaultValue(this.formGroup.controls.ip,"127.0.0.1"),this._autofillDefaultValue(this.formGroup.controls.port,4455),this.formGroup.updateValueAndValidity(),this.formGroup.valid){const{ip:n,port:o,password:s}=this.formGroup.value;this.store.dispatch(L.S.connect({ip:n,port:o,password:s}))}else this.formGroup.markAsTouched()}disconnect(){this.store.dispatch(L.S.disconnect())}_autofillDefaultValue(n,o){return null===n.value&&n.patchValue(o),null}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(i.qu),t.Y36(h.yh))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-obs-studio-settings"]],decls:34,vars:31,consts:[[1,"flex","flex-col","items-center","align-start","max-w-xl","w-full","gap-3","p-3",3,"formGroup","submit"],[1,"flex","flex-col","items-center","gap-3"],[1,"badge","h-auto",3,"ngClass"],["class","badge h-auto badge-error",4,"ngIf"],["class","flex",4,"ngIf"],[1,"form-control"],[1,"label"],["translate","",1,"label-text",3,"ngClass"],["name","heroExclamationTriangle","size","18",1,"tooltip","tooltip-left","tooltip-warning","text-xs"],["data-testid","zc-obs-host-settings","type","text","placeholder","127.0.0.1","formControlName","ip",1,"input","input-bordered","input-lg",3,"ngClass"],[1,"label","no-height"],["class","label-alt-text text-error text-xs","translate","",4,"ngIf"],["data-testid","zc-obs-port","type","text","placeholder","4455","formControlName","port",1,"input","input-bordered","input-lg",3,"ngClass"],["translate","",1,"label-text"],["data-testid","zc-obs-password","type","password","formControlName","password",1,"input","input-bordered","input-lg",3,"placeholder"],[1,"flex","flex-col","self-end","pb-6","gap-3"],["data-testid","zc-obs-connect","class","btn btn-secondary","translate","",3,"ngClass","disabled",4,"ngIf"],["data-testid","zc-obs-disconnect","class","btn btn-secondary","type","button","translate","",3,"disabled","click",4,"ngIf"],[1,"badge","h-auto","badge-error"],[1,"flex"],["translate","",1,"badge","h-auto","badge-secondary"],["translate","",1,"label-alt-text","text-error","text-xs"],["data-testid","zc-obs-connect","translate","",1,"btn","btn-secondary",3,"ngClass","disabled"],["data-testid","zc-obs-disconnect","type","button","translate","",1,"btn","btn-secondary",3,"disabled","click"]],template:function(o,s){1&o&&(t.TgZ(0,"form",0),t.NdJ("submit",function(){return s.saveObsWebsocket()}),t.TgZ(1,"div",1)(2,"div",2),t._uU(3),t.qZA(),t.YNc(4,de,2,1,"div",3),t.YNc(5,ue,3,0,"div",4),t.qZA(),t.TgZ(6,"div",5)(7,"label",6)(8,"span",7),t._uU(9," CONNECTIONS.obsStudioIP "),t.qZA(),t._UZ(10,"ng-icon",8),t.ALo(11,"translate"),t.qZA(),t._UZ(12,"input",9),t.TgZ(13,"label",10),t.YNc(14,ge,2,0,"span",11),t.YNc(15,me,2,0,"span",11),t.qZA()(),t.TgZ(16,"div",5)(17,"label",6)(18,"span",7),t._uU(19,"CONNECTIONS.obsStudioPort"),t.qZA()(),t._UZ(20,"input",12),t.TgZ(21,"label",10),t.YNc(22,fe,2,0,"span",11),t.YNc(23,_e,2,0,"span",11),t.qZA()(),t.TgZ(24,"div",5)(25,"label",6)(26,"span",13),t._uU(27,"LABELS.password"),t.qZA()(),t._UZ(28,"input",14),t.ALo(29,"translate"),t._UZ(30,"label",10),t.qZA(),t.TgZ(31,"div",15),t.YNc(32,ve,2,4,"button",16),t.YNc(33,be,2,1,"button",17),t.qZA()()),2&o&&(t.Q6J("formGroup",s.formGroup),t.xp6(2),t.Q6J("ngClass",t.VKq(21,Te,s.isConnected())),t.xp6(1),t.Oqu(s.connectionState()),t.xp6(1),t.Q6J("ngIf",s.error()),t.xp6(1),t.Q6J("ngIf",s.isConnected()),t.xp6(3),t.Q6J("ngClass",t.VKq(23,M,s.formGroup.invalid&&s.formGroup.touched)),t.xp6(2),t.uIk("data-tip",t.lcZ(11,17,"HINTS.advancedWarning")),t.xp6(2),t.Q6J("ngClass",t.VKq(25,F,s.formGroup.invalid&&s.formGroup.touched)),t.xp6(2),t.Q6J("ngIf",s.formGroup.controls.ip.hasError("invalid")&&s.formGroup.touched),t.xp6(1),t.Q6J("ngIf",s.formGroup.controls.ip.hasError("required")&&s.formGroup.touched),t.xp6(3),t.Q6J("ngClass",t.VKq(27,M,s.formGroup.invalid&&s.formGroup.touched)),t.xp6(2),t.Q6J("ngClass",t.VKq(29,F,s.formGroup.invalid&&s.formGroup.touched)),t.xp6(2),t.Q6J("ngIf",s.formGroup.controls.port.hasError("invalid")&&s.formGroup.touched),t.xp6(1),t.Q6J("ngIf",s.formGroup.controls.port.hasError("required")&&s.formGroup.touched),t.xp6(5),t.Q6J("placeholder",t.lcZ(29,19,"LABELS.optPassword")),t.xp6(4),t.Q6J("ngIf",!s.isConnected()),t.xp6(1),t.Q6J("ngIf",s.isConnected()))},dependencies:[p.mk,p.O5,i._Y,i.Fj,i.JJ,i.JL,i.sg,i.u,u.Pi,A.Fv,u.X$]})}return e})();function Se(e,a){1&e&&(t.TgZ(0,"span",6),t._uU(1,"LABELS.transcriptEnabled"),t.qZA())}function Ce(e,a){1&e&&(t.TgZ(0,"span",6),t._uU(1,"LABELS.transcriptDisabled"),t.qZA())}let Ze=(()=>{class e{constructor(){this.isEnabled=(0,t.tdS)(!0),this.onDestroy$=new x.x}ngOnInit(){const n=this.group.get(this.controlName);n.valueChanges.pipe((0,S.R)(this.onDestroy$),(0,b.O)(n.value)).subscribe(o=>this.isEnabled.set(o))}ngOnDestroy(){this.onDestroy$.next()}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-transcript-enabled"]],inputs:{group:"group",controlName:"controlName"},decls:8,vars:4,consts:[[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],[1,"curs
1or-pointer","label","bg-base-100","rounded-lg","ps-5","pe-3","py-4"],["class","label-text me-2","translate","",4,"ngIf","ngIfElse"],["isDisabledLabel",""],["data-testid","zc-transcript-enabled","type","checkbox",1,"checkbox","checkbox-primary",3,"formControlName"],["translate","",1,"label-text","me-2"]],template:function(o,s){if(1&o&&(t.TgZ(0,"label",0)(1,"span",1),t._uU(2,"LABELS.transcriptEnable"),t.qZA(),t.TgZ(3,"label",2),t.YNc(4,Se,2,0,"span",3),t.YNc(5,Ce,2,0,"ng-template",null,4,t.W1O),t._UZ(7,"input",5),t.qZA()()),2&o){const r=t.MAs(6);t.Q6J("formGroup",s.group),t.xp6(4),t.Q6J("ngIf",s.isEnabled())("ngIfElse",r),t.xp6(3),t.Q6J("formControlName",s.controlName)}},dependencies:[p.O5,i.Wl,i.JJ,i.JL,i.sg,i.u,u.Pi]})}return e})();function Ae(e,a){1&e&&(t.TgZ(0,"div",10),t._UZ(1,"div",11),t.qZA())}function ye(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"div",2),t.YNc(1,Ae,2,0,"div",3),t.TgZ(2,"div",4)(3,"div",5),t._uU(4,"SETTINGS.TRANSCRIPTION.subheader"),t.qZA(),t.TgZ(5,"p",6),t._uU(6,"SETTINGS.TRANSCRIPTION.localDataWarning"),t.qZA(),t.TgZ(7,"p",6),t._uU(8,"SETTINGS.TRANSCRIPTION.encryptionWarning"),t.qZA(),t._UZ(9,"app-transcript-enabled",7),t.TgZ(10,"div",8)(11,"button",9),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.saveSettings())}),t._uU(12,"BUTTONS.save"),t.qZA()()()()}if(2&e){const n=t.oxw();t.xp6(1),t.Q6J("ngIf",n.loading()),t.xp6(8),t.Q6J("group",n.formGroup),t.xp6(2),t.Q6J("disabled",n.formGroup.pristine||n.loading())}}const Ne=function(){return["..","auth"]};function Oe(e,a){1&e&&(t.TgZ(0,"div",12),t._uU(1,"SETTINGS.SHARING.loginRequired"),t.qZA()),2&e&&t.Q6J("routerLink",t.DdM(1,Ne))}let Ie=(()=>{class e{constructor(n,o){this.fb=n,this.store=o,this.isLoggedIn=(0,c.O4)(this.store.select(y.Ws)),this.transcriptionEnabled=(0,c.O4)(this.store.select(_.QU)),this.titlePattern=(0,c.O4)(this.store.select(_.Iu)),this.loading=(0,c.O4)(this.store.select(_.CJ)),this.formGroup=this.fb.group({enabled:this.fb.control(this.transcriptionEnabled()),titlePattern:this.fb.control(this.titlePattern())})}saveSettings(){if(this.formGroup.updateValueAndValidity(),this.formGroup.valid){const n={enabled:!!this.formGroup.value.enabled};this.formGroup.value.titlePattern&&(n.titlePattern=this.formGroup.value.titlePattern),this.store.dispatch(f.Vp.saveTranscriptionSettings({transcription:n})),this.formGroup.markAsPristine()}else console.log("form group not valid",this.formGroup)}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(i.qu),t.Y36(h.yh))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-transcription-settings"]],decls:3,vars:2,consts:[["class","flex flex-col basis-full py-3 sm:px-6 gap-3 max-w-4xl relative",4,"ngIf","ngIfElse"],["loginRequired",""],[1,"flex","flex-col","basis-full","py-3","sm:px-6","gap-3","max-w-4xl","relative"],["class","absolute top-0 bottom-0 left-0 right-0 bg-opacity-20 bg-base-content rounded-lg flex flex-col items-center justify-center",4,"ngIf"],[1,"flex","flex-col","gap-3","max-w-sm","text-center","mb-3"],["translate","",1,"text-md"],["translate","",1,"text-sm"],["controlName","enabled",3,"group"],[1,"flex","flex-row","gap-3","basis-full","justify-between"],["data-testid","zc-transcript-save","translate","",1,"btn","btn-primary",3,"disabled","click"],[1,"absolute","top-0","bottom-0","left-0","right-0","bg-opacity-20","bg-base-content","rounded-lg","flex","flex-col","items-center","justify-center"],[1,"loading","loading-spinner","w-1/2","text-primary"],["translate","",1,"badge","badge-warning","p-3","cursor-pointer",3,"routerLink"]],template:function(o,s){if(1&o&&(t.YNc(0,ye,13,3,"div",0),t.YNc(1,Oe,2,2,"ng-template",null,1,t.W1O)),2&o){const r=t.MAs(2);t.Q6J("ngIf",s.isLoggedIn())("ngIfElse",r)}},dependencies:[p.O5,T.rH,u.Pi,Ze]})}return e})();var Y=l(3786),D=l(2513);let Ue=(()=>{class e{static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-profanity-filter-toggle"]],inputs:{group:"group",controlName:"controlName"},decls:10,vars:8,consts:[[1,"form-control","mt-3",3,"formGroup"],["for","profanity-filter-checkbox",1,"label","cursor-pointer","flex","flex-row","items-center","justify-between"],[1,"flex","flex-col","items-start","text-left"],[1,"label-text","font-semibold"],[1,"label-text-alt","text-base-content/70"],["data-testid","zc-engine-profanity","id","profanity-filter-checkbox","type","checkbox",1,"checkbox","checkbox-primary",3,"formControlName"]],template:function(o,s){1&o&&(t.TgZ(0,"div",0)(1,"label",1)(2,"div",2)(3,"span",3),t._uU(4),t.ALo(5,"translate"),t.qZA(),t.TgZ(6,"span",4),t._uU(7),t.ALo(8,"translate"),t.qZA()(),t._UZ(9,"
1input",5),t.qZA()()),2&o&&(t.Q6J("formGroup",s.group),t.xp6(4),t.Oqu(t.lcZ(5,4,"SETTINGS.TRANSCRIPTION.profanityFilter")),t.xp6(3),t.Oqu(t.lcZ(8,6,"SETTINGS.TRANSCRIPTION.profanityFilterDesc")),t.xp6(2),t.Q6J("formControlName",s.controlName))},dependencies:[i.Wl,i.JJ,i.JL,i.sg,i.u,u.X$]})}return e})(),Je=(()=>{class e{transform(n){let o="";if(void 0===n)return o;if(0===n)return 0;const s=Math.floor(n/1e3),r=Math.floor(n/6e4),g=Math.floor(n/36e5),d=Math.floor(n/864e5);return d>0&&(o+=`${d} d`),(g>0||o.length)&&(o.length&&(o+=" "),o+=g%24+"h"),(r>0||o.length)&&(o.length&&(o+=" "),o+=`${(r%60).toString().padStart(2,"0")}m`),s>0&&s%60&&(o.length&&(o+=" "),o+=`${(s%60).toString().padStart(2,"0")} s`),o}static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275pipe=t.Yjl({name:"hoursminutes",type:e,pure:!0})}return e})();function we(e,a){if(1&e&&(t.TgZ(0,"option",15),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&e){const n=a.$implicit;t.Q6J("value",n.value),t.xp6(1),t.Oqu(t.lcZ(2,2,"SETTINGS.PROVIDER."+n.value+".label"))}}const Ee=function(e){return{"text-error":e}};function qe(e,a){if(1&e&&(t.TgZ(0,"div",23)(1,"span",6),t._uU(2,"SETTINGS.PROVIDER.balance"),t.qZA(),t._uU(3),t.ALo(4,"hoursminutes"),t.qZA()),2&e){const n=t.oxw(3);t.Q6J("ngClass",t.VKq(4,Ee,n.group.hasError("credits"))),t.xp6(3),t.hij(": ",t.lcZ(4,2,n.balance())," ")}}function Re(e,a){if(1&e&&(t.TgZ(0,"a",24),t._uU(1,"SETTINGS.PROVIDER.requestTokens"),t.qZA()),2&e){const n=t.oxw(3);t.Q6J("href",n.GET_ACCESS_LINK,t.LSH)}}function Qe(e,a){if(1&e&&(t.ynx(0),t.TgZ(1,"a",16)(2,"div",17),t._uU(3),t.ALo(4,"translate"),t.qZA()(),t.TgZ(5,"p",18),t._uU(6),t.ALo(7,"translate"),t.qZA(),t.TgZ(8,"div",19)(9,"div",20),t._uU(10),t.ALo(11,"translate"),t.qZA(),t.YNc(12,qe,5,6,"div",21),t.qZA(),t.YNc(13,Re,2,1,"a",22),t.BQk()),2&e){const n=a.ngIf;t.xp6(1),t.Q6J("href",n.url,t.LSH),t.xp6(2),t.Oqu(t.lcZ(4,6,"SETTINGS.PROVIDER."+n.value+".label")),t.xp6(3),t.Oqu(t.lcZ(7,8,"SETTINGS.PROVIDER."+n.value+".description")),t.xp6(4),t.Oqu(t.lcZ(11,10,"SETTINGS.PROVIDER."+n.value+".cost")),t.xp6(2),t.Q6J("ngIf","web"!==n.value),t.xp6(1),t.Q6J("ngIf",n.tokensPerMinute>0)}}function Ge(e,a){if(1&e&&(t.TgZ(0,"div",28)(1,"span",6),t._uU(2,"SETTINGS.PROVIDER.dialectRequired"),t.qZA(),t._uU(3),t.qZA()),2&e){const n=t.oxw(3);t.xp6(3),t.hij(" ",n.fallbackDialect(),"")}}function Le(e,a){if(1&e&&(t.ynx(0),t.YNc(1,Ge,4,1,"div",25),t._UZ(2,"app-dialect-selector",26)(3,"app-profanity-filter-toggle",27),t.BQk()),2&e){const n=t.oxw(2);t.xp6(1),t.Q6J("ngIf","unspecified"===n.dialect()),t.xp6(1),t.Q6J("group",n.group)("language",n.language())("disableUnspecified",!0),t.xp6(1),t.Q6J("group",n.group)}}function ke(e,a){if(1&e&&(t.TgZ(0,"div",29)(1,"span",30),t._uU(2,"SETTINGS.PROVIDER.acquire"),t.qZA(),t.TgZ(3,"a",16),t._uU(4),t.qZA()()),2&e){const n=t.oxw(2);t.xp6(3),t.Q6J("href",n.patreonUrl,t.LSH),t.xp6(1),t.Oqu(n.patreonUrl)}}function Me(e,a){if(1&e){const n=t.EpF();t.TgZ(0,"div",3)(1,"form",4)(2,"div",5)(3,"span",6),t._uU(4,"SETTINGS.PROVIDER.title"),t.qZA()(),t.TgZ(5,"div",7),t._uU(6,"SETTINGS.PROVIDER.description"),t.qZA(),t.TgZ(7,"label",8)(8,"span",9),t._uU(9,"LABELS.provider"),t.qZA(),t.TgZ(10,"select",10),t.YNc(11,we,3,4,"option",11),t.qZA()(),t.YNc(12,Qe,14,12,"ng-container",12),t.YNc(13,Le,4,5,"ng-container",12),t.YNc(14,ke,5,2,"div",13),t.TgZ(15,"button",14),t.NdJ("click",function(){t.CHM(n);const s=t.oxw();return t.KtG(s.setProvider())}),t._uU(16,"BUTTONS.save"),t.qZA()()()}if(2&e){const n=t.oxw();t.xp6(7),t.Q6J("formGroup",n.group),t.xp6(4),t.Q6J("ngForOf",n.providers),t.xp6(1),t.Q6J("ngIf",n.selectedOption()),t.xp6(1),t.Q6J("ngIf","azure"===n.provider()),t.xp6(1),t.Q6J("ngIf",n.group.hasError("credits")),t.xp6(1),t.Q6J("disabled",!n.group.dirty||n.group.invalid)}}function Fe(e,a){1&e&&(t.TgZ(0,"div",31)(1,"div",32),t._uU(2,"SETTINGS.PROVIDER.setSuccess"),t.qZA()()),2&e&&t.Q6J("@slideInUpOnEnter",void 0)("@fadeOutOnLeave",void 0)}const Ye=function(){return["..","auth"]};function De(e,a){1&e&&(t.TgZ(0,"div",33),t._uU(1,"SETTINGS.SHARING.loginRequired"),t.qZA()),2&e&&t.Q6J("routerLink",t.DdM(1,Ye))}let Pe=(()=>{class e{constructor(n,o){this.store=n,this.fb=o,this.GET_ACCESS_LINK="https://zipsolutions.org/givingback.html",this.patreonUrl="https://patreon.com/zipcaptions",this.providers=[{value:"web",paid:!1,url:"https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition",tokensPerMinute:0}
1,{value:"azure",paid:!0,url:"https://learn.microsoft.com/en-us/javascript/api/overview/azure/microsoft-cognitiveservices-speech-sdk-readme?view=azure-node-latest",tokensPerMinute:60}],this.showToast=(0,t.tdS)(!1),this.errorMessage=(0,t.tdS)(void 0),this.formProviderToSave=null;const s=(0,c.O4)(this.store.select(D.Gl));this.dialect=(0,c.O4)(this.store.select(_.a1)),this.language=(0,c.O4)(this.store.select(_.BX)),this.profanityFilterEnabled=(0,c.O4)(this.store.select(D.Hf)),this.fallbackDialect=(0,t.Flj)(()=>{const d=this.language();return d&&f.Sk[d]?f.Sk[d]:"en-US"}),this.group=this.fb.group({provider:this.fb.control(s()),dialect:this.fb.control(this.dialect()),profanityFilterEnabled:this.fb.control(this.profanityFilterEnabled())}),this.group.setValidators(d=>this.validateProviderAndDialect(d)),(0,t.cEC)(()=>{const d=this.fallbackDialect(),m=this.dialect();d!==this.group.value.dialect&&"unspecified"===m&&this.group.controls.dialect.setValue(d)});const r=(0,c.O4)(this.group.controls.provider.valueChanges);this.provider=(0,t.Flj)(()=>r()||s()),this.selectedOption=(0,t.Flj)(()=>{const d=this.provider();if(d)return console.log("selected option",d),this.providers.find(m=>m.value===d)}),(0,t.cEC)(()=>{null!==this.formProviderToSave&&(s()===this.formProviderToSave?(this.showToastMessage(),this.formProviderToSave=null):console.warn("failed to save form provider?",s(),this.formProviderToSave))},{allowSignalWrites:!0}),this.isLoggedIn=(0,c.O4)(this.store.select(y.Ws));const g=(0,c.O4)(this.store.select(C.rM));this.balance=(0,t.Flj)(()=>{if(this.isLoggedIn()){const d=this.selectedOption(),m=g();if(0===m)return 0;if(d?.tokensPerMinute&&m)return m/d.tokensPerMinute*6e4}}),(0,t.cEC)(()=>{const d=s();d&&d!==this.group.controls.provider.value&&this.group.controls.provider.setValue(d,{emitEvent:!0})},{allowSignalWrites:!0})}validateProviderAndDialect(n){const{provider:o,dialect:s}=n.getRawValue();return"web"===o||this.balance()?"web"!==o&&"unspecified"===s?{dialect:!0}:null:{credits:!0}}
1setProvider(){if(this.group.updateValueAndValidity(),!this.group.valid)return void this.group.markAllAsTouched();const{provider:n,dialect:o,profanityFilterEnabled:s}=this.group.getRawValue();n&&(this.formProviderToSave=n,this.store.dispatch(Y.b.setEngine({engine:n})),this.group.markAsPristine()),o&&o!==this.dialect()&&this.store.dispatch(f.Vp.setDialect({dialect:o})),null!=s&&s!==this.profanityFilterEnabled()&&this.store.dispatch(Y.b.setProfanityFilter({enabled:s}))}showToastMessage(n){this.showToast.set(!0),this.errorMessage.set(n),setTimeout(()=>this.showToast.set(!1),1500)}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(h.yh),t.Y36(i.qu))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-recognition-engine"]],decls:4,vars:3,consts:[["class","card bg-base-100 shadow-xl flex flex-col max-w-xl",4,"ngIf","ngIfElse"],["class","toast z-10",4,"ngIf"],["loginRequired",""],[1,"card","bg-base-100","shadow-xl","flex","flex-col","max-w-xl"],[1,"card-body"],[1,"card-title"],["translate",""],["translate","",1,"text-sm","mb-3"],[1,"form-control",3,"formGroup"],["translate","",1,"text-accent","label"],["data-testid","zc-engine-select-settings","formControlName","provider",1,"select","select-secondary","select-lg","mt-1","w-full"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["class","text-sm flex flex-row flex-wrap justify-between",4,"ngIf"],["type","button","translate","",1,"btn","btn-primary",3,"disabled","click"],[3,"value"],["target","_blank",3,"href"],[1,"text-md","mt-3"],[1,"text-sm","mb-3"],[1,"flex","flex-row","flex-wrap","justify-between"],[1,"text-sm"],["class","text-sm",3,"ngClass",4,"ngIf"],["class","text-sm font-medium text-blue-500 hover:underline","translate","",3,"href",4,"ngIf"],[1,"text-sm",3,"ngClass"],["translate","",1,"text-sm","font-medium","text-blue-500","hover:underline",3,"href"],["class","text-md text-warn",4,"ngIf"],["controlName","dialect",3,"group","language","disableUnspecified"],["controlName","profanityFilterEnabled",3,"group"],[1,"text-md","text-warn"],[1,"text-sm","flex","flex-row","flex-wrap","justify-between"],["translate","",1,"text-error"],[1,"toast","z-10"],["translate","",1,"alert","alert-info"],["translate","",1,"badge","badge-warning","p-3","cursor-pointer",3,"routerLink"]],template:function(o,s){if(1&o&&(t.YNc(0,Me,17,6,"div",0),t.YNc(1,Fe,3,2,"div",1),t.YNc(2,De,2,2,"ng-template",null,2,t.W1O)),2&o){const r=t.MAs(3);t.Q6J("ngIf",s.isLoggedIn())("ngIfElse",r),t.xp6(1),t.Q6J("ngIf",s.showToast())}},dependencies:[p.mk,p.sg,p.O5,i._Y,i.YN,i.Kr,i.EJ,i.JJ,i.JL,i.sg,i.u,T.rH,u.Pi,R,Ue,Je,u.X$],data:{animation:[(0,v.Jm)(),(0,v.QQ)()]}})}return e})();const ze=function(e){return{"text-secondary border-secondary":e}};function He(e,a){if(1&e&&(t.TgZ(0,"div",7),t._UZ(1,"input",8),t.ALo(2,"translate"),t.TgZ(3,"label",9),t._UZ(4,"ng-icon",10),t.qZA()()),2&e){const n=a.$implicit,o=a.index,s=t.oxw();t.Q6J("ngClass",t.VKq(10,ze,s.tabIndex()===o)),t.xp6(1),t.Q6J("formControl",s.tabsControl)("value",o)("id",n),t.uIk("aria-label",t.lcZ(2,8,"SETTINGS.TABS."+n))("data-testid","zc-settings-tab-"+n),t.xp6(2),t.Q6J("for",n),t.xp6(1),t.Q6J("name",s.tabIcons[n])}}function Be(e,a){1&e&&t._UZ(0,"app-ui-settings"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}function Ve(e,a){1&e&&t._UZ(0,"app-user-saved-settings"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}function $e(e,a){1&e&&t._UZ(0,"app-broadcast-settings"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}function je(e,a){1&e&&t._UZ(0,"app-obs-studio-settings"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}function Ke(e,a){1&e&&t._UZ(0,"app-transcription-settings"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}function We(e,a){1&e&&t._UZ(0,"app-recognition-engine"),2&e&&t.Q6J("@fadeInOnEnter",void 0)}const Xe=[{path:"",component:(()=>{class e{constructor(n,o,s,r){this.fb=n,this.store=o,this.router=s,this.route=r,this.modalClosed$=new x.x,this.tabNames=["appearance","transcription","sync","sharing","obs","engine"],this.tabIcons={appearance:"heroSwatch",transcription:"heroDocumentText",sync:"heroArrowsRightLeft",sharing:"heroShare",obs:"obsStudioLogo",engine:"heroWrenchScrewdriver"},this.acceptedCookies=(0,c.O4)(this.store.pipe((0,h.Ys)(E.hp),(0,w.U)(d=>d.cookiesAccepted)));
1const g=this.route.snapshot.queryParams.tabIndex%this.tabNames.length||0;this.tabsControl=this.fb.control(g),this.tabIndex=(0,c.O4)(this.tabsControl.valueChanges.pipe((0,c.sL)(),(0,K.b)(d=>{this.router.navigate([],{relativeTo:this.route,queryParams:{tabIndex:d},queryParamsHandling:"merge"})}),(0,b.O)(g)))}modalClosed(n){this.showUnsavedChangesModal=!1,this.modalClosed$.next(n)}static#t=this.\u0275fac=function(o){return new(o||e)(t.Y36(i.qu),t.Y36(h.yh),t.Y36(T.F0),t.Y36(T.gz))};static#e=this.\u0275cmp=t.Xpm({type:e,selectors:[["app-settings"]],decls:14,vars:12,consts:[[1,"flex","flex-col","basis-full","items-center","justify-start","w-full","bg-base-300"],[1,"flex","flex-row","items-center","justify-center","gap-3","self-stretch","tabs-bordered"],["class","relative border-b-2",3,"ngClass",4,"ngFor","ngForOf"],[1,"text-lg","text-bold","text-secondary","mt-2","sm:hidden"],[1,"basis-full","overflow-y-auto","p-3",3,"ngSwitch"],[4,"ngSwitchCase"],[3,"openModal","afterClosed"],[1,"relative","border-b-2",3,"ngClass"],["type","radio","role","tab",1,"tab",3,"formControl","value","id"],[1,"absolute","top-0","left-0","right-0","cursor-pointer","sm:!hidden","flex","items-center","justify-center",3,"for"],["size","24",3,"name"]],template:function(o,s){1&o&&(t.TgZ(0,"div",0)(1,"form",1),t.YNc(2,He,5,12,"div",2),t.qZA(),t.TgZ(3,"div",3),t._uU(4),t.ALo(5,"translate"),t.qZA(),t.TgZ(6,"div",4),t.YNc(7,Be,1,1,"app-ui-settings",5),t.YNc(8,Ve,1,1,"app-user-saved-settings",5),t.YNc(9,$e,1,1,"app-broadcast-settings",5),t.YNc(10,je,1,1,"app-obs-studio-settings",5),t.YNc(11,Ke,1,1,"app-transcription-settings",5),t.YNc(12,We,1,1,"app-recognition-engine",5),t.qZA()(),t.TgZ(13,"a
1pp-unsaved-changes-dialog",6),t.NdJ("afterClosed",function(g){return s.modalClosed(g)}),t.qZA()),2&o&&(t.xp6(2),t.Q6J("ngForOf",s.tabNames),t.xp6(2),t.hij(" ",t.lcZ(5,10,"SETTINGS.TABS."+s.tabNames[s.tabIndex()])," "),t.xp6(2),t.Q6J("ngSwitch",s.tabNames[s.tabIndex()]),t.xp6(1),t.Q6J("ngSwitchCase","appearance"),t.xp6(1),t.Q6J("ngSwitchCase","sync"),t.xp6(1),t.Q6J("ngSwitchCase","sharing"),t.xp6(1),t.Q6J("ngSwitchCase","obs"),t.xp6(1),t.Q6J("ngSwitchCase","transcription"),t.xp6(1),t.Q6J("ngSwitchCase","engine"),t.xp6(1),t.Q6J("openModal",s.showUnsavedChangesModal))},dependencies:[p.mk,p.sg,p.RF,p.n9,i._Y,i.Fj,i._,i.JJ,i.JL,i.oH,J,A.Fv,bt,Qt,pe,xe,Ie,Pe,u.X$],styles:["@media screen and (max-width: 640px){form[_ngcontent-%COMP%] > .relative[_ngcontent-%COMP%] input.tab[_ngcontent-%COMP%]:after{content:none}}"],data:{animation:[(0,v.QQ)(),(0,v.QP)(),(0,v.BX)(),(0,v.SE)()]}})}return e})()}];var tn=l(5230);let en=(()=>{class e{static#t=this.\u0275fac=function(o){return new(o||e)};static#e=this.\u0275mod=t.oAB({type:e});static#n=this.\u0275inj=t.cJS({imports:[p.ez,z.e,i.UX,T.Bz.forChild(Xe),P.sQ.forFeature([B.t,V.x]),u.aw.forChild({extend:!0}),J,U,I.$L,A.sU.withIcons({...H}),G.Iq,tn.N]})}return e})()}}]);
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.