import{d as r}from"./p-fe259235.js";import{c as t}from"./p-4528e464.js";import{g as s}from"./p-6f78ea17.js";import{A as a}from"./p-bc71b894.js";import{m as e}from"./p-9bfc5cec.js";import{n as o,d as i}from"./p-a7724efa.js";import{g as S}from"./p-f4d2e8f3.js";import{g as m,c as n,s as E}from"./p-a53c9466.js";import{a as R}from"./p-1bab3be7.js";import{u as _}from"./p-6554ff4e.js";const p="INIT_CURRENT_USER_REQUEST",f="INIT_CURRENT_USER_SUCCESS",u="INIT_CURRENT_USER_ERROR",c="SIGN_IN_REQUEST",l="SIGN_IN_SUCCESS",T="SIGN_IN_ERROR",U="SIGN_UP_REQUEST",O="SIGN_UP_SUCCESS",g="SIGN_UP_ERROR",y="FORGOT_PASSWORD_REQUEST",A="FORGOT_PASSWORD_SUCCESS",N="FORGOT_PASSWORD_ERROR",P="FORGOT_PASSWORD_SUBMIT_REQUEST",h="FORGOT_PASSWORD_SUBMIT_SUCCESS",C="FORGOT_PASSWORD_SUBMIT_ERROR",G="LOGOUT_REQUEST",I="LOGOUT_SUCCESS",D="LOGOUT_ERROR",d="UPDATE_PASSWORD_REQUEST",b="UPDATE_PASSWORD_SUCCESS",j="UPDATE_PASSWORD_ERROR",w="GET_USER_TOKEN_REQUEST",x="GET_USER_TOKEN_SUCCESS",Q="GET_USER_TOKEN_ERROR";let W,F;class B{static isNotEmptyString(r){return null!=r&&""!==r&&"string"==typeof r}static isNotEmpty(r){return null!=r}static isEmptyArray(r){return r instanceof Array&&0===r.length}static isAppropriateNumber(r){return!(!this.isNotEmpty(r)||isNaN(r))}static getDateFromString(r){return B.dateArray[r]||(B.dateArray[r]=new Date(e(r).format())),B.dateArray[r]}static getHumanDateString(r){return e(r).utcOffset(r).format("MM/DD/YYYY hh:mm A")}static getTimestampByUtcOffset(r){return 1e3*e().utc(!1).add(r,"minutes").unix()}static isEmptyHtml(r){if(this.isNotEmptyString(r)){let t=r.replace(/<script[^>]*>(?:[^<]+|<(\/script>))+/g,"");return t=t.replace(/<[^>]*>/g,""),t=t.replace(/\[(.*?)\]/g,""),t=t.replace(/\[[a-zA-Z0-9]*]/g,""),t=t.replace(/\s\s/g,""),t=t.replace(/(?=lt;)(.*)(?=gt)/g,""),t=t.replace(/\&/g,""),t=t.replace(/amp/g,""),t=t.replace(/gt\;/g,""),t=t.replace(/lt\;/g,""),t=t.replace(/(\.+)/g,""),!this.isNotEmptyString(t)}return!0}static fixLinksInText(r){let t=r.match('<a href="(.*?)"[^>]*>');for(;null!=t;){const s=t.value[0].replace(/"/g,"'").replace("href=","target='_blank' href=").replace(/\\\'/g,"");t=(r=r.replace(t.value[0],s)).match('<a href="(.*?)"[^>]*>')}return r}static orderTShirtsBySize(r){const t=["xs","s","m","l","xl","xxl","xxxl"];return r.sort((r,s)=>t.indexOf(r.value)>t.indexOf(s.value)?1:-1)}}B.dateArray=[];const K=r("mvu:auth"),L=()=>{const r=S().getState();return Promise.resolve(r.isAuthenticated)},M=()=>{const r=S().getState(),t=i(r.userId,R,r.entities);return Promise.resolve(t)},k=()=>Amplify.Auth.currentUserInfo(),Y=()=>{const r=S();return(()=>{const r=S().getState(),t=a.injector();try{return t.tokenService.userAuthToken=r.content.userAuth.data.accessToken,t.tokenService.userAuthTokenExpirationDate=B.getDateFromString(r.content.userAuth.data.expiresAt),t.tokenService.userRefreshToken=r.content.userAuth.data.refreshToken,!t.tokenService.userAuthToken||new Date>t.tokenService.userAuthTokenExpirationDate?Promise.reject(!1):Promise.resolve(!0)}catch(s){return Promise.resolve(!1)}})().then(()=>m()).then(t=>r.getState().isAuthenticated?Promise.resolve(t):Promise.reject("no auth")).catch(()=>Promise.reject("no auth"))},v=r=>{const s=S();return s.dispatch(t("GET_USER_TOKEN_REQUEST")()),E(r.email,r.password,r.recaptcha).then(r=>{if(!r||!r.getUserToken)throw{errors:[{inputName:"form_error",errors:["Password incorrect, please try again"]}],formData:"",formPath:""};const e=r.getUserToken,i=o(e,{data:[_]}),S=a.injector();return S.tokenService.userAuthToken=e.accessToken,S.tokenService.userAuthTokenExpirationDate=B.getDateFromString(e.expiresAt),S.tokenService.userRefreshToken=e.refreshToken,s.dispatch((r=>t("GET_USER_TOKEN_SUCCESS")(r))(i)),r}).catch(r=>{if(s.dispatch((r=>t("GET_USER_TOKEN_ERROR")(r))(r)),"string"==typeof r)throw{code:"amplifyError",message:r,name:"amplifyError"};throw r})},z=r=>Amplify.Auth.signIn(r.email,r.password).then(()=>n(r.email)).then(r=>(Amplify.API.graphql(Amplify.graphqlOperation(s)).then(r=>r.data.getForumAuthToken.authtoken).then(r=>{F=r,W=document.createElement("img"),W.src="https://mvu.discussion.community/register/dologin?authtoken="+F,W.setAttribute("border","0"),W.setAttribute("width","1"),W.setAttribute("border","1"),W.setAttribute("alt",""),document.body.appendChild(W)}).catch(r=>{K("forum authenticate error",r)}),r)).catch(r=>{if("string"==typeof r)throw{code:"amplifyError",message:r,name:"amplifyError"};throw r}),H=r=>Amplify.Auth.signUp({username:r.email,password:r.password}).then(()=>null),q=r=>Amplify.Auth.forgotPassword(r).then(()=>null),Z=(r,t,s)=>Amplify.Auth.forgotPasswordSubmit(r,t,s).then(()=>null),J=()=>{const r=a.injector();return r.tokenService.userAuthToken=null,r.tokenService.userAuthTokenExpirationDate=null,r.tokenService.userRefreshToken=null,Promise.resolve(!0)},V=r=>{const t=Amplify.Auth;return t.currentAuthenticatedUser().then(s=>t.changePassword(s,r.currentPassword,r.newPassword))};export{L as A,M as B,k as C,y as F,x as G,p as I,G as L,U as S,d as U,f as a,u as b,I as c,D as d,A as e,q as f,N as g,O as h,Y as i,g as j,c as k,J as l,z as m,l as n,T as o,v as p,b as q,j as r,H as s,P as t,V as u,Z as v,h as w,C as x,w as y,Q as z}