passcodeLockScreen-BN9etVyh.js 6.6 KB

12
  1. import{a0 as ee,a1 as B,c as G,a2 as P,a3 as M,a4 as S,i as d,b as l,a as _,a5 as W,a6 as te,t as C,a7 as Y,a8 as j,p as w,a9 as ne,aa as U,z as X,k as $,ab as oe,ac as se,ad as ae,ae as re,af as ie,ag as ce,ah as de,ai as ue,D as L,F as le}from"./index-DY5g4xXp.js";import{u as pe,M as V}from"./actions-DBEd1qWk.js";import{T as me,u as ge,C as fe,f as _e}from"./chatBackground-BDyyPNqH.js";import{S as R}from"./space-DePv9xpH.js";import"./classNames-CdwF1uUB.js";const ve="_PasswordMonkey_1h0e6_1",ye="_hidden_1h0e6_8",ke="_MonkeyImage_1h0e6_13",x={PasswordMonkey:ve,hidden:ye,MonkeyImage:ke},$e=C("<img src=assets/img/password-monkey-closed.png>"),Pe=C("<div>"),he=a=>{const n=ee({size:100},a),{PasswordMonkey:i}=B(),[m,g]=G(),[v,h]=G(!1);return P(()=>{const o=new i(n.passwordInputField,n.size);o.load().then(()=>h(!0)),g(o),M(()=>{o.remove()})}),(()=>{const o=Pe(),f=n.ref;return typeof f=="function"?S(f,o):n.ref=o,d(o,()=>m().container,null),d(o,l(W,{get when(){return!v()},get children(){const c=$e();return P(()=>_(c,x.MonkeyImage)),c}}),null),P(c=>{const e=x.PasswordMonkey,A={[x.hidden]:n.hidden},y=n.size+"px";return e!==c._v$&&_(o,c._v$=e),c._v$2=te(o,A,c._v$2),y!==c._v$3&&((c._v$3=y)!=null?o.style.setProperty("--size",y):o.style.removeProperty("--size")),c},{_v$:void 0,_v$2:void 0,_v$3:void 0}),o})()},be="_Popup_1o70z_1",we={Popup:be},Ce=C('<div><div class=popup-container><div class=popup-header><div class=popup-title></div></div><div class=popup-description></div><div class=popup-buttons><button class="popup-button btn danger"></button><button class="popup-button btn primary"autofocus>'),Le=a=>(j(()=>{const n=i=>{i.key==="Escape"&&a.onClose?.()};document.addEventListener("keydown",n),M(()=>{document.removeEventListener("keydown",n)})}),l(oe,{get children(){return l(me,{onEnter:async(n,i)=>{await w(0),n.classList.add("active"),await w(0),i()},onExit:async(n,i)=>{n.classList.remove("active"),await w(200),i()},get children(){return ne(()=>!!a.visible)()&&(()=>{const n=Ce(),i=n.firstChild,m=i.firstChild,g=m.firstChild,v=m.nextSibling,h=v.nextSibling,o=h.firstChild,f=o.nextSibling;return n.$$click=c=>{c.target===c.currentTarget&&a.onClose?.()},d(g,()=>a.title),d(v,()=>a.description),U(o,"click",a.onConfirm,!0),S(X,o,()=>!0),d(o,()=>a.confirmButtonContent),U(f,"click",a.onClose,!0),S(X,f,()=>!0),d(f,()=>$("Cancel")),P(()=>_(n,"popup popup-peer popup-confirmation "+we.Popup)),n})()}})}}));Y(["click"]);const Me=a=>{const{themeController:n,rootScope:i}=B(),m=ge();return l(W,{get when(){return m()!==se.mobile},get children(){return l(fe,{themeController:n,get managers(){return i.managers},get gradientRendererRef(){return a.gradientRendererRef}})}})},Se="_Container_likt7_36",Ae="_Card_likt7_46",Ee="_Description_likt7_60",Ie="_Input_likt7_67",Te="_SubmitButton_likt7_71",Re="_LogoutButton_likt7_75",k={Container:Se,Card:Ae,Description:Ee,Input:Ie,SubmitButton:Te,LogoutButton:Re},xe=C('<div><div><form action=""><button type=button></button><button hidden type=submit></button></form><div>'),Be=C("<button>"),Oe=5,ze=60,Ue=a=>{let n,i,m,g=0;const{isMyPasscode:v,unlockWithPasscode:h}=pe(),{InputFieldTsx:o,PasswordInputField:f,apiManagerProxy:c}=B(),e=ae({isMonkeyHidden:!!a.fromLockIcon,isError:!1,tooManyAttempts:!1,passcode:"",isLogoutPopupOpen:!1}),[A]=re(()=>le.getUnencryptedTotalAccounts());j(()=>{g=0;const t=a.fromLockIcon;t&&(async()=>{const p=t.getBoundingClientRect(),u=m.getBoundingClientRect();t.style.setProperty("--x",u.left+u.width/2+"px"),t.style.setProperty("--y",u.top+u.height/2+"px"),t.style.setProperty("--scale",u.width/p.width+""),t.classList.add("passcode-lock-screen__animated-lock-icon--shift-body"),await w(500),t.classList.add("passcode-lock-screen__animated-lock-icon--disappear"),e.isMonkeyHidden=!1,await w(400),t.remove(),a.onAnimationEnd?.()})();const r=p=>{document.activeElement&&document.activeElement.tagName==="INPUT"||_e(i.input,p)};document.addEventListener("keydown",r),M(()=>{document.removeEventListener("keydown",r)})});let y;function q(){if(y?.(),e.gradientRenderer){let t=0;y=de(0,1,200,r=>t=r),e.gradientRenderer.toNextPosition(()=>t)}}const J=ie(q,100,!0);ce(ue(()=>e.passcode,()=>{J(),e.isError=!1,e.tooManyAttempts=!1})),M(()=>{e.passcode="",i.input.value=""});const K=()=>!!e.passcode&&e.passcode.length<=V,Q=async()=>{const t=structuredClone(await L.get("settings",!1)),r=t?.passcode?.canAttemptAgainOn;return r?r>Date.now()?!1:(e.tooManyAttempts=!1,g=0,t.passcode.canAttemptAgainOn=null,L.set({settings:t}),!0):!0};let E=!1;const O=async t=>{if(t?.preventDefault(),!E){E=!0;try{if(!await Q())e.tooManyAttempts=!0;else if(K()&&await v(e.passcode))await h(e.passcode),a.onUnlock();else if(g++,e.isError=!0,g>Oe){e.tooManyAttempts=!0;const r=structuredClone(await L.get("settings",!1));r.passcode.canAttemptAgainOn=Date.now()+ze*1e3,await L.set({settings:r})}}catch{e.isError=!0}finally{E=!1}}},Z=l(o,{InputFieldClass:f,instanceRef:t=>void(i=t),get class(){return k.Input},get value(){return e.passcode},onRawInput:t=>void(e.passcode=t),label:"PasscodeLock.EnterYourPasscode",get errorLabel(){return e.tooManyAttempts?"PasscodeLock.TooManyAttempts":e.isError?"PasscodeLock.WrongPasscode":void 0},maxLength:V});return(()=>{const t=xe(),r=t.firstChild,p=r.firstChild,u=p.firstChild,I=u.nextSibling,T=p.nextSibling,z=n;return typeof z=="function"?S(z,t):n=t,d(t,l(Me,{gradientRendererRef:s=>void(e.gradientRenderer=s)}),r),d(r,l(he,{get hidden(){return e.isMonkeyHidden},ref(s){const b=m;typeof b=="function"?b(s):m=s},passwordInputField:i}),p),d(r,l(R,{amount:"1.125rem"}),p),p.addEventListener("submit",O),d(p,Z,u),d(p,l(R,{amount:"1rem"}),u),u.$$mousedown=()=>{O()},d(u,()=>$("PasscodeLock.Proceed")),I.style.setProperty("visibility","hidden"),I.style.setProperty("height","0"),I.style.setProperty("width","0"),d(r,l(R,{amount:"1.625rem"}),T),d(T,()=>$(A()>1?"PasscodeLock.ForgotPasscode.MultipleAccounts":"PasscodeLock.ForgotPasscode.OneAccount",[(()=>{const s=Be();return s.$$click=()=>{e.isLogoutPopupOpen=!0},P(()=>_(s,k.LogoutButton)),s})()])),d(t,l(Le,{get visible(){return e.isLogoutPopupOpen},get title(){return $("LogOut")},get description(){return $("PasscodeLock.LogoutPopup.Description")},get confirmButtonContent(){return $("LogOut")},onConfirm:()=>{c.invokeVoid("forceLogout",void 0)},onClose:()=>void(e.isLogoutPopupOpen=!1)}),null),P(s=>{const b=k.Container,D=k.Card,F=`btn-primary btn-color-primary btn-large ${k.SubmitButton}`,H=!e.passcode,N=k.Description;return b!==s._v$&&_(t,s._v$=b),D!==s._v$2&&_(r,s._v$2=D),F!==s._v$3&&_(u,s._v$3=F),H!==s._v$4&&(u.disabled=s._v$4=H),N!==s._v$5&&_(T,s._v$5=N),s},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),t})()};Y(["mousedown","click"]);export{Ue as default};
  2. //# sourceMappingURL=passcodeLockScreen-BN9etVyh.js.map