mario-core 2.0.32-release → 2.0.33-release

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/Dashboard-BIhv8car.js +1 -0
  2. package/dist/Dashboard-BY5BVLIW.mjs +206 -0
  3. package/dist/Dashboard-BYXh-LYm.mjs +206 -0
  4. package/dist/Dashboard-Bp0ko4Nx.js +1 -0
  5. package/dist/Dashboard-BxX4EZkL.mjs +206 -0
  6. package/dist/Dashboard-CLvLdCvD.mjs +206 -0
  7. package/dist/Dashboard-CjDPZlwI.js +1 -0
  8. package/dist/Dashboard-D4yeROnn.mjs +206 -0
  9. package/dist/Dashboard-D6igZd4M.js +1 -0
  10. package/dist/Dashboard-D7X8bg8t.mjs +206 -0
  11. package/dist/Dashboard-DRaSlZLc.js +1 -0
  12. package/dist/Dashboard-DbI4E9od.js +1 -0
  13. package/dist/EmailTemplateDetail-B-Kab5TK.mjs +443 -0
  14. package/dist/EmailTemplateDetail-BJGaN7uh.js +1 -0
  15. package/dist/EmailTemplateDetail-BOqn4rkr.mjs +417 -0
  16. package/dist/EmailTemplateDetail-BlhCa_EF.mjs +443 -0
  17. package/dist/EmailTemplateDetail-CW0ymDWF.mjs +443 -0
  18. package/dist/EmailTemplateDetail-CZKvX-_q.js +1 -0
  19. package/dist/EmailTemplateDetail-D4EupjNO.js +1 -0
  20. package/dist/EmailTemplateDetail-DDbJbMWn.js +1 -0
  21. package/dist/EmailTemplateDetail-DP04M6QH.js +1 -0
  22. package/dist/EmailTemplateDetail-DSeAyn-F.mjs +443 -0
  23. package/dist/EmailTemplateDetail-J5R0X631.mjs +443 -0
  24. package/dist/EmailTemplateDetail-c2RcFzG5.js +1 -0
  25. package/dist/EmailTemplateList-BAVOo58z.js +1 -0
  26. package/dist/EmailTemplateList-BMCpm7sf.js +1 -0
  27. package/dist/EmailTemplateList-BQCcXdif.mjs +170 -0
  28. package/dist/EmailTemplateList-BVB1lsW7.mjs +170 -0
  29. package/dist/EmailTemplateList-BVfQCPzA.js +1 -0
  30. package/dist/EmailTemplateList-C-aj1Pl0.mjs +170 -0
  31. package/dist/EmailTemplateList-C5c2T4_M.mjs +170 -0
  32. package/dist/EmailTemplateList-D3G-A7Jo.js +1 -0
  33. package/dist/EmailTemplateList-DPQTaV4-.js +1 -0
  34. package/dist/EmailTemplateList-JRLV6pZW.mjs +170 -0
  35. package/dist/EmailTemplateList-ZTs0DmjS.js +1 -0
  36. package/dist/EmailTemplateList-gwkheOgx.mjs +168 -0
  37. package/dist/GalleryList-BU1m_MP_.js +1 -0
  38. package/dist/GalleryList-BftIdfu8.js +1 -0
  39. package/dist/GalleryList-Bl4FojYJ.mjs +329 -0
  40. package/dist/GalleryList-ByJ1_7Qx.mjs +329 -0
  41. package/dist/GalleryList-CVzc1xGW.js +1 -0
  42. package/dist/GalleryList-D5E7p3kE.mjs +329 -0
  43. package/dist/GalleryList-D5ZydfSV.js +1 -0
  44. package/dist/GalleryList-DHblERzG.js +1 -0
  45. package/dist/GalleryList-DXnU-Aou.mjs +329 -0
  46. package/dist/GalleryList-DpM906eg.mjs +329 -0
  47. package/dist/GalleryList-ZJ_mdpVZ.js +1 -0
  48. package/dist/GalleryList-oJNXivHy.mjs +329 -0
  49. package/dist/Login-A2cXwovI.mjs +1380 -0
  50. package/dist/Login-B69XhtIm.mjs +1380 -0
  51. package/dist/Login-BLyikyni.mjs +1380 -0
  52. package/dist/Login-Bwr0h4GC.js +1 -0
  53. package/dist/Login-C12Whvdx.js +1 -0
  54. package/dist/Login-CIcbHD7-.mjs +1380 -0
  55. package/dist/Login-D7gUoYyV.js +1 -0
  56. package/dist/Login-DEMe7ra6.js +1 -0
  57. package/dist/Login-Dcwb-HaZ.js +1 -0
  58. package/dist/Login-Rwbmk--s.js +1 -0
  59. package/dist/Login-h3o1lUKK.mjs +1380 -0
  60. package/dist/Login-xn2j4Jqq.mjs +1380 -0
  61. package/dist/NotificationList--DZcYUS5.js +2 -0
  62. package/dist/NotificationList-D26jJ6Wc.mjs +3969 -0
  63. package/dist/NotificationList-DZ1epO3L.mjs +3969 -0
  64. package/dist/NotificationList-D_lGCmIS.js +2 -0
  65. package/dist/NotificationList-Da-pWu35.js +2 -0
  66. package/dist/NotificationList-Dogczlgr.mjs +3969 -0
  67. package/dist/NotificationList-Dv0JIP69.js +2 -0
  68. package/dist/NotificationList-DygQSzwE.mjs +3969 -0
  69. package/dist/NotificationList-Ku1m25fI.mjs +3969 -0
  70. package/dist/NotificationList-Ml4QiyAE.mjs +3969 -0
  71. package/dist/NotificationList-_AHdv4bs.js +2 -0
  72. package/dist/NotificationList-rKx7xooX.js +2 -0
  73. package/dist/SkillList-BUDiP8Ba.mjs +386 -0
  74. package/dist/SkillList-Btum0zIE.js +1 -0
  75. package/dist/SkillList-C-dw1122.js +1 -0
  76. package/dist/SkillList-C0ZfIxCl.js +1 -0
  77. package/dist/SkillList-CZTd0oz_.mjs +386 -0
  78. package/dist/SkillList-DPU-l8aA.js +1 -0
  79. package/dist/SkillList-DTxT0Hbn.js +1 -0
  80. package/dist/SkillList-DVXAACsz.mjs +386 -0
  81. package/dist/SkillList-DX530KHp.mjs +386 -0
  82. package/dist/SkillList-DahOq8Os.mjs +386 -0
  83. package/dist/SkillList-DivkFIrP.mjs +386 -0
  84. package/dist/SkillList-yosFFVsc.js +1 -0
  85. package/dist/TeacherSelector-5UVov2Wf.mjs +30 -0
  86. package/dist/TeacherSelector-Bi582rEx.mjs +30 -0
  87. package/dist/TeacherSelector-BmmfQxU8.js +1 -0
  88. package/dist/TeacherSelector-BngXAzRe.mjs +30 -0
  89. package/dist/TeacherSelector-C7-XuXfb.mjs +30 -0
  90. package/dist/TeacherSelector-C9Z5JX-P.js +1 -0
  91. package/dist/TeacherSelector-CZ1DrLUk.js +1 -0
  92. package/dist/TeacherSelector-CbJ1kPyV.js +1 -0
  93. package/dist/TeacherSelector-CkGdl96R.js +1 -0
  94. package/dist/TeacherSelector-CxDiVyno.mjs +30 -0
  95. package/dist/TeacherSelector-DomtJIQi.js +1 -0
  96. package/dist/TeacherSelector-mjBcHGJF.mjs +30 -0
  97. package/dist/TheContent-B42qwDUV.mjs +38 -0
  98. package/dist/TheContent-BW03X6oT.mjs +38 -0
  99. package/dist/TheContent-CayaQR9C.js +1 -0
  100. package/dist/TheContent-CiU0FBTA.mjs +38 -0
  101. package/dist/TheContent-D5Qx4QXe.js +1 -0
  102. package/dist/TheContent-DHWnB8WX.js +1 -0
  103. package/dist/TheContent-DPy5BFuN.js +1 -0
  104. package/dist/TheContent-Dl7_h11H.mjs +38 -0
  105. package/dist/TheContent-DxN9-GIu.mjs +38 -0
  106. package/dist/TheContent-H-Hg7kIq.js +1 -0
  107. package/dist/TheContent-aEfXKW_H.mjs +38 -0
  108. package/dist/TheContent-xUKaH5bl.js +1 -0
  109. package/dist/UserContainer-3dOz3yZF.js +5 -0
  110. package/dist/UserContainer-B-abn6--.js +5 -0
  111. package/dist/UserContainer-BIl8c0yJ.js +5 -0
  112. package/dist/UserContainer-BjYrV0kt.mjs +2783 -0
  113. package/dist/UserContainer-BoJ73Ko9.js +5 -0
  114. package/dist/UserContainer-CFnSfW2A.js +5 -0
  115. package/dist/UserContainer-CGlDCED1.mjs +2771 -0
  116. package/dist/UserContainer-CqTUtCe6.mjs +2770 -0
  117. package/dist/UserContainer-CtYpysOo.mjs +2771 -0
  118. package/dist/UserContainer-Cu6koTiw.mjs +2771 -0
  119. package/dist/UserContainer-Dz991Fto.mjs +2770 -0
  120. package/dist/UserContainer-d3ywqdWh.js +5 -0
  121. package/dist/UserDetail-BCLssfN6.mjs +902 -0
  122. package/dist/UserDetail-BRCOabYu.mjs +902 -0
  123. package/dist/UserDetail-BsWWKLof.js +1 -0
  124. package/dist/UserDetail-CkMU6eej.js +1 -0
  125. package/dist/UserDetail-Cl6y6AtA.js +1 -0
  126. package/dist/UserDetail-CqBaMe5l.mjs +902 -0
  127. package/dist/UserDetail-D36q7Em-.mjs +902 -0
  128. package/dist/UserDetail-DFjYZZOc.js +1 -0
  129. package/dist/UserDetail-DIGlXdot.mjs +914 -0
  130. package/dist/UserDetail-DizNdqsR.mjs +902 -0
  131. package/dist/UserDetail-DwNEJ0kC.js +1 -0
  132. package/dist/UserDetail-Wn1wTs2Z.js +1 -0
  133. package/dist/UserList-4XLAsuI5.mjs +1205 -0
  134. package/dist/UserList-B9_Ok-O-.js +5 -0
  135. package/dist/UserList-BAirPxDM.js +7 -0
  136. package/dist/UserList-BFRsUwHp.js +5 -0
  137. package/dist/UserList-BgtFj_YA.mjs +1171 -0
  138. package/dist/UserList-BjEBqEMi.mjs +1205 -0
  139. package/dist/UserList-C6MCzl4Q.js +7 -0
  140. package/dist/UserList-CLDgmfZl.mjs +1171 -0
  141. package/dist/UserList-CRqA2Kvb.js +7 -0
  142. package/dist/UserList-D-5W9tzb.mjs +1205 -0
  143. package/dist/UserList-D63-z7TV.mjs +1205 -0
  144. package/dist/UserList-DX_DRp8l.js +7 -0
  145. package/dist/constants-1VW88-cg.mjs +320 -0
  146. package/dist/constants-B09dcc2W.js +1 -0
  147. package/dist/constants-BSg1aI4R.js +1 -0
  148. package/dist/constants-BXFDJA-1.js +1 -0
  149. package/dist/constants-BdoFiMvT.mjs +320 -0
  150. package/dist/constants-BrOUFw2c.js +1 -0
  151. package/dist/constants-ClfPwBI0.mjs +320 -0
  152. package/dist/constants-D3RqPPqz.mjs +320 -0
  153. package/dist/constants-D5ZWXomx.js +1 -0
  154. package/dist/constants-DiRwIQ5M.mjs +320 -0
  155. package/dist/constants-bWeajrBe.js +1 -0
  156. package/dist/constants-dgRR32rI.mjs +320 -0
  157. package/dist/containers/EmailTemplate/hooks/useEmailTemplateDetail.d.ts +1 -0
  158. package/dist/containers/User/constants/types.d.ts +1 -0
  159. package/dist/containers/User/hooks/useExportUsersCsv.d.ts +1 -0
  160. package/dist/index-B3Kqv7dj.mjs +17787 -0
  161. package/dist/index-BTWI5jDz.js +15 -0
  162. package/dist/index-C1gw45bw.mjs +17792 -0
  163. package/dist/index-CFAFmJ4F.mjs +17782 -0
  164. package/dist/index-D6pNkzlV.mjs +17787 -0
  165. package/dist/index-DDw_4X4u.js +15 -0
  166. package/dist/index-DVZt7HdB.js +15 -0
  167. package/dist/index-Di2zNE1O.mjs +17792 -0
  168. package/dist/index-DzHydV61.js +15 -0
  169. package/dist/index-Ihdym4EQ.js +15 -0
  170. package/dist/index-UpEZLqQV.js +15 -0
  171. package/dist/index-cuQPyXoT.mjs +17772 -0
  172. package/dist/index.js +1 -1
  173. package/dist/index.modern.js +1 -1
  174. package/dist/mailCategoryService-BbqIjbpT.mjs +11 -0
  175. package/dist/mailCategoryService-C1sorb9h.js +1 -0
  176. package/dist/mailCategoryService-CZ9m51K4.js +1 -0
  177. package/dist/mailCategoryService-C_Lq0Uks.mjs +11 -0
  178. package/dist/mailCategoryService-DcwLjTWD.mjs +11 -0
  179. package/dist/mailCategoryService-DexSxwen.js +1 -0
  180. package/dist/mailCategoryService-DrZXrEp2.js +1 -0
  181. package/dist/mailCategoryService-DyLMoDxP.mjs +11 -0
  182. package/dist/mailCategoryService-LumZqQLL.mjs +11 -0
  183. package/dist/mailCategoryService-MyMGdKSl.mjs +11 -0
  184. package/dist/mailCategoryService-Pl31B1JT.js +1 -0
  185. package/dist/mailCategoryService-lvLdr9b4.js +1 -0
  186. package/dist/mario-core.css +1 -1
  187. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),h=require("reactstrap"),q=require("react-router-dom"),e=require("./index-DzHydV61.js"),M=require("react-redux"),Y=require("formik"),we=require("yup"),K=require("react-google-recaptcha-v3"),le=require("@react-oauth/google"),G=require("./types-CTFcZUFS.js"),B=require("@azure/msal-browser"),Se=require("@amplitude/analytics-browser");function ie(o){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const r in o)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(o,r);Object.defineProperty(a,r,l.get?l:{enumerable:!0,get:()=>o[r]})}}return a.default=o,Object.freeze(a)}const L=ie(we),D=ie(Se),ye={backgroundColor:"#f7f9fc",borderRadius:"4px",marginBottom:"5px",position:"relative"},xe={backgroundColor:"#ffffff",paddingRight:"50px",color:"#333333",caretColor:"#333333"},Ne={fontSize:"20px",position:"absolute",right:"10px",color:"#316CD9"},je=o=>o.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(a,r)=>r.toUpperCase()),V=({isShowPassword:o,togglePasswordVisible:a,onChange:r,placeholder:l})=>s.jsxs("div",{className:"d-flex align-items-center w-100",style:ye,children:[s.jsx(h.Input,{className:"border password-input",style:xe,type:o?"text":"password",name:"password",onChange:r,placeholder:l||"Password",autocomplete:l?je(l):"password",required:!0}),s.jsx("i",{className:`far ${o?"fa-eye-slash":"fa-eye"} mx-2 cursor-pointer`,style:Ne,onClick:()=>a(),title:o?"Hide":"Show"})]}),Ie=L.object({email:L.string().email("Email is invalid").required("Email is required"),password:L.string().required("Password is required"),rememberMe:L.boolean()}),Ee=({onSuccess:o,onError:a})=>{const r=le.useGoogleLogin({onSuccess:async l=>{try{const i=await fetch("https://www.googleapis.com/oauth2/v3/userinfo",{headers:{Authorization:`Bearer ${l.access_token}`}}).then(f=>f.json()),p={accessToken:l.access_token,googleId:i.sub,profileObj:{email:i.email,familyName:i.family_name,givenName:i.given_name,imageUrl:i.picture,name:i.name}};o(p)}catch(i){a(i)}},onError:l=>a(l)});return s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>r(),children:[s.jsxs("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"24px",height:"24px",style:{marginRight:"8px"},children:[s.jsx("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),s.jsx("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),s.jsx("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),s.jsx("path",{fill:"#34A853",d:"M24 48c6.48 0 12.38-2.12 16.66-5.73l-7.73-6c-2.15 1.45-4.92 2.3-8.93 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),s.jsx("path",{fill:"none",d:"M0 0h48v48H0z"})]}),s.jsx("p",{children:"GOOGLE"})]})},be=({defaultInfo:o,userLogin:a,school:r,isShowPassword:l,setIsShowPassword:i,fnIsCheckLogin:p,googleClientId:f,fnLoginSSO:S,extensionEmail:I,onLoginWidthClever:y})=>{const x=()=>i(!l),c=M.useDispatch(),{executeRecaptcha:w}=K.useGoogleReCaptcha(),b=n.useCallback(async()=>{if(!w){console.log("execute recaptcha undefined");return}return await w("login")},[w]),T=async d=>{try{await e.AccountSSOLogApi(d)}catch(m){console.error(m)}},v=async d=>{if(d?.accessToken){let{email:m,familyName:R,givenName:k,imageUrl:A,name:$}=d.profileObj,N=d.accessToken,C=d.googleId;const U=window.location.hostname.split(".marioforme.com")?.[0],F=m.split("@")?.[1],J=I?.split(",")?.map(P=>P.trim())?.filter(P=>P).some(P=>F.includes(P));if(!F.includes(U)&&!J){alert("The email address you used does not match the login information in the database. Please check that you are using your school assigned email address to log into MARIO for Me. If you have further trouble please notify your school site administrator"),await T([`${F} is incorrect`]);return}const z={firstName:k,lastName:R,imageUrl:A,fullName:$,email:m,accessToken:N,googleId:C};c(e.setInforUserGoogle(z)),p(G.TypeLogin.Google,z,N,b)}};return s.jsx(n.Fragment,{children:s.jsx(Y.Formik,{initialValues:o,validationSchema:Ie,onSubmit:async d=>{try{const m=await b();if(!m)return;d.captcha=m,d.loginType=G.LoginType.Default,a(d)}catch(m){console.error(m)}},children:d=>{const{handleBlur:m,handleSubmit:R,values:k,touched:A,errors:$,setFieldValue:N}=d,C=A.email&&$.email,O=A.password&&$.password;return s.jsx("div",{className:`${e.styles["box-login"]} w-100`,children:s.jsx(h.Form,{className:`${e.styles["block-login"]}`,onSubmit:R,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{hidden:!r?.schoolLogo,src:r?.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:r.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Welcome Back!"}),s.jsx("p",{className:`${e.styles["login-description"]} mb-5`,children:"Please enter your MARIO Education account details"}),s.jsxs(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:[s.jsx(h.Input,{type:"text",name:"email",placeholder:"Email",value:k.email,onChange:U=>N("email",U.target?.value?.trim()||""),autocomplete:"email",onBlur:m("email"),required:!0}),C&&s.jsx(e.ErrorHandler,{text:$.email})]}),s.jsxs(h.FormGroup,{children:[s.jsx(V,{isShowPassword:l,togglePasswordVisible:x,onChange:U=>N("password",U.target?.value?.trim()||"")}),O&&s.jsx(e.ErrorHandler,{text:$.password})]}),s.jsx(h.FormGroup,{}),s.jsxs("div",{className:"d-flex justify-content-between",children:[s.jsxs("div",{className:"d-flex align-items-center",style:{gap:"8px"},children:[s.jsx("input",{type:"checkbox",checked:!k.isSessionUserBrowser,className:`${e.styles["checkbox-keep-login"]}`,onChange:()=>N("isSessionUserBrowser",!k.isSessionUserBrowser)}),s.jsx("p",{className:`${e.styles["label-keep-login"]} mb-0 ml-2`,children:"Keep me logged in"})]}),s.jsx(q.Link,{to:"/forgot-password",className:`${e.styles["link-to-login"]}`,children:"Forgot password?"})]}),s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,type:"submit",children:"LOG IN"}),s.jsx("p",{className:`${e.styles["option-text"]} my-3 text-center`,children:"OR"}),s.jsxs(h.Row,{className:"mb-4",children:[s.jsx(h.Col,{lg:6,md:6,xs:12,className:"pr-md-3",children:!!f&&s.jsx(le.GoogleOAuthProvider,{clientId:f,children:s.jsx(Ee,{onSuccess:v,onError:()=>console.log("Google login failed")})})}),r.schoolId&&s.jsx(h.Col,{lg:6,md:6,xs:12,className:`${e.styles["btn-login-sso"]} pl-md-2`,hidden:!r?.schoolId,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>S(b),children:[s.jsx("img",{src:"images/microsoft-logo.png"}),s.jsx("p",{children:"MICROSOFT"})]})})]}),s.jsx("div",{className:`${e.styles["btn-login-sso"]}`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>window.open("https://launchpad.classlink.com/login"),children:[s.jsx("img",{src:"images/class-link-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLASSLINK"})]})}),s.jsx("div",{className:`${e.styles["btn-login-sso"]} mt-4`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>y(),children:[s.jsx("img",{src:"images/clever-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLEVER"})]})})]})})})}})})},ke={email:"",captcha:""},Ce="/",oe="/login",Le="Log in",ce=()=>{const o=new URLSearchParams(q.useLocation().search),a=o.get("token"),r=o.get("key")??"",l=M.useDispatch(),i=q.useNavigate(),[p,f]=n.useState(!1),S=n.useCallback(()=>{f(!p)},[p]),[I,y]=n.useState(!1),[x,c]=n.useState(!1),[w,b]=n.useState({token:"",password:"",reEnterPassword:"",email:"",userId:""}),[T,v]=n.useState(!0),{executeRecaptcha:d}=K.useGoogleReCaptcha();n.useEffect(()=>{document.title=Le,e.getAccessToken()&&i(Ce)},[]);const m=n.useCallback(async N=>{l(e.setLoading(!0));try{await e.forgotPassword(N),i(oe),l(e.setAlert({type:"success",message:"A mail to reset password was sent"}))}catch(C){l(e.setAlert({type:"danger",message:C.response?.data?.title||C.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}l(e.setLoading(!1))},[]),R=n.useCallback(async(N,C)=>{l(e.setLoading(!0));try{const O=await e.checkResetToken(N,C);O.data?b({...w,token:N,email:O.data}):v(!1)}catch{v(!1)}l(e.setLoading(!1))},[]),k=n.useCallback(async N=>{l(e.setLoading(!0));try{await e.resetPassword({...N,key:r}),i(oe),l(e.setAlert({type:"success",message:"Reset password sucessfully"}))}catch(C){l(e.setAlert({type:"danger",message:C.response?.data?.title||C.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}l(e.setLoading(!1))},[]),A=n.useCallback(async()=>{if(!d){console.log("execute recaptcha undefined");return}return await d("forgetPass")},[d]),$=n.useCallback(()=>{},[]);return n.useEffect(()=>{a&&r&&R(a,r)},[a,r]),{defaultInfo:ke,forgotPasswordRequest:m,checkResetTokenRequest:R,validLink:T,resetPasswordRequest:k,openLogin:p,toggle:S,isShowNewPassword:I,setIsShowNewPassword:y,isShowReTypePassword:x,setIsShowReTypePassword:c,clickHandler:A,handleVerify:$,initialValues:w}},ve={email:"",captcha:""},Pe=L.object({email:L.string().email("Email is invalid").required("Email is required")}),Te=({school:o})=>{const{forgotPasswordRequest:a,clickHandler:r,handleVerify:l}=ce();return s.jsx(Y.Formik,{initialValues:ve,enableReinitialize:!0,validationSchema:Pe,onSubmit:async i=>{const p=await r();p&&(i.captcha=p,a(i))},children:i=>{const{handleChange:p,handleSubmit:f,values:S,touched:I,errors:y}=i;return s.jsx("div",{className:`${e.styles["box-login"]}`,children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{src:o.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:o.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]} `,children:"Forgot password"}),s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Enter email to recover your account"}),s.jsxs("div",{className:"w-100",children:[s.jsx(h.Input,{type:"text",name:"email",id:"email",placeholder:"Input email",onChange:p,value:S.email}),I.email&&y.email&&s.jsx(e.ErrorHandler,{text:y.email})]}),s.jsx(q.Link,{to:"/login",className:`${e.styles["link-to-login"]} mt-2`,children:"Return to login"}),s.jsx(K.GoogleReCaptcha,{action:"forgetPass",onVerify:l}),s.jsx(h.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,onClick:()=>f(),children:"Continue"})})]})})})}})},Re=L.object({password:L.string().required("New password is required"),reEnterPassword:L.string().required("Please re-enter new password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),Ae=()=>{const{validLink:o,resetPasswordRequest:a,isShowNewPassword:r,setIsShowNewPassword:l,isShowReTypePassword:i,setIsShowReTypePassword:p,initialValues:f}=ce();return s.jsx(Y.Formik,{initialValues:f,enableReinitialize:!0,validationSchema:Re,onSubmit:S=>{a(S)},children:S=>{const{setFieldValue:I,handleSubmit:y,touched:x,errors:c,values:w}=S;return s.jsx(h.Row,{className:`${e.styles["box-login"]}`,children:s.jsx(h.Col,{className:"p-0",children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Reset Password"}),s.jsx("div",{className:"w-100",children:o?s.jsxs(n.Fragment,{children:[s.jsx(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(h.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:w.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{isShowPassword:r,togglePasswordVisible:()=>l(!r),onChange:b=>I("password",b.target.value)}),x.password&&c.password&&s.jsx(e.ErrorHandler,{text:c.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{placeholder:"Confirm Password",isShowPassword:i,togglePasswordVisible:()=>p(!i),onChange:b=>I("reEnterPassword",b.target.value)}),x.reEnterPassword&&c.reEnterPassword&&s.jsx(e.ErrorHandler,{text:c.reEnterPassword})]})]}):s.jsxs(n.Fragment,{children:[s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Invalid reset password link"}),s.jsx("p",{className:"w-100",children:"It may have been accessed before or expired or you have just tried to reset another account's password"})]})}),o&&s.jsx(h.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>y(),children:"SET A NEW PASSWORD"})})]})})})})}})},de=`${e.BASE_URL}/api/school`,$e=()=>e.api.get(`${de}/settings`),Oe=()=>e.api.get(`${de}/info`),_e={auth:{clientId:e.isLocalhost?"a27f8ac9-e039-4bbd-a9e1-3096e52a77bb":"90c6897c-f17b-475e-a7a8-9a19651e0060",authority:"https://login.microsoftonline.com/common",redirectUri:"https://sso.marioforme.com/microsoft-login.html"},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1},system:{loggerOptions:{loggerCallback:(o,a,r)=>{if(!r)switch(o){case B.LogLevel.Error:console.error(a);return;case B.LogLevel.Info:console.info(a);return;case B.LogLevel.Verbose:console.debug(a);return;case B.LogLevel.Warning:console.warn(a);return;default:return}}}}},Ue={email:"",password:"",captcha:"",rememberMe:!1,isSessionUserBrowser:!!sessionStorage.getItem(e.IS_USER_SESSION_BROWSER)},Ge="/home",ae="/home",Me="/admin/home",qe="/parent",Fe="/admin/schools",He="/list-student",De="Log in",Be=()=>{const o=M.useDispatch(),a=q.useNavigate(),[r,l]=n.useState(!1),i=M.useSelector(t=>t.common.isLoginGoogle),[p,f]=n.useState(""),[S,I]=n.useState(""),[y,x]=n.useState(""),c=M.useSelector(t=>t.common.inforUserGoogle),w=new URLSearchParams(location.search),b=w.get("type")==="classlink",T=w.get("token"),v=w.get("isAdminUser"),[d]=n.useState(!1),[m,R]=n.useState({schoolName:"",schoolLogo:"",schoolId:0}),[k,A]=n.useState(null),$=n.useCallback(()=>{l(!r)},[r]),[N,C]=n.useState(!1);n.useEffect(()=>{document.title=De;const t=e.getCookieValue("auth-token");if(t){const u=window.location.hostname;if(localStorage.setItem(e.ACCESS_TOKEN,t),document.cookie=`auth-token=;domain=${u.includes("localhost")?u:".marioforme.com"}; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`,document.cookie="redirect-uri=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",v)return a("/admin/home")}e.getAccessToken()&&a("/"),me()},[v]);const O=()=>{localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN),localStorage.removeItem("USER_EMAIL")};n.useEffect(()=>{b&&T!=""&&F()},[]);const U=()=>{if(e.isLocalhost){const t="https://clever.com/oauth/instant-login?client_id=c3da6c669d239c70d48e&district_id=66132a6f222bda41cc8abe5d";window.location.href=t}else{const t=`https://clever.com/oauth/authorize?response_type=code&redirect_uri=${encodeURIComponent("https://classlink.marioforme.com/api/clever/clever-login")}&client_id=c3da6c669d239c70d48e`;window.location.href=t}},F=async()=>{o(e.setLoading(!0));try{const t={tokenClassLink:T},g=await e.apiInforUserClassLink(t),{email:u,token:j}=g.data;await P({email:u,rememberMe:!1,password:"default",accessToken:j})}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message}))}o(e.setLoading(!1))},J=window.location.host.includes("-district"),z=n.useCallback(async()=>{o(e.setLoading(!0));try{const t=await Oe(),g=t.data.schoolLogo??"";t.data&&R({schoolName:t.data.schoolName,schoolLogo:g?e.getFileUrl(g):e.getStaticFileUrl("/images/logo_header_blue.png"),schoolId:t.data.schoolId})}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message}))}o(e.setLoading(!1))},[]),P=n.useCallback(async t=>{o(e.setLoading(!0));try{const g=t?.isSessionUserBrowser??!1,u=await e.logIn({...t,email:t?.email?.trim(),password:t?.password?.trim()}),{token:j,id:_,firstName:W,lastName:H,roles:E,email:Z,profileImageFileName:pe,isLoginFirst:fe}=u.data;if(g?(sessionStorage.setItem(e.ACCESS_TOKEN,j),sessionStorage.setItem(e.IS_USER_SESSION_BROWSER,g)):(sessionStorage.removeItem(e.IS_USER_SESSION_BROWSER),localStorage.setItem(e.ACCESS_TOKEN,j)),localStorage.removeItem(e.NOTIFICATION_ALERT_KEY),o(e.setUser({id:_,firstName:W,lastName:H,roles:E,email:Z,profileImageFileName:pe})),!localStorage.getItem("ROLES")&&E.includes("Admin")&&localStorage.setItem("ROLES","Admin"),t?.email&&!E.includes("Admin")){D.init(e.isLocalhost?e.INIT_AMPLITUDE_KEY_STAGE:e.INIT_AMPLITUDE_KEY_PROD,t.email,{defaultTracking:!1});const Q=window.location.hostname,te=new D.Identify;te.set("domain",Q),D.identify(te),D.track("general: session start",{user_id:t.email,domain:Q,roles:t?.roles?.toString()}),localStorage.setItem("USER_EMAIL",t.email),fe&&D.track("general: first login",{user_id:t.email,domain:Q,roles:t?.roles?.toString()})}J?a(Fe):E.includes("Admin")?a(Me):E.includes("Teacher")||E.includes("Assistant")||E.includes("Counselor")||E.includes("SecondaryTeacher")?a(Ge):E.includes("Student")?a(ae):E.includes("Parent")?a(qe):E.includes("EduTeacher")&&a(He)}catch(g){o(e.setAlert({type:"danger",message:g.response?.data?.title||g.message||"Login failed"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}o(e.setLoading(!1))},[]),me=async()=>{try{const t=await e.getGoogleClientId();f(t.data.googleClientId),I(t.data.googleCaptchaId),x(t.data.extensionEmail)}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message||"Login failed"}))}},X=n.useCallback(async(t,g,u,j)=>{o(e.setLoading(!0));try{if((await e.checkUserGoogle(t,g)).data){const H={email:g.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:u,captcha:"",loginType:G.LoginType.Google};if(j!=null){const E=await j();H.captcha=E}await P(H),o(e.setIsLoginGoogle(!1))}else if((await e.registerUserStudent(g))?.data){const E={email:g.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:u,captcha:"",loginType:G.LoginType.Google};if(j!=null){const Z=await j();E.captcha=Z}await P(E)}}catch(_){o(e.setAlert({type:"danger",message:_.response?.data?.title||_.message||"Login failed"}))}o(e.setLoading(!1))},[]),ge=async(t,g)=>{o(e.setLoading(!0));try{const u={firstName:c.firstName,lastName:c.lastName,imageUrl:c.imageUrl,fullName:c.fullName,email:c.email,accessToken:c.accessToken,teacherId:t};if((await e.registerUserStudent(u)).data){const _=await g(),W={email:c.email,captcha:_,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:c.accessToken,loginType:G.LoginType.Google};o(e.setIsLoginGoogle(!1)),await P(W),a(ae)}}catch(u){o(e.setAlert({type:"danger",message:u.response?.data?.title||u.message||"Login failed"}))}o(e.setIsLoginGoogle(!1)),o(e.setLoading(!1))},ue=async()=>{try{const t=await $e();o(e.setSandboxMode(t.data.isSandboxMode))}catch(t){console.error(t)}},ee=async t=>{k.handleRedirectPromise().then(async g=>{if(m?.schoolId)if(g){let u=g.account;await se(u,t)}else{const u=k.getAllAccounts();if(u.length===0){const j=e.isLocalhost?"https://brightsoft.marioforme.com":"https://sso.marioforme.com";window.location.href=(window.location.hostname==="localhost"?"https://localhost:3000":j)+`/microsoft-login.html?redirect-uri=${window.location.href}&schoolId=${m.schoolId}`}else{let j=u[0];await se(j,t)}}}).catch(g=>{console.error(g)})},se=async(t,g)=>{let u=t.name,j={firstName:u.split(" ").slice(0,-1).join(" "),lastName:u.split(" ").slice(-1).join(" "),fullName:u,imageUrl:"",email:t.username,accessToken:t.idTokenClaims.aio,googleId:t.tenantId};o(e.setInforUserGoogle(j)),await X(G.TypeLogin.MicrosoftSSO,j,t.idTokenClaims.aio,g)},he=async()=>{const t=new B.PublicClientApplication(_e);await t.initialize(),A(t)};return n.useEffect(()=>{let t=window.location.href;k&&t.includes("code")&&t.includes("client_info")&&ee()},[JSON.stringify(k)]),n.useEffect(()=>{ue(),he(),z()},[]),{defaultInfo:Ue,userLogin:P,openLogin:r,toggle:$,isShowPassword:N,setIsShowPassword:C,fnIsCheckLogin:X,isLoginGoogle:i,infoUser:c,submitLogin:ge,googleClientId:p,googleRecaptchaId:S,handleCancelModelAssign:O,openModelAssign:d,fnLoginSSO:ee,school:m,extensionEmail:y,handleLoginWidthClever:U}},ne="/",Ve="/login",re="Log in",Ke=()=>{const o=M.useDispatch(),a=q.useNavigate(),r=location.search,i=new URLSearchParams(r).get("userId"),[p,f]=n.useState(!1),[S,I]=n.useState(!1),[y,x]=n.useState({password:"",reEnterPassword:"",email:"",userId:i??"",token:""}),{executeRecaptcha:c}=K.useGoogleReCaptcha(),w=n.useCallback(async d=>{o(e.setLoading(!0));try{const m=await e.getUserNewPassword(d);x({...y,email:m.data})}catch(m){o(e.setAlert({type:"danger",message:m.message}))}o(e.setLoading(!1))},[]),b=n.useCallback(async d=>{o(e.setLoading(!0));try{await e.createPassword(d),a(Ve),o(e.setAlert({type:"success",message:"Create password sucessfully"}))}catch(m){o(e.setAlert({type:"danger",message:m.response?.data?.title||m.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}o(e.setLoading(!1))},[]),T=n.useCallback(async()=>{if(!c){console.log("execute recaptcha undefined");return}return await c("forgetPass")},[c]),v=n.useCallback(()=>{},[]);return n.useEffect(()=>{document.title=re,e.getAccessToken()&&a(ne),i&&w(i)},[i]),n.useEffect(()=>{document.title=re,e.getAccessToken()&&a(ne)},[]),{createPasswordRequest:b,isShowNewPassword:p,setIsShowNewPassword:f,isShowReTypePassword:S,setIsShowReTypePassword:I,clickHandler:T,handleVerify:v,initialValues:y}},ze=L.object({password:L.string().required("Password is required"),reEnterPassword:L.string().required("Please re-enter Password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),We=()=>{const{createPasswordRequest:o,isShowNewPassword:a,setIsShowNewPassword:r,isShowReTypePassword:l,setIsShowReTypePassword:i,initialValues:p}=Ke();return s.jsx(Y.Formik,{initialValues:p,enableReinitialize:!0,validationSchema:ze,onSubmit:f=>{o(f)},children:f=>{const{setFieldValue:S,handleSubmit:I,touched:y,errors:x,values:c}=f;return s.jsx(h.Row,{className:`${e.styles["box-login"]}`,children:s.jsxs(h.Col,{className:"p-0",children:[s.jsx("div",{hidden:!c.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Create Your Password"}),s.jsx("div",{className:"w-100",children:s.jsxs(n.Fragment,{children:[s.jsx(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(h.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:c.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{isShowPassword:a,togglePasswordVisible:()=>r(!a),onChange:w=>S("password",w.target.value)}),y.password&&x.password&&s.jsx(e.ErrorHandler,{text:x.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{placeholder:"Confirm Password",isShowPassword:l,togglePasswordVisible:()=>i(!l),onChange:w=>S("reEnterPassword",w.target.value)}),y.reEnterPassword&&x.reEnterPassword&&s.jsx(e.ErrorHandler,{text:x.reEnterPassword})]})]})}),s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>I(),children:"CREATE YOUR PASSWORD"})]})}),s.jsx("div",{hidden:!!c.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"You cannot regenerate the password"})]})})]})})}})},Ye="Log in",Je="Forgot password",Ze="Reset password",Qe=o=>{const{isLogin:a,isForgotPassword:r,isResetPassword:l,isCreatePassword:i}=o,{defaultInfo:p,userLogin:f,googleRecaptchaId:S,handleCancelModelAssign:I,school:y,openModelAssign:x,setIsShowPassword:c,fnIsCheckLogin:w,isLoginGoogle:b,submitLogin:T,infoUser:v,googleClientId:d,isShowPassword:m,fnLoginSSO:R,extensionEmail:k,handleLoginWidthClever:A}=Be();return n.useEffect(()=>{a&&(document.title=Ye),r&&(document.title=Je),l&&(document.title=Ze)},[a,r,l]),s.jsx("div",{className:`${e.styles.login} container-fluid font-family-lato`,children:s.jsxs(h.Row,{className:"h-100",children:[s.jsxs(h.Col,{lg:8,md:12,xs:12,className:"d-flex justify-content-center h-100 align-items-center p-3 flex-column",children:[!!S&&s.jsxs(K.GoogleReCaptchaProvider,{useRecaptchaNet:!0,reCaptchaKey:S,scriptProps:{async:!0,defer:!0,appendTo:"body"},children:[a&&s.jsx(be,{userLogin:f,defaultInfo:p,onCancelModelAssign:I,openModelAssign:x,school:y,fnIsCheckLogin:w,googleClientId:d,infoUser:v,isLoginGoogle:b,isShowPassword:m,setIsShowPassword:c,submitLogin:T,fnLoginSSO:R,extensionEmail:k,onLoginWidthClever:A}),r&&s.jsx(Te,{school:y})]}),l&&s.jsx(Ae,{}),i&&s.jsx(We,{}),s.jsx("a",{href:"/privacy-policy/",target:"blank",className:`${e.styles["privacy-policy"]}`,children:"Privacy Policy"})]}),s.jsx(h.Col,{className:"p-3 mh-100 d-flex justify-content-end",lg:4,md:12,xs:12,children:s.jsx("img",{src:`${e.getStaticFileUrl(window.innerWidth>992?"/images/img-login.png":"/images/img-login-tablet.png")}`,className:`${e.styles["img-login"]}`})})]})})};exports.default=Qe;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),h=require("reactstrap"),q=require("react-router-dom"),e=require("./index-BTWI5jDz.js"),M=require("react-redux"),Y=require("formik"),we=require("yup"),K=require("react-google-recaptcha-v3"),le=require("@react-oauth/google"),G=require("./types-CTFcZUFS.js"),B=require("@azure/msal-browser"),Se=require("@amplitude/analytics-browser");function ie(o){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const r in o)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(o,r);Object.defineProperty(a,r,l.get?l:{enumerable:!0,get:()=>o[r]})}}return a.default=o,Object.freeze(a)}const L=ie(we),D=ie(Se),ye={backgroundColor:"#f7f9fc",borderRadius:"4px",marginBottom:"5px",position:"relative"},xe={backgroundColor:"#ffffff",paddingRight:"50px",color:"#333333",caretColor:"#333333"},Ne={fontSize:"20px",position:"absolute",right:"10px",color:"#316CD9"},je=o=>o.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(a,r)=>r.toUpperCase()),V=({isShowPassword:o,togglePasswordVisible:a,onChange:r,placeholder:l})=>s.jsxs("div",{className:"d-flex align-items-center w-100",style:ye,children:[s.jsx(h.Input,{className:"border password-input",style:xe,type:o?"text":"password",name:"password",onChange:r,placeholder:l||"Password",autocomplete:l?je(l):"password",required:!0}),s.jsx("i",{className:`far ${o?"fa-eye-slash":"fa-eye"} mx-2 cursor-pointer`,style:Ne,onClick:()=>a(),title:o?"Hide":"Show"})]}),Ie=L.object({email:L.string().email("Email is invalid").required("Email is required"),password:L.string().required("Password is required"),rememberMe:L.boolean()}),Ee=({onSuccess:o,onError:a})=>{const r=le.useGoogleLogin({onSuccess:async l=>{try{const i=await fetch("https://www.googleapis.com/oauth2/v3/userinfo",{headers:{Authorization:`Bearer ${l.access_token}`}}).then(f=>f.json()),p={accessToken:l.access_token,googleId:i.sub,profileObj:{email:i.email,familyName:i.family_name,givenName:i.given_name,imageUrl:i.picture,name:i.name}};o(p)}catch(i){a(i)}},onError:l=>a(l)});return s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>r(),children:[s.jsxs("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"24px",height:"24px",style:{marginRight:"8px"},children:[s.jsx("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),s.jsx("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),s.jsx("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),s.jsx("path",{fill:"#34A853",d:"M24 48c6.48 0 12.38-2.12 16.66-5.73l-7.73-6c-2.15 1.45-4.92 2.3-8.93 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),s.jsx("path",{fill:"none",d:"M0 0h48v48H0z"})]}),s.jsx("p",{children:"GOOGLE"})]})},be=({defaultInfo:o,userLogin:a,school:r,isShowPassword:l,setIsShowPassword:i,fnIsCheckLogin:p,googleClientId:f,fnLoginSSO:S,extensionEmail:I,onLoginWidthClever:y})=>{const x=()=>i(!l),c=M.useDispatch(),{executeRecaptcha:w}=K.useGoogleReCaptcha(),b=n.useCallback(async()=>{if(!w){console.log("execute recaptcha undefined");return}return await w("login")},[w]),T=async d=>{try{await e.AccountSSOLogApi(d)}catch(m){console.error(m)}},v=async d=>{if(d?.accessToken){let{email:m,familyName:R,givenName:k,imageUrl:A,name:$}=d.profileObj,N=d.accessToken,C=d.googleId;const U=window.location.hostname.split(".marioforme.com")?.[0],F=m.split("@")?.[1],J=I?.split(",")?.map(P=>P.trim())?.filter(P=>P).some(P=>F.includes(P));if(!F.includes(U)&&!J){alert("The email address you used does not match the login information in the database. Please check that you are using your school assigned email address to log into MARIO for Me. If you have further trouble please notify your school site administrator"),await T([`${F} is incorrect`]);return}const z={firstName:k,lastName:R,imageUrl:A,fullName:$,email:m,accessToken:N,googleId:C};c(e.setInforUserGoogle(z)),p(G.TypeLogin.Google,z,N,b)}};return s.jsx(n.Fragment,{children:s.jsx(Y.Formik,{initialValues:o,validationSchema:Ie,onSubmit:async d=>{try{const m=await b();if(!m)return;d.captcha=m,d.loginType=G.LoginType.Default,a(d)}catch(m){console.error(m)}},children:d=>{const{handleBlur:m,handleSubmit:R,values:k,touched:A,errors:$,setFieldValue:N}=d,C=A.email&&$.email,O=A.password&&$.password;return s.jsx("div",{className:`${e.styles["box-login"]} w-100`,children:s.jsx(h.Form,{className:`${e.styles["block-login"]}`,onSubmit:R,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{hidden:!r?.schoolLogo,src:r?.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:r.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Welcome Back!"}),s.jsx("p",{className:`${e.styles["login-description"]} mb-5`,children:"Please enter your MARIO Education account details"}),s.jsxs(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:[s.jsx(h.Input,{type:"text",name:"email",placeholder:"Email",value:k.email,onChange:U=>N("email",U.target?.value?.trim()||""),autocomplete:"email",onBlur:m("email"),required:!0}),C&&s.jsx(e.ErrorHandler,{text:$.email})]}),s.jsxs(h.FormGroup,{children:[s.jsx(V,{isShowPassword:l,togglePasswordVisible:x,onChange:U=>N("password",U.target?.value?.trim()||"")}),O&&s.jsx(e.ErrorHandler,{text:$.password})]}),s.jsx(h.FormGroup,{}),s.jsxs("div",{className:"d-flex justify-content-between",children:[s.jsxs("div",{className:"d-flex align-items-center",style:{gap:"8px"},children:[s.jsx("input",{type:"checkbox",checked:!k.isSessionUserBrowser,className:`${e.styles["checkbox-keep-login"]}`,onChange:()=>N("isSessionUserBrowser",!k.isSessionUserBrowser)}),s.jsx("p",{className:`${e.styles["label-keep-login"]} mb-0 ml-2`,children:"Keep me logged in"})]}),s.jsx(q.Link,{to:"/forgot-password",className:`${e.styles["link-to-login"]}`,children:"Forgot password?"})]}),s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,type:"submit",children:"LOG IN"}),s.jsx("p",{className:`${e.styles["option-text"]} my-3 text-center`,children:"OR"}),s.jsxs(h.Row,{className:"mb-4",children:[s.jsx(h.Col,{lg:6,md:6,xs:12,className:"pr-md-3",children:!!f&&s.jsx(le.GoogleOAuthProvider,{clientId:f,children:s.jsx(Ee,{onSuccess:v,onError:()=>console.log("Google login failed")})})}),r.schoolId&&s.jsx(h.Col,{lg:6,md:6,xs:12,className:`${e.styles["btn-login-sso"]} pl-md-2`,hidden:!r?.schoolId,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>S(b),children:[s.jsx("img",{src:"images/microsoft-logo.png"}),s.jsx("p",{children:"MICROSOFT"})]})})]}),s.jsx("div",{className:`${e.styles["btn-login-sso"]}`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>window.open("https://launchpad.classlink.com/login"),children:[s.jsx("img",{src:"images/class-link-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLASSLINK"})]})}),s.jsx("div",{className:`${e.styles["btn-login-sso"]} mt-4`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>y(),children:[s.jsx("img",{src:"images/clever-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLEVER"})]})})]})})})}})})},ke={email:"",captcha:""},Ce="/",oe="/login",Le="Log in",ce=()=>{const o=new URLSearchParams(q.useLocation().search),a=o.get("token"),r=o.get("key")??"",l=M.useDispatch(),i=q.useNavigate(),[p,f]=n.useState(!1),S=n.useCallback(()=>{f(!p)},[p]),[I,y]=n.useState(!1),[x,c]=n.useState(!1),[w,b]=n.useState({token:"",password:"",reEnterPassword:"",email:"",userId:""}),[T,v]=n.useState(!0),{executeRecaptcha:d}=K.useGoogleReCaptcha();n.useEffect(()=>{document.title=Le,e.getAccessToken()&&i(Ce)},[]);const m=n.useCallback(async N=>{l(e.setLoading(!0));try{await e.forgotPassword(N),i(oe),l(e.setAlert({type:"success",message:"A mail to reset password was sent"}))}catch(C){l(e.setAlert({type:"danger",message:C.response?.data?.title||C.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}l(e.setLoading(!1))},[]),R=n.useCallback(async(N,C)=>{l(e.setLoading(!0));try{const O=await e.checkResetToken(N,C);O.data?b({...w,token:N,email:O.data}):v(!1)}catch{v(!1)}l(e.setLoading(!1))},[]),k=n.useCallback(async N=>{l(e.setLoading(!0));try{await e.resetPassword({...N,key:r}),i(oe),l(e.setAlert({type:"success",message:"Reset password sucessfully"}))}catch(C){l(e.setAlert({type:"danger",message:C.response?.data?.title||C.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}l(e.setLoading(!1))},[]),A=n.useCallback(async()=>{if(!d){console.log("execute recaptcha undefined");return}return await d("forgetPass")},[d]),$=n.useCallback(()=>{},[]);return n.useEffect(()=>{a&&r&&R(a,r)},[a,r]),{defaultInfo:ke,forgotPasswordRequest:m,checkResetTokenRequest:R,validLink:T,resetPasswordRequest:k,openLogin:p,toggle:S,isShowNewPassword:I,setIsShowNewPassword:y,isShowReTypePassword:x,setIsShowReTypePassword:c,clickHandler:A,handleVerify:$,initialValues:w}},ve={email:"",captcha:""},Pe=L.object({email:L.string().email("Email is invalid").required("Email is required")}),Te=({school:o})=>{const{forgotPasswordRequest:a,clickHandler:r,handleVerify:l}=ce();return s.jsx(Y.Formik,{initialValues:ve,enableReinitialize:!0,validationSchema:Pe,onSubmit:async i=>{const p=await r();p&&(i.captcha=p,a(i))},children:i=>{const{handleChange:p,handleSubmit:f,values:S,touched:I,errors:y}=i;return s.jsx("div",{className:`${e.styles["box-login"]}`,children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{src:o.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:o.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]} `,children:"Forgot password"}),s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Enter email to recover your account"}),s.jsxs("div",{className:"w-100",children:[s.jsx(h.Input,{type:"text",name:"email",id:"email",placeholder:"Input email",onChange:p,value:S.email}),I.email&&y.email&&s.jsx(e.ErrorHandler,{text:y.email})]}),s.jsx(q.Link,{to:"/login",className:`${e.styles["link-to-login"]} mt-2`,children:"Return to login"}),s.jsx(K.GoogleReCaptcha,{action:"forgetPass",onVerify:l}),s.jsx(h.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,onClick:()=>f(),children:"Continue"})})]})})})}})},Re=L.object({password:L.string().required("New password is required"),reEnterPassword:L.string().required("Please re-enter new password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),Ae=()=>{const{validLink:o,resetPasswordRequest:a,isShowNewPassword:r,setIsShowNewPassword:l,isShowReTypePassword:i,setIsShowReTypePassword:p,initialValues:f}=ce();return s.jsx(Y.Formik,{initialValues:f,enableReinitialize:!0,validationSchema:Re,onSubmit:S=>{a(S)},children:S=>{const{setFieldValue:I,handleSubmit:y,touched:x,errors:c,values:w}=S;return s.jsx(h.Row,{className:`${e.styles["box-login"]}`,children:s.jsx(h.Col,{className:"p-0",children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Reset Password"}),s.jsx("div",{className:"w-100",children:o?s.jsxs(n.Fragment,{children:[s.jsx(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(h.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:w.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{isShowPassword:r,togglePasswordVisible:()=>l(!r),onChange:b=>I("password",b.target.value)}),x.password&&c.password&&s.jsx(e.ErrorHandler,{text:c.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{placeholder:"Confirm Password",isShowPassword:i,togglePasswordVisible:()=>p(!i),onChange:b=>I("reEnterPassword",b.target.value)}),x.reEnterPassword&&c.reEnterPassword&&s.jsx(e.ErrorHandler,{text:c.reEnterPassword})]})]}):s.jsxs(n.Fragment,{children:[s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Invalid reset password link"}),s.jsx("p",{className:"w-100",children:"It may have been accessed before or expired or you have just tried to reset another account's password"})]})}),o&&s.jsx(h.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>y(),children:"SET A NEW PASSWORD"})})]})})})})}})},de=`${e.BASE_URL}/api/school`,$e=()=>e.api.get(`${de}/settings`),Oe=()=>e.api.get(`${de}/info`),_e={auth:{clientId:e.isLocalhost?"a27f8ac9-e039-4bbd-a9e1-3096e52a77bb":"90c6897c-f17b-475e-a7a8-9a19651e0060",authority:"https://login.microsoftonline.com/common",redirectUri:"https://sso.marioforme.com/microsoft-login.html"},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1},system:{loggerOptions:{loggerCallback:(o,a,r)=>{if(!r)switch(o){case B.LogLevel.Error:console.error(a);return;case B.LogLevel.Info:console.info(a);return;case B.LogLevel.Verbose:console.debug(a);return;case B.LogLevel.Warning:console.warn(a);return;default:return}}}}},Ue={email:"",password:"",captcha:"",rememberMe:!1,isSessionUserBrowser:!!sessionStorage.getItem(e.IS_USER_SESSION_BROWSER)},Ge="/home",ae="/home",Me="/admin/home",qe="/parent",Fe="/admin/schools",He="/list-student",De="Log in",Be=()=>{const o=M.useDispatch(),a=q.useNavigate(),[r,l]=n.useState(!1),i=M.useSelector(t=>t.common.isLoginGoogle),[p,f]=n.useState(""),[S,I]=n.useState(""),[y,x]=n.useState(""),c=M.useSelector(t=>t.common.inforUserGoogle),w=new URLSearchParams(location.search),b=w.get("type")==="classlink",T=w.get("token"),v=w.get("isAdminUser"),[d]=n.useState(!1),[m,R]=n.useState({schoolName:"",schoolLogo:"",schoolId:0}),[k,A]=n.useState(null),$=n.useCallback(()=>{l(!r)},[r]),[N,C]=n.useState(!1);n.useEffect(()=>{document.title=De;const t=e.getCookieValue("auth-token");if(t){const u=window.location.hostname;if(localStorage.setItem(e.ACCESS_TOKEN,t),document.cookie=`auth-token=;domain=${u.includes("localhost")?u:".marioforme.com"}; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`,document.cookie="redirect-uri=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",v)return a("/admin/home")}e.getAccessToken()&&a("/"),me()},[v]);const O=()=>{localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN),localStorage.removeItem("USER_EMAIL")};n.useEffect(()=>{b&&T!=""&&F()},[]);const U=()=>{if(e.isLocalhost){const t="https://clever.com/oauth/instant-login?client_id=c3da6c669d239c70d48e&district_id=66132a6f222bda41cc8abe5d";window.location.href=t}else{const t=`https://clever.com/oauth/authorize?response_type=code&redirect_uri=${encodeURIComponent("https://classlink.marioforme.com/api/clever/clever-login")}&client_id=c3da6c669d239c70d48e`;window.location.href=t}},F=async()=>{o(e.setLoading(!0));try{const t={tokenClassLink:T},g=await e.apiInforUserClassLink(t),{email:u,token:j}=g.data;await P({email:u,rememberMe:!1,password:"default",accessToken:j})}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message}))}o(e.setLoading(!1))},J=window.location.host.includes("-district"),z=n.useCallback(async()=>{o(e.setLoading(!0));try{const t=await Oe(),g=t.data.schoolLogo??"";t.data&&R({schoolName:t.data.schoolName,schoolLogo:g?e.getFileUrl(g):e.getStaticFileUrl("/images/logo_header_blue.png"),schoolId:t.data.schoolId})}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message}))}o(e.setLoading(!1))},[]),P=n.useCallback(async t=>{o(e.setLoading(!0));try{const g=t?.isSessionUserBrowser??!1,u=await e.logIn({...t,email:t?.email?.trim(),password:t?.password?.trim()}),{token:j,id:_,firstName:W,lastName:H,roles:E,email:Z,profileImageFileName:pe,isLoginFirst:fe}=u.data;if(g?(sessionStorage.setItem(e.ACCESS_TOKEN,j),sessionStorage.setItem(e.IS_USER_SESSION_BROWSER,g)):(sessionStorage.removeItem(e.IS_USER_SESSION_BROWSER),localStorage.setItem(e.ACCESS_TOKEN,j)),localStorage.removeItem(e.NOTIFICATION_ALERT_KEY),o(e.setUser({id:_,firstName:W,lastName:H,roles:E,email:Z,profileImageFileName:pe})),!localStorage.getItem("ROLES")&&E.includes("Admin")&&localStorage.setItem("ROLES","Admin"),t?.email&&!E.includes("Admin")){D.init(e.isLocalhost?e.INIT_AMPLITUDE_KEY_STAGE:e.INIT_AMPLITUDE_KEY_PROD,t.email,{defaultTracking:!1});const Q=window.location.hostname,te=new D.Identify;te.set("domain",Q),D.identify(te),D.track("general: session start",{user_id:t.email,domain:Q,roles:t?.roles?.toString()}),localStorage.setItem("USER_EMAIL",t.email),fe&&D.track("general: first login",{user_id:t.email,domain:Q,roles:t?.roles?.toString()})}J?a(Fe):E.includes("Admin")?a(Me):E.includes("Teacher")||E.includes("Assistant")||E.includes("Counselor")||E.includes("SecondaryTeacher")?a(Ge):E.includes("Student")?a(ae):E.includes("Parent")?a(qe):E.includes("EduTeacher")&&a(He)}catch(g){o(e.setAlert({type:"danger",message:g.response?.data?.title||g.message||"Login failed"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}o(e.setLoading(!1))},[]),me=async()=>{try{const t=await e.getGoogleClientId();f(t.data.googleClientId),I(t.data.googleCaptchaId),x(t.data.extensionEmail)}catch(t){o(e.setAlert({type:"danger",message:t.response?.data?.title||t.message||"Login failed"}))}},X=n.useCallback(async(t,g,u,j)=>{o(e.setLoading(!0));try{if((await e.checkUserGoogle(t,g)).data){const H={email:g.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:u,captcha:"",loginType:G.LoginType.Google};if(j!=null){const E=await j();H.captcha=E}await P(H),o(e.setIsLoginGoogle(!1))}else if((await e.registerUserStudent(g))?.data){const E={email:g.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:u,captcha:"",loginType:G.LoginType.Google};if(j!=null){const Z=await j();E.captcha=Z}await P(E)}}catch(_){o(e.setAlert({type:"danger",message:_.response?.data?.title||_.message||"Login failed"}))}o(e.setLoading(!1))},[]),ge=async(t,g)=>{o(e.setLoading(!0));try{const u={firstName:c.firstName,lastName:c.lastName,imageUrl:c.imageUrl,fullName:c.fullName,email:c.email,accessToken:c.accessToken,teacherId:t};if((await e.registerUserStudent(u)).data){const _=await g(),W={email:c.email,captcha:_,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:c.accessToken,loginType:G.LoginType.Google};o(e.setIsLoginGoogle(!1)),await P(W),a(ae)}}catch(u){o(e.setAlert({type:"danger",message:u.response?.data?.title||u.message||"Login failed"}))}o(e.setIsLoginGoogle(!1)),o(e.setLoading(!1))},ue=async()=>{try{const t=await $e();o(e.setSandboxMode(t.data.isSandboxMode))}catch(t){console.error(t)}},ee=async t=>{k.handleRedirectPromise().then(async g=>{if(m?.schoolId)if(g){let u=g.account;await se(u,t)}else{const u=k.getAllAccounts();if(u.length===0){const j=e.isLocalhost?"https://brightsoft.marioforme.com":"https://sso.marioforme.com";window.location.href=(window.location.hostname==="localhost"?"https://localhost:3000":j)+`/microsoft-login.html?redirect-uri=${window.location.href}&schoolId=${m.schoolId}`}else{let j=u[0];await se(j,t)}}}).catch(g=>{console.error(g)})},se=async(t,g)=>{let u=t.name,j={firstName:u.split(" ").slice(0,-1).join(" "),lastName:u.split(" ").slice(-1).join(" "),fullName:u,imageUrl:"",email:t.username,accessToken:t.idTokenClaims.aio,googleId:t.tenantId};o(e.setInforUserGoogle(j)),await X(G.TypeLogin.MicrosoftSSO,j,t.idTokenClaims.aio,g)},he=async()=>{const t=new B.PublicClientApplication(_e);await t.initialize(),A(t)};return n.useEffect(()=>{let t=window.location.href;k&&t.includes("code")&&t.includes("client_info")&&ee()},[JSON.stringify(k)]),n.useEffect(()=>{ue(),he(),z()},[]),{defaultInfo:Ue,userLogin:P,openLogin:r,toggle:$,isShowPassword:N,setIsShowPassword:C,fnIsCheckLogin:X,isLoginGoogle:i,infoUser:c,submitLogin:ge,googleClientId:p,googleRecaptchaId:S,handleCancelModelAssign:O,openModelAssign:d,fnLoginSSO:ee,school:m,extensionEmail:y,handleLoginWidthClever:U}},ne="/",Ve="/login",re="Log in",Ke=()=>{const o=M.useDispatch(),a=q.useNavigate(),r=location.search,i=new URLSearchParams(r).get("userId"),[p,f]=n.useState(!1),[S,I]=n.useState(!1),[y,x]=n.useState({password:"",reEnterPassword:"",email:"",userId:i??"",token:""}),{executeRecaptcha:c}=K.useGoogleReCaptcha(),w=n.useCallback(async d=>{o(e.setLoading(!0));try{const m=await e.getUserNewPassword(d);x({...y,email:m.data})}catch(m){o(e.setAlert({type:"danger",message:m.message}))}o(e.setLoading(!1))},[]),b=n.useCallback(async d=>{o(e.setLoading(!0));try{await e.createPassword(d),a(Ve),o(e.setAlert({type:"success",message:"Create password sucessfully"}))}catch(m){o(e.setAlert({type:"danger",message:m.response?.data?.title||m.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}o(e.setLoading(!1))},[]),T=n.useCallback(async()=>{if(!c){console.log("execute recaptcha undefined");return}return await c("forgetPass")},[c]),v=n.useCallback(()=>{},[]);return n.useEffect(()=>{document.title=re,e.getAccessToken()&&a(ne),i&&w(i)},[i]),n.useEffect(()=>{document.title=re,e.getAccessToken()&&a(ne)},[]),{createPasswordRequest:b,isShowNewPassword:p,setIsShowNewPassword:f,isShowReTypePassword:S,setIsShowReTypePassword:I,clickHandler:T,handleVerify:v,initialValues:y}},ze=L.object({password:L.string().required("Password is required"),reEnterPassword:L.string().required("Please re-enter Password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),We=()=>{const{createPasswordRequest:o,isShowNewPassword:a,setIsShowNewPassword:r,isShowReTypePassword:l,setIsShowReTypePassword:i,initialValues:p}=Ke();return s.jsx(Y.Formik,{initialValues:p,enableReinitialize:!0,validationSchema:ze,onSubmit:f=>{o(f)},children:f=>{const{setFieldValue:S,handleSubmit:I,touched:y,errors:x,values:c}=f;return s.jsx(h.Row,{className:`${e.styles["box-login"]}`,children:s.jsxs(h.Col,{className:"p-0",children:[s.jsx("div",{hidden:!c.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Create Your Password"}),s.jsx("div",{className:"w-100",children:s.jsxs(n.Fragment,{children:[s.jsx(h.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(h.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:c.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{isShowPassword:a,togglePasswordVisible:()=>r(!a),onChange:w=>S("password",w.target.value)}),y.password&&x.password&&s.jsx(e.ErrorHandler,{text:x.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(V,{placeholder:"Confirm Password",isShowPassword:l,togglePasswordVisible:()=>i(!l),onChange:w=>S("reEnterPassword",w.target.value)}),y.reEnterPassword&&x.reEnterPassword&&s.jsx(e.ErrorHandler,{text:x.reEnterPassword})]})]})}),s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>I(),children:"CREATE YOUR PASSWORD"})]})}),s.jsx("div",{hidden:!!c.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"You cannot regenerate the password"})]})})]})})}})},Ye="Log in",Je="Forgot password",Ze="Reset password",Qe=o=>{const{isLogin:a,isForgotPassword:r,isResetPassword:l,isCreatePassword:i}=o,{defaultInfo:p,userLogin:f,googleRecaptchaId:S,handleCancelModelAssign:I,school:y,openModelAssign:x,setIsShowPassword:c,fnIsCheckLogin:w,isLoginGoogle:b,submitLogin:T,infoUser:v,googleClientId:d,isShowPassword:m,fnLoginSSO:R,extensionEmail:k,handleLoginWidthClever:A}=Be();return n.useEffect(()=>{a&&(document.title=Ye),r&&(document.title=Je),l&&(document.title=Ze)},[a,r,l]),s.jsx("div",{className:`${e.styles.login} container-fluid font-family-lato`,children:s.jsxs(h.Row,{className:"h-100",children:[s.jsxs(h.Col,{lg:8,md:12,xs:12,className:"d-flex justify-content-center h-100 align-items-center p-3 flex-column",children:[!!S&&s.jsxs(K.GoogleReCaptchaProvider,{useRecaptchaNet:!0,reCaptchaKey:S,scriptProps:{async:!0,defer:!0,appendTo:"body"},children:[a&&s.jsx(be,{userLogin:f,defaultInfo:p,onCancelModelAssign:I,openModelAssign:x,school:y,fnIsCheckLogin:w,googleClientId:d,infoUser:v,isLoginGoogle:b,isShowPassword:m,setIsShowPassword:c,submitLogin:T,fnLoginSSO:R,extensionEmail:k,onLoginWidthClever:A}),r&&s.jsx(Te,{school:y})]}),l&&s.jsx(Ae,{}),i&&s.jsx(We,{}),s.jsx("a",{href:"/privacy-policy/",target:"blank",className:`${e.styles["privacy-policy"]}`,children:"Privacy Policy"})]}),s.jsx(h.Col,{className:"p-3 mh-100 d-flex justify-content-end",lg:4,md:12,xs:12,children:s.jsx("img",{src:`${e.getStaticFileUrl(window.innerWidth>992?"/images/img-login.png":"/images/img-login-tablet.png")}`,className:`${e.styles["img-login"]}`})})]})})};exports.default=Qe;