import{b4 as o,V as S}from"./BxiWQxwE.js";const g=()=>{const r=S(),s=o("ios",()=>!1),l=o("android",()=>!1),y=o("web",()=>!0),f=o("isAuthenticated",()=>!1),t=o("neo-sdk-loaded",()=>!1),i=o("neo-sdk-loading",()=>!1),u=o("neo-sdk-error",()=>null),a=o("neo-sdk-instance",()=>null),h=()=>({base_url:r.public.neoday.base_url||"https://gateway.test.client-designated-gateway.neo.day",locale:r.public.neoday.locale||"nl_NL",auth:{endpoint:"/api/auth",x_site_token:r.public.neoday.auth.x_site_token,client_id:r.public.neoday.auth.client_id,headers:{},params:{}}}),D=async()=>{if(window.webkit&&"messageHandlers"in window.webkit){console.info("use-neo-auth.ts, iOS SDK available"),s.value=!0,t.value=!0;return}if(window.androidCommunication){console.info("use-neo-auth.ts, Android SDK available"),l.value=!0,t.value=!0;return}if(window!=null&&window.neoday){y.value=!0,t.value=!0;return}if(!i.value){i.value=!0,u.value=null;try{await new Promise((e,c)=>{const n=document.createElement("script");n.src="https://js.neoday.com/v1/neoday.min.js",n.async=!0,n.onload=()=>e(!0),n.onerror=d=>{const v=typeof d=="string"?d:d.type;c(new Error(`Failed to load NeoDay SDK. Error: ${v}`))},document.head.appendChild(n)}),t.value=!0,console.info("NeoDay SDK loaded successfully")}catch(e){u.value=e instanceof Error?e:new Error(String(e)),console.error("Failed to load NeoDay SDK:",e)}finally{i.value=!1}}},w=async()=>{if(a.value)return a.value;try{await D();const e=window.neoday!==void 0;if(s.value&&!e||l.value&&e)throw new Error("NeoDay SDK availability not loaded correctly");const c=h();if(a.value=new window.neoday.NeoDay(c),!a.value)throw new Error("Failed to initialize NeoDay SDK");return a.value}catch(e){return console.error("Failed to initialize NeoDay SDK:",e),null}};return{isIos:s,isAndroid:l,isWeb:y,isSDKLoaded:t,isSDKLoading:i,loadError:u,initializeNeo:w,neoInstance:a,isAuthenticated:f,authenticateUser:async()=>{try{const e=await w();if(!e)throw new Error("Failed to initialize NeoDay SDK");return console.info("NeoDay JS SDK instance",e),await(e==null?void 0:e.authenticate()),f.value=!0,console.info("User authenticated successfully!"),!0}catch(e){return console.error("Authentication failed:",e),!1}}}};export{g as u};
