1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8295],{34267:(e,t,s)=>{"use strict";s.d(t,{A:()=>n,y:()=>o});var r=s(37876),a=s(49755),i=s(15565);let l="string"==typeof a.A?a.A:a.A.src;function n(e){let{className:t}=e;return(0,r.jsx)("img",{src:l,alt:"","aria-hidden":"true",className:(0,i.cn)("h-5 w-5 animate-spin object-contain",t)})}function o(e){let{label:t,className:s}=e;return(0,r.jsxs)("div",{role:"status","aria-label":t||"Loading",className:(0,i.cn)("flex flex-col items-center justify-center gap-3 py-16",s),children:[(0,r.jsx)(n,{className:"h-10 w-10"}),t?(0,r.jsx)("p",{className:"text-sm text-text",children:t}):null]})}},49755:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r={src:"/_next/static/media/admin-logo.310a57ea.png",height:310,width:403,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAMAAADJ2y/JAAAAYFBMVEVAP1H+Uwr/XAj/6+v/mUvxcyr55N1MaXHx1Mx3PCv/1Lj76emhRCo1L0HRSBm8p6fRcSsrK0D95N/+iFApPV//ZwHNVgY3QlfSubb/WQr/mWH/NQD/xqL0z8I5NUjSTBZi9RpgAAAAHHRSTlP8tvpa+ankAOr7EoI829vuh2PJ7sPz6KnuR/owUgXJnQAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUeJxjYJcWFmKVYWZnYGdkkhJlYeNikJTnZOIUk+FmYOQUZxURYGFj4JOT4ODgkOVn4OFlAAFBAEL5Ak8gp71jAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:6}},60641:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/login",function(){return s(92278)}])},75772:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(76838).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},81244:(e,t,s)=>{"use strict";s.d(t,{$:()=>r});let r={SIGNUP_EMAIL_SUBMIT:"signup_email_submit",SIGNUP_GOOGLE_START:"signup_google_start",SIGNUP_PROFILE_SUBMIT:"signup_profile_submit",SIGNUP_COMPLETE:"signup_complete",LOGIN_SUBMIT:"login_submit",LOGIN_SUCCESS:"login_success",LOGIN_ERROR:"login_error",LOGIN_GOOGLE_START:"login_google_start",HOME_STORIES_READ_MORE:"home_stories_read_more",BOOKING_PREFERENCES_SUBMIT:"booking_preferences_submit",BOOKING_INTENT_SAVED:"booking_intent_saved",BOOKING_INTENT_STALE:"booking_intent_stale",BOOKING_OTP_REQUEST:"booking_otp_request",BOOKING_OTP_VERIFIED:"booking_otp_verified",BOOKING_OTP_FAILED:"booking_otp_failed",BOOKING_PROFILE_COMPLETE:"booking_profile_complete",BOOKING_REGISTRATION_SUCCESS:"booking_registration_success",BOOKING_REGISTRATION_FAILED:"booking_registration_failed",CHECKOUT_START:"checkout_start",REFERRAL_ATTACH_SUCCESS:"referral_attach_success",REFERRAL_CLAIM_SUCCESS:"referral_claim_success",REFERRAL_CLAIM_INVALID:"referral_claim_invalid",VERIFICATION_START:"verification_start",PAYMENT_QUOTE_LOADED:"payment_quote_loaded",PAYMENT_FORM_INCOMPLETE:"payment_form_incomplete",PAYMENT_SUBMIT_SUCCESS:"payment_submit_success",PAYMENT_SUBMIT_FAILED:"payment_submit_failed",PAYMENT_BLOCKED_SEATS_FULL:"payment_blocked_seats_full",WAITLIST_JOIN_FROM_SOLD_OUT:"waitlist_join_from_sold_out",REFUND_SUBMIT:"refund_submit",TRIP_LINK_COPIED:"trip_link_copied",TRIP_JOINING_CITY_SELECTED:"trip_joining_city_selected",TRIP_DEPARTURE_SELECTED:"trip_departure_selected",TRIP_DETAIL_VIEW:"trip_detail_view",BOOKING_REQUIREMENT_VIEW:"booking_requirement_view",REQUIREMENT_BLOCKED:"requirement_blocked",BOOKING_OTP_SCREEN:"booking_otp_screen",BOOKING_PROFILE_SCREEN:"booking_profile_screen",VERIFICATION_VIEW:"verification_view",BOOKING_DETAILS_VIEW:"booking_details_view",BOOKING_CANCEL_START:"booking_cancel_start",BOOKING_EMAIL_REQUEST:"booking_email_request",WHATSAPP_GROUP_JOIN:"whatsapp_group_join",TRAVELLER_BRIEFING_OPEN:"traveller_briefing_open",TRAVELLER_BRIEFING_MAPS_OPEN:"traveller_briefing_maps_open",BUG_REPORT_LAUNCHER_OPEN:"bug_report_launcher_open",BUG_REPORT_MODAL_OPEN:"bug_report_modal_open",BUG_REPORT_SCREENSHOT_SELECT:"bug_report_screenshot_select",BUG_REPORT_VOICE_CAPTURE:"bug_report_voice_capture",BUG_REPORT_SUBMIT_SUCCESS:"bug_report_submit_success",BUG_REPORT_SUBMIT_FAILURE:"bug_report_submit_failure",PUSH_INSTALL_COACHING_SHOWN:"push_install_coaching_shown",PUSH_OPTIN_START:"push_optin_start",PUSH_OPTIN_GRANTED:"push_optin_granted",PUSH_OPTIN_DENIED:"push_optin_denied",PUSH_OPTIN_SUBSCRIBED:"push_optin_subscribed",PUSH_OPTIN_ERROR:"push_optin_error",PUSH_DISABLED:"push_disabled",UI_EXPERIENCE_SWITCH_CONFIRMED:"ui_experience_switch_confirmed",UI_EXPERIENCE_SWITCH_FAILED:"ui_experience_switch_failed"}},92278:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var r=s(37876),a=s(37972),i=s(52605),l=s(85664),n=s(89099),o=s(34650),c=s(95680),_=s(11652),u=s(41219),d=s(15565),m=s(81244),p=s(94298),h=s(75772),g=s(10553),x=s(48230),f=s.n(x),E=s(14e3),N=s(14232);function b(){let{data:e}=(0,g.useSession)(),t=(0,E.useRouter)(),s=(0,E.useSearchParams)(),[x,b]=(0,N.useState)(null);(0,N.useEffect)(()=>{let e=localStorage.getItem("returnTo");e&&/^\/(?!\/)/.test(e)&&b(e)},[]);let I=(0,N.useMemo)(()=>{let e=null==s?void 0:s.get("callbackUrl");return"string"==typeof e&&/^\/(?!\/)/.test(e)?e:x&&/^\/(?!\/)/.test(x)?x:null},[s,x]),A=(0,N.useMemo)(()=>I?"/signup/create-account?callbackUrl=".concat(encodeURIComponent(I)):"/signup/create-account",[I]),O=(()=>{let[e,t]=(0,l.L4)(o.Ny),{TOKEN_VERIFY:s}=i.A,r=(0,n.useRouter)();return{user:e,verifyToken:async()=>{var e;let a=await c.Ay.get("".concat(s)),i=null==a?void 0:a.statusCode,l=null!=(e=null==a?void 0:a.data)?e:a;return i&&200!==i?r.push("/login"):l&&t(l),l}}})(),[S,T]=(0,N.useState)(""),[R,y]=(0,N.useState)(["","","","","",""]),j=(0,N.useRef)([]),[v,C]=(0,N.useState)("email"),[w,L]=(0,N.useState)(!1);(0,N.useEffect)(()=>{L((0,d.f)())},[]);let[P,U]=(0,N.useState)(""),[G,M]=(0,N.useState)(!1),[D,k]=(0,N.useState)(!1),[B,F]=(0,N.useState)(!1),[H,V]=(0,N.useState)(0);(0,N.useEffect)(()=>
1{if(H<=0)return;let e=setInterval(()=>{V(t=>t<=1?(clearInterval(e),0):t-1)},1e3);return()=>clearInterval(e)},[H]);let K=(0,N.useCallback)(async()=>{try{var e,s;let r=await O.verifyToken();if(null==r||null==(e=r.roles)?void 0:e.includes(a.gg.ADMIN)){if(I&&(I.startsWith("/admin")||I.startsWith("/team-invite"))){localStorage.removeItem("returnTo"),t.push(I);return}t.push(a.Dh.ADMIN_DASHBOARD);return}if(null==r||null==(s=r.roles)?void 0:s.includes(a.gg.MUSAFIR)){if(I&&!I.startsWith("/admin")){localStorage.removeItem("returnTo"),t.push(I);return}t.push(a.Dh.HOME);return}t.push(a.Dh.HOME)}catch(e){console.error("Token verification failed",e),t.push("/login")}},[O,I,t]);(0,N.useEffect)(()=>{e&&!B&&(F(!0),K())},[e,B,K]);let W=async e=>{e.preventDefault(),U(""),M(!0);try{await c.Ay.post(i.A.SEND_LOGIN_PASSWORD,{email:S}),C("otp"),y(["","","","","",""]),V(30)}catch(e){U((0,_.mj)(e))}finally{M(!1)}},J=async()=>{if(!(H>0)){U(""),M(!0);try{await c.Ay.post(i.A.SEND_LOGIN_PASSWORD,{email:S}),V(30)}catch(e){U((0,_.mj)(e))}finally{M(!1)}}},Y=async e=>{e.preventDefault();let s=R.join("");if(6===s.length){U(""),M(!0),(0,u.m2)(m.$.LOGIN_SUBMIT);try{let e=await (0,g.signIn)("credentials",{email:S,password:s,redirect:!1});if((null==e?void 0:e.status)===200){if((0,u.m2)(m.$.LOGIN_SUCCESS),F(!0),I){localStorage.removeItem("returnTo"),t.replace(I);return}setTimeout(()=>{K()},1e3)}(null==e?void 0:e.error)&&((0,u.m2)(m.$.LOGIN_ERROR),U("Invalid or expired OTP"))}catch(e){console.error("Login error:",e),(0,u.m2)(m.$.LOGIN_ERROR),U((0,_.mj)(e))}finally{M(!1)}}},Z=async()=>{if(D)return;k(!0),localStorage.setItem("isGoogleLoginPending","true");let e=null==s?void 0:s.get("callbackUrl"),t="string"==typeof e&&/^\/(?!\/)/.test(e),r="https://3musafir.com".trim().length>0?"https://3musafir.com":"",a=r?"".concat(r,"/auth-callback"):"/auth-callback",i=null!=I?I:t?e:void 0,l=i?"".concat(a,"?next=").concat(encodeURIComponent(i)):a;(0,u.m2)(m.$.LOGIN_GOOGLE_START);try{await (0,g.signIn)("google",{callbackUrl:l})}catch(e){throw k(!1),e}};return(0,r.jsx)("div",{className:"min-h-screen w-full bg-white p-0",children:(0,r.jsxs)("div",{className:"bg-white max-w-md mx-auto rounded-lg min-h-screen p-3 w-full",children:[(0,r.jsxs)("header",{className:"flex items-center px-4 py-2 border-b",children:[(0,r.jsx)(f(),{href:"/",className:"p-2 hover:bg-gray-100 rounded-full",children:(0,r.jsx)(h.A,{className:"h-5 w-5"})}),(0,r.jsx)("h1",{className:"text-center flex-1 text-xl font-semibold mr-7",children:"Login"})]}),(0,r.jsxs)("main",{className:"p-4 max-w-md mx-auto",children:[(0,r.jsx)("div",{className:"mb-8",children:(0,r.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"Login to your Musafir Account"})}),"email"===v?(0,r.jsxs)("form",{className:"space-y-6",onSubmit:W,children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium",children:"Email"}),(0,r.jsx)("input",{type:"email",id:"email",placeholder:"Enter your email",value:S,onChange:e=>T(e.target.value),className:"w-full input-field",disabled:G,required:!0}),P&&(0,r.jsx)("p",{className:"text-brand-error text-sm mt-1",children:P})]}),(0,r.jsx)("button",{type:"submit",disabled:G,className:"btn-primary w-full flex items-center justify-center","aria-busy":G||void 0,children:G?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p._,{motif:"action",label:"Sending OTP",className:"text-white"}),"Sending OTP..."]}):"Send OTP"}),!w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("div",{className:"absolute inset-0 flex items-center",children:(0,r.jsx)("div",{className:"w-full border-t border-gray-300"})}),(0,r.jsx)("div",{className:"relative flex justify-center text-sm",children:(0,r.jsx)("span",{className:"px-2 bg-white text-gray-500",children:"OR"})})]}),(0,r.jsxs)("button",{onClick:Z,type:"button",disabled:G||D,className:"w-full border border-gray-300 hover:bg-gray-50 disabled:bg-gray-100 disabled:cursor-not-allowed py-4 rounded-md text-sm font-medium transition-colors flex items-center justify-center gap-3","aria-busy":D||void 0,children:[D?(0,r.jsx)(p._,{motif:"action",label:"Signing in with Google",className:"text-brand-primary"}):(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M47.532 24.5528C47.532 22.9214 47.3997 21.2811 47.1175 19.6761H24.48V28.9181H37.4434C36.9055 31.8988 35.177 34.5356 32.6461 36.2111V42.2078H40.3801C44.9217 38.0278 47.532 31.8547 47.532 24.5528Z",fill:"#4285F4"}),(0,r.jsx)("path",{d:"M24.48 48.0016C30.9529 48.0016 36.4116 45.8764 40.3888 42.2078L32.6549 36.2111C30.5031 37.675 27.7252 38.5039 24.4888 38.5039C18.2275 38.5039 12.9187 34.2798 11.0139 28.6006H3.03296V34.7825C7.10718 42.8868 15.4056 48.0016 24.48 48.0016Z",fill:"#34A853"}),(0,r.jsx)("path",{d:"M11.0051 28.6006C9.99973 25.6199 9.99973 22.3922 11.0051 19.4115V13.2296H3.03298C-0.371021 20.0112 -0.371021 28.0009 3.03298 34.7825L11.0051 28.6006Z",fill:"#FBBC04"}),(0,r.jsx)("path",{d:"M24.48 9.49932C27.9016 9.44641 31.2086 10.7339 33.6866 13.0973L40.5387 6.24523C36.2 2.17101 30.4414 -0.068932 24.48 0.00161733C15.4055 0.00161733 7.10718 5.11644 3.03296 13.2296L11.005 19.4115C12.901 13.7235 18.2187 9.49932 24.48 9.49932Z",fill:"#EA4335"})]}),!D&&"Sign In with Google"]})]}),w&&(0,r.jsx)("p",{className:"text-center text-sm text-gray-500",children:"Google sign-in isn't available inside this app â use email OTP above, or open 3musafir.com in your browser."}),(0,r.jsxs)("p",{className:"text-center text-sm text-gray-600",children:["New to 3Musafir?"," ",(0,r.jsx)(f(),{href:A,className:"font-medium text-brand-primary hover:underline underline-offset-4",children:"Create an account"})]})]}):(0,r.jsxs)("form",{className:"space-y-6",onSubmit:Y,children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{className:"block text-sm font-medium",children:"Email"}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm text-gray-700",children:S}),(0,r.jsx)("button",{type:"button",onClick:()=>{C("email"),y(["","","","","",""]),U(""),V(0)},className:"text-brand-primary hover:text-brand-primary-hover text-sm font-medium",children:"Change"})]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{className:"block text-sm font-medium",children:"Enter OTP"}),(0,r.jsx)("div",{className:"flex justify-between gap-2",children:R.map((e,t)=>(0,r.jsx)("input",{ref:e=>{j.current[t]=e},type:"text",inputMode:"numeric",pattern:"[0-9]*",maxLength:1,value:e,disabled:G,autoComplete:0===t?"one-time-code":"off",className:"w-12 h-14 text-center text-xl font-semibold border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-brand-primary focus:border-brand-primary disabled:bg-gray-100 disabled:cursor-not-allowed",onFocus:e=>e.target.select(),onChange:s=>{var r,a;let i=s.target.value.replace(/\D/g,"");if(!i&&!e)return;let l=[...R];if(i.length>1){let e=i.slice(0,6).split("");e.forEach((e,s)=>{t+s<6&&(l[t+s]=e)}),y(l);let s=Math.min(t+e.length,5);null==(a=j.current[s])||a.focus();return}l[t]=i,y(l),i&&t<5&&(null==(r=j.current[t+1])||r.focus())},onKeyDown:e=>{if("Backspace"===e.key&&!R[t]&&t>0){var s;let e=[...R];e[t-1]="",y(e),null==(s=j.current[t-1])||s.focus()}},onPaste:e=>{var t;e.preventDefault();let s=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6);if(!s)return;let r=[...R];s.split("").forEach((e,t)=>{t<6&&(r[t]=e)}),y(r);let a=Math.min(s.length,5);
1null==(t=j.current[a])||t.focus()}},t))}),P&&(0,r.jsx)("p",{className:"text-brand-error text-sm mt-1",children:P})]}),(0,r.jsx)("div",{className:"text-right",children:H>0?(0,r.jsxs)("span",{className:"text-sm text-gray-500",children:["Resend OTP in ",H,"s"]}):(0,r.jsx)("button",{type:"button",onClick:J,disabled:G,className:"text-brand-primary hover:text-brand-primary-hover text-sm font-medium",children:"Resend OTP"})}),(0,r.jsx)("button",{type:"submit",disabled:G||6!==R.join("").length,className:"btn-primary w-full flex items-center justify-center","aria-busy":G||void 0,children:G?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p._,{motif:"action",label:"Verifying",className:"text-white"}),"Verifying..."]}):"Verify & Sign In"}),!w&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("div",{className:"absolute inset-0 flex items-center",children:(0,r.jsx)("div",{className:"w-full border-t border-gray-300"})}),(0,r.jsx)("div",{className:"relative flex justify-center text-sm",children:(0,r.jsx)("span",{className:"px-2 bg-white text-gray-500",children:"OR"})})]}),(0,r.jsxs)("button",{onClick:Z,type:"button",disabled:G||D,className:"w-full border border-gray-300 hover:bg-gray-50 disabled:bg-gray-100 disabled:cursor-not-allowed py-4 rounded-md text-sm font-medium transition-colors flex items-center justify-center gap-3","aria-busy":D||void 0,children:[D?(0,r.jsx)(p._,{motif:"action",label:"Signing in with Google",className:"text-brand-primary"}):(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M47.532 24.5528C47.532 22.9214 47.3997 21.2811 47.1175 19.6761H24.48V28.9181H37.4434C36.9055 31.8988 35.177 34.5356 32.6461 36.2111V42.2078H40.3801C44.9217 38.0278 47.532 31.8547 47.532 24.5528Z",fill:"#4285F4"}),(0,r.jsx)("path",{d:"M24.48 48.0016C30.9529 48.0016 36.4116 45.8764 40.3888 42.2078L32.6549 36.2111C30.5031 37.675 27.7252 38.5039 24.4888 38.5039C18.2275 38.5039 12.9187 34.2798 11.0139 28.6006H3.03296V34.7825C7.10718 42.8868 15.4056 48.0016 24.48 48.0016Z",fill:"#34A853"}),(0,r.jsx)("path",{d:"M11.0051 28.6006C9.99973 25.6199 9.99973 22.3922 11.0051 19.4115V13.2296H3.03298C-0.371021 20.0112 -0.371021 28.0009 3.03298 34.7825L11.0051 28.6006Z",fill:"#FBBC04"}),(0,r.jsx)("path",{d:"M24.48 9.49932C27.9016 9.44641 31.2086 10.7339 33.6866 13.0973L40.5387 6.24523C36.2 2.17101 30.4414 -0.068932 24.48 0.00161733C15.4055 0.00161733 7.10718 5.11644 3.03296 13.2296L11.005 19.4115C12.901 13.7235 18.2187 9.49932 24.48 9.49932Z",fill:"#EA4335"})]}),!D&&"Sign In with Google"]})]}),w&&(0,r.jsx)("p",{className:"text-center text-sm text-gray-500",children:"Google sign-in isn't available inside this app â use email OTP above, or open 3musafir.com in your browser."})]})]})]})})}},94298:(e,t,s)=>{"use strict";s.d(t,{_:()=>l});var r=s(37876),a=s(34267),i=s(15565);function l(e){let{label:t,size:s="compact",className:l,showLabel:n=!0,motif:o="orbit"}=e,c="full"===s,_="panel"===s;return(0,r.jsxs)("span",{className:(0,i.cn)("ambient-loader inline-flex items-center justify-center",c||_?"flex-col gap-3 text-center":"action"===o?"gap-3 mr-2":"gap-2",l),role:"status","aria-live":"polite",children:[(0,r.jsx)("span",{className:(0,i.cn)("relative inline-flex shrink-0 items-center justify-center",c?"h-16 w-16":_?"h-10 w-10":"h-4 w-4"),"aria-hidden":"true",children:(0,r.jsx)(a.A,{className:"h-full w-full"})}),(0,r.jsx)("span",{className:(0,i.cn)(n&&c?"text-lg font-semibold":n&&_?"text-sm font-medium":"sr-only"),children:t})]})}}},e=>{e.O(0,[1652,636,6593,8792],()=>e(e.s=60641)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.