1 line
11 KiB
Plaintext
1 line
11 KiB
Plaintext
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[143],{11878:(e,t,o)=>{o.d(t,{p:()=>a});var n=o(45704),s=o(5481),i=o(33854);function a(e){let{src:t,mobileSrc:o,alt:a,width:r,height:l,priority:d=!1,className:u,sizes:c="100vw",fill:p=!1,objectFit:h="cover",quality:g=80,placeholder:v,blurDataURL:f,fetchPriority:k,loading:A}=e;if(!t)return(0,n.jsx)("div",{className:(0,i.cn)("bg-gray-200 animate-pulse",p?"w-full h-full inset-0 absolute":"",u),style:{width:p?void 0:r,height:p?void 0:l}});let w=(t.startsWith("http"),t);return(0,n.jsx)(s.default,{src:w,alt:a||"",width:p?void 0:r,height:p?void 0:l,priority:d,className:u,sizes:c,fill:p,style:h?{objectFit:h}:void 0,loading:A||(d?"eager":"lazy"),fetchPriority:k||(d?"high":void 0),quality:g,placeholder:v,blurDataURL:f})}},28593:(e,t,o)=>{o.d(t,{bc:()=>i,kn:()=>s,oZ:()=>n});let n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"vi-VN";if(!e)return"";let o=e.split(" ")[0].split("/");if(3===o.length){let[e,n,s]=o,i=new Date("".concat(s,"-").concat(n,"-").concat(e));if(!isNaN(i.getTime()))return i.toLocaleDateString(t,{day:"2-digit",month:"2-digit",year:"numeric"})}return e.split(" ")[0]},s=e=>{if(!e)return null;try{let[t,o]=e.split(" "),[n,s,i]=t.split("/").map(Number);if(o){let[e,t]=o.split(":").map(Number);return new Date(i,s-1,n,e,t)}return new Date(i,s-1,n)}catch(e){return null}},i=(e,t)=>{if(!e)return"";try{let o="string"==typeof e?new Date(e):e;if(isNaN(o.getTime()))return"string"==typeof e?e:"";let n=String(o.getDate()).padStart(2,"0"),s=String(o.getMonth()+1).padStart(2,"0"),i=o.getFullYear();if("en"===t)return"".concat(s,"/").concat(n,"/").concat(i);return"".concat(n,"/").concat(s,"/").concat(i)}catch(t){return"string"==typeof e?e:""}}},33854:(e,t,o)=>{o.d(t,{cn:()=>i});var n=o(50672),s=o(37292);function i(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];return(0,s.QP)((0,n.$)(t))}},64704:(e,t,o)=>{o.d(t,{n:()=>d});var n=o(46101),s=o(47526),i=o(5507),a=o(72572),r=o(28593);let l={token:null,refreshToken:null,expiresAt:null,user:null,isAuthenticated:!1,isLoginOpen:!1,isSignupOpen:!1,isOTPOpen:!1,isForgotPasswordOpen:!1,isResetPasswordOpen:!1,isSuccessOpen:!1,previousPopup:null,successType:null,isLoading:!1,error:null,otpAccGuid:null,accGUID:null,loginPhone:null,pendingAuthData:null,redirectPath:null},d=(0,n.v)()((0,s.Zr)((e,t)=>({...l,login:async(o,n)=>{var s,a,r,l,d,u,c,p,h,g,v,f,k;e({isLoading:!0,error:null,loginPhone:o});try{let p=await i.uE.post("/umc/auth/login",{username:o,password:n});if(p.data){let o={},n=p.data,i=n.token||n.access_token||(null===(s=n.data)||void 0===s?void 0:s.token)||(null===(a=n.data)||void 0===a?void 0:a.access_token),h=n.refreshToken||n.refresh_token||(null===(r=n.data)||void 0===r?void 0:r.refreshToken)||(null===(l=n.data)||void 0===l?void 0:l.refresh_token),g=n.expiresAt||(null===(d=n.data)||void 0===d?void 0:d.expiresAt);if(i&&(o.token=i),h&&(o.refreshToken=h),g&&(o.expiresAt=g),p.data.user?o.user=p.data.user:(null===(u=p.data.data)||void 0===u?void 0:u.user)?o.user=p.data.data.user:p.data.data&&"object"==typeof p.data.data&&!Array.isArray(p.data.data)&&(o.user=p.data.data),p.data.listObjects&&(null===(c=p.data.listObjects[0])||void 0===c?void 0:c.otpAccGuid)){let n=p.data.listObjects[0].otpAccGuid;e({pendingAuthData:{token:o.token||null,refreshToken:o.refreshToken||null,expiresAt:o.expiresAt||null,user:o.user||null,accGUID:p.data.accGUID||null},otpAccGuid:n,isLoading:!1,isLoginOpen:!1,isAuthenticated:!1}),t().openOTP("login",n);return}e({...o,accGUID:p.data.accGUID||null,isAuthenticated:!!o.token,isLoading:!1,isLoginOpen:!1,pendingAuthData:null})}}catch(t){throw e({error:(null===(h=t.response)||void 0===h?void 0:null===(p=h.data)||void 0===p?void 0:p.details)||(null===(v=t.response)||void 0===v?void 0:null===(g=v.data)||void 0===g?void 0:g.message)||(null===(k=t.response)||void 0===k?void 0:null===(f=k.data)||void 0===f?void 0:f.error)||"Đăng nhập thất bại. Vui l\xf2ng thử lại.",isLoading:!1}),t}},register:async o=>{e({isLoading:!0,error:null});try{let n=await i.uE.post("/auth/register",o);if(n.data){let o={};(n.data.token||n.data.access_token)&&(o.token=n.data.token||n.data.access_token),(n.data.refreshToken||n.data.refresh_token)&&(o.refreshToken=n.data.refreshToken||n.data.refresh_token),n.data.expiresAt&&(o.expiresAt=n.data.expiresAt),n.data.user&&(o.user=n.data.user),e({...o,isAuthenticated:!!o.token,isLoading:!1,isOTPOpen:!1}),t().openSuccess("signup")}}catch(t){var n,s,a,r;throw e({error:(null===(s=t.response)||void 0===s?void 0:null===(n=s.data)||void 0===n?void 0:n.message)||(null===(r=t.response)||void 0===r?void 0:null===(a=r.data)||void 0===a?void 0:a.error)||"Đăng k\xfd thất bại. Vui l\xf2ng thử lại.",isLoading:!1}),t}},logout:async()=>{let{token:o}=t();if(o)try{await i.uE.post("/umc/auth/logout",{},{headers:{Authorization:"Bearer ".concat(o)}})}catch(e){}e({...l,isLoginOpen:!1,isSignupOpen:!1,isOTPOpen:!1,isForgotPasswordOpen:!1,isResetPasswordOpen:!1,isSuccessOpen:!1}),localStorage.removeItem("signup_data"),localStorage.removeItem("forgot_password_phone")},setAuth:t=>{e({...t,isAuthenticated:!!t.token})},checkAuth:()=>{let{token:e,expiresAt:o}=t();return!!e&&(!(o&&((0,r.kn)(o)||new Date(o))<new Date)||(t().refreshAuthToken().catch(()=>{t().logout()}),!1))},refreshAuthToken:async()=>{let{refreshToken:o}=t();if(!o)throw Error("No refresh token available");try{let t=await i.uE.post("/auth/refresh",{refreshToken:o},{headers:{Authorization:"Bearer ".concat(o)}});if(t.data){let o={};(t.data.token||t.data.access_token)&&(o.token=t.data.token||t.data.access_token),(t.data.refreshToken||t.data.refresh_token)&&(o.refreshToken=t.data.refreshToken||t.data.refresh_token),t.data.expiresAt&&(o.expiresAt=t.data.expiresAt),e({...o,isAuthenticated:!!o.token})}}catch(e){throw t().logout(),e}},openLogin:o=>{t().closeAll(),e({isLoginOpen:!0,redirectPath:o||null})},openSignup:()=>{t().closeAll(),e({isSignupOpen:!0})},openOTP:(o,n)=>{let s=n||t().otpAccGuid;t().closeAll(),e({isOTPOpen:!0,previousPopup:o||null,otpAccGuid:s})},openForgotPassword:()=>{t().closeAll(),e({isForgotPasswordOpen:!0})},openResetPassword:()=>{t().closeAll(),e({isResetPasswordOpen:!0})},openSuccess:o=>{t().closeAll(),e({isSuccessOpen:!0,successType:o})},closeAll:()=>{e({isLoginOpen:!1,isSignupOpen:!1,isOTPOpen:!1,isForgotPasswordOpen:!1,isResetPasswordOpen:!1,isSuccessOpen:!1,otpAccGuid:null,loginPhone:null})},closeLogin:()=>{e({isLoginOpen:!1})},closeSignup:()=>{e({isSignupOpen:!1})},closeOTP:()=>{e({isOTPOpen:!1,otpAccGuid:null})},closeForgotPassword:()=>{e({isForgotPasswordOpen:!1})},closeResetPassword:()=>{e({isResetPasswordOpen:!1})},closeSuccess:()=>{e({isSuccessOpen:!1})},setPreviousPopup:t=>{e({previousPopup:t})},setSuccessType:t=>{e({successType:t})},setLoading:t=>{e({isLoading:t})},setError:t=>{e({error:t})},forgotPassword:async t=>{var o,n,s,a,r;e({isLoading:!0,error:null});try{let{data:n}=await i.uE.post("/auth/user/check",{identifier:t});if(!(null===(o=n.data)||void 0===o?void 0:o.exists))throw Error("Số điện thoại n\xe0y chưa được đăng k\xfd");localStorage.setItem("forgot_password_phone",t),e({isLoading:!1})}catch(t){throw e({error:(null===(s=t.response)||void 0===s?void 0:null===(n=s.data)||void 0===n?void 0:n.message)||t.message||(null===(r=t.response)||void 0===r?void 0:null===(a=r.data)||void 0===a?void 0:a.error)||"Đ\xe3 xảy ra lỗi. Vui l\xf2ng thử lại.",isLoading:!1}),t}},resetPassword:async o=>{e({isLoading:!0,error:null});try{await i.uE.post("/auth/user/forgot-password",{key:o.key,phone:o.phone,newPassword:o.newPassword,confirmPassword:o.confirmPassword}),localStorage.removeItem("forgot_password_phone"),e({isLoading:!1,isResetPasswordOpen:!1}),t().openSuccess("forgot-password")}catch(t){var n,s,a,r;throw e({error:(null===(s=t.response)||void 0===s?void 0:null===(n=s.data)||void 0===n?void 0:n.message)||(null===(r=t.response)||void 0===r?void 0:null===(a=r.data)||void 0===a?void 0:a.error)||"Đặt lại mật khẩu thất bại. Vui l\xf2ng thử lại.",isLoading:!1}),t}},verifyLoginOTP:async o=>{var n,s,a,r,l,d;let{otpAccGuid:u,pendingAuthData:c}=t();if(!u)throw Error("Passcode kh\xf4ng hợp lệ");e({isLoading:!0,error:null});try{let a=await i.uE.post("/umc/auth/verify-otp",{id:u,otp:o},{headers:{Authorization:"Bearer ".concat(null==c?void 0:c.token)}});if(a.data&&(0===a.data.status||(null===(n=a.data.data)||void 0===n?void 0:n.status)===0)){let{pendingAuthData:o}=t();o?e({token:o.token,refreshToken:o.refreshToken,expiresAt:o.expiresAt,user:o.user,accGUID:o.accGUID,isAuthenticated:!0,isLoading:!1,isOTPOpen:!1,otpAccGuid:null,pendingAuthData:null}):e({isAuthenticated:!0,isLoading:!1,isOTPOpen:!1,otpAccGuid:null})}else throw Error((null===(s=a.data)||void 0===s?void 0:s.messageCode)||"X\xe1c thực thất bại")}catch(t){throw e({error:(null===(r=t.response)||void 0===r?void 0:null===(a=r.data)||void 0===a?void 0:a.message)||(null===(d=t.response)||void 0===d?void 0:null===(l=d.data)||void 0===l?void 0:l.error)||"X\xe1c thực OTP thất bại. Vui l\xf2ng thử lại.",isLoading:!1}),t}},setOtpAccGuid:t=>{e({otpAccGuid:t})}}),{name:"auth-storage",partialize:e=>({token:e.token,refreshToken:e.refreshToken,expiresAt:e.expiresAt,user:e.user,accGUID:e.accGUID,isAuthenticated:e.isAuthenticated,redirectPath:e.redirectPath})}));{let e=!1,t=null;d.subscribe(o=>{let n=o.isLoginOpen||o.isSignupOpen||o.isOTPOpen||o.isForgotPasswordOpen||o.isResetPasswordOpen||o.isSuccessOpen;if(t===n)return;if(t=n,n&&!e){e=!0,document.body.style.overflow="hidden";let t=window.innerWidth-document.body.clientWidth;document.body.style.paddingRight="".concat(t,"px")}else!n&&e&&(e=!1,document.body.style.overflow="",document.body.style.paddingRight="");let s={state:{token:o.token,refreshToken:o.refreshToken,expiresAt:o.expiresAt,user:o.user,accGUID:o.accGUID,isAuthenticated:o.isAuthenticated},version:0};o.token?(0,a.TV)("auth-storage",encodeURIComponent(JSON.stringify(s))):(0,a.Yj)("auth-storage")}),setTimeout(()=>{let e=d.getState(),t={state:{token:e.token,refreshToken:e.refreshToken,expiresAt:e.expiresAt,user:e.user,accGUID:e.accGUID,isAuthenticated:e.isAuthenticated},version:0};e.token&&(0,a.TV)("auth-storage",encodeURIComponent(JSON.stringify(t)))},1e3)}},72572:(e,t,o)=>{function n(e){if("undefined"==typeof document)return null;let t="; ".concat(document.cookie).split("; ".concat(e,"="));if(2===t.length){var o;return(null===(o=t.pop())||void 0===o?void 0:o.split(";").shift())||null}return null}function s(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:365;if("undefined"==typeof document)return;let n=new Date;n.setTime(n.getTime()+24*o*36e5),document.cookie="".concat(e,"=").concat(t,";expires=").concat(n.toUTCString(),";path=/")}function i(e){"undefined"!=typeof document&&(document.cookie="".concat(e,"=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/"))}o.d(t,{Ri:()=>n,TV:()=>s,Yj:()=>i})}}]); |