2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{P as ce}from"./Page.2d2aae4a.js";import{g as de,a as ue,c as O,j as o,s as A,P as me,b as J,d as D,l as _,_ as k,r as $,u as pe,e as ge,I as Q,f as c,h as he,i as fe,k as q,S as v,m as X,n as ve,o as xe,p as ye,O as Ce,q as R,F as j,t as Se,T as M,B as U,L as z,v as be,D as ke}from"./index.52c19e01.js";import{c as E,a as I,u as V,o as H,F as Y,R as ee,C as Ie}from"./RHFTextField.59d9d7f6.js";import{L as oe}from"./LoadingButton.a5af7c36.js";import{G as F}from"./Grid.35ade0df.js";import{C as Ae}from"./Card.6cad65b0.js";import"./formatNumber.710686f0.js";import"./TextField.ca0ae25e.js";function Pe(e){return ue("MuiAlert",e)}const Le=de("MuiAlert",["root","action","icon","message","filled","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),G=Le,Me=O(o("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Oe=O(o("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),we=O(o("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),$e=O(o("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),Te=O(o("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Be=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],Re=e=>{const{variant:r,color:n,severity:s,classes:t}=e,l={root:["root",`${r}${J(n||s)}`,`${r}`],icon:["icon"],message:["message"],action:["action"]};return fe(l,Pe,t)},ze=A(me,{name:"MuiAlert",slot:"Root",overridesResolver:(e,r)=>{const{ownerState:n}=e;return[r.root,r[n.variant],r[`${n.variant}${J(n.color||n.severity)}`]]}})(({theme:e,ownerState:r})=>{const n=e.palette.mode==="light"?D:_,s=e.palette.mode==="light"?_:D,t=r.color||r.severity;return k({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px"},t&&r.variant==="standard"&&{color:e.vars?e.vars.palette.Alert[`${t}Color`]:n(e.palette[t].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${t}StandardBg`]:s(e.palette[t].light,.9),[`& .${G.icon}`]:e.vars?{color:e.vars.palette.Alert[`${t}IconColor`]}:{color:e.palette[t].main}},t&&r.variant==="outlined"&&{color:e.vars?e.vars.palette.Alert[`${t}Color`]:n(e.palette[t].light,.6),border:`1px solid ${(e.vars||e).palette[t].light}`,[`& .${G.icon}`]:e.vars?{color:e.vars.palette.Alert[`${t}IconColor`]}:{color:e.palette[t].main}},t&&r.variant==="filled"&&k({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${t}FilledColor`],backgroundColor:e.vars.palette.Alert[`${t}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[t].dark:e.palette[t].main,color:e.palette.getContrastText(e.palette[t].main)}))}),Fe=A("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,r)=>r.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),qe=A("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,r)=>r.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),K=A("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,r)=>r.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),Z={success:o(Me,{fontSize:"inherit"}),warning:o(Oe,{fontSize:"inherit"}),error:o(we,{fontSize:"inherit"}),info:o($e,{fontSize:"inherit"})},Ee=$.exports.forwardRef(function(r,n){var s,t,l,m,p,g;const h=pe({props:r,name:"MuiAlert"}),{action:u,children:x,className:P,closeText:i="Close",color:a,components:d={},componentsProps:f={},icon:S,iconMapping:y=Z,onClose:C,role:w="alert",severity:B="success",slotProps:N={},slots:W={},variant:re="standard"}=h,ne=ge(h,Be),b=k({},h,{color:a,severity:B,variant:re}),L=Re(b),ae=(s=(t=W.closeButton)!=null?t:d.CloseButton)!=null?s:Q,se=(l=(m=W.closeIcon)!=null?m:d.CloseIcon)!=null?l:Te,ie=(p=N.closeButton)!=null?p:f.closeButton,le=(g=N.closeIcon)!=null?g:f.closeIcon;return c(ze,k({role:w,elevation:0,ownerState:b,className:he(L.root,P),ref:n},ne,{children:[S!==!1?o(Fe,{ownerState:b,className:L.icon,children:S||y[B]||Z[B]}):null,o(qe,{ownerState:b,className:L.message,children:x}),u!=null?o(K,{ownerState:b,className:L.action,children:u}):null,u==null&&C?o(K,{ownerState:b,className:L.action,children:o(ae,k({size:"small","aria-label":i,title:i,color:"inherit",onClick:C},ie,{children:o(se,k({fontSize:"small"},le))}))}):null]}))}),T=Ee;function te(){const e=$.exports.useRef(!0);return $.exports.useEffect(()=>()=>{e.current=!1},[]),e}function Ve({setEmailOrPhone:e,setLoginOrVerifyCode:r}){const{login:n}=q(),s=te(),t=E().shape({email:I().email("Email must be a valid email address").required("Email is required")}),l={email:""},m=V({resolver:H(t),defaultValues:l}),{reset:p,setError:g,handleSubmit:h,formState:{errors:u,isSubmitting:x}}=m;return c(Y,{methods:m,onSubmit:h(async i=>{try{await n(i.email),e(i.email),r(!0),p(),X("Kode OTP telah dikirim, silahkan cek email yang login",{variant:"success",autoHideDuration:2e3})}catch(a){p(),s.current&&g("afterSubmit",{...a,message:a.data.message})}}),children:[c(v,{spacing:3,children:[o(T,{severity:"info",children:"Masukkan akun yang telah terdaftar"}),!!u.afterSubmit&&o(T,{severity:"error",children:u.afterSubmit.message}),o(ee,{name:"email",label:"Email address"})]}),o(oe,{fullWidth:!0,size:"large",type:"submit",variant:"contained",loading:x,sx:{marginTop:2},children:"Login"})]})}function He({setEmailOrPhone:e,setLoginOrVerifyCode:r}){const{login:n}=q(),s=te(),t=E().shape({phone:I().required("Phone is required")}),l={phone:""},m=V({resolver:H(t),defaultValues:l}),{reset:p,setError:g,handleSubmit:h,formState:{errors:u,isSubmitting:x}}=m;return c(Y,{methods:m,onSubmit:h(async i=>{try{await n(0+i.phone),e(0+i.phone),r(!0),p(),X("Kode OTP telah dikirim, silahkan cek pada nomor yang telah login",{variant:"success",autoHideDuration:2e3})}catch(a){p(),s.current&&g("afterSubmit",{...a,message:a.data.message})}}),children:[c(v,{spacing:3,children:[o(T,{severity:"info",children:"Masukkan akun yang telah terdaftar"}),!!u.afterSubmit&&o(T,{severity:"error",children:u.afterSubmit.message}),o(ee,{name:"phone",label:"Phone Number",type:"number",InputProps:{startAdornment:o(ve,{position:"start",children:"+62"})}})]}),o(oe,{fullWidth:!0,size:"large",type:"submit",variant:"contained",loading:x,sx:{marginTop:2},children:"Login"})]})}function Ne({emailOrPhone:e}){const r=xe(),{validateOtp:n}=q(),{enqueueSnackbar:s}=ye(),t=E().shape({code1:I().required("Code is required"),code2:I().required("Code is required"),code3:I().required("Code is required"),code4:I().required("Code is required")}),l={code1:"",code2:"",code3:"",code4:""},{watch:m,control:p,setValue:g,handleSubmit:h}=V({mode:"onBlur",resolver:H(t),defaultValues:l}),u=m();$.exports.useEffect(()=>{const i=a=>{var f;let d=((f=a==null?void 0:a.clipboardData)==null?void 0:f.getData("Text"))||"";d=d.split(""),[].forEach.call(document.querySelectorAll("#field-code"),(S,y)=>{S.value=d[y];const C=`code${y+1}`;g(C,d[y])})};document.addEventListener("paste",i)},[g]);const x=async i=>{const a=await n(e,Object.values(i).join(""));if(a.data.length===0)return s(a.message,{variant:"error",autoHideDuration:4e3,preventDuplicate:!0});s("Verify success!",{variant:"success",autoHideDuration:1e3}),await new Promise(d=>setTimeout(d,2e3)),r("/dashboard"),s("Login Berhasil!",{variant:"success"}),localStorage.removeItem("loginOrVerifyCode"),localStorage.removeItem("emailOrPhone"),localStorage.removeItem("emailOrPhoneForm")},P=(i,a)=>{const{maxLength:d,value:f,name:S}=i.target,y=S.replace("code",""),C=Number(y);if(f.length>=d&&C<6){const w=document.querySelector(`input[name=code${C+1}]`);w!==null&&w.focus()}a(i)};return o("form",{onChange:h(x),children:o(v,{direction:"row",spacing:2,justifyContent:"space-evenly",children:Object.keys(u).map((i,a)=>o(Ie,{name:`code${a+1}`,control:p,render:({field:d})=>o(Ce,{...d,id:"field-code",autoFocus:a===0,placeholder:"",onChange:f=>P(f,d.onChange),inputProps:{maxLength:1,sx:{p:0,textAlign:"center",width:{xs:36,sm:56},height:{xs:36,sm:56}}}})},i))})})}const We=A("div")(({theme:e})=>({[e.breakpoints.up("md")]:{display:"flex"},minHeight:"100vh",flexDirection:"column",justifyContent:"center",alignItems:"center"})),De=A(Ae)(({theme:e})=>({[e.breakpoints.up("md")]:{maxHeight:"600px",maxWidth:"1000px"}}));function Xe(){const[e,r]=R("emailOrPhone",""),[n,s]=R("emailOrPhoneForm",!1),[t,l]=R("loginOrVerifyCode",!1);return o(ce,{title:"Login",children:o(We,{children:o(De,{children:c(F,{container:!0,children:[o(F,{item:!0,xs:6,children:c("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{width:"100%"},children:[o("source",{src:"/images/login-image.webm",type:"video/webm"}),o("source",{src:"/images/login-image.mp4",type:"video/mp4"})]})}),c(F,{item:!0,xs:6,sx:{padding:3},children:[t&&e?c(j,{children:[c(v,{direction:"column",sx:{mb:5},children:[c(v,{direction:"row",alignItems:"center",children:[o(Q,{onClick:()=>{localStorage.removeItem("emailOrPhone"),l(!1)},children:o(Se,{icon:"heroicons-outline:arrow-narrow-left",sx:{marginRight:"10px"}})}),o(M,{variant:"h4",gutterBottom:!0,children:"Verifikasi OTP"})]}),o(U,{sx:{flexGrow:1},children:o(M,{variant:"body1",sx:{color:"text.secondary",textAlign:"left"},children:"Masukkan kode OTP anda disini"})})]}),o(Ne,{emailOrPhone:e}),c(v,{sx:{marginTop:5},spacing:1,alignItems:"center",children:[o(M,{children:"Tidak mendapatkan kode?"}),o(z,{sx:{cursor:"pointer"},children:"Kirim Ulang Kode OTP"})]})]}):c(j,{children:[c(v,{direction:"row",alignItems:"center",sx:{mb:5},children:[o(be,{sx:{width:90,height:90}}),c(U,{sx:{flexGrow:1},children:[o(M,{variant:"h4",gutterBottom:!0,children:"Sign in to LinkSehat"}),o(M,{variant:"body1",sx:{color:"text.secondary"},children:"Enter your details below."})]})]}),n?o(He,{setEmailOrPhone:r,setLoginOrVerifyCode:l}):o(Ve,{setEmailOrPhone:r,setLoginOrVerifyCode:l})]}),o(ke,{sx:{marginTop:5},children:"Atau"}),o(v,{sx:{marginTop:5},children:n?o(z,{align:"center",underline:"hover",onClick:()=>{r(""),l(!1),s(!1)},sx:{cursor:"pointer"},children:"Masuk menggunakan email"}):o(z,{align:"center",underline:"hover",onClick:()=>{r(""),l(!1),s(!0)},sx:{cursor:"pointer"},children:"Masuk menggunakan nomor handphone"})})]})]})})})})}export{Xe as default};
|