diff --git a/126.5309b7ca3ee5a204.js b/126.d2192d60c04723cb.js
similarity index 66%
rename from 126.5309b7ca3ee5a204.js
rename to 126.d2192d60c04723cb.js
index 34144cf..feda695 100644
--- a/126.5309b7ca3ee5a204.js
+++ b/126.d2192d60c04723cb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkangor=self.webpackChunkangor||[]).push([[126],{6126:(Ee,F,d)=>{d.r(F),d.d(F,{default:()=>Ce});var p=d(4460),u=d(9471),g=d(3904),y=d(5785),Y=d(8447),D=d(5424),a=d(936),h=d(2902),m=d(6071),f=d(6389),I=d(8559),B=d(1349),e=d(3107),A=d(5467);const V=["input"],X=["formField"],O=["*"];class C{source;value;constructor(l,t){this.source=l,this.value=t}}const E=new e.nKC("MatRadioGroup"),K=new e.nKC("mat-radio-default-options",{providedIn:"root",factory:function W(){return{color:"accent",disabledInteractive:!1}}});let j=(()=>{class r{_elementRef=(0,e.WQX)(e.aKT);_changeDetector=(0,e.WQX)(e.gRc);_focusMonitor=(0,e.WQX)(I.FN);_radioDispatcher=(0,e.WQX)(B.zP);_defaultOptions=(0,e.WQX)(K,{optional:!0});_ngZone=(0,e.WQX)(e.SKi);_uniqueId=(0,e.WQX)(I.g7).getId("mat-radio-");id=this._uniqueId;name;ariaLabel;ariaLabelledby;ariaDescribedby;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(t){this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}_labelPosition;get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(t)}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=t}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._defaultOptions&&this._defaultOptions.color||"accent"}set color(t){this._color=t}_color;get disabledInteractive(){return this._disabledInteractive||null!==this.radioGroup&&this.radioGroup.disabledInteractive}set disabledInteractive(t){this._disabledInteractive=t}_disabledInteractive;change=new e.bkB;radioGroup;get inputId(){return`${this.id||this._uniqueId}-input`}_checked=!1;_disabled;_required;_value=null;_removeUniqueSelectionListener=()=>{};_previousTabIndex;_inputElement;_rippleTrigger;_noopAnimations;_injector=(0,e.WQX)(e.zZn);constructor(){(0,e.WQX)(A.l).load(h.Ah);const t=(0,e.WQX)(E,{optional:!0}),i=(0,e.WQX)(e.bc$,{optional:!0}),n=(0,e.WQX)(new e.ES_("tabindex"),{optional:!0});this.radioGroup=t,this._noopAnimations="NoopAnimations"===i,this._disabledInteractive=this._defaultOptions?.disabledInteractive??!1,n&&(this.tabIndex=(0,e.Udg)(n,0))}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name),this._removeUniqueSelectionListener=this._radioDispatcher.listen((t,i)=>{t!==this.id&&i===this.name&&(this.checked=!1)})}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()}),this._ngZone.runOutsideAngular(()=>{this._inputElement.nativeElement.addEventListener("click",this._onInputClick)})}ngOnDestroy(){this._inputElement?.nativeElement.removeEventListener("click",this._onInputClick),this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new C(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_onTouchTargetClick(t){this._onInputInteraction(t),(!this.disabled||this.disabledInteractive)&&this._inputElement?.nativeElement.focus()}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}_onInputClick=t=>{this.disabled&&this.disabledInteractive&&t.preventDefault()};_updateTabIndex(){const t=this.radioGroup;let i;if(i=t&&t.selected&&!this.disabled?t.selected===this?this.tabIndex:-1:this.tabIndex,i!==this._previousTabIndex){const n=this._inputElement?.nativeElement;n&&(n.setAttribute("tabindex",i+""),this._previousTabIndex=i,(0,e.mal)(()=>{queueMicrotask(()=>{t&&t.selected&&t.selected!==this&&document.activeElement===n&&(t.selected?._inputElement.nativeElement.focus(),document.activeElement===n&&this._inputElement.nativeElement.blur())})},{injector:this._injector}))}}static \u0275fac=function(i){return new(i||r)};static \u0275cmp=e.VBU({type:r,selectors:[["mat-radio-button"]],viewQuery:function(i,n){if(1&i&&(e.GBs(V,5),e.GBs(X,7,e.aKT)),2&i){let o;e.mGM(o=e.lsd())&&(n._inputElement=o.first),e.mGM(o=e.lsd())&&(n._rippleTrigger=o.first)}},hostAttrs:[1,"mat-mdc-radio-button"],hostVars:19,hostBindings:function(i,n){1&i&&e.bIt("focus",function(){return n._inputElement.nativeElement.focus()}),2&i&&(e.BMQ("id",n.id)("tabindex",null)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),e.AVh("mat-primary","primary"===n.color)("mat-accent","accent"===n.color)("mat-warn","warn"===n.color)("mat-mdc-radio-checked",n.checked)("mat-mdc-radio-disabled",n.disabled)("mat-mdc-radio-disabled-interactive",n.disabledInteractive)("_mat-animation-noopable",n._noopAnimations))},inputs:{id:"id",name:"name",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],disableRipple:[2,"disableRipple","disableRipple",e.L39],tabIndex:[2,"tabIndex","tabIndex",t=>null==t?0:(0,e.Udg)(t)],checked:[2,"checked","checked",e.L39],value:"value",labelPosition:"labelPosition",disabled:[2,"disabled","disabled",e.L39],required:[2,"required","required",e.L39],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",e.L39]},outputs:{change:"change"},exportAs:["matRadioButton"],features:[e.GFd],ngContentSelectors:O,decls:13,vars:17,consts:[["formField",""],["input",""],["mat-internal-form-field","",3,"labelPosition"],[1,"mdc-radio"],[1,"mat-mdc-radio-touch-target",3,"click"],["type","radio",1,"mdc-radio__native-control",3,"change","id","checked","disabled","required"],[1,"mdc-radio__background"],[1,"mdc-radio__outer-circle"],[1,"mdc-radio__inner-circle"],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mdc-label",3,"for"]],template:function(i,n){if(1&i){const o=e.RV6();e.NAR(),e.j41(0,"div",2,0)(2,"div",3)(3,"div",4),e.bIt("click",function(c){return e.eBV(o),e.Njj(n._onTouchTargetClick(c))}),e.k0s(),e.j41(4,"input",5,1),e.bIt("change",function(c){return e.eBV(o),e.Njj(n._onInputInteraction(c))}),e.k0s(),e.j41(6,"div",6),e.nrm(7,"div",7)(8,"div",8),e.k0s(),e.j41(9,"div",9),e.nrm(10,"div",10),e.k0s()(),e.j41(11,"label",11),e.SdG(12),e.k0s()()}2&i&&(e.Y8G("labelPosition",n.labelPosition),e.R7$(2),e.AVh("mdc-radio--disabled",n.disabled),e.R7$(2),e.Y8G("id",n.inputId)("checked",n.checked)("disabled",n.disabled&&!n.disabledInteractive)("required",n.required),e.BMQ("name",n.name)("value",n.value)("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby)("aria-describedby",n.ariaDescribedby)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),e.R7$(5),e.Y8G("matRippleTrigger",n._rippleTrigger.nativeElement)("matRippleDisabled",n._isRippleDisabled())("matRippleCentered",!0),e.R7$(2),e.Y8G("for",n.inputId))},dependencies:[h.r6,h.tO],styles:['.mat-mdc-radio-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background::before{opacity:.04;transform:scale(1)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled])~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-hover-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-hover-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-pressed-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-pressed-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-radio-button .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px);top:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-selected-focus-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled{pointer-events:auto}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-radio-button .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.mat-mdc-radio-checked .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-checked .mdc-radio__background::before{background-color:var(--mat-radio-checked-ripple-color, var(--mat-sys-primary))}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mat-internal-form-field{color:var(--mat-radio-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-radio-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-radio-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-radio-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-radio-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-radio-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-radio-button .mdc-radio--disabled+label{color:var(--mat-radio-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-radio-button .mat-radio-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:50%}.mat-mdc-radio-button .mat-radio-ripple .mat-ripple-element{opacity:.14}.mat-mdc-radio-button .mat-radio-ripple::before{border-radius:50%}.mat-mdc-radio-button .mdc-radio .mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.cdk-focused .mat-focus-indicator::before{content:""}.mat-mdc-radio-disabled{cursor:default;pointer-events:none}.mat-mdc-radio-disabled.mat-mdc-radio-disabled-interactive{pointer-events:auto}.mat-mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:48px;width:48px;transform:translate(-50%, -50%);display:var(--mat-radio-touch-target-display, block)}[dir=rtl] .mat-mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}'],encapsulation:2,changeDetection:0})}return r})(),G=(()=>{class r{static \u0275fac=function(i){return new(i||r)};static \u0275mod=e.$C({type:r});static \u0275inj=e.G2t({imports:[h.yE,h.pZ,j,h.yE]})}return r})();var b=d(4375),T=d(1128);function J(r,l){1&r&&e.nrm(0,"mat-icon",22),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function H(r,l){1&r&&e.nrm(0,"mat-icon",21),2&r&&e.Y8G("svgIcon","heroicons_outline:check-circle")}function q(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),e.EFF(4),e.k0s(),e.j41(5,"div",17),e.EFF(6),e.k0s()()(),e.j41(7,"div",18)(8,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.setPrimaryIndexer("mainnet",n))}),e.DNE(9,J,1,1,"mat-icon",20)(10,H,1,1,"ng-template",null,0,e.C5r),e.k0s(),e.j41(12,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeIndexer("mainnet",n))}),e.nrm(13,"mat-icon",21),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.sdS(11);e.R7$(4),e.JRh(t.url),e.R7$(2),e.SpI(" Primary: ",t.primary?"Yes":"No"," "),e.R7$(3),e.Y8G("ngIf",t.primary)("ngIfElse",i),e.R7$(4),e.Y8G("svgIcon","heroicons_outline:trash")}}function Z(r,l){1&r&&e.nrm(0,"mat-icon",22),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function ee(r,l){1&r&&e.nrm(0,"mat-icon",21),2&r&&e.Y8G("svgIcon","heroicons_outline:check-circle")}function te(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),e.EFF(4),e.k0s(),e.j41(5,"div",17),e.EFF(6),e.k0s()()(),e.j41(7,"div",18)(8,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.setPrimaryIndexer("testnet",n))}),e.DNE(9,Z,1,1,"mat-icon",20)(10,ee,1,1,"ng-template",null,0,e.C5r),e.k0s(),e.j41(12,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeIndexer("testnet",n))}),e.nrm(13,"mat-icon",21),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.sdS(11);e.R7$(4),e.JRh(t.url),e.R7$(2),e.SpI(" Primary: ",t.primary?"Yes":"No"," "),e.R7$(3),e.Y8G("ngIf",t.primary)("ngIfElse",i),e.R7$(4),e.Y8G("svgIcon","heroicons_outline:trash")}}let ie=(()=>{class r{constructor(t){this._indexerService=t,this.mainnetIndexers=[],this.testnetIndexers=[],this.newMainnetIndexerUrl="",this.newTestnetIndexerUrl=""}ngOnInit(){this.loadIndexers()}loadIndexers(){this.mainnetIndexers=this._indexerService.getIndexers("mainnet").map(t=>({url:t,primary:t===this._indexerService.getPrimaryIndexer("mainnet")})),this.testnetIndexers=this._indexerService.getIndexers("testnet").map(t=>({url:t,primary:t===this._indexerService.getPrimaryIndexer("testnet")})),console.log("Mainnet Indexers:",this.mainnetIndexers),console.log("Testnet Indexers:",this.testnetIndexers)}addIndexer(t){"mainnet"===t&&this.newMainnetIndexerUrl?(this._indexerService.addIndexer(this.newMainnetIndexerUrl,"mainnet"),this.loadIndexers(),this.newMainnetIndexerUrl=""):"testnet"===t&&this.newTestnetIndexerUrl&&(this._indexerService.addIndexer(this.newTestnetIndexerUrl,"testnet"),this.loadIndexers(),this.newTestnetIndexerUrl="")}removeIndexer(t,i){this._indexerService.removeIndexer(i.url,t),this.loadIndexers()}setPrimaryIndexer(t,i){this._indexerService.setPrimaryIndexer(i.url,t),this.loadIndexers()}trackByFn(t,i){return i.url}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(T.F))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-indexer"]],decls:27,vars:12,consts:[["nonPrimaryIcon",""],[1,"w-full","max-w-3xl"],[1,"mb-8","w-full"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","","placeholder","Mainnet Indexer URL",3,"ngModelChange","ngModel"],["mat-icon-button","","matSuffix","",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8"],[1,"flex","flex-col","divide-y","border-b","border-t"],["class","flex flex-col py-6 sm:flex-row sm:items-center",4,"ngFor","ngForOf","ngForTrackBy"],[1,"mb-8","mt-10","w-full"],["matInput","","placeholder","Testnet Indexer URL",3,"ngModelChange","ngModel"],[1,"flex","flex-col","py-6","sm:flex-row","sm:items-center"],[1,"flex","items-center"],[1,"ml-4"],[1,"font-medium"],[1,"text-sm","text-gray-500"],[1,"mt-4","flex","items-center","sm:ml-auto","sm:mt-0"],["mat-icon-button","",3,"click"],["class","text-primary",3,"svgIcon",4,"ngIf","ngIfElse"],[1,"text-hint",3,"svgIcon"],[1,"text-primary",3,"svgIcon"]],template:function(i,n){1&i&&(e.j41(0,"div",1)(1,"div",2)(2,"mat-form-field",3)(3,"mat-label"),e.EFF(4,"Add Mainnet Indexer"),e.k0s(),e.nrm(5,"mat-icon",4),e.j41(6,"input",5),e.mxI("ngModelChange",function(s){return e.DH7(n.newMainnetIndexerUrl,s)||(n.newMainnetIndexerUrl=s),s}),e.k0s(),e.j41(7,"button",6),e.bIt("click",function(){return n.addIndexer("mainnet")}),e.nrm(8,"mat-icon",7),e.k0s()()(),e.j41(9,"div",8)(10,"h3"),e.EFF(11,"Mainnet Indexers"),e.k0s(),e.j41(12,"div",9),e.DNE(13,q,14,5,"div",10),e.k0s()(),e.j41(14,"div",11)(15,"mat-form-field",3)(16,"mat-label"),e.EFF(17,"Add Testnet Indexer"),e.k0s(),e.nrm(18,"mat-icon",4),e.j41(19,"input",12),e.mxI("ngModelChange",function(s){return e.DH7(n.newTestnetIndexerUrl,s)||(n.newTestnetIndexerUrl=s),s}),e.k0s(),e.j41(20,"button",6),e.bIt("click",function(){return n.addIndexer("testnet")}),e.nrm(21,"mat-icon",7),e.k0s()()(),e.j41(22,"div",8)(23,"h3"),e.EFF(24,"Testnet Indexers"),e.k0s(),e.j41(25,"div",9),e.DNE(26,te,14,5,"div",10),e.k0s()()()),2&i&&(e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newMainnetIndexerUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(5),e.Y8G("ngForOf",n.mainnetIndexers)("ngForTrackBy",n.trackByFn),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newTestnetIndexerUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(5),e.Y8G("ngForOf",n.testnetIndexers)("ngForTrackBy",n.trackByFn))},dependencies:[a.YN,a.me,a.BC,a.vS,a.X1,G,g.m_,g.An,m.RG,m.rl,m.nJ,m.JW,m.yw,f.fS,f.fg,b.Ve,h.Sy,u.Hl,u.iY,p.MD,p.Sq,p.bT],encapsulation:2,changeDetection:0})}}return r})();const N=r=>({"ring ring-inset ring-primary":r});function ne(r,l){1&r&&e.nrm(0,"mat-icon",12),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function re(r,l){1&r&&e.nrm(0,"mat-icon",12),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}let oe=(()=>{class r{constructor(t,i){this._fb=t,this._indexerService=i,this.selectedNetwork="testnet"}ngOnInit(){this.networkForm=this._fb.group({network:[this._indexerService.getNetwork()]}),this.selectedNetwork=this._indexerService.getNetwork()}setNetwork(t){this.selectedNetwork=t,this._indexerService.setNetwork(this.selectedNetwork)}save(){this._indexerService.setNetwork(this.selectedNetwork)}cancel(){this.selectedNetwork=this._indexerService.getNetwork()}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(a.ok),e.rXU(T.F))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-network"]],decls:24,vars:8,consts:[[1,"w-full","max-w-3xl"],[1,"text-xl"],[1,"text-secondary"],[1,"mt-8","grid","w-full","max-w-3xl","gap-6","sm:grid-cols-2"],[1,"bg-card","relative","flex","cursor-pointer","flex-col","items-start","justify-start","rounded-md","p-6","shadow",3,"click","ngClass"],["class","absolute right-0 top-0 mr-3 mt-3 text-primary icon-size-7",3,"svgIcon",4,"ngIf"],[1,"font-semibold"],[1,"text-secondary","mt-1","whitespace-normal"],[1,"mb-10","mt-11","w-full","max-w-3xl","border-t"],[1,"flex","w-full","max-w-3xl","items-center","justify-end"],["mat-stroked-button","","type","button",3,"click"],["mat-flat-button","","type","button","color","primary",1,"ml-4",3,"click"],[1,"absolute","right-0","top-0","mr-3","mt-3","text-primary","icon-size-7",3,"svgIcon"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"div",1),e.EFF(2,"Change your network"),e.k0s(),e.j41(3,"div",2),e.EFF(4," Switch between Mainnet and Testnet to change your network settings. "),e.k0s()(),e.j41(5,"div",3)(6,"div",4),e.bIt("click",function(){return n.setNetwork("mainnet")}),e.DNE(7,ne,1,1,"mat-icon",5),e.j41(8,"div",6),e.EFF(9,"Mainnet"),e.k0s(),e.j41(10,"div",7),e.EFF(11," The live Bitcoin network. "),e.k0s()(),e.j41(12,"div",4),e.bIt("click",function(){return n.setNetwork("testnet")}),e.DNE(13,re,1,1,"mat-icon",5),e.j41(14,"div",6),e.EFF(15,"Testnet"),e.k0s(),e.j41(16,"div",7),e.EFF(17," The Bitcoin testing network. "),e.k0s()()(),e.nrm(18,"div",8),e.j41(19,"div",9)(20,"button",10),e.bIt("click",function(){return n.cancel()}),e.EFF(21,"Cancel"),e.k0s(),e.j41(22,"button",11),e.bIt("click",function(){return n.save()}),e.EFF(23," Save "),e.k0s()()),2&i&&(e.R7$(6),e.Y8G("ngClass",e.eq3(4,N,"mainnet"===n.selectedNetwork)),e.R7$(),e.Y8G("ngIf","mainnet"===n.selectedNetwork),e.R7$(5),e.Y8G("ngClass",e.eq3(6,N,"testnet"===n.selectedNetwork)),e.R7$(),e.Y8G("ngIf","testnet"===n.selectedNetwork))},dependencies:[a.YN,a.X1,G,p.YU,g.m_,g.An,m.RG,f.fS,b.Ve,h.Sy,u.Hl,u.$z,p.MD,p.bT],encapsulation:2,changeDetection:0})}}return r})();var k=d(1371);let ae=(()=>{class r{constructor(t){this._formBuilder=t,this.notificationKinds={mention:1,privateMessage:4,zap:9735,follower:3}}ngOnInit(){const t=this.loadNotificationSettings();this.notificationsForm=this._formBuilder.group({mention:[t.includes(this.notificationKinds.mention)],privateMessage:[t.includes(this.notificationKinds.privateMessage)],zap:[t.includes(this.notificationKinds.zap)],follower:[t.includes(this.notificationKinds.follower)]})}saveSettings(){const t=this.notificationsForm.value,i=[];t.mention&&i.push(this.notificationKinds.mention),t.privateMessage&&i.push(this.notificationKinds.privateMessage),t.zap&&i.push(this.notificationKinds.zap),t.follower&&i.push(this.notificationKinds.follower),this.saveNotificationSettings(i),console.log("Notification settings saved:",i)}saveNotificationSettings(t){localStorage.setItem("notificationSettings",JSON.stringify(t))}loadNotificationSettings(){const t=localStorage.getItem("notificationSettings");return t?JSON.parse(t):[1,3,4,7,9735]}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(a.ze))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-notifications"]],decls:43,vars:10,consts:[["mentionToggle",""],["privateMessageToggle",""],["zapToggle",""],["followerToggle",""],[1,"w-full","max-w-3xl"],[3,"formGroup"],[1,"w-full","text-xl"],[1,"mt-8","grid","w-full","grid-cols-1","gap-6"],[1,"flex","items-center","justify-between"],[1,"flex-auto","cursor-pointer",3,"click"],[1,"font-medium","leading-6"],[1,"text-secondary","text-md"],[1,"ml-2",3,"color","formControlName"],[1,"my-10","border-t"],[1,"flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","button",1,"ml-4",3,"click","color"]],template:function(i,n){if(1&i){const o=e.RV6();e.j41(0,"div",4)(1,"form",5)(2,"div",6),e.EFF(3,"Notification Settings"),e.k0s(),e.j41(4,"div",7)(5,"div",8)(6,"div",9),e.bIt("click",function(){e.eBV(o);const c=e.sdS(12);return e.Njj(c.toggle())}),e.j41(7,"div",10),e.EFF(8,"Mention"),e.k0s(),e.j41(9,"div",11),e.EFF(10," Receive notifications when someone mentions you. "),e.k0s()(),e.nrm(11,"mat-slide-toggle",12,0),e.k0s(),e.j41(13,"div",8)(14,"div",9),e.bIt("click",function(){e.eBV(o);const c=e.sdS(20);return e.Njj(c.toggle())}),e.j41(15,"div",10),e.EFF(16,"Private Message"),e.k0s(),e.j41(17,"div",11),e.EFF(18," Receive notifications for private messages. "),e.k0s()(),e.nrm(19,"mat-slide-toggle",12,1),e.k0s(),e.j41(21,"div",8)(22,"div",9),e.bIt("click",function(){e.eBV(o);const c=e.sdS(28);return e.Njj(c.toggle())}),e.j41(23,"div",10),e.EFF(24,"Zap"),e.k0s(),e.j41(25,"div",11),e.EFF(26," Receive notifications when you get a zap. "),e.k0s()(),e.nrm(27,"mat-slide-toggle",12,2),e.k0s(),e.j41(29,"div",8)(30,"div",9),e.bIt("click",function(){e.eBV(o);const c=e.sdS(36);return e.Njj(c.toggle())}),e.j41(31,"div",10),e.EFF(32,"New Follower"),e.k0s(),e.j41(33,"div",11),e.EFF(34," Receive notifications when someone follows you. "),e.k0s()(),e.nrm(35,"mat-slide-toggle",12,3),e.k0s()(),e.nrm(37,"div",13),e.j41(38,"div",14)(39,"button",15),e.EFF(40,"Cancel"),e.k0s(),e.j41(41,"button",16),e.bIt("click",function(){return e.eBV(o),e.Njj(n.saveSettings())}),e.EFF(42," Save "),e.k0s()()()()}2&i&&(e.R7$(),e.Y8G("formGroup",n.notificationsForm),e.R7$(10),e.Y8G("color","primary")("formControlName","mention"),e.R7$(8),e.Y8G("color","primary")("formControlName","privateMessage"),e.R7$(8),e.Y8G("color","primary")("formControlName","zap"),e.R7$(8),e.Y8G("color","primary")("formControlName","follower"),e.R7$(6),e.Y8G("color","primary"))},dependencies:[a.YN,a.qT,a.BC,a.cb,a.X1,a.j4,a.JD,k.mV,k.sG,u.Hl,u.$z],encapsulation:2,changeDetection:0})}}return r})();var v=d(3014),w=d(708),P=d(8378),$=d(2226),M=d(5492),x=d(8078),R=d(3125),S=d(8716),U=d(7544),z=d(3149);let se=(()=>{class r{constructor(t,i,n,o,s,c,_){this._fb=t,this._signerService=i,this._relayService=n,this._router=o,this._dialog=s,this._storageService=c,this._changeDetectorRef=_}ngOnInit(){this.profileForm=this._fb.group({name:["",a.k0.required],username:[""],displayName:[""],website:[""],about:[""],picture:[""],banner:[""],lud06:[""],lud16:["",a.k0.pattern("^[a-z0-9._-]+@[a-z0-9.-]+.[a-z]{2,4}$")],nip05:["",a.k0.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$")]}),this.setValues()}setValues(){var t=this;return(0,v.A)(function*(){try{const i=yield t._signerService.getPublicKey(),n=yield t._storageService.getProfile(i);t.user=n,t.profileForm.setValue({name:t.user?.name||"",username:t.user?.username||"",displayName:t.user?.displayName||"",website:t.user?.website||"",about:t.user?.about||"",picture:t.user?.picture||"",banner:t.user?.banner||"",lud06:t.user?.lud06||"",lud16:t.user?.lud16||"",nip05:t.user?.nip05||""}),t._changeDetectorRef.detectChanges()}catch(i){console.error("Error fetching profile:",i)}})()}onSubmit(){this.profileForm.valid?this.submit():console.error("Form is invalid")}submit(){var t=this;return(0,v.A)(function*(){if(t.content=JSON.stringify(t.profileForm.value),t._signerService.isUsingSecretKey()){const n=t._signerService.getPassword();if(n)try{const o=yield t._signerService.getSecretKey(n);t.signEvent(o)}catch(o){console.error(o)}else t._dialog.open($.b,{width:"300px",disableClose:!0}).afterClosed().subscribe(function(){var s=(0,v.A)(function*(c){if(c&&c.password)try{const _=yield t._signerService.getSecretKey(c.password);t.signEvent(_),0!=c.duration&&t._signerService.savePassword(c.password,c.duration)}catch(_){console.error(_)}else console.error("Password not provided")});return function(c){return s.apply(this,arguments)}}())}else if(t._signerService.isUsingExtension()){const n=t._signerService.getUnsignedEvent(0,[],t.content),o=yield t._signerService.signEventWithExtension(n);t.publishSignedEvent(o)}})()}signEvent(t){var i=this;return(0,v.A)(function*(){const n=i._signerService.getUnsignedEvent(0,[],i.content),o=(0,P.aT)(t),s=(0,M.pC)(n,o);i.publishSignedEvent(s)})()}publishSignedEvent(t){this._relayService.publishEventToWriteRelays(t),console.log("Profile Updated!"),this._router.navigate(["/profile"])}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(a.ok),e.rXU(x.A),e.rXU(R.b),e.rXU(S.Ix),e.rXU(U.bZ),e.rXU(z.n),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-profile"]],decls:70,vars:23,consts:[[1,"w-full","max-w-3xl"],[3,"ngSubmit","formGroup"],[1,"w-full"],[1,"text-secondary"],[1,"mt-8","grid","w-full","gap-6","sm:grid-cols-4"],[1,"sm:col-span-4"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","",3,"formControlName"],["matInput","","cdkTextareaAutosize","",3,"formControlName","cdkAutosizeMinRows"],[1,"text-hint","mt-1","text-md"],[1,"mt-8","flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","submit","color","primary",1,"ml-4"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"form",1),e.bIt("ngSubmit",function(){return n.onSubmit()}),e.j41(2,"div",2)(3,"div",3),e.EFF(4," Following information is publicly displayed, be careful! "),e.k0s()(),e.j41(5,"div",4)(6,"div",5)(7,"mat-form-field",6)(8,"mat-label"),e.EFF(9,"Name"),e.k0s(),e.nrm(10,"mat-icon",7)(11,"input",8),e.k0s()(),e.j41(12,"div",5)(13,"mat-form-field",6)(14,"mat-label"),e.EFF(15,"Username"),e.k0s(),e.nrm(16,"input",8),e.k0s()(),e.j41(17,"div",5)(18,"mat-form-field",6)(19,"mat-label"),e.EFF(20,"Display Name"),e.k0s(),e.nrm(21,"input",8),e.k0s()(),e.j41(22,"div",5)(23,"mat-form-field",6)(24,"mat-label"),e.EFF(25,"Website"),e.k0s(),e.nrm(26,"input",8),e.k0s()(),e.j41(27,"div",5)(28,"mat-form-field",6)(29,"mat-label"),e.EFF(30,"About"),e.k0s(),e.nrm(31,"textarea",9),e.k0s(),e.j41(32,"div",10),e.EFF(33," Brief description for your profile. Basic HTML and Emoji are allowed. "),e.k0s()(),e.j41(34,"div",5)(35,"mat-form-field",6)(36,"mat-label"),e.EFF(37,"Profile Picture URL"),e.k0s(),e.nrm(38,"input",8),e.k0s()(),e.j41(39,"div",5)(40,"mat-form-field",6)(41,"mat-label"),e.EFF(42,"Banner URL"),e.k0s(),e.nrm(43,"input",8),e.k0s()(),e.j41(44,"div",5)(45,"mat-form-field",6)(46,"mat-label"),e.EFF(47,"LUD06"),e.k0s(),e.nrm(48,"input",8),e.j41(49,"mat-hint"),e.EFF(50," LUD06 is an LNURL (Lightning Network URL) for receiving Bitcoin payments over the Lightning Network. "),e.k0s()()(),e.j41(51,"div",5)(52,"mat-form-field",6)(53,"mat-label"),e.EFF(54,"LUD16"),e.k0s(),e.nrm(55,"input",8),e.j41(56,"mat-hint"),e.EFF(57," LUD16 is a Lightning address, similar to an email format, used to receive Bitcoin payments via the Lightning Network. "),e.k0s()()(),e.j41(58,"div",5)(59,"mat-form-field",6)(60,"mat-label"),e.EFF(61,"NIP05"),e.k0s(),e.nrm(62,"input",8),e.j41(63,"mat-hint"),e.EFF(64," NIP05 provides a user-friendly identifier for Nostr, similar to an email address, to help identify and verify your public identity. "),e.k0s()()()(),e.j41(65,"div",11)(66,"button",12),e.EFF(67,"Cancel"),e.k0s(),e.j41(68,"button",13),e.EFF(69," Save "),e.k0s()()()()),2&i&&(e.R7$(),e.Y8G("formGroup",n.profileForm),e.R7$(6),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:user"),e.R7$(),e.Y8G("formControlName","name"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","username"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","displayName"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","website"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","about")("cdkAutosizeMinRows",5),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","picture"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","banner"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","lud06"),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","lud16"),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","nip05"))},dependencies:[a.YN,a.qT,a.me,a.BC,a.cb,a.X1,a.j4,a.JD,m.RG,m.rl,m.nJ,m.MV,m.JW,g.m_,g.An,f.fS,f.fg,w.xb,w.EE,b.Ve,h.Sy,u.Hl,u.$z,p.MD],encapsulation:2,changeDetection:0})}}return r})();var ce=d(5710),de=d(6388);function le(r,l){if(1&r&&(e.j41(0,"mat-option",24)(1,"div",14),e.EFF(2),e.k0s()()),2&r){const t=l.$implicit;e.Y8G("value",t.value),e.R7$(2),e.JRh(t.label)}}function me(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",9)(1,"div",10)(2,"div",11),e.nrm(3,"img",12),e.k0s(),e.j41(4,"div",13)(5,"div",14),e.EFF(6),e.k0s(),e.j41(7,"div",15),e.EFF(8),e.k0s()()(),e.j41(9,"div",16)(10,"mat-form-field",17)(11,"mat-select",18),e.mxI("ngModelChange",function(n){const o=e.eBV(t).$implicit;return e.DH7(o.accessType,n)||(o.accessType=n),e.Njj(n)}),e.bIt("selectionChange",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.updateRelayAccess(n))}),e.j41(12,"mat-select-trigger",19)(13,"span",20),e.EFF(14),e.nI1(15,"titlecase"),e.k0s()(),e.DNE(16,le,3,2,"mat-option",21),e.k0s()(),e.j41(17,"button",22),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeRelay(n.url))}),e.nrm(18,"mat-icon",23),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.XpG();e.R7$(3),e.Y8G("src",i.getSafeUrl(i.relayFavIcon(t.url)),e.B4B),e.R7$(3),e.JRh(t.url),e.R7$(),e.Y8G("ngClass",i.getRelayStatusClass(t)),e.R7$(),e.SpI(" Status: ",i.getRelayStatus(t)," "),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(),e.R50("ngModel",t.accessType),e.R7$(3),e.JRh(e.bMT(15,9,t.accessType)),e.R7$(2),e.Y8G("ngForOf",i.accessOptions),e.R7$(2),e.Y8G("svgIcon","heroicons_outline:trash")}}let ue=(()=>{class r{constructor(t,i,n,o){this._relayService=t,this._changeDetectorRef=i,this._zone=n,this._sanitizer=o,this.relays=[],this.accessOptions=[],this.newRelayUrl="",this.subscriptions=new ce.yU}ngOnInit(){this.subscriptions.add(this._relayService.getRelays().subscribe(t=>{this._zone.run(()=>{this.relays=t,this._changeDetectorRef.markForCheck()})})),this.accessOptions=[{label:"Read",value:"read",description:"Reads only, does not write, unless explicitly specified on publish action."},{label:"Write",value:"write",description:"Writes your events, profile, and other metadata updates. Connects on-demand."},{label:"Read and Write",value:"read-write",description:"Reads and writes events, profiles, and other metadata. Always connected."}]}ngOnDestroy(){this.subscriptions.unsubscribe()}addRelay(){this.newRelayUrl&&(this._relayService.addRelay(this.newRelayUrl),this.newRelayUrl="")}updateRelayAccess(t){console.log("Relay Access Updated:",t.url,t.accessType),this._relayService.updateRelayAccessType(t.url,t.accessType)}removeRelay(t){this._relayService.removeRelay(t)}trackByFn(t,i){return i.url||t}getRelayStatus(t){return t.connected?"Connected":"Disconnected"}getRelayStatusClass(t){return t.connected?"text-green-700":"text-red-700"}relayFavIcon(t){return t.replace("wss://","https://").replace("ws://","https://")+"/favicon.ico"}getSafeUrl(t){return this._sanitizer.bypassSecurityTrustUrl(t)}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(R.b),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(de.up))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-relay"]],decls:11,vars:6,consts:[[1,"w-full","max-w-3xl"],[1,"w-full"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","","placeholder","Relay URL",3,"ngModelChange","ngModel"],["mat-icon-button","","matSuffix","",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8","flex","flex-col","divide-y","border-b","border-t"],["class","flex flex-col py-6 sm:flex-row sm:items-center",4,"ngFor","ngForOf","ngForTrackBy"],[1,"flex","flex-col","py-6","sm:flex-row","sm:items-center"],[1,"flex","items-center"],[1,"flex","h-10","w-10","flex-0","items-center","justify-center","overflow-hidden","rounded-full"],["onerror","this.src='/images/avatars/avatar-placeholder.png'","alt","relay avatar",1,"h-full","w-full","object-cover",3,"src"],[1,"ml-4"],[1,"font-medium"],[1,"text-sm",3,"ngClass"],[1,"mt-4","flex","items-center","sm:ml-auto","sm:mt-0"],[1,"angor-mat-dense","w-50",3,"subscriptSizing"],[3,"ngModelChange","selectionChange","ngModel"],[1,"text-md"],[1,"ml-1","font-medium"],[3,"value",4,"ngFor","ngForOf"],["mat-icon-button","",3,"click"],[1,"text-hint",3,"svgIcon"],[3,"value"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"mat-form-field",2)(3,"mat-label"),e.EFF(4,"Add Relay"),e.k0s(),e.nrm(5,"mat-icon",3),e.j41(6,"input",4),e.mxI("ngModelChange",function(s){return e.DH7(n.newRelayUrl,s)||(n.newRelayUrl=s),s}),e.k0s(),e.j41(7,"button",5),e.bIt("click",function(){return n.addRelay()}),e.nrm(8,"mat-icon",6),e.k0s()()(),e.j41(9,"div",7),e.DNE(10,me,19,11,"div",8),e.k0s()()),2&i&&(e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newRelayUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(2),e.Y8G("ngForOf",n.relays)("ngForTrackBy",n.trackByFn))},dependencies:[m.RG,m.rl,m.nJ,m.JW,m.yw,g.m_,g.An,f.fS,f.fg,u.Hl,u.iY,b.Ve,b.VO,b.$2,h.wT,h.Sy,p.PV,p.MD,p.YU,p.Sq,a.YN,a.me,a.BC,a.vS],encapsulation:2,changeDetection:0})}}return r})(),pe=(()=>{class r{constructor(t,i){this._formBuilder=t,this._signerService=i}ngOnInit(){this.securityForm=this._formBuilder.group({currentPassword:["",a.k0.required],newPassword:["",[a.k0.required,a.k0.minLength(3)]],twoStep:[!0],askPasswordChange:[!1],savePassword:[!1]})}changePassword(){var t=this;return(0,v.A)(function*(){if(t.securityForm.invalid)return;const i=t.securityForm.get("currentPassword")?.value,n=t.securityForm.get("newPassword")?.value,o=t.securityForm.get("savePassword")?.value;try{const s=yield t._signerService.changePassword(i,n,o);alert(s?"Password successfully changed.":"Password change failed. Please check your credentials.")}catch(s){console.error("Error during password change:",s)}})()}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(a.ze),e.rXU(x.A))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-security"]],decls:43,vars:10,consts:[["savePasswordToggle",""],[1,"w-full","max-w-3xl"],[3,"formGroup"],[1,"w-full"],[1,"text-xl"],[1,"text-secondary"],[1,"mt-8","grid","w-full","gap-6","sm:grid-cols-4"],[1,"sm:col-span-4"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["type","password","matInput","","required","",3,"formControlName"],[1,"text-hint","mt-1","text-md"],[1,"my-10","border-t"],[1,"flex","items-center","justify-between","sm:col-span-4"],[1,"flex-auto","cursor-pointer",3,"click"],[1,"font-medium","leading-6"],[1,"text-secondary","text-md"],[1,"ml-4",3,"color","formControlName"],[1,"flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","button",1,"ml-4",3,"click","color"]],template:function(i,n){if(1&i){const o=e.RV6();e.j41(0,"div",1)(1,"form",2)(2,"div",3)(3,"div",4),e.EFF(4,"Change your password"),e.k0s(),e.j41(5,"div",5),e.EFF(6," You can only change your password twice within 24 hours! "),e.k0s()(),e.j41(7,"div",6)(8,"div",7)(9,"mat-form-field",8)(10,"mat-label"),e.EFF(11,"Current password"),e.k0s(),e.nrm(12,"mat-icon",9)(13,"input",10),e.k0s()(),e.j41(14,"div",7)(15,"mat-form-field",8)(16,"mat-label"),e.EFF(17,"New password"),e.k0s(),e.nrm(18,"mat-icon",9)(19,"input",10),e.k0s(),e.j41(20,"div",11),e.EFF(21,"Minimum 3 characters."),e.k0s()()(),e.nrm(22,"div",12),e.j41(23,"div",3)(24,"div",4),e.EFF(25,"Password preferences"),e.k0s(),e.j41(26,"div",5),e.EFF(27," Manage how your password is saved for future logins. "),e.k0s()(),e.j41(28,"div",6)(29,"div",13)(30,"div",14),e.bIt("click",function(){e.eBV(o);const c=e.sdS(36);return e.Njj(c.toggle())}),e.j41(31,"div",15),e.EFF(32," Save password for future decrypting sensitive information. "),e.k0s(),e.j41(33,"div",16),e.EFF(34," Enable this option to save your password locally for 60 minutes. "),e.k0s()(),e.nrm(35,"mat-slide-toggle",17,0),e.k0s()(),e.nrm(37,"div",12),e.j41(38,"div",18)(39,"button",19),e.EFF(40,"Cancel"),e.k0s(),e.j41(41,"button",20),e.bIt("click",function(){return e.eBV(o),e.Njj(n.changePassword())}),e.EFF(42," Save "),e.k0s()()()()}2&i&&(e.R7$(),e.Y8G("formGroup",n.securityForm),e.R7$(8),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:key"),e.R7$(),e.Y8G("formControlName","currentPassword"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:key"),e.R7$(),e.Y8G("formControlName","newPassword"),e.R7$(16),e.Y8G("color","primary")("formControlName","savePassword"),e.R7$(6),e.Y8G("color","primary"))},dependencies:[a.YN,a.qT,a.me,a.BC,a.cb,a.YS,a.X1,a.j4,a.JD,m.RG,m.rl,m.nJ,m.JW,g.m_,g.An,f.fS,f.fg,k.mV,k.sG,u.Hl,u.$z],encapsulation:2,changeDetection:0})}}return r})(),ge=(()=>{class r{constructor(t,i,n,o,s,c,_){this._fb=t,this._signerService=i,this._relayService=n,this._router=o,this._dialog=s,this._storageService=c,this._changeDetectorRef=_}ngOnInit(){this.profileForm=this._fb.group({name:["",a.k0.required],username:[""],displayName:[""],website:[""],about:[""],picture:[""],banner:[""],lud06:[""],lud16:["",a.k0.pattern("^[a-z0-9._-]+@[a-z0-9.-]+.[a-z]{2,4}$")],nip05:["",a.k0.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$")]}),this.setValues()}setValues(){var t=this;return(0,v.A)(function*(){try{const i=yield t._signerService.getPublicKey(),n=yield t._storageService.getProfile(i);t.user=n,t.profileForm.setValue({name:t.user?.name||"",username:t.user?.username||"",displayName:t.user?.displayName||"",website:t.user?.website||"",about:t.user?.about||"",picture:t.user?.picture||"",banner:t.user?.banner||"",lud06:t.user?.lud06||"",lud16:t.user?.lud16||"",nip05:t.user?.nip05||""}),t._changeDetectorRef.detectChanges()}catch(i){console.error("Error fetching profile:",i)}})()}onSubmit(){this.profileForm.valid?this.submit():console.error("Form is invalid")}submit(){var t=this;return(0,v.A)(function*(){if(t.content=JSON.stringify(t.profileForm.value),t._signerService.isUsingSecretKey()){const n=t._signerService.getPassword();if(n)try{const o=yield t._signerService.getSecretKey(n);t.signEvent(o)}catch(o){console.error(o)}else t._dialog.open($.b,{width:"300px",disableClose:!0}).afterClosed().subscribe(function(){var s=(0,v.A)(function*(c){if(c&&c.password)try{const _=yield t._signerService.getSecretKey(c.password);t.signEvent(_),0!=c.duration&&t._signerService.savePassword(c.password,c.duration)}catch(_){console.error(_)}else console.error("Password not provided")});return function(c){return s.apply(this,arguments)}}())}else if(t._signerService.isUsingExtension()){const n=t._signerService.getUnsignedEvent(0,[],t.content),o=yield t._signerService.signEventWithExtension(n);t.publishSignedEvent(o)}})()}signEvent(t){var i=this;return(0,v.A)(function*(){const n=i._signerService.getUnsignedEvent(0,[],i.content),o=(0,P.aT)(t),s=(0,M.pC)(n,o);i.publishSignedEvent(s)})()}publishSignedEvent(t){this._relayService.publishEventToWriteRelays(t),console.log("Profile Updated!"),this._router.navigate(["/profile"])}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(a.ok),e.rXU(x.A),e.rXU(R.b),e.rXU(S.Ix),e.rXU(U.bZ),e.rXU(z.n),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-advanced-profile"]],decls:10,vars:1,consts:[[1,"w-full","max-w-3xl"],[3,"ngSubmit","formGroup"],[1,"w-full"],[1,"text-secondary"],[1,"mt-8","flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","submit","color","primary",1,"ml-4"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"form",1),e.bIt("ngSubmit",function(){return n.onSubmit()}),e.j41(2,"div",2)(3,"div",3),e.EFF(4," Customize and enhance your profile with advanced modules and personalized settings. "),e.k0s()(),e.j41(5,"div",4)(6,"button",5),e.EFF(7,"Cancel"),e.k0s(),e.j41(8,"button",6),e.EFF(9," Save "),e.k0s()()()()),2&i&&(e.R7$(),e.Y8G("formGroup",n.profileForm))},dependencies:[a.YN,a.qT,a.cb,a.X1,a.j4,m.RG,g.m_,f.fS,w.EE,b.Ve,h.Sy,u.Hl,u.$z,p.MD],encapsulation:2,changeDetection:0})}}return r})();var he=d(2012);const _e=["drawer"],fe=(r,l)=>({"dark:hover:bg-hover hover:bg-gray-100":r,"bg-primary-50 dark:bg-hover":l}),ve=(r,l)=>({"text-hint":r,"text-primary dark:text-primary-500":l}),be=r=>({"text-primary dark:text-primary-500":r});function ye(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",17),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.goToPanel(n.id))}),e.nrm(1,"mat-icon",18),e.j41(2,"div",19)(3,"div",20),e.EFF(4),e.k0s(),e.j41(5,"div",21),e.EFF(6),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.XpG();e.Y8G("ngClass",e.l_i(6,fe,!i.selectedPanel||i.selectedPanel!==t.id,i.selectedPanel&&i.selectedPanel===t.id)),e.R7$(),e.Y8G("ngClass",e.l_i(9,ve,!i.selectedPanel||i.selectedPanel!==t.id,i.selectedPanel&&i.selectedPanel===t.id))("svgIcon",t.icon),e.R7$(2),e.Y8G("ngClass",e.eq3(12,be,i.selectedPanel&&i.selectedPanel===t.id)),e.R7$(),e.SpI(" ",t.title," "),e.R7$(2),e.SpI(" ",t.description," ")}}function ke(r,l){1&r&&e.nrm(0,"settings-relay")}function xe(r,l){1&r&&e.nrm(0,"settings-network")}function Se(r,l){1&r&&e.nrm(0,"settings-indexer")}function Ie(r,l){1&r&&e.nrm(0,"settings-profile")}function we(r,l){1&r&&e.nrm(0,"settings-advanced-profile")}function Re(r,l){1&r&&e.nrm(0,"settings-security")}function Fe(r,l){1&r&&e.nrm(0,"settings-notifications")}const Ce=[{path:"",component:(()=>{class r{selectPanel(t){this.selectedPanel=t,this._router.navigate(["settings",t],{replaceUrl:!0})}constructor(t,i,n,o,s){this._changeDetectorRef=t,this._angorMediaWatcherService=i,this._signerService=n,this._route=o,this._router=s,this.drawerMode="side",this.drawerOpened=!0,this.panels=[{id:"relay",icon:"heroicons_outline:server",title:"Relay",description:"Manage and configure your existing relays and update their access roles and permissions."},{id:"network",icon:"heroicons_outline:globe-alt",title:"Network",description:"Switch between mainnet and testnet for different Bitcoin network configurations."},{id:"indexer",icon:"heroicons_outline:chart-bar",title:"Indexer",description:"Add, remove, and manage your indexers, including setting the primary indexer."},{id:"profile",icon:"heroicons_outline:user",title:"Profile",description:"Update your personal profile, manage your account details, and modify your private information."},{id:"advanced-profile",icon:"heroicons_outline:check-badge",title:"Advanced Profile",description:"Manage and explore advanced settings of your profile, including privacy options, analytics, activity logs, and connected accounts."},{id:"notifications",icon:"heroicons_outline:bell",title:"Notifications",description:"Control when and how you\u2019ll be notified across various communication channels."},{id:"security",icon:"heroicons_outline:shield-check",title:"Password Management",description:"Manage your password and decryption settings, including saving passwords for future decrypting sensitive information."}],this.selectedPanel="relay",this._unsubscribeAll=new Y.B}ngOnInit(){this._route.paramMap.subscribe(i=>{const n=i.get("id");this.selectedPanel=n&&this.panels.some(o=>o.id===n)?n:"relay"}),this._signerService.isUsingSecretKey()?this.panels.some(n=>"security"===n.id)||(this.panels.push({id:"security",icon:"heroicons_outline:shield-check",title:"Password Management",description:"Manage your password and decryption settings, including saving passwords for future decrypting sensitive information."}),console.log("Extension not used, security panel added")):(this.panels=this.panels.filter(i=>"security"!==i.id),console.log("Extension used, security panel removed")),this._changeDetectorRef.markForCheck(),this._angorMediaWatcherService.onMediaChange$.pipe((0,D.Q)(this._unsubscribeAll)).subscribe(({matchingAliases:i})=>{this.drawerMode=i.includes("lg")?"side":"over",this.drawerOpened="side"===this.drawerMode,this._changeDetectorRef.markForCheck()})}ngOnDestroy(){this._unsubscribeAll.next(),this._unsubscribeAll.complete()}goToPanel(t){this.selectedPanel=t,this._router.navigate(["settings",t],{replaceUrl:!0}),"over"===this.drawerMode&&this.drawer.close()}getPanelInfo(t){return this.panels.find(i=>i.id===t)}trackByFn(t,i){return i.id||t}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(e.gRc),e.rXU(he.l),e.rXU(x.A),e.rXU(S.nX),e.rXU(S.Ix))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings"]],viewQuery:function(i,n){if(1&i&&e.GBs(_e,5),2&i){let o;e.mGM(o=e.lsd())&&(n.drawer=o.first)}},decls:28,vars:7,consts:[["drawer",""],[1,"flex","w-full","min-w-0","flex-col","sm:absolute","sm:inset-0","sm:overflow-hidden"],[1,"flex-auto","sm:h-full"],[1,"dark:bg-gray-900","sm:w-96",3,"autoFocus","mode","opened"],[1,"m-8","mr-6","flex","items-center","justify-between","sm:my-10"],[1,"text-4xl","font-extrabold","leading-none","tracking-tight"],[1,"lg:hidden"],["mat-icon-button","",3,"click"],[3,"svgIcon"],[1,"flex","flex-col","divide-y","border-b","border-t"],[1,"flex","cursor-pointer","px-8","py-5",3,"ngClass"],[1,"flex","flex-col"],[1,"flex-auto","px-6","pb-12","pt-9","md:p-8","md:pb-12","lg:p-12"],[1,"flex","items-center"],["mat-icon-button","",1,"-ml-2","lg:hidden",3,"click"],[1,"ml-2","text-3xl","font-bold","leading-none","tracking-tight","lg:ml-0"],[1,"mt-8"],[1,"flex","cursor-pointer","px-8","py-5",3,"click","ngClass"],[3,"ngClass","svgIcon"],[1,"ml-3"],[1,"font-medium","leading-6",3,"ngClass"],[1,"text-secondary","mt-0.5"]],template:function(i,n){if(1&i){const o=e.RV6();e.j41(0,"div",1)(1,"mat-drawer-container",2)(2,"mat-drawer",3,0)(4,"div",4)(5,"div",5),e.EFF(6," Settings "),e.k0s(),e.j41(7,"div",6)(8,"button",7),e.bIt("click",function(){e.eBV(o);const c=e.sdS(3);return e.Njj(c.close())}),e.nrm(9,"mat-icon",8),e.k0s()()(),e.j41(10,"div",9),e.Z7z(11,ye,7,14,"div",10,n.trackByFn,!0),e.k0s()(),e.j41(13,"mat-drawer-content",11)(14,"div",12)(15,"div",13)(16,"button",14),e.bIt("click",function(){e.eBV(o);const c=e.sdS(3);return e.Njj(c.toggle())}),e.nrm(17,"mat-icon",8),e.k0s(),e.j41(18,"div",15),e.EFF(19),e.k0s()(),e.j41(20,"div",16),e.DNE(21,ke,1,0,"settings-relay")(22,xe,1,0,"settings-network")(23,Se,1,0,"settings-indexer")(24,Ie,1,0,"settings-profile")(25,we,1,0,"settings-advanced-profile")(26,Re,1,0,"settings-security")(27,Fe,1,0,"settings-notifications"),e.k0s()()()()()}if(2&i){let o;e.R7$(2),e.Y8G("autoFocus",!1)("mode",n.drawerMode)("opened",n.drawerOpened),e.R7$(7),e.Y8G("svgIcon","heroicons_outline:x-mark"),e.R7$(2),e.Dyx(n.panels),e.R7$(6),e.Y8G("svgIcon","heroicons_outline:bars-3"),e.R7$(2),e.SpI(" ",n.getPanelInfo(n.selectedPanel).title," "),e.R7$(2),e.vxM("relay"===(o=n.selectedPanel)?21:"network"===o?22:"indexer"===o?23:"profile"===o?24:"advanced-profile"===o?25:"security"===o?26:"notifications"===o?27:-1)}},dependencies:[y.vg,y.qe,y.$C,y.$l,u.Hl,u.iY,g.m_,g.An,p.YU,se,pe,ae,ue,oe,ie,ge],encapsulation:2,changeDetection:0})}}return r})()}]}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkangor=self.webpackChunkangor||[]).push([[126],{6126:(je,R,c)=>{c.r(R),c.d(R,{default:()=>Ge});var p=c(4460),u=c(9471),g=c(3904),y=c(5785),Y=c(8447),B=c(5424),s=c(936),h=c(2902),m=c(6071),f=c(6389),w=c(8559),D=c(1349),e=c(3107),A=c(5467);const V=["input"],X=["formField"],O=["*"];class F{source;value;constructor(l,t){this.source=l,this.value=t}}const C=new e.nKC("MatRadioGroup"),K=new e.nKC("mat-radio-default-options",{providedIn:"root",factory:function W(){return{color:"accent",disabledInteractive:!1}}});let E=(()=>{class r{_elementRef=(0,e.WQX)(e.aKT);_changeDetector=(0,e.WQX)(e.gRc);_focusMonitor=(0,e.WQX)(w.FN);_radioDispatcher=(0,e.WQX)(D.zP);_defaultOptions=(0,e.WQX)(K,{optional:!0});_ngZone=(0,e.WQX)(e.SKi);_uniqueId=(0,e.WQX)(w.g7).getId("mat-radio-");id=this._uniqueId;name;ariaLabel;ariaLabelledby;ariaDescribedby;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(t){this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}_labelPosition;get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(t)}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=t}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._defaultOptions&&this._defaultOptions.color||"accent"}set color(t){this._color=t}_color;get disabledInteractive(){return this._disabledInteractive||null!==this.radioGroup&&this.radioGroup.disabledInteractive}set disabledInteractive(t){this._disabledInteractive=t}_disabledInteractive;change=new e.bkB;radioGroup;get inputId(){return`${this.id||this._uniqueId}-input`}_checked=!1;_disabled;_required;_value=null;_removeUniqueSelectionListener=()=>{};_previousTabIndex;_inputElement;_rippleTrigger;_noopAnimations;_injector=(0,e.WQX)(e.zZn);constructor(){(0,e.WQX)(A.l).load(h.Ah);const t=(0,e.WQX)(C,{optional:!0}),i=(0,e.WQX)(e.bc$,{optional:!0}),n=(0,e.WQX)(new e.ES_("tabindex"),{optional:!0});this.radioGroup=t,this._noopAnimations="NoopAnimations"===i,this._disabledInteractive=this._defaultOptions?.disabledInteractive??!1,n&&(this.tabIndex=(0,e.Udg)(n,0))}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name),this._removeUniqueSelectionListener=this._radioDispatcher.listen((t,i)=>{t!==this.id&&i===this.name&&(this.checked=!1)})}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()}),this._ngZone.runOutsideAngular(()=>{this._inputElement.nativeElement.addEventListener("click",this._onInputClick)})}ngOnDestroy(){this._inputElement?.nativeElement.removeEventListener("click",this._onInputClick),this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new F(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const i=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),i&&this.radioGroup._emitChangeEvent())}}_onTouchTargetClick(t){this._onInputInteraction(t),(!this.disabled||this.disabledInteractive)&&this._inputElement?.nativeElement.focus()}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}_onInputClick=t=>{this.disabled&&this.disabledInteractive&&t.preventDefault()};_updateTabIndex(){const t=this.radioGroup;let i;if(i=t&&t.selected&&!this.disabled?t.selected===this?this.tabIndex:-1:this.tabIndex,i!==this._previousTabIndex){const n=this._inputElement?.nativeElement;n&&(n.setAttribute("tabindex",i+""),this._previousTabIndex=i,(0,e.mal)(()=>{queueMicrotask(()=>{t&&t.selected&&t.selected!==this&&document.activeElement===n&&(t.selected?._inputElement.nativeElement.focus(),document.activeElement===n&&this._inputElement.nativeElement.blur())})},{injector:this._injector}))}}static \u0275fac=function(i){return new(i||r)};static \u0275cmp=e.VBU({type:r,selectors:[["mat-radio-button"]],viewQuery:function(i,n){if(1&i&&(e.GBs(V,5),e.GBs(X,7,e.aKT)),2&i){let o;e.mGM(o=e.lsd())&&(n._inputElement=o.first),e.mGM(o=e.lsd())&&(n._rippleTrigger=o.first)}},hostAttrs:[1,"mat-mdc-radio-button"],hostVars:19,hostBindings:function(i,n){1&i&&e.bIt("focus",function(){return n._inputElement.nativeElement.focus()}),2&i&&(e.BMQ("id",n.id)("tabindex",null)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),e.AVh("mat-primary","primary"===n.color)("mat-accent","accent"===n.color)("mat-warn","warn"===n.color)("mat-mdc-radio-checked",n.checked)("mat-mdc-radio-disabled",n.disabled)("mat-mdc-radio-disabled-interactive",n.disabledInteractive)("_mat-animation-noopable",n._noopAnimations))},inputs:{id:"id",name:"name",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],disableRipple:[2,"disableRipple","disableRipple",e.L39],tabIndex:[2,"tabIndex","tabIndex",t=>null==t?0:(0,e.Udg)(t)],checked:[2,"checked","checked",e.L39],value:"value",labelPosition:"labelPosition",disabled:[2,"disabled","disabled",e.L39],required:[2,"required","required",e.L39],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",e.L39]},outputs:{change:"change"},exportAs:["matRadioButton"],features:[e.GFd],ngContentSelectors:O,decls:13,vars:17,consts:[["formField",""],["input",""],["mat-internal-form-field","",3,"labelPosition"],[1,"mdc-radio"],[1,"mat-mdc-radio-touch-target",3,"click"],["type","radio",1,"mdc-radio__native-control",3,"change","id","checked","disabled","required"],[1,"mdc-radio__background"],[1,"mdc-radio__outer-circle"],[1,"mdc-radio__inner-circle"],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mdc-label",3,"for"]],template:function(i,n){if(1&i){const o=e.RV6();e.NAR(),e.j41(0,"div",2,0)(2,"div",3)(3,"div",4),e.bIt("click",function(d){return e.eBV(o),e.Njj(n._onTouchTargetClick(d))}),e.k0s(),e.j41(4,"input",5,1),e.bIt("change",function(d){return e.eBV(o),e.Njj(n._onInputInteraction(d))}),e.k0s(),e.j41(6,"div",6),e.nrm(7,"div",7)(8,"div",8),e.k0s(),e.j41(9,"div",9),e.nrm(10,"div",10),e.k0s()(),e.j41(11,"label",11),e.SdG(12),e.k0s()()}2&i&&(e.Y8G("labelPosition",n.labelPosition),e.R7$(2),e.AVh("mdc-radio--disabled",n.disabled),e.R7$(2),e.Y8G("id",n.inputId)("checked",n.checked)("disabled",n.disabled&&!n.disabledInteractive)("required",n.required),e.BMQ("name",n.name)("value",n.value)("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby)("aria-describedby",n.ariaDescribedby)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),e.R7$(5),e.Y8G("matRippleTrigger",n._rippleTrigger.nativeElement)("matRippleDisabled",n._isRippleDisabled())("matRippleCentered",!0),e.R7$(2),e.Y8G("for",n.inputId))},dependencies:[h.r6,h.tO],styles:['.mat-mdc-radio-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background::before{opacity:.04;transform:scale(1)}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:not([disabled])~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-hover-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:hover .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-hover-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-pressed-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio:active .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-pressed-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-radio-button .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px);top:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-selected-focus-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled{pointer-events:auto}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-radio-button .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.mat-mdc-radio-checked .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-checked .mdc-radio__background::before{background-color:var(--mat-radio-checked-ripple-color, var(--mat-sys-primary))}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mat-internal-form-field{color:var(--mat-radio-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-radio-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-radio-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-radio-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-radio-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-radio-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-radio-button .mdc-radio--disabled+label{color:var(--mat-radio-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-radio-button .mat-radio-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:50%}.mat-mdc-radio-button .mat-radio-ripple .mat-ripple-element{opacity:.14}.mat-mdc-radio-button .mat-radio-ripple::before{border-radius:50%}.mat-mdc-radio-button .mdc-radio .mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.cdk-focused .mat-focus-indicator::before{content:""}.mat-mdc-radio-disabled{cursor:default;pointer-events:none}.mat-mdc-radio-disabled.mat-mdc-radio-disabled-interactive{pointer-events:auto}.mat-mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:48px;width:48px;transform:translate(-50%, -50%);display:var(--mat-radio-touch-target-display, block)}[dir=rtl] .mat-mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}'],encapsulation:2,changeDetection:0})}return r})(),G=(()=>{class r{static \u0275fac=function(i){return new(i||r)};static \u0275mod=e.$C({type:r});static \u0275inj=e.G2t({imports:[h.yE,h.pZ,E,h.yE]})}return r})();var b=c(4375),j=c(1128);function J(r,l){1&r&&e.nrm(0,"mat-icon",22),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function H(r,l){1&r&&e.nrm(0,"mat-icon",21),2&r&&e.Y8G("svgIcon","heroicons_outline:check-circle")}function q(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),e.EFF(4),e.k0s(),e.j41(5,"div",17),e.EFF(6),e.k0s()()(),e.j41(7,"div",18)(8,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.setPrimaryIndexer("mainnet",n))}),e.DNE(9,J,1,1,"mat-icon",20)(10,H,1,1,"ng-template",null,0,e.C5r),e.k0s(),e.j41(12,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeIndexer("mainnet",n))}),e.nrm(13,"mat-icon",21),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.sdS(11);e.R7$(4),e.JRh(t.url),e.R7$(2),e.SpI(" Primary: ",t.primary?"Yes":"No"," "),e.R7$(3),e.Y8G("ngIf",t.primary)("ngIfElse",i),e.R7$(4),e.Y8G("svgIcon","heroicons_outline:trash")}}function Z(r,l){1&r&&e.nrm(0,"mat-icon",22),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function ee(r,l){1&r&&e.nrm(0,"mat-icon",21),2&r&&e.Y8G("svgIcon","heroicons_outline:check-circle")}function te(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",13)(1,"div",14)(2,"div",15)(3,"div",16),e.EFF(4),e.k0s(),e.j41(5,"div",17),e.EFF(6),e.k0s()()(),e.j41(7,"div",18)(8,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.setPrimaryIndexer("testnet",n))}),e.DNE(9,Z,1,1,"mat-icon",20)(10,ee,1,1,"ng-template",null,0,e.C5r),e.k0s(),e.j41(12,"button",19),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeIndexer("testnet",n))}),e.nrm(13,"mat-icon",21),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.sdS(11);e.R7$(4),e.JRh(t.url),e.R7$(2),e.SpI(" Primary: ",t.primary?"Yes":"No"," "),e.R7$(3),e.Y8G("ngIf",t.primary)("ngIfElse",i),e.R7$(4),e.Y8G("svgIcon","heroicons_outline:trash")}}let ie=(()=>{class r{constructor(t){this._indexerService=t,this.mainnetIndexers=[],this.testnetIndexers=[],this.newMainnetIndexerUrl="",this.newTestnetIndexerUrl=""}ngOnInit(){this.loadIndexers()}loadIndexers(){this.mainnetIndexers=this._indexerService.getIndexers("mainnet").map(t=>({url:t,primary:t===this._indexerService.getPrimaryIndexer("mainnet")})),this.testnetIndexers=this._indexerService.getIndexers("testnet").map(t=>({url:t,primary:t===this._indexerService.getPrimaryIndexer("testnet")})),console.log("Mainnet Indexers:",this.mainnetIndexers),console.log("Testnet Indexers:",this.testnetIndexers)}addIndexer(t){"mainnet"===t&&this.newMainnetIndexerUrl?(this._indexerService.addIndexer(this.newMainnetIndexerUrl,"mainnet"),this.loadIndexers(),this.newMainnetIndexerUrl=""):"testnet"===t&&this.newTestnetIndexerUrl&&(this._indexerService.addIndexer(this.newTestnetIndexerUrl,"testnet"),this.loadIndexers(),this.newTestnetIndexerUrl="")}removeIndexer(t,i){this._indexerService.removeIndexer(i.url,t),this.loadIndexers()}setPrimaryIndexer(t,i){this._indexerService.setPrimaryIndexer(i.url,t),this.loadIndexers()}trackByFn(t,i){return i.url}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(j.F))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-indexer"]],decls:27,vars:12,consts:[["nonPrimaryIcon",""],[1,"w-full","max-w-3xl"],[1,"mb-8","w-full"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","","placeholder","Mainnet Indexer URL",3,"ngModelChange","ngModel"],["mat-icon-button","","matSuffix","",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8"],[1,"flex","flex-col","divide-y","border-b","border-t"],["class","flex flex-col py-6 sm:flex-row sm:items-center",4,"ngFor","ngForOf","ngForTrackBy"],[1,"mb-8","mt-10","w-full"],["matInput","","placeholder","Testnet Indexer URL",3,"ngModelChange","ngModel"],[1,"flex","flex-col","py-6","sm:flex-row","sm:items-center"],[1,"flex","items-center"],[1,"ml-4"],[1,"font-medium"],[1,"text-sm","text-gray-500"],[1,"mt-4","flex","items-center","sm:ml-auto","sm:mt-0"],["mat-icon-button","",3,"click"],["class","text-primary",3,"svgIcon",4,"ngIf","ngIfElse"],[1,"text-hint",3,"svgIcon"],[1,"text-primary",3,"svgIcon"]],template:function(i,n){1&i&&(e.j41(0,"div",1)(1,"div",2)(2,"mat-form-field",3)(3,"mat-label"),e.EFF(4,"Add Mainnet Indexer"),e.k0s(),e.nrm(5,"mat-icon",4),e.j41(6,"input",5),e.mxI("ngModelChange",function(a){return e.DH7(n.newMainnetIndexerUrl,a)||(n.newMainnetIndexerUrl=a),a}),e.k0s(),e.j41(7,"button",6),e.bIt("click",function(){return n.addIndexer("mainnet")}),e.nrm(8,"mat-icon",7),e.k0s()()(),e.j41(9,"div",8)(10,"h3"),e.EFF(11,"Mainnet Indexers"),e.k0s(),e.j41(12,"div",9),e.DNE(13,q,14,5,"div",10),e.k0s()(),e.j41(14,"div",11)(15,"mat-form-field",3)(16,"mat-label"),e.EFF(17,"Add Testnet Indexer"),e.k0s(),e.nrm(18,"mat-icon",4),e.j41(19,"input",12),e.mxI("ngModelChange",function(a){return e.DH7(n.newTestnetIndexerUrl,a)||(n.newTestnetIndexerUrl=a),a}),e.k0s(),e.j41(20,"button",6),e.bIt("click",function(){return n.addIndexer("testnet")}),e.nrm(21,"mat-icon",7),e.k0s()()(),e.j41(22,"div",8)(23,"h3"),e.EFF(24,"Testnet Indexers"),e.k0s(),e.j41(25,"div",9),e.DNE(26,te,14,5,"div",10),e.k0s()()()),2&i&&(e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newMainnetIndexerUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(5),e.Y8G("ngForOf",n.mainnetIndexers)("ngForTrackBy",n.trackByFn),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newTestnetIndexerUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(5),e.Y8G("ngForOf",n.testnetIndexers)("ngForTrackBy",n.trackByFn))},dependencies:[s.YN,s.me,s.BC,s.vS,s.X1,G,g.m_,g.An,m.RG,m.rl,m.nJ,m.JW,m.yw,f.fS,f.fg,b.Ve,h.Sy,u.Hl,u.iY,p.MD,p.Sq,p.bT],encapsulation:2,changeDetection:0})}}return r})();const P=r=>({"ring ring-inset ring-primary":r});function ne(r,l){1&r&&e.nrm(0,"mat-icon",12),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}function re(r,l){1&r&&e.nrm(0,"mat-icon",12),2&r&&e.Y8G("svgIcon","heroicons_solid:check-circle")}let oe=(()=>{class r{constructor(t,i){this._fb=t,this._indexerService=i,this.selectedNetwork="testnet"}ngOnInit(){this.networkForm=this._fb.group({network:[this._indexerService.getNetwork()]}),this.selectedNetwork=this._indexerService.getNetwork()}setNetwork(t){this.selectedNetwork=t,this._indexerService.setNetwork(this.selectedNetwork)}save(){this._indexerService.setNetwork(this.selectedNetwork)}cancel(){this.selectedNetwork=this._indexerService.getNetwork()}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(s.ok),e.rXU(j.F))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-network"]],decls:24,vars:8,consts:[[1,"w-full","max-w-3xl"],[1,"text-xl"],[1,"text-secondary"],[1,"mt-8","grid","w-full","max-w-3xl","gap-6","sm:grid-cols-2"],[1,"bg-card","relative","flex","cursor-pointer","flex-col","items-start","justify-start","rounded-md","p-6","shadow",3,"click","ngClass"],["class","absolute right-0 top-0 mr-3 mt-3 text-primary icon-size-7",3,"svgIcon",4,"ngIf"],[1,"font-semibold"],[1,"text-secondary","mt-1","whitespace-normal"],[1,"mb-10","mt-11","w-full","max-w-3xl","border-t"],[1,"flex","w-full","max-w-3xl","items-center","justify-end"],["mat-stroked-button","","type","button",3,"click"],["mat-flat-button","","type","button","color","primary",1,"ml-4",3,"click"],[1,"absolute","right-0","top-0","mr-3","mt-3","text-primary","icon-size-7",3,"svgIcon"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"div",1),e.EFF(2,"Change your network"),e.k0s(),e.j41(3,"div",2),e.EFF(4," Switch between Mainnet and Testnet to change your network settings. "),e.k0s()(),e.j41(5,"div",3)(6,"div",4),e.bIt("click",function(){return n.setNetwork("mainnet")}),e.DNE(7,ne,1,1,"mat-icon",5),e.j41(8,"div",6),e.EFF(9,"Mainnet"),e.k0s(),e.j41(10,"div",7),e.EFF(11," The live Bitcoin network. "),e.k0s()(),e.j41(12,"div",4),e.bIt("click",function(){return n.setNetwork("testnet")}),e.DNE(13,re,1,1,"mat-icon",5),e.j41(14,"div",6),e.EFF(15,"Testnet"),e.k0s(),e.j41(16,"div",7),e.EFF(17," The Bitcoin testing network. "),e.k0s()()(),e.nrm(18,"div",8),e.j41(19,"div",9)(20,"button",10),e.bIt("click",function(){return n.cancel()}),e.EFF(21,"Cancel"),e.k0s(),e.j41(22,"button",11),e.bIt("click",function(){return n.save()}),e.EFF(23," Save "),e.k0s()()),2&i&&(e.R7$(6),e.Y8G("ngClass",e.eq3(4,P,"mainnet"===n.selectedNetwork)),e.R7$(),e.Y8G("ngIf","mainnet"===n.selectedNetwork),e.R7$(5),e.Y8G("ngClass",e.eq3(6,P,"testnet"===n.selectedNetwork)),e.R7$(),e.Y8G("ngIf","testnet"===n.selectedNetwork))},dependencies:[s.YN,s.X1,G,p.YU,g.m_,g.An,m.RG,f.fS,b.Ve,h.Sy,u.Hl,u.$z,p.MD,p.bT],encapsulation:2,changeDetection:0})}}return r})();var T=c(1371);let se=(()=>{class r{constructor(t){this._formBuilder=t,this.notificationKinds={mention:1,privateMessage:4,zap:9735,follower:3}}ngOnInit(){const t=this.loadNotificationSettings();this.notificationsForm=this._formBuilder.group({mention:[t.includes(this.notificationKinds.mention)],privateMessage:[t.includes(this.notificationKinds.privateMessage)],zap:[t.includes(this.notificationKinds.zap)],follower:[t.includes(this.notificationKinds.follower)]})}saveSettings(){const t=this.notificationsForm.value,i=[];t.mention&&i.push(this.notificationKinds.mention),t.privateMessage&&i.push(this.notificationKinds.privateMessage),t.zap&&i.push(this.notificationKinds.zap),t.follower&&i.push(this.notificationKinds.follower),this.saveNotificationSettings(i),console.log("Notification settings saved:",i)}saveNotificationSettings(t){localStorage.setItem("notificationSettings",JSON.stringify(t))}loadNotificationSettings(){const t=localStorage.getItem("notificationSettings");return t?JSON.parse(t):[1,3,4,7,9735]}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(s.ze))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-notifications"]],decls:43,vars:10,consts:[["mentionToggle",""],["privateMessageToggle",""],["zapToggle",""],["followerToggle",""],[1,"w-full","max-w-3xl"],[3,"formGroup"],[1,"w-full","text-xl"],[1,"mt-8","grid","w-full","grid-cols-1","gap-6"],[1,"flex","items-center","justify-between"],[1,"flex-auto","cursor-pointer",3,"click"],[1,"font-medium","leading-6"],[1,"text-secondary","text-md"],[1,"ml-2",3,"color","formControlName"],[1,"my-10","border-t"],[1,"flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","button",1,"ml-4",3,"click","color"]],template:function(i,n){if(1&i){const o=e.RV6();e.j41(0,"div",4)(1,"form",5)(2,"div",6),e.EFF(3,"Notification Settings"),e.k0s(),e.j41(4,"div",7)(5,"div",8)(6,"div",9),e.bIt("click",function(){e.eBV(o);const d=e.sdS(12);return e.Njj(d.toggle())}),e.j41(7,"div",10),e.EFF(8,"Mention"),e.k0s(),e.j41(9,"div",11),e.EFF(10," Receive notifications when someone mentions you. "),e.k0s()(),e.nrm(11,"mat-slide-toggle",12,0),e.k0s(),e.j41(13,"div",8)(14,"div",9),e.bIt("click",function(){e.eBV(o);const d=e.sdS(20);return e.Njj(d.toggle())}),e.j41(15,"div",10),e.EFF(16,"Private Message"),e.k0s(),e.j41(17,"div",11),e.EFF(18," Receive notifications for private messages. "),e.k0s()(),e.nrm(19,"mat-slide-toggle",12,1),e.k0s(),e.j41(21,"div",8)(22,"div",9),e.bIt("click",function(){e.eBV(o);const d=e.sdS(28);return e.Njj(d.toggle())}),e.j41(23,"div",10),e.EFF(24,"Zap"),e.k0s(),e.j41(25,"div",11),e.EFF(26," Receive notifications when you get a zap. "),e.k0s()(),e.nrm(27,"mat-slide-toggle",12,2),e.k0s(),e.j41(29,"div",8)(30,"div",9),e.bIt("click",function(){e.eBV(o);const d=e.sdS(36);return e.Njj(d.toggle())}),e.j41(31,"div",10),e.EFF(32,"New Follower"),e.k0s(),e.j41(33,"div",11),e.EFF(34," Receive notifications when someone follows you. "),e.k0s()(),e.nrm(35,"mat-slide-toggle",12,3),e.k0s()(),e.nrm(37,"div",13),e.j41(38,"div",14)(39,"button",15),e.EFF(40,"Cancel"),e.k0s(),e.j41(41,"button",16),e.bIt("click",function(){return e.eBV(o),e.Njj(n.saveSettings())}),e.EFF(42," Save "),e.k0s()()()()}2&i&&(e.R7$(),e.Y8G("formGroup",n.notificationsForm),e.R7$(10),e.Y8G("color","primary")("formControlName","mention"),e.R7$(8),e.Y8G("color","primary")("formControlName","privateMessage"),e.R7$(8),e.Y8G("color","primary")("formControlName","zap"),e.R7$(8),e.Y8G("color","primary")("formControlName","follower"),e.R7$(6),e.Y8G("color","primary"))},dependencies:[s.YN,s.qT,s.BC,s.cb,s.X1,s.j4,s.JD,T.mV,T.sG,u.Hl,u.$z],encapsulation:2,changeDetection:0})}}return r})();var v=c(3014),x=c(708),N=c(8378),$=c(2226),U=c(5492),k=c(8078),I=c(3125),S=c(8716),M=c(7544),z=c(3149);let ae=(()=>{class r{constructor(t,i,n,o,a,d,_){this._fb=t,this._signerService=i,this._relayService=n,this._router=o,this._dialog=a,this._storageService=d,this._changeDetectorRef=_}ngOnInit(){this.profileForm=this._fb.group({name:["",s.k0.required],username:[""],displayName:[""],website:[""],about:[""],picture:[""],banner:[""],lud06:[""],lud16:["",s.k0.pattern("^[a-z0-9._-]+@[a-z0-9.-]+.[a-z]{2,4}$")],nip05:["",s.k0.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$")]}),this.setValues()}setValues(){var t=this;return(0,v.A)(function*(){try{const i=yield t._signerService.getPublicKey(),n=yield t._storageService.getProfile(i);t.user=n,t.profileForm.setValue({name:t.user?.name||"",username:t.user?.username||"",displayName:t.user?.displayName||"",website:t.user?.website||"",about:t.user?.about||"",picture:t.user?.picture||"",banner:t.user?.banner||"",lud06:t.user?.lud06||"",lud16:t.user?.lud16||"",nip05:t.user?.nip05||""}),t._changeDetectorRef.detectChanges()}catch(i){console.error("Error fetching profile:",i)}})()}onSubmit(){this.profileForm.valid?this.submit():console.error("Form is invalid")}submit(){var t=this;return(0,v.A)(function*(){if(t.content=JSON.stringify(t.profileForm.value),t._signerService.isUsingSecretKey()){const n=t._signerService.getPassword();if(n)try{const o=yield t._signerService.getSecretKey(n);t.signEvent(o)}catch(o){console.error(o)}else t._dialog.open($.b,{width:"300px",disableClose:!0}).afterClosed().subscribe(function(){var a=(0,v.A)(function*(d){if(d&&d.password)try{const _=yield t._signerService.getSecretKey(d.password);t.signEvent(_),0!=d.duration&&t._signerService.savePassword(d.password,d.duration)}catch(_){console.error(_)}else console.error("Password not provided")});return function(d){return a.apply(this,arguments)}}())}else if(t._signerService.isUsingExtension()){const n=t._signerService.getUnsignedEvent(0,[],t.content),o=yield t._signerService.signEventWithExtension(n);t.publishSignedEvent(o)}})()}signEvent(t){var i=this;return(0,v.A)(function*(){const n=i._signerService.getUnsignedEvent(0,[],i.content),o=(0,N.aT)(t),a=(0,U.pC)(n,o);i.publishSignedEvent(a)})()}publishSignedEvent(t){this._relayService.publishEventToWriteRelays(t),console.log("Profile Updated!"),this._router.navigate(["/profile"])}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(s.ok),e.rXU(k.A),e.rXU(I.b),e.rXU(S.Ix),e.rXU(M.bZ),e.rXU(z.n),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-profile"]],decls:70,vars:23,consts:[[1,"w-full","max-w-3xl"],[3,"ngSubmit","formGroup"],[1,"w-full"],[1,"text-secondary"],[1,"mt-8","grid","w-full","gap-6","sm:grid-cols-4"],[1,"sm:col-span-4"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","",3,"formControlName"],["matInput","","cdkTextareaAutosize","",3,"formControlName","cdkAutosizeMinRows"],[1,"text-hint","mt-1","text-md"],[1,"mt-8","flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","submit","color","primary",1,"ml-4"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"form",1),e.bIt("ngSubmit",function(){return n.onSubmit()}),e.j41(2,"div",2)(3,"div",3),e.EFF(4," Following information is publicly displayed, be careful! "),e.k0s()(),e.j41(5,"div",4)(6,"div",5)(7,"mat-form-field",6)(8,"mat-label"),e.EFF(9,"Name"),e.k0s(),e.nrm(10,"mat-icon",7)(11,"input",8),e.k0s()(),e.j41(12,"div",5)(13,"mat-form-field",6)(14,"mat-label"),e.EFF(15,"Username"),e.k0s(),e.nrm(16,"input",8),e.k0s()(),e.j41(17,"div",5)(18,"mat-form-field",6)(19,"mat-label"),e.EFF(20,"Display Name"),e.k0s(),e.nrm(21,"input",8),e.k0s()(),e.j41(22,"div",5)(23,"mat-form-field",6)(24,"mat-label"),e.EFF(25,"Website"),e.k0s(),e.nrm(26,"input",8),e.k0s()(),e.j41(27,"div",5)(28,"mat-form-field",6)(29,"mat-label"),e.EFF(30,"About"),e.k0s(),e.nrm(31,"textarea",9),e.k0s(),e.j41(32,"div",10),e.EFF(33," Brief description for your profile. Basic HTML and Emoji are allowed. "),e.k0s()(),e.j41(34,"div",5)(35,"mat-form-field",6)(36,"mat-label"),e.EFF(37,"Profile Picture URL"),e.k0s(),e.nrm(38,"input",8),e.k0s()(),e.j41(39,"div",5)(40,"mat-form-field",6)(41,"mat-label"),e.EFF(42,"Banner URL"),e.k0s(),e.nrm(43,"input",8),e.k0s()(),e.j41(44,"div",5)(45,"mat-form-field",6)(46,"mat-label"),e.EFF(47,"LUD06"),e.k0s(),e.nrm(48,"input",8),e.j41(49,"mat-hint"),e.EFF(50," LUD06 is an LNURL (Lightning Network URL) for receiving Bitcoin payments over the Lightning Network. "),e.k0s()()(),e.j41(51,"div",5)(52,"mat-form-field",6)(53,"mat-label"),e.EFF(54,"LUD16"),e.k0s(),e.nrm(55,"input",8),e.j41(56,"mat-hint"),e.EFF(57," LUD16 is a Lightning address, similar to an email format, used to receive Bitcoin payments via the Lightning Network. "),e.k0s()()(),e.j41(58,"div",5)(59,"mat-form-field",6)(60,"mat-label"),e.EFF(61,"NIP05"),e.k0s(),e.nrm(62,"input",8),e.j41(63,"mat-hint"),e.EFF(64," NIP05 provides a user-friendly identifier for Nostr, similar to an email address, to help identify and verify your public identity. "),e.k0s()()()(),e.j41(65,"div",11)(66,"button",12),e.EFF(67,"Cancel"),e.k0s(),e.j41(68,"button",13),e.EFF(69," Save "),e.k0s()()()()),2&i&&(e.R7$(),e.Y8G("formGroup",n.profileForm),e.R7$(6),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:user"),e.R7$(),e.Y8G("formControlName","name"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","username"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","displayName"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","website"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","about")("cdkAutosizeMinRows",5),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","picture"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","banner"),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","lud06"),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","lud16"),e.R7$(4),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("formControlName","nip05"))},dependencies:[s.YN,s.qT,s.me,s.BC,s.cb,s.X1,s.j4,s.JD,m.RG,m.rl,m.nJ,m.MV,m.JW,g.m_,g.An,f.fS,f.fg,x.xb,x.EE,b.Ve,h.Sy,u.Hl,u.$z,p.MD],encapsulation:2,changeDetection:0})}}return r})();var de=c(5710),ce=c(6388);function le(r,l){if(1&r&&(e.j41(0,"mat-option",24)(1,"div",14),e.EFF(2),e.k0s()()),2&r){const t=l.$implicit;e.Y8G("value",t.value),e.R7$(2),e.JRh(t.label)}}function me(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",9)(1,"div",10)(2,"div",11),e.nrm(3,"img",12),e.k0s(),e.j41(4,"div",13)(5,"div",14),e.EFF(6),e.k0s(),e.j41(7,"div",15),e.EFF(8),e.k0s()()(),e.j41(9,"div",16)(10,"mat-form-field",17)(11,"mat-select",18),e.mxI("ngModelChange",function(n){const o=e.eBV(t).$implicit;return e.DH7(o.accessType,n)||(o.accessType=n),e.Njj(n)}),e.bIt("selectionChange",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.updateRelayAccess(n))}),e.j41(12,"mat-select-trigger",19)(13,"span",20),e.EFF(14),e.nI1(15,"titlecase"),e.k0s()(),e.DNE(16,le,3,2,"mat-option",21),e.k0s()(),e.j41(17,"button",22),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.removeRelay(n.url))}),e.nrm(18,"mat-icon",23),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.XpG();e.R7$(3),e.Y8G("src",i.getSafeUrl(i.relayFavIcon(t.url)),e.B4B),e.R7$(3),e.JRh(t.url),e.R7$(),e.Y8G("ngClass",i.getRelayStatusClass(t)),e.R7$(),e.SpI(" Status: ",i.getRelayStatus(t)," "),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(),e.R50("ngModel",t.accessType),e.R7$(3),e.JRh(e.bMT(15,9,t.accessType)),e.R7$(2),e.Y8G("ngForOf",i.accessOptions),e.R7$(2),e.Y8G("svgIcon","heroicons_outline:trash")}}let ue=(()=>{class r{constructor(t,i,n,o){this._relayService=t,this._changeDetectorRef=i,this._zone=n,this._sanitizer=o,this.relays=[],this.accessOptions=[],this.newRelayUrl="",this.subscriptions=new de.yU}ngOnInit(){this.subscriptions.add(this._relayService.getRelays().subscribe(t=>{this._zone.run(()=>{this.relays=t,this._changeDetectorRef.markForCheck()})})),this.accessOptions=[{label:"Read",value:"read",description:"Reads only, does not write, unless explicitly specified on publish action."},{label:"Write",value:"write",description:"Writes your events, profile, and other metadata updates. Connects on-demand."},{label:"Read and Write",value:"read-write",description:"Reads and writes events, profiles, and other metadata. Always connected."}]}ngOnDestroy(){this.subscriptions.unsubscribe()}addRelay(){this.newRelayUrl&&(this._relayService.addRelay(this.newRelayUrl),this.newRelayUrl="")}updateRelayAccess(t){console.log("Relay Access Updated:",t.url,t.accessType),this._relayService.updateRelayAccessType(t.url,t.accessType)}removeRelay(t){this._relayService.removeRelay(t)}trackByFn(t,i){return i.url||t}getRelayStatus(t){return t.connected?"Connected":"Disconnected"}getRelayStatusClass(t){return t.connected?"text-green-700":"text-red-700"}relayFavIcon(t){return t.replace("wss://","https://").replace("ws://","https://")+"/favicon.ico"}getSafeUrl(t){return this._sanitizer.bypassSecurityTrustUrl(t)}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(I.b),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(ce.up))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-relay"]],decls:11,vars:6,consts:[[1,"w-full","max-w-3xl"],[1,"w-full"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["matInput","","placeholder","Relay URL",3,"ngModelChange","ngModel"],["mat-icon-button","","matSuffix","",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8","flex","flex-col","divide-y","border-b","border-t"],["class","flex flex-col py-6 sm:flex-row sm:items-center",4,"ngFor","ngForOf","ngForTrackBy"],[1,"flex","flex-col","py-6","sm:flex-row","sm:items-center"],[1,"flex","items-center"],[1,"flex","h-10","w-10","flex-0","items-center","justify-center","overflow-hidden","rounded-full"],["onerror","this.src='/images/avatars/avatar-placeholder.png'","alt","relay avatar",1,"h-full","w-full","object-cover",3,"src"],[1,"ml-4"],[1,"font-medium"],[1,"text-sm",3,"ngClass"],[1,"mt-4","flex","items-center","sm:ml-auto","sm:mt-0"],[1,"angor-mat-dense","w-50",3,"subscriptSizing"],[3,"ngModelChange","selectionChange","ngModel"],[1,"text-md"],[1,"ml-1","font-medium"],[3,"value",4,"ngFor","ngForOf"],["mat-icon-button","",3,"click"],[1,"text-hint",3,"svgIcon"],[3,"value"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"mat-form-field",2)(3,"mat-label"),e.EFF(4,"Add Relay"),e.k0s(),e.nrm(5,"mat-icon",3),e.j41(6,"input",4),e.mxI("ngModelChange",function(a){return e.DH7(n.newRelayUrl,a)||(n.newRelayUrl=a),a}),e.k0s(),e.j41(7,"button",5),e.bIt("click",function(){return n.addRelay()}),e.nrm(8,"mat-icon",6),e.k0s()()(),e.j41(9,"div",7),e.DNE(10,me,19,11,"div",8),e.k0s()()),2&i&&(e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:link"),e.R7$(),e.R50("ngModel",n.newRelayUrl),e.R7$(2),e.Y8G("svgIcon","heroicons_solid:plus-circle"),e.R7$(2),e.Y8G("ngForOf",n.relays)("ngForTrackBy",n.trackByFn))},dependencies:[m.RG,m.rl,m.nJ,m.JW,m.yw,g.m_,g.An,f.fS,f.fg,u.Hl,u.iY,b.Ve,b.VO,b.$2,h.wT,h.Sy,p.PV,p.MD,p.YU,p.Sq,s.YN,s.me,s.BC,s.vS],encapsulation:2,changeDetection:0})}}return r})();var pe=c(7859);function ge(r,l){1&r&&(e.j41(0,"div",6)(1,"mat-form-field",7)(2,"mat-label"),e.EFF(3,"Current password"),e.k0s(),e.nrm(4,"mat-icon",8)(5,"input",15),e.k0s()()),2&r&&(e.R7$(),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:key"),e.R7$(),e.Y8G("formControlName","currentPassword"))}let he=(()=>{class r{constructor(t,i,n,o){this._formBuilder=t,this._signerService=i,this._snackBar=n,this._changeDetectorRef=o}ngOnInit(){this.isPasswordEnabled="true"===localStorage.getItem("usePassword"),this.changePasswordForm=this._formBuilder.group({currentPassword:[{value:"",disabled:!this.isPasswordEnabled},this.isPasswordEnabled?s.k0.required:[]],newPassword:["",[s.k0.required]],savePassword:[!1]}),this.removePasswordForm=this._formBuilder.group({currentPasswordRemove:["",s.k0.required]}),this.updateFormState()}updateFormState(){this.isPasswordEnabled?this.changePasswordForm.get("currentPassword")?.enable():(this.changePasswordForm.get("currentPassword")?.disable(),this.changePasswordForm.get("currentPassword")?.clearValidators()),this._changeDetectorRef.detectChanges()}changePassword(){var t=this;return(0,v.A)(function*(){if(t.changePasswordForm.invalid)return void t.openSnackBar("Please fill out all required fields.");const i=t.changePasswordForm.get("currentPassword")?.value,n=t.changePasswordForm.get("newPassword")?.value,o=t.changePasswordForm.get("savePassword")?.value;try{let a=null;if(t.isPasswordEnabled){if(a=yield t._signerService.getSecretKey(i),!a)return void t.openSnackBar("Current password is incorrect.")}else if(a=yield t._signerService.getSecretKey(),!a)return void alert("Private key not found.");yield t._signerService.setSecretKey(a,n),o&&t._signerService.savePassword(n,60),t.openSnackBar("Password successfully changed."),t.isPasswordEnabled=!0,t.updateFormState(),t.changePasswordForm.reset(),t._changeDetectorRef.detectChanges()}catch(a){console.error("Error during password change:",a),t.openSnackBar("Failed to change the password.")}})()}removePassword(){var t=this;return(0,v.A)(function*(){if(t.removePasswordForm.invalid)return void t.openSnackBar("Please enter your current password to proceed.");const i=t.removePasswordForm.get("currentPasswordRemove")?.value;try{const n=yield t._signerService.getSecretKey(i);if(!n)return void t.openSnackBar("Current password is incorrect.");yield t._signerService.setSecretKey(n),localStorage.removeItem("usePassword"),t.openSnackBar("Password successfully removed."),t.isPasswordEnabled=!1,t.updateFormState(),t.removePasswordForm.reset(),t._changeDetectorRef.detectChanges()}catch(n){console.error("Error during password removal:",n),t.openSnackBar("Failed to remove the password.")}})()}openSnackBar(t,i="dismiss"){this._snackBar.open(t,i,{duration:3e3})}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(s.ze),e.rXU(k.A),e.rXU(pe.UG),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-security"]],decls:35,vars:11,consts:[[1,"w-full","max-w-3xl"],[3,"ngSubmit","formGroup"],[1,"w-full"],[1,"text-xl"],[1,"mt-8","grid","w-full","gap-6","sm:grid-cols-4"],["class","sm:col-span-4",4,"ngIf"],[1,"sm:col-span-4"],[1,"w-full",3,"subscriptSizing"],["matPrefix","",1,"icon-size-5",3,"svgIcon"],["type","password","matInput","","required","",3,"formControlName"],[1,"text-hint","mt-1","text-md"],[1,"flex","items-center","justify-end","mt-4"],["mat-flat-button","","type","submit",3,"color"],[1,"my-10","border-t"],[1,"text-secondary"],["type","password","matInput","",3,"formControlName"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"form",1),e.bIt("ngSubmit",function(){return n.changePassword()}),e.j41(2,"div",2)(3,"div",3),e.EFF(4,"Change your password"),e.k0s()(),e.j41(5,"div",4),e.DNE(6,ge,6,3,"div",5),e.j41(7,"div",6)(8,"mat-form-field",7)(9,"mat-label"),e.EFF(10,"New password"),e.k0s(),e.nrm(11,"mat-icon",8)(12,"input",9),e.k0s(),e.j41(13,"div",10),e.EFF(14,"Enter a strong password with letters, numbers, and symbols. "),e.k0s()()(),e.j41(15,"div",11)(16,"button",12),e.EFF(17,"Save"),e.k0s()()(),e.nrm(18,"div",13),e.j41(19,"form",1),e.bIt("ngSubmit",function(){return n.removePassword()}),e.j41(20,"div",2)(21,"div",3),e.EFF(22,"Remove Password"),e.k0s(),e.j41(23,"div",14),e.EFF(24," Removing your password will save your private key without encryption. Ensure you understand the risks. "),e.k0s()(),e.j41(25,"div",4)(26,"div",6)(27,"mat-form-field",7)(28,"mat-label"),e.EFF(29,"Current password"),e.k0s(),e.nrm(30,"mat-icon",8)(31,"input",9),e.k0s()()(),e.j41(32,"div",11)(33,"button",12),e.EFF(34,"Remove Password"),e.k0s()()()()),2&i&&(e.R7$(),e.Y8G("formGroup",n.changePasswordForm),e.R7$(5),e.Y8G("ngIf",n.isPasswordEnabled),e.R7$(2),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:key"),e.R7$(),e.Y8G("formControlName","newPassword"),e.R7$(4),e.Y8G("color","primary"),e.R7$(3),e.Y8G("formGroup",n.removePasswordForm),e.R7$(8),e.Y8G("subscriptSizing","dynamic"),e.R7$(3),e.Y8G("svgIcon","heroicons_solid:key"),e.R7$(),e.Y8G("formControlName","currentPasswordRemove"),e.R7$(2),e.Y8G("color","warn"))},dependencies:[s.YN,s.qT,s.me,s.BC,s.cb,s.YS,s.X1,s.j4,s.JD,m.RG,m.rl,m.nJ,m.JW,g.m_,g.An,f.fS,f.fg,u.Hl,u.$z,p.MD,p.bT],encapsulation:2,changeDetection:0})}}return r})(),_e=(()=>{class r{constructor(t,i,n,o,a,d,_){this._fb=t,this._signerService=i,this._relayService=n,this._router=o,this._dialog=a,this._storageService=d,this._changeDetectorRef=_}ngOnInit(){this.profileForm=this._fb.group({name:["",s.k0.required],username:[""],displayName:[""],website:[""],about:[""],picture:[""],banner:[""],lud06:[""],lud16:["",s.k0.pattern("^[a-z0-9._-]+@[a-z0-9.-]+.[a-z]{2,4}$")],nip05:["",s.k0.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$")]}),this.setValues()}setValues(){var t=this;return(0,v.A)(function*(){try{const i=yield t._signerService.getPublicKey(),n=yield t._storageService.getProfile(i);t.user=n,t.profileForm.setValue({name:t.user?.name||"",username:t.user?.username||"",displayName:t.user?.displayName||"",website:t.user?.website||"",about:t.user?.about||"",picture:t.user?.picture||"",banner:t.user?.banner||"",lud06:t.user?.lud06||"",lud16:t.user?.lud16||"",nip05:t.user?.nip05||""}),t._changeDetectorRef.detectChanges()}catch(i){console.error("Error fetching profile:",i)}})()}onSubmit(){this.profileForm.valid?this.submit():console.error("Form is invalid")}submit(){var t=this;return(0,v.A)(function*(){if(t.content=JSON.stringify(t.profileForm.value),t._signerService.isUsingSecretKey()){const n=t._signerService.getPassword();if(n)try{const o=yield t._signerService.getSecretKey(n);t.signEvent(o)}catch(o){console.error(o)}else t._dialog.open($.b,{width:"300px",disableClose:!0}).afterClosed().subscribe(function(){var a=(0,v.A)(function*(d){if(d&&d.password)try{const _=yield t._signerService.getSecretKey(d.password);t.signEvent(_),0!=d.duration&&t._signerService.savePassword(d.password,d.duration)}catch(_){console.error(_)}else console.error("Password not provided")});return function(d){return a.apply(this,arguments)}}())}else if(t._signerService.isUsingExtension()){const n=t._signerService.getUnsignedEvent(0,[],t.content),o=yield t._signerService.signEventWithExtension(n);t.publishSignedEvent(o)}})()}signEvent(t){var i=this;return(0,v.A)(function*(){const n=i._signerService.getUnsignedEvent(0,[],i.content),o=(0,N.aT)(t),a=(0,U.pC)(n,o);i.publishSignedEvent(a)})()}publishSignedEvent(t){this._relayService.publishEventToWriteRelays(t),console.log("Profile Updated!"),this._router.navigate(["/profile"])}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(s.ok),e.rXU(k.A),e.rXU(I.b),e.rXU(S.Ix),e.rXU(M.bZ),e.rXU(z.n),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings-advanced-profile"]],decls:10,vars:1,consts:[[1,"w-full","max-w-3xl"],[3,"ngSubmit","formGroup"],[1,"w-full"],[1,"text-secondary"],[1,"mt-8","flex","items-center","justify-end"],["mat-stroked-button","","type","button"],["mat-flat-button","","type","submit","color","primary",1,"ml-4"]],template:function(i,n){1&i&&(e.j41(0,"div",0)(1,"form",1),e.bIt("ngSubmit",function(){return n.onSubmit()}),e.j41(2,"div",2)(3,"div",3),e.EFF(4," Customize and enhance your profile with advanced modules and personalized settings. "),e.k0s()(),e.j41(5,"div",4)(6,"button",5),e.EFF(7,"Cancel"),e.k0s(),e.j41(8,"button",6),e.EFF(9," Save "),e.k0s()()()()),2&i&&(e.R7$(),e.Y8G("formGroup",n.profileForm))},dependencies:[s.YN,s.qT,s.cb,s.X1,s.j4,m.RG,g.m_,f.fS,x.EE,b.Ve,h.Sy,u.Hl,u.$z,p.MD],encapsulation:2,changeDetection:0})}}return r})();var fe=c(2012);const ve=["drawer"],be=(r,l)=>({"dark:hover:bg-hover hover:bg-gray-100":r,"bg-primary-50 dark:bg-hover":l}),ye=(r,l)=>({"text-hint":r,"text-primary dark:text-primary-500":l}),ke=r=>({"text-primary dark:text-primary-500":r});function Se(r,l){if(1&r){const t=e.RV6();e.j41(0,"div",17),e.bIt("click",function(){const n=e.eBV(t).$implicit,o=e.XpG();return e.Njj(o.goToPanel(n.id))}),e.nrm(1,"mat-icon",18),e.j41(2,"div",19)(3,"div",20),e.EFF(4),e.k0s(),e.j41(5,"div",21),e.EFF(6),e.k0s()()()}if(2&r){const t=l.$implicit,i=e.XpG();e.Y8G("ngClass",e.l_i(6,be,!i.selectedPanel||i.selectedPanel!==t.id,i.selectedPanel&&i.selectedPanel===t.id)),e.R7$(),e.Y8G("ngClass",e.l_i(9,ye,!i.selectedPanel||i.selectedPanel!==t.id,i.selectedPanel&&i.selectedPanel===t.id))("svgIcon",t.icon),e.R7$(2),e.Y8G("ngClass",e.eq3(12,ke,i.selectedPanel&&i.selectedPanel===t.id)),e.R7$(),e.SpI(" ",t.title," "),e.R7$(2),e.SpI(" ",t.description," ")}}function we(r,l){1&r&&e.nrm(0,"settings-relay")}function xe(r,l){1&r&&e.nrm(0,"settings-network")}function Ie(r,l){1&r&&e.nrm(0,"settings-indexer")}function Re(r,l){1&r&&e.nrm(0,"settings-profile")}function Fe(r,l){1&r&&e.nrm(0,"settings-advanced-profile")}function Ce(r,l){1&r&&e.nrm(0,"settings-security")}function Ee(r,l){1&r&&e.nrm(0,"settings-notifications")}const Ge=[{path:"",component:(()=>{class r{selectPanel(t){this.selectedPanel=t,this._router.navigate(["settings",t],{replaceUrl:!0})}constructor(t,i,n,o,a){this._changeDetectorRef=t,this._angorMediaWatcherService=i,this._signerService=n,this._route=o,this._router=a,this.drawerMode="side",this.drawerOpened=!0,this.panels=[{id:"relay",icon:"heroicons_outline:server",title:"Relay",description:"Manage and configure your existing relays and update their access roles and permissions."},{id:"network",icon:"heroicons_outline:globe-alt",title:"Network",description:"Switch between mainnet and testnet for different Bitcoin network configurations."},{id:"indexer",icon:"heroicons_outline:chart-bar",title:"Indexer",description:"Add, remove, and manage your indexers, including setting the primary indexer."},{id:"profile",icon:"heroicons_outline:user",title:"Profile",description:"Update your personal profile, manage your account details, and modify your private information."},{id:"advanced-profile",icon:"heroicons_outline:check-badge",title:"Advanced Profile",description:"Manage and explore advanced settings of your profile, including privacy options, analytics, activity logs, and connected accounts."},{id:"notifications",icon:"heroicons_outline:bell",title:"Notifications",description:"Control when and how you\u2019ll be notified across various communication channels."},{id:"security",icon:"heroicons_outline:shield-check",title:"Password Management",description:"Manage your password and decryption settings, including saving passwords for future decrypting sensitive information."}],this.selectedPanel="relay",this._unsubscribeAll=new Y.B}ngOnInit(){this._route.paramMap.subscribe(i=>{const n=i.get("id");this.selectedPanel=n&&this.panels.some(o=>o.id===n)?n:"relay"}),this._signerService.isUsingSecretKey()?this.panels.some(n=>"security"===n.id)||(this.panels.push({id:"security",icon:"heroicons_outline:shield-check",title:"Password Management",description:"Manage your password and decryption settings, including saving passwords for future decrypting sensitive information."}),console.log("Extension not used, security panel added")):(this.panels=this.panels.filter(i=>"security"!==i.id),console.log("Extension used, security panel removed")),this._changeDetectorRef.markForCheck(),this._angorMediaWatcherService.onMediaChange$.pipe((0,B.Q)(this._unsubscribeAll)).subscribe(({matchingAliases:i})=>{this.drawerMode=i.includes("lg")?"side":"over",this.drawerOpened="side"===this.drawerMode,this._changeDetectorRef.markForCheck()})}ngOnDestroy(){this._unsubscribeAll.next(),this._unsubscribeAll.complete()}goToPanel(t){this.selectedPanel=t,this._router.navigate(["settings",t],{replaceUrl:!0}),"over"===this.drawerMode&&this.drawer.close()}getPanelInfo(t){return this.panels.find(i=>i.id===t)}trackByFn(t,i){return i.id||t}static{this.\u0275fac=function(i){return new(i||r)(e.rXU(e.gRc),e.rXU(fe.l),e.rXU(k.A),e.rXU(S.nX),e.rXU(S.Ix))}}static{this.\u0275cmp=e.VBU({type:r,selectors:[["settings"]],viewQuery:function(i,n){if(1&i&&e.GBs(ve,5),2&i){let o;e.mGM(o=e.lsd())&&(n.drawer=o.first)}},decls:28,vars:7,consts:[["drawer",""],[1,"flex","w-full","min-w-0","flex-col","sm:absolute","sm:inset-0","sm:overflow-hidden"],[1,"flex-auto","sm:h-full"],[1,"dark:bg-gray-900","sm:w-96",3,"autoFocus","mode","opened"],[1,"m-8","mr-6","flex","items-center","justify-between","sm:my-10"],[1,"text-4xl","font-extrabold","leading-none","tracking-tight"],[1,"lg:hidden"],["mat-icon-button","",3,"click"],[3,"svgIcon"],[1,"flex","flex-col","divide-y","border-b","border-t"],[1,"flex","cursor-pointer","px-8","py-5",3,"ngClass"],[1,"flex","flex-col"],[1,"flex-auto","px-6","pb-12","pt-9","md:p-8","md:pb-12","lg:p-12"],[1,"flex","items-center"],["mat-icon-button","",1,"-ml-2","lg:hidden",3,"click"],[1,"ml-2","text-3xl","font-bold","leading-none","tracking-tight","lg:ml-0"],[1,"mt-8"],[1,"flex","cursor-pointer","px-8","py-5",3,"click","ngClass"],[3,"ngClass","svgIcon"],[1,"ml-3"],[1,"font-medium","leading-6",3,"ngClass"],[1,"text-secondary","mt-0.5"]],template:function(i,n){if(1&i){const o=e.RV6();e.j41(0,"div",1)(1,"mat-drawer-container",2)(2,"mat-drawer",3,0)(4,"div",4)(5,"div",5),e.EFF(6," Settings "),e.k0s(),e.j41(7,"div",6)(8,"button",7),e.bIt("click",function(){e.eBV(o);const d=e.sdS(3);return e.Njj(d.close())}),e.nrm(9,"mat-icon",8),e.k0s()()(),e.j41(10,"div",9),e.Z7z(11,Se,7,14,"div",10,n.trackByFn,!0),e.k0s()(),e.j41(13,"mat-drawer-content",11)(14,"div",12)(15,"div",13)(16,"button",14),e.bIt("click",function(){e.eBV(o);const d=e.sdS(3);return e.Njj(d.toggle())}),e.nrm(17,"mat-icon",8),e.k0s(),e.j41(18,"div",15),e.EFF(19),e.k0s()(),e.j41(20,"div",16),e.DNE(21,we,1,0,"settings-relay")(22,xe,1,0,"settings-network")(23,Ie,1,0,"settings-indexer")(24,Re,1,0,"settings-profile")(25,Fe,1,0,"settings-advanced-profile")(26,Ce,1,0,"settings-security")(27,Ee,1,0,"settings-notifications"),e.k0s()()()()()}if(2&i){let o;e.R7$(2),e.Y8G("autoFocus",!1)("mode",n.drawerMode)("opened",n.drawerOpened),e.R7$(7),e.Y8G("svgIcon","heroicons_outline:x-mark"),e.R7$(2),e.Dyx(n.panels),e.R7$(6),e.Y8G("svgIcon","heroicons_outline:bars-3"),e.R7$(2),e.SpI(" ",n.getPanelInfo(n.selectedPanel).title," "),e.R7$(2),e.vxM("relay"===(o=n.selectedPanel)?21:"network"===o?22:"indexer"===o?23:"profile"===o?24:"advanced-profile"===o?25:"security"===o?26:"notifications"===o?27:-1)}},dependencies:[y.vg,y.qe,y.$C,y.$l,u.Hl,u.iY,g.m_,g.An,p.YU,ae,he,se,ue,oe,ie,_e],encapsulation:2,changeDetection:0})}}return r})()}]}}]);
\ No newline at end of file
diff --git a/232.187dfcb50d3e60b2.js b/232.187dfcb50d3e60b2.js
deleted file mode 100644
index b6c06c3..0000000
--- a/232.187dfcb50d3e60b2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkangor=self.webpackChunkangor||[]).push([[232],{6232:(z,d,i)=>{i.r(d),i.d(d,{default:()=>U});var u=i(3014),x=i(6903),h=i(4460),a=i(936),g=i(9471),w=i(2992),p=i(6071),f=i(3904),v=i(6389),y=i(1054),F=i(8716),e=i(3107),L=i(8078),_=i(6433),k=i(4482);const b=()=>["/create"];function j(t,s){if(1&t&&(e.j41(0,"angor-alert",40),e.EFF(1),e.k0s()),2&t){const n=e.XpG();e.Y8G("appearance","outline")("showIcon",!1)("type",n.secAlert.type)("@shake","error"===n.secAlert.type),e.R7$(),e.SpI(" ",n.secAlert.message," ")}}function S(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Secret key is required "),e.k0s())}function E(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function I(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function C(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Password is required "),e.k0s())}function G(t,s){1&t&&(e.j41(0,"span"),e.EFF(1,"Login"),e.k0s())}function A(t,s){1&t&&e.nrm(0,"mat-progress-spinner",41)}function N(t,s){if(1&t&&(e.j41(0,"angor-alert",40),e.EFF(1),e.k0s()),2&t){const n=e.XpG();e.Y8G("appearance","outline")("showIcon",!1)("type",n.menemonicAlert.type)("@shake","error"===n.menemonicAlert.type),e.R7$(),e.SpI(" ",n.menemonicAlert.message," ")}}function Y(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Mnemonic is required "),e.k0s())}function R(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function T(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function $(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Passphrase is required "),e.k0s())}function K(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function M(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function B(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Password is required "),e.k0s())}function D(t,s){1&t&&(e.j41(0,"span"),e.EFF(1,"Login"),e.k0s())}function P(t,s){1&t&&e.nrm(0,"mat-progress-spinner",41)}const U=[{path:"",component:(()=>{class t{constructor(n,r,o,c,l){this._formBuilder=n,this._router=r,this._signerService=o,this._stateService=c,this._nostrLoginService=l,this.secAlert={type:"error",message:""},this.showSecAlert=!1,this.menemonicAlert={type:"error",message:""},this.showMenemonicAlert=!1,this.loading=!1,this.isInstalledExtension=!1,this.privateKey=new Uint8Array,this.publicKey="",this.npub="",this.nsec="",this.useNostrLogin=!0}ngOnInit(){this.subscription=this._nostrLoginService.getPublicKeyObservable().subscribe({next:n=>{this.publicKey=n,this._signerService.setPublicKey(n),this.initializeAppState(),this._router.navigateByUrl("/home")},error:n=>console.error("Error receiving public key:",n)}),this.initializeForms(),this.checkNostrExtensionAvailability()}login(){this._nostrLoginService.launchLoginScreen()}signup(){this._nostrLoginService.launchSignupScreen()}initializeAppState(){var n=this;return(0,u.A)(function*(){const r=n._signerService.getPublicKey();r&&(yield n._stateService.loadUserProfile(r),console.log("User profile loaded with public key:",r))})()}initializeForms(){this.SecretKeyLoginForm=this._formBuilder.group({secretKey:["",[a.k0.required,a.k0.minLength(3)]],password:["",a.k0.required]}),this.MenemonicLoginForm=this._formBuilder.group({menemonic:["",[a.k0.required,a.k0.minLength(3)]],passphrase:[""],password:["",a.k0.required]})}checkNostrExtensionAvailability(){const n=globalThis;this.isInstalledExtension=!(!n.nostr||"function"!=typeof n.nostr.signEvent)}loginWithSecretKey(){if(this.SecretKeyLoginForm.invalid)return;const n=this.SecretKeyLoginForm.get("secretKey")?.value,r=this.SecretKeyLoginForm.get("password")?.value;this.loading=!0,this.showSecAlert=!1;try{if(!this._signerService.handleLoginWithKey(n,r))throw new Error("Secret key is missing or invalid.");this.initializeAppState(),this._router.navigateByUrl("/home")}catch(o){this.loading=!1,this.secAlert.message=o instanceof Error?o.message:"An unexpected error occurred.",this.showSecAlert=!0,console.error("Login error: ",o)}}loginWithMenemonic(){if(this.MenemonicLoginForm.invalid)return;const n=this.MenemonicLoginForm.get("menemonic")?.value,r=this.MenemonicLoginForm.get("passphrase")?.value||"",o=this.MenemonicLoginForm.get("password")?.value;this.loading=!0,this.showMenemonicAlert=!1,this._signerService.handleLoginWithMnemonic(n,r,o)?(this.initializeAppState(),this._router.navigateByUrl("/home")):(this.loading=!1,this.menemonicAlert.message="Menemonic is missing or invalid.",this.showMenemonicAlert=!0)}loginWithNostrExtension(){var n=this;return(0,u.A)(function*(){try{(yield n._signerService.handleLoginWithExtension())?(n.initializeAppState(),n._router.navigateByUrl("/home")):console.error("Failed to log in using Nostr extension")}catch(r){console.error("An error occurred during login with Nostr extension",r)}})()}static{this.\u0275fac=function(r){return new(r||t)(e.rXU(a.ok),e.rXU(F.Ix),e.rXU(L.A),e.rXU(_.d),e.rXU(k.v))}}static{this.\u0275cmp=e.VBU({type:t,selectors:[["auth-sign-in"]],decls:94,vars:27,consts:[["secretPasswordField",""],["passphraseField",""],["menemonicPasswordField",""],[1,"flex","min-w-0","flex-auto","flex-col","items-center","sm:flex-row","sm:justify-center","md:items-start","md:justify-start"],[1,"w-full","px-4","py-8","sm:bg-card","sm:w-auto","sm:rounded-2xl","sm:p-12","sm:shadow","md:flex","md:h-full","md:w-1/2","md:items-center","md:justify-end","md:rounded-none","md:p-16","md:shadow-none"],[1,"mx-auto","w-full","max-w-80","sm:mx-0","sm:w-80"],[1,"mt-8","text-4xl","font-extrabold","leading-tight","tracking-tight"],[1,"mt-0.5","flex","items-baseline","font-medium"],[1,"ml-1","text-primary-500","hover:underline",3,"routerLink"],["class","mt-8",3,"appearance","showIcon","type",4,"ngIf"],[1,"mt-8","flex","items-center"],[1,"mt-px","flex-auto","border-t"],[1,"text-secondary","mx-2"],[1,"mt-8","flex","items-center","space-x-4"],["type","button","mat-stroked-button","",1,"flex-auto","space-x-2",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8",3,"ngSubmit","formGroup"],[1,"w-full"],["matInput","","formControlName","secretKey","autocomplete","secretKey"],["matInput","","type","password","autocomplete","current-password-seckey",3,"formControlName"],["mat-icon-button","","type","button","matSuffix","",3,"click"],["class","icon-size-5",3,"svgIcon",4,"ngIf"],[4,"ngIf"],["mat-flat-button","","color","primary",1,"angor-mat-button-large","mt-6","w-full",3,"disabled"],["diameter","24","mode","indeterminate",4,"ngIf"],["matInput","","formControlName","menemonic","autocomplete","menemonic"],["matInput","","type","password","autocomplete","current-passphrase-menemonic",3,"formControlName"],["matInput","","type","password","autocomplete","current-password-menemonic",3,"formControlName"],[1,"relative","hidden","h-full","w-1/2","flex-auto","items-center","justify-center","overflow-hidden","bg-gray-800","p-16","dark:border-l","md:flex","lg:px-28"],["viewBox","0 0 960 540","width","100%","height","100%","preserveAspectRatio","xMidYMax slice","xmlns","http://www.w3.org/2000/svg",1,"pointer-events-none","absolute","inset-0"],["fill","none","stroke","currentColor","stroke-width","100",1,"text-gray-700","opacity-25"],["r","234","cx","196","cy","23"],["r","234","cx","790","cy","491"],["viewBox","0 0 220 192","width","220","height","192","fill","none",1,"absolute","-right-16","-top-16","text-gray-700"],["id","837c3e70-6c3a-44e6-8854-cc48c737b659","x","0","y","0","width","20","height","20","patternUnits","userSpaceOnUse"],["x","0","y","0","width","4","height","4","fill","currentColor"],["width","220","height","192","fill","url(#837c3e70-6c3a-44e6-8854-cc48c737b659)"],[1,"relative","z-10","w-full","max-w-2xl"],[1,"text-7xl","font-bold","leading-none","text-gray-100"],[1,"mt-6","text-lg","leading-6","tracking-tight","text-gray-400"],[1,"mt-8",3,"appearance","showIcon","type"],["diameter","24","mode","indeterminate"]],template:function(r,o){if(1&r){const c=e.RV6();e.j41(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6),e.EFF(4," Login "),e.k0s(),e.j41(5,"div")(6,"div",7)(7,"div"),e.EFF(8,"Don't have an account?"),e.k0s(),e.j41(9,"a",8),e.EFF(10,"Create account"),e.k0s()(),e.DNE(11,j,2,5,"angor-alert",9),e.j41(12,"div",10),e.nrm(13,"div",11),e.j41(14,"div",12),e.EFF(15," Login with extension "),e.k0s(),e.nrm(16,"div",11),e.k0s(),e.j41(17,"div",13)(18,"button",14),e.bIt("click",function(){return e.eBV(c),e.Njj(o.login())}),e.nrm(19,"mat-icon",15),e.j41(20,"span"),e.EFF(21,"Login with Nostr Extension"),e.k0s()()(),e.j41(22,"form",16),e.bIt("ngSubmit",function(){return e.eBV(c),e.Njj(o.loginWithSecretKey())}),e.j41(23,"div",10),e.nrm(24,"div",11),e.j41(25,"div",12),e.EFF(26,"Or enter secret key"),e.k0s(),e.nrm(27,"div",11),e.k0s(),e.j41(28,"mat-form-field",17)(29,"mat-label"),e.EFF(30,"Secret Key"),e.k0s(),e.nrm(31,"input",18),e.DNE(32,S,2,0,"mat-error"),e.k0s(),e.j41(33,"mat-form-field",17)(34,"mat-label"),e.EFF(35,"Password"),e.k0s(),e.nrm(36,"input",19,0),e.j41(38,"button",20),e.bIt("click",function(){e.eBV(c);const m=e.sdS(37);return e.Njj(m.type="password"===m.type?"text":"password")}),e.DNE(39,E,1,1,"mat-icon",21)(40,I,1,1,"mat-icon",21),e.k0s(),e.DNE(41,C,2,0,"mat-error",22),e.k0s(),e.j41(42,"button",23),e.DNE(43,G,2,0,"span",22)(44,A,1,0,"mat-progress-spinner",24),e.k0s()(),e.j41(45,"div",10),e.nrm(46,"div",11),e.j41(47,"div",12),e.EFF(48,"Or enter mnemonic"),e.k0s(),e.nrm(49,"div",11),e.k0s(),e.DNE(50,N,2,5,"angor-alert",9),e.j41(51,"form",16),e.bIt("ngSubmit",function(){return e.eBV(c),e.Njj(o.loginWithMenemonic())}),e.j41(52,"mat-form-field",17)(53,"mat-label"),e.EFF(54,"Mnemonic"),e.k0s(),e.nrm(55,"input",25),e.DNE(56,Y,2,0,"mat-error"),e.k0s(),e.j41(57,"mat-form-field",17)(58,"mat-label"),e.EFF(59,"Passphrase (Optional)"),e.k0s(),e.nrm(60,"input",26,1),e.j41(62,"button",20),e.bIt("click",function(){e.eBV(c);const m=e.sdS(61);return e.Njj(m.type="password"===m.type?"text":"password")}),e.DNE(63,R,1,1,"mat-icon",21)(64,T,1,1,"mat-icon",21),e.k0s(),e.DNE(65,$,2,0,"mat-error",22),e.k0s(),e.j41(66,"mat-form-field",17)(67,"mat-label"),e.EFF(68,"Password"),e.k0s(),e.nrm(69,"input",27,2),e.j41(71,"button",20),e.bIt("click",function(){e.eBV(c);const m=e.sdS(70);return e.Njj(m.type="password"===m.type?"text":"password")}),e.DNE(72,K,1,1,"mat-icon",21)(73,M,1,1,"mat-icon",21),e.k0s(),e.DNE(74,B,2,0,"mat-error",22),e.k0s(),e.j41(75,"button",23),e.DNE(76,D,2,0,"span",22)(77,P,1,0,"mat-progress-spinner",24),e.k0s()()()()(),e.j41(78,"div",28),e.qSk(),e.j41(79,"svg",29)(80,"g",30),e.nrm(81,"circle",31)(82,"circle",32),e.k0s()(),e.j41(83,"svg",33)(84,"defs")(85,"pattern",34),e.nrm(86,"rect",35),e.k0s()(),e.nrm(87,"rect",36),e.k0s(),e.joV(),e.j41(88,"div",37)(89,"div",38)(90,"div"),e.EFF(91,"Angor Hub"),e.k0s()(),e.j41(92,"div",39),e.EFF(93," Angor Hub is a Nostr client customized around the Angor protocol, a decentralized crowdfunding platform. "),e.k0s()()()()}if(2&r){const c=e.sdS(37),l=e.sdS(61),m=e.sdS(70);e.R7$(9),e.Y8G("routerLink",e.lJ4(26,b)),e.R7$(2),e.Y8G("ngIf",o.showSecAlert),e.R7$(8),e.Y8G("svgIcon","feather:zap"),e.R7$(3),e.Y8G("formGroup",o.SecretKeyLoginForm),e.R7$(10),e.vxM(o.SecretKeyLoginForm.get("secretKey").hasError("required")?32:-1),e.R7$(4),e.Y8G("formControlName","password"),e.R7$(3),e.Y8G("ngIf","password"===c.type),e.R7$(),e.Y8G("ngIf","text"===c.type),e.R7$(),e.Y8G("ngIf",o.SecretKeyLoginForm.get("password").hasError("required")),e.R7$(),e.Y8G("disabled",o.SecretKeyLoginForm.invalid),e.R7$(),e.Y8G("ngIf",!o.loading),e.R7$(),e.Y8G("ngIf",o.loading),e.R7$(6),e.Y8G("ngIf",o.showMenemonicAlert),e.R7$(),e.Y8G("formGroup",o.MenemonicLoginForm),e.R7$(5),e.vxM(o.MenemonicLoginForm.get("menemonic").hasError("required")?56:-1),e.R7$(4),e.Y8G("formControlName","passphrase"),e.R7$(3),e.Y8G("ngIf","password"===l.type),e.R7$(),e.Y8G("ngIf","text"===l.type),e.R7$(),e.Y8G("ngIf",o.MenemonicLoginForm.get("passphrase").hasError("required")),e.R7$(4),e.Y8G("formControlName","password"),e.R7$(3),e.Y8G("ngIf","password"===m.type),e.R7$(),e.Y8G("ngIf","text"===m.type),e.R7$(),e.Y8G("ngIf",o.MenemonicLoginForm.get("password").hasError("required")),e.R7$(),e.Y8G("disabled",o.MenemonicLoginForm.invalid),e.R7$(),e.Y8G("ngIf",!o.loading),e.R7$(),e.Y8G("ngIf",o.loading)}},dependencies:[F.Wk,x.h,a.YN,a.qT,a.me,a.BC,a.cb,a.X1,a.j4,a.JD,p.RG,p.rl,p.nJ,p.TL,p.yw,v.fS,v.fg,g.Hl,g.$z,g.iY,f.m_,f.An,w.g7,y.D6,y.LG,h.MD,h.bT],encapsulation:2})}}return t})()}]}}]);
\ No newline at end of file
diff --git a/232.e86c6a10c949ded0.js b/232.e86c6a10c949ded0.js
new file mode 100644
index 0000000..798ef31
--- /dev/null
+++ b/232.e86c6a10c949ded0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkangor=self.webpackChunkangor||[]).push([[232],{6232:(z,d,i)=>{i.r(d),i.d(d,{default:()=>U});var u=i(3014),x=i(6903),h=i(4460),m=i(936),g=i(9471),w=i(2992),p=i(6071),f=i(3904),v=i(6389),y=i(1054),F=i(8716),e=i(3107),L=i(8078),_=i(6433),k=i(4482);const b=()=>["/create"];function j(t,s){if(1&t&&(e.j41(0,"angor-alert",40),e.EFF(1),e.k0s()),2&t){const n=e.XpG();e.Y8G("appearance","outline")("showIcon",!1)("type",n.secAlert.type)("@shake","error"===n.secAlert.type),e.R7$(),e.SpI(" ",n.secAlert.message," ")}}function S(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Secret key is required "),e.k0s())}function E(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function I(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function C(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Password is required "),e.k0s())}function G(t,s){1&t&&(e.j41(0,"span"),e.EFF(1,"Login"),e.k0s())}function A(t,s){1&t&&e.nrm(0,"mat-progress-spinner",41)}function N(t,s){if(1&t&&(e.j41(0,"angor-alert",40),e.EFF(1),e.k0s()),2&t){const n=e.XpG();e.Y8G("appearance","outline")("showIcon",!1)("type",n.menemonicAlert.type)("@shake","error"===n.menemonicAlert.type),e.R7$(),e.SpI(" ",n.menemonicAlert.message," ")}}function Y(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Mnemonic is required "),e.k0s())}function R(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function T(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function $(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Passphrase is required "),e.k0s())}function K(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye")}function M(t,s){1&t&&e.nrm(0,"mat-icon",15),2&t&&e.Y8G("svgIcon","heroicons_solid:eye-slash")}function B(t,s){1&t&&(e.j41(0,"mat-error"),e.EFF(1," Password is required "),e.k0s())}function D(t,s){1&t&&(e.j41(0,"span"),e.EFF(1,"Login"),e.k0s())}function P(t,s){1&t&&e.nrm(0,"mat-progress-spinner",41)}const U=[{path:"",component:(()=>{class t{constructor(n,r,o,c,l){this._formBuilder=n,this._router=r,this._signerService=o,this._stateService=c,this._nostrLoginService=l,this.secAlert={type:"error",message:""},this.showSecAlert=!1,this.menemonicAlert={type:"error",message:""},this.showMenemonicAlert=!1,this.loading=!1,this.isInstalledExtension=!1,this.privateKey=new Uint8Array,this.publicKey="",this.npub="",this.nsec="",this.useNostrLogin=!0}ngOnInit(){this.subscription=this._nostrLoginService.getPublicKeyObservable().subscribe({next:n=>{this.publicKey=n,this._signerService.setPublicKey(n),this.initializeAppState(),this._router.navigateByUrl("/home")},error:n=>console.error("Error receiving public key:",n)}),this.initializeForms(),this.checkNostrExtensionAvailability()}login(){this._nostrLoginService.launchLoginScreen()}signup(){this._nostrLoginService.launchSignupScreen()}initializeAppState(){var n=this;return(0,u.A)(function*(){const r=n._signerService.getPublicKey();r&&(yield n._stateService.loadUserProfile(r),console.log("User profile loaded with public key:",r))})()}initializeForms(){this.SecretKeyLoginForm=this._formBuilder.group({secretKey:["",[m.k0.required,m.k0.minLength(3)]],password:[""]}),this.MenemonicLoginForm=this._formBuilder.group({menemonic:["",[m.k0.required,m.k0.minLength(3)]],passphrase:[""],password:[""]})}checkNostrExtensionAvailability(){const n=globalThis;this.isInstalledExtension=!(!n.nostr||"function"!=typeof n.nostr.signEvent)}loginWithSecretKey(){if(this.SecretKeyLoginForm.invalid)return;const n=this.SecretKeyLoginForm.get("secretKey")?.value,r=this.SecretKeyLoginForm.get("password")?.value;this.loading=!0,this.showSecAlert=!1;try{if(!this._signerService.handleLoginWithKey(n,r))throw new Error("Secret key is missing or invalid.");this.initializeAppState(),this._router.navigateByUrl("/home")}catch(o){this.loading=!1,this.secAlert.message=o instanceof Error?o.message:"An unexpected error occurred.",this.showSecAlert=!0,console.error("Login error: ",o)}}loginWithMenemonic(){if(this.MenemonicLoginForm.invalid)return;const n=this.MenemonicLoginForm.get("menemonic")?.value,r=this.MenemonicLoginForm.get("passphrase")?.value||"",o=this.MenemonicLoginForm.get("password")?.value;this.loading=!0,this.showMenemonicAlert=!1,this._signerService.handleLoginWithMnemonic(n,r,o)?(this.initializeAppState(),this._router.navigateByUrl("/home")):(this.loading=!1,this.menemonicAlert.message="Menemonic is missing or invalid.",this.showMenemonicAlert=!0)}loginWithNostrExtension(){var n=this;return(0,u.A)(function*(){try{(yield n._signerService.handleLoginWithExtension())?(n.initializeAppState(),n._router.navigateByUrl("/home")):console.error("Failed to log in using Nostr extension")}catch(r){console.error("An error occurred during login with Nostr extension",r)}})()}static{this.\u0275fac=function(r){return new(r||t)(e.rXU(m.ok),e.rXU(F.Ix),e.rXU(L.A),e.rXU(_.d),e.rXU(k.v))}}static{this.\u0275cmp=e.VBU({type:t,selectors:[["auth-sign-in"]],decls:94,vars:27,consts:[["secretPasswordField",""],["passphraseField",""],["menemonicPasswordField",""],[1,"flex","min-w-0","flex-auto","flex-col","items-center","sm:flex-row","sm:justify-center","md:items-start","md:justify-start"],[1,"w-full","px-4","py-8","sm:bg-card","sm:w-auto","sm:rounded-2xl","sm:p-12","sm:shadow","md:flex","md:h-full","md:w-1/2","md:items-center","md:justify-end","md:rounded-none","md:p-16","md:shadow-none"],[1,"mx-auto","w-full","max-w-80","sm:mx-0","sm:w-80"],[1,"mt-8","text-4xl","font-extrabold","leading-tight","tracking-tight"],[1,"mt-0.5","flex","items-baseline","font-medium"],[1,"ml-1","text-primary-500","hover:underline",3,"routerLink"],["class","mt-8",3,"appearance","showIcon","type",4,"ngIf"],[1,"mt-8","flex","items-center"],[1,"mt-px","flex-auto","border-t"],[1,"text-secondary","mx-2"],[1,"mt-8","flex","items-center","space-x-4"],["type","button","mat-stroked-button","",1,"flex-auto","space-x-2",3,"click"],[1,"icon-size-5",3,"svgIcon"],[1,"mt-8",3,"ngSubmit","formGroup"],[1,"w-full"],["matInput","","formControlName","secretKey","autocomplete","secretKey"],["matInput","","type","password","autocomplete","current-password-seckey",3,"formControlName"],["mat-icon-button","","type","button","matSuffix","",3,"click"],["class","icon-size-5",3,"svgIcon",4,"ngIf"],[4,"ngIf"],["mat-flat-button","","color","primary",1,"angor-mat-button-large","mt-6","w-full",3,"disabled"],["diameter","24","mode","indeterminate",4,"ngIf"],["matInput","","formControlName","menemonic","autocomplete","menemonic"],["matInput","","type","password","autocomplete","current-passphrase-menemonic",3,"formControlName"],["matInput","","type","password","autocomplete","current-password-menemonic",3,"formControlName"],[1,"relative","hidden","h-full","w-1/2","flex-auto","items-center","justify-center","overflow-hidden","bg-gray-800","p-16","dark:border-l","md:flex","lg:px-28"],["viewBox","0 0 960 540","width","100%","height","100%","preserveAspectRatio","xMidYMax slice","xmlns","http://www.w3.org/2000/svg",1,"pointer-events-none","absolute","inset-0"],["fill","none","stroke","currentColor","stroke-width","100",1,"text-gray-700","opacity-25"],["r","234","cx","196","cy","23"],["r","234","cx","790","cy","491"],["viewBox","0 0 220 192","width","220","height","192","fill","none",1,"absolute","-right-16","-top-16","text-gray-700"],["id","837c3e70-6c3a-44e6-8854-cc48c737b659","x","0","y","0","width","20","height","20","patternUnits","userSpaceOnUse"],["x","0","y","0","width","4","height","4","fill","currentColor"],["width","220","height","192","fill","url(#837c3e70-6c3a-44e6-8854-cc48c737b659)"],[1,"relative","z-10","w-full","max-w-2xl"],[1,"text-7xl","font-bold","leading-none","text-gray-100"],[1,"mt-6","text-lg","leading-6","tracking-tight","text-gray-400"],[1,"mt-8",3,"appearance","showIcon","type"],["diameter","24","mode","indeterminate"]],template:function(r,o){if(1&r){const c=e.RV6();e.j41(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6),e.EFF(4," Login "),e.k0s(),e.j41(5,"div")(6,"div",7)(7,"div"),e.EFF(8,"Don't have an account?"),e.k0s(),e.j41(9,"a",8),e.EFF(10,"Create account"),e.k0s()(),e.DNE(11,j,2,5,"angor-alert",9),e.j41(12,"div",10),e.nrm(13,"div",11),e.j41(14,"div",12),e.EFF(15," Login with extension "),e.k0s(),e.nrm(16,"div",11),e.k0s(),e.j41(17,"div",13)(18,"button",14),e.bIt("click",function(){return e.eBV(c),e.Njj(o.login())}),e.nrm(19,"mat-icon",15),e.j41(20,"span"),e.EFF(21,"Login with Nostr Extension"),e.k0s()()(),e.j41(22,"form",16),e.bIt("ngSubmit",function(){return e.eBV(c),e.Njj(o.loginWithSecretKey())}),e.j41(23,"div",10),e.nrm(24,"div",11),e.j41(25,"div",12),e.EFF(26,"Or enter secret key"),e.k0s(),e.nrm(27,"div",11),e.k0s(),e.j41(28,"mat-form-field",17)(29,"mat-label"),e.EFF(30,"Secret Key"),e.k0s(),e.nrm(31,"input",18),e.DNE(32,S,2,0,"mat-error"),e.k0s(),e.j41(33,"mat-form-field",17)(34,"mat-label"),e.EFF(35,"Password (Optional)"),e.k0s(),e.nrm(36,"input",19,0),e.j41(38,"button",20),e.bIt("click",function(){e.eBV(c);const a=e.sdS(37);return e.Njj(a.type="password"===a.type?"text":"password")}),e.DNE(39,E,1,1,"mat-icon",21)(40,I,1,1,"mat-icon",21),e.k0s(),e.DNE(41,C,2,0,"mat-error",22),e.k0s(),e.j41(42,"button",23),e.DNE(43,G,2,0,"span",22)(44,A,1,0,"mat-progress-spinner",24),e.k0s()(),e.j41(45,"div",10),e.nrm(46,"div",11),e.j41(47,"div",12),e.EFF(48,"Or enter mnemonic"),e.k0s(),e.nrm(49,"div",11),e.k0s(),e.DNE(50,N,2,5,"angor-alert",9),e.j41(51,"form",16),e.bIt("ngSubmit",function(){return e.eBV(c),e.Njj(o.loginWithMenemonic())}),e.j41(52,"mat-form-field",17)(53,"mat-label"),e.EFF(54,"Mnemonic"),e.k0s(),e.nrm(55,"input",25),e.DNE(56,Y,2,0,"mat-error"),e.k0s(),e.j41(57,"mat-form-field",17)(58,"mat-label"),e.EFF(59,"Passphrase (Optional)"),e.k0s(),e.nrm(60,"input",26,1),e.j41(62,"button",20),e.bIt("click",function(){e.eBV(c);const a=e.sdS(61);return e.Njj(a.type="password"===a.type?"text":"password")}),e.DNE(63,R,1,1,"mat-icon",21)(64,T,1,1,"mat-icon",21),e.k0s(),e.DNE(65,$,2,0,"mat-error",22),e.k0s(),e.j41(66,"mat-form-field",17)(67,"mat-label"),e.EFF(68,"Password (Optional)"),e.k0s(),e.nrm(69,"input",27,2),e.j41(71,"button",20),e.bIt("click",function(){e.eBV(c);const a=e.sdS(70);return e.Njj(a.type="password"===a.type?"text":"password")}),e.DNE(72,K,1,1,"mat-icon",21)(73,M,1,1,"mat-icon",21),e.k0s(),e.DNE(74,B,2,0,"mat-error",22),e.k0s(),e.j41(75,"button",23),e.DNE(76,D,2,0,"span",22)(77,P,1,0,"mat-progress-spinner",24),e.k0s()()()()(),e.j41(78,"div",28),e.qSk(),e.j41(79,"svg",29)(80,"g",30),e.nrm(81,"circle",31)(82,"circle",32),e.k0s()(),e.j41(83,"svg",33)(84,"defs")(85,"pattern",34),e.nrm(86,"rect",35),e.k0s()(),e.nrm(87,"rect",36),e.k0s(),e.joV(),e.j41(88,"div",37)(89,"div",38)(90,"div"),e.EFF(91,"Angor Hub"),e.k0s()(),e.j41(92,"div",39),e.EFF(93," Angor Hub is a Nostr client customized around the Angor protocol, a decentralized crowdfunding platform. "),e.k0s()()()()}if(2&r){const c=e.sdS(37),l=e.sdS(61),a=e.sdS(70);e.R7$(9),e.Y8G("routerLink",e.lJ4(26,b)),e.R7$(2),e.Y8G("ngIf",o.showSecAlert),e.R7$(8),e.Y8G("svgIcon","feather:zap"),e.R7$(3),e.Y8G("formGroup",o.SecretKeyLoginForm),e.R7$(10),e.vxM(o.SecretKeyLoginForm.get("secretKey").hasError("required")?32:-1),e.R7$(4),e.Y8G("formControlName","password"),e.R7$(3),e.Y8G("ngIf","password"===c.type),e.R7$(),e.Y8G("ngIf","text"===c.type),e.R7$(),e.Y8G("ngIf",o.SecretKeyLoginForm.get("password").hasError("required")),e.R7$(),e.Y8G("disabled",o.SecretKeyLoginForm.invalid),e.R7$(),e.Y8G("ngIf",!o.loading),e.R7$(),e.Y8G("ngIf",o.loading),e.R7$(6),e.Y8G("ngIf",o.showMenemonicAlert),e.R7$(),e.Y8G("formGroup",o.MenemonicLoginForm),e.R7$(5),e.vxM(o.MenemonicLoginForm.get("menemonic").hasError("required")?56:-1),e.R7$(4),e.Y8G("formControlName","passphrase"),e.R7$(3),e.Y8G("ngIf","password"===l.type),e.R7$(),e.Y8G("ngIf","text"===l.type),e.R7$(),e.Y8G("ngIf",o.MenemonicLoginForm.get("passphrase").hasError("required")),e.R7$(4),e.Y8G("formControlName","password"),e.R7$(3),e.Y8G("ngIf","password"===a.type),e.R7$(),e.Y8G("ngIf","text"===a.type),e.R7$(),e.Y8G("ngIf",o.MenemonicLoginForm.get("password").hasError("required")),e.R7$(),e.Y8G("disabled",o.MenemonicLoginForm.invalid),e.R7$(),e.Y8G("ngIf",!o.loading),e.R7$(),e.Y8G("ngIf",o.loading)}},dependencies:[F.Wk,x.h,m.YN,m.qT,m.me,m.BC,m.cb,m.X1,m.j4,m.JD,p.RG,p.rl,p.nJ,p.TL,p.yw,v.fS,v.fg,g.Hl,g.$z,g.iY,f.m_,f.An,w.g7,y.D6,y.LG,h.MD,h.bT],encapsulation:2})}}return t})()}]}}]);
\ No newline at end of file
diff --git a/404.html b/404.html
index e9c8335..98f091b 100644
--- a/404.html
+++ b/404.html
@@ -41,5 +41,5 @@
-