(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[382],{28533:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var a=r(95155),o=r(67734);function u(e){let{children:t}=e;return(0,a.jsx)(o.sm,{initialFlags:o.of,children:t})}},43610:(e,t,r)=>{"use strict";r.d(t,{T:()=>a});var a=function(e){return e.EMAIL_PASSWORD_AUTH="email_password_auth",e.OTP_AUTH="otp_auth",e.ADMIN_EMAIL_AUTH="admin_email_auth",e.GOOGLE_AUTH="google_auth",e.FORCE_PHONE_MIGRATION="force_phone_migration",e.OTP_RATE_LIMITING="otp_rate_limiting",e.SHOW_AUTH_METHOD_SWITCH="show_auth_method_switch",e.AUTO_SUGGEST_PHONE="auto_suggest_phone",e.SHOW_EMAIL_DEPRECATION_WARNING="show_email_deprecation_warning",e.ALLOW_EMAIL_FALLBACK="allow_email_fallback",e}({})},44876:(e,t,r)=>{"use strict";r.d(t,{FeatureFlagProvider:()=>u,useFeatureFlags:()=>_});var a=r(12115);let o=a.createContext(void 0);function u(e){let{children:t,initialFlags:r}=e,[u,_]=a.useState(r),[n,s]=a.useState(!0),[l,T]=a.useState(null),A=a.useCallback(async()=>{try{s(!0);let e=await fetch("/api/feature-flags",{cache:"no-store",headers:{"Cache-Control":"no-cache, no-store, must-revalidate"}});if(!e.ok)throw Error("API returned ".concat(e.status));let t=await e.json();if(t.success&&t.data){let e={...u};Object.entries(t.data).forEach(t=>{let[r,a]=t;r.startsWith("is")||(e[r]=a)}),_(e),T(null)}}catch(e){console.error("Failed to refresh feature flags:",e),T(null)}finally{s(!1)}},[u]);a.useEffect(()=>{A();let e=setInterval(A,3e4);return()=>clearInterval(e)},[A]);let i=a.useCallback(e=>!!u[e],[u]),c=a.useCallback(e=>u[e],[u]),O=a.useMemo(()=>({flags:u,isEnabled:i,getValue:c,isLoading:n}),[u,i,c,n]);return a.createElement(o.Provider,{value:O},t)}function _(){let e=a.useContext(o);if(!e)throw Error("useFeatureFlags must be used within FeatureFlagProvider");return e}},52742:(e,t,r)=>{Promise.resolve().then(r.bind(r,28533))},67734:(e,t,r)=>{"use strict";r.d(t,{sm:()=>n.FeatureFlagProvider,of:()=>_,jA:()=>s.useEmailPasswordAuth,Ps:()=>s.useOTPAuth});var a=r(43610),o=r(95704);let u={[a.T.EMAIL_PASSWORD_AUTH]:!1,[a.T.OTP_AUTH]:!0,[a.T.ADMIN_EMAIL_AUTH]:!0,[a.T.GOOGLE_AUTH]:!1,[a.T.FORCE_PHONE_MIGRATION]:!1,[a.T.OTP_RATE_LIMITING]:!0,[a.T.SHOW_AUTH_METHOD_SWITCH]:!1,[a.T.AUTO_SUGGEST_PHONE]:!1,[a.T.SHOW_EMAIL_DEPRECATION_WARNING]:!1,[a.T.ALLOW_EMAIL_FALLBACK]:!1},_=function(){let e={};for(let[t,r]of Object.entries(u))e[t]=function(e,t){let r=e.toUpperCase(),a="FEATURE_".concat(r);"OTP_AUTH"===r&&(a="NEXT_PUBLIC_FEATURE_OTP_AUTH");let u=o.env[a];if(void 0===u)return t;if("boolean"==typeof t)return"true"===u||"1"===u;if("number"==typeof t){let e=parseFloat(u);return isNaN(e)?t:e}return u}(t,r);let t=e[a.T.OTP_AUTH];return e[a.T.EMAIL_PASSWORD_AUTH]=!t,function(e){let t=e[a.T.EMAIL_PASSWORD_AUTH],r=e[a.T.OTP_AUTH],o=e[a.T.ADMIN_EMAIL_AUTH];t||r||(console.error("❌ CRITICAL: No authentication method for customers enabled!"),console.error("❌ Enabling OTP_AUTH as fallback..."),e[a.T.OTP_AUTH]=!0,e[a.T.EMAIL_PASSWORD_AUTH]=!1),o||r||(console.error("❌ CRITICAL: No authentication method for admin enabled!"),console.error("❌ Enabling ADMIN_EMAIL_AUTH as fallback..."),e[a.T.ADMIN_EMAIL_AUTH]=!0),e[a.T.FORCE_PHONE_MIGRATION]&&!r&&(console.error("❌ FORCE_PHONE_MIGRATION requires OTP_AUTH to be enabled"),e[a.T.FORCE_PHONE_MIGRATION]=!1)}(e),e}();var n=r(44876),s=r(77339)},77339:(e,t,r)=>{"use strict";r.d(t,{useAuthMethodsConfig:()=>l,useEmailPasswordAuth:()=>n,useFeature:()=>u,useFeatureValue:()=>_,useOTPAuth:()=>s});var a=r(44876),o=r(43610);function u(e){let{isEnabled:t}=(0,a.useFeatureFlags)();return t(e)}function _(e){let{getValue:t}=(0,a.useFeatureFlags)();return t(e)}function n(){return u(o.T.EMAIL_PASSWORD_AUTH)}function s(){return u(o.T.OTP_AUTH)}function l(){let e=u(o.T.EMAIL_PASSWORD_AUTH),t=u(o.T.OTP_AUTH);return{isEmailPasswordEnabled:e,isOTPEnabled:t,shouldShowEmailAuth:e,shouldShowPhoneAuth:t,shouldShowAuthSwitch:!1}}}},e=>{e.O(0,[4623,7358],()=>e(e.s=52742)),_N_E=e.O()}]);