@phygitallabs/tapquest-core 6.7.11 → 6.7.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import {useUserCampaignAction,useUploadMedia,useUpdateMyProfile,useSyncCheckin,useSendEmail,usePGLCoreService,useOneUserCampaign,useOneMemory,useMyProfile,useManyUserActionLocations,useManyMemory,useManyLocations,useUserCampaignsCompletedLocation,useOneLocation,useInfiniteMemories,useCreateMemory,useCreateClickButtonActionLog,useChipScanStory,useCancelUserRewardsRequest,useOneCampaign,resetMemoriesQuery,memoriesKey,locationQueryKeys,UserSourceType,CampaignState,useManyAchievementProgressByDevice,userService,PGLCoreServiceProvider}from'@phygitallabs/api-core';export{CampaignState,UserSourceType,locationQueryKeys,memoriesKey,resetMemoriesQuery,useOneCampaign as useCampaignDetail,useCancelUserRewardsRequest,useChipScanStory,useCreateClickButtonActionLog,useCreateMemory,useInfiniteMemories,useOneLocation as useLocationDetail,useUserCampaignsCompletedLocation as useLocationProgress,useManyLocations as useLocationsList,useManyMemory,useManyUserActionLocations,useMyProfile,useOneMemory,useOneUserCampaign,usePGLCoreService,useSendEmail,useSyncCheckin,useUpdateMyProfile,useUploadMedia,useUserCampaignAction}from'@phygitallabs/api-core';import {useUserAchievementAction,useOneAchievement,useManyChildrenAchievements,useManyAchievementsRewardModels,useManyAchievementsByLocation,useManyAchievements,useManyAchievementProgress,useAchievementProgress,AchievementServiceProvider,AchievementRuleActionType,useAchievementService}from'@phygitallabs/achievement';export{AchievementRuleActionType,AchievementServiceProvider,useAchievementProgress,useManyAchievementProgress as useManyAchievementProgressCore,useManyAchievements,useManyAchievementsByLocation,useManyAchievementsRewardModels,useManyChildrenAchievements,useOneAchievement,useUserAchievementAction}from'@phygitallabs/achievement';import {useQueryClient,useQuery}from'@tanstack/react-query';import {createContext,useCallback,useReducer,useContext,useEffect,useRef,useMemo,useState}from'react';import {usePhygitalConsent,PhygitalConsentProvider,CookieConsentBanner}from'@phygitallabs/phygital-consent';export{CookieConsentBanner,PhygitalConsentProvider,usePhygitalConsent}from'@phygitallabs/phygital-consent';import M from'posthog-js';import {v4}from'uuid';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as Qn from'@phygitallabs/notification-api';import {useWebSocket,useTCVNotificationRewardHandler,usePageVisibility,useNotificationStore,useNotificationRewardHandler,useDefaultServicePostPoll,useDefaultServiceGetPollStats,NotificationProvider}from'@phygitallabs/notification-api';export{useDefaultServiceGetPollStats,useDefaultServicePostPoll,useNotificationRewardHandler,useNotificationStore,usePageVisibility,useTCVNotificationRewardHandler,useWebSocket}from'@phygitallabs/notification-api';import {useV1ListRewards,useUpdateRewardModel,useManyUserRewards,useListRewardModels,useGetUserRewards,useGetRewardModel,useDeleteRewardModel,useCreateRewardModel,useCreateModelGroupReward,useClearUserRewardCache,useClaimUserReward,CmentityRewardType,useRewardService,RewardServiceProvider}from'@phygitallabs/reward';export{CmentityRewardType,useClaimUserReward,useClearUserRewardCache,useCreateModelGroupReward,useCreateRewardModel,useDeleteRewardModel,useGetRewardModel,useGetUserRewards,useListRewardModels,useManyUserRewards,useUpdateRewardModel,useV1ListRewards}from'@phygitallabs/reward';import {tokenStorage,authService,verifyCodeService,AuthenticationProvider,useAuthenticationHeaders}from'@phygitallabs/authentication';import {create}from'zustand';import {immer}from'zustand/middleware/immer';import {devtools,persist,subscribeWithSelector,createJSONStorage}from'zustand/middleware';import {jwtDecode}from'jwt-decode';import {wrapTextWithFont,useGenerateThaocamvienCertificate,useGenerateTemplateCertificate,useGenerateFansipanCertificate,useCreateCertificateWithMask,useCreateCertificateAnonymous,useCreateCertificate,useAddFrame,useGenerateCertificateService,GenerateCertificateServiceProvider}from'@phygitallabs/generate-certificate';export{useAddFrame,useCreateCertificate,useCreateCertificateAnonymous,useCreateCertificateWithMask,useGenerateFansipanCertificate,useGenerateTemplateCertificate,useGenerateThaocamvienCertificate,wrapTextWithFont}from'@phygitallabs/generate-certificate';import {parse,fileToBase64,cn,getFromLS,setToLS}from'@phygitallabs/helpers';export{cn,fileToBase64,parse}from'@phygitallabs/helpers';import Ko from'axios';var cr=Object.defineProperty;var xt=Object.getOwnPropertyDescriptor;var Ut=Object.getOwnPropertyNames;var Lt=Object.prototype.hasOwnProperty;var De=(e,n)=>{for(var t in n)cr(e,t,{get:n[t],enumerable:true});},ar=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ut(n))!Lt.call(e,o)&&o!==t&&cr(e,o,{get:()=>n[o],enumerable:!(r=xt(n,o))||r.enumerable});return e},m=(e,n,t)=>(ar(e,n,"default"),t);var Oe={};De(Oe,{ALLOWED_ORIGINS:()=>oe,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>Qe,AchievementType:()=>ee,AuthProvider:()=>Z,CALLBACK_URL:()=>te,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,Environment:()=>ir,GtagConsentSync:()=>se,GtagGtmScriptToggle:()=>We,GtagGtmScriptToggleFromConsent:()=>Fr,NotificationProvider:()=>de,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Je,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>wt,TaskType:()=>rr,TrackerContext:()=>B,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>H,chipAuthTokenKey:()=>z,cn:()=>cn,convertSnakeToCamel:()=>G,decodeJWTToken:()=>Ce,detectGtagGtmInDom:()=>Nr,deviceUIDKey:()=>F,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>or,generateDeviceId:()=>ze,getAccessToken:()=>kr,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Cr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>dr,getRefreshToken:()=>Er,getRetryAttemptsRefreshToken:()=>Tr,getSessionUserId:()=>Gr,getSurveyIdsFromAchievementRule:()=>ur,getUserInfo:()=>Lr,httpMaxRetries:()=>re,isAchievementCompleted:()=>V,isBrowser:()=>ie,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>N,removeAccessToken:()=>_r,removeChipAuthToken:()=>Pr,removeDeviceUid:()=>Rr,removeRefreshToken:()=>Ur,removeUserInfo:()=>br,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Ir,setChipAuthToken:()=>ne,setDeviceUid:()=>Be,setRefreshToken:()=>xr,setRetryAttemptsRefreshToken:()=>Sr,setUserInfo:()=>Mr,sortLocationsByIndex:()=>tr,transformProtoUserData:()=>Re,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Ye,useAchivementPlusRewardModel:()=>Ge,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>v,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Ne,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>ce,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>ke,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>Ar,useManyAchievementProgressCore:()=>useManyAchievementProgress,useManyAchievements:()=>useManyAchievements,useManyAchievementsByLocation:()=>useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>useManyAchievementsRewardModels,useManyChildrenAchievements:()=>useManyChildrenAchievements,useManyMemory:()=>useManyMemory,useManyUserActionLocations:()=>useManyUserActionLocations,useManyUserRewards:()=>useManyUserRewards,useMyProfile:()=>useMyProfile,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,useOneAchievement:()=>useOneAchievement,useOneMemory:()=>useOneMemory,useOneUserCampaign:()=>useOneUserCampaign,usePGLCoreService:()=>usePGLCoreService,usePageVisibility:()=>usePageVisibility,usePhygitalConsent:()=>usePhygitalConsent,useScanChip:()=>st,useSendEmail:()=>useSendEmail,useSessionReplay:()=>b,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>W,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>O,wrapTextWithFont:()=>wrapTextWithFont});var y={};De(y,{ALLOWED_ORIGINS:()=>oe,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>Qe,AchievementType:()=>ee,AuthProvider:()=>Z,CALLBACK_URL:()=>te,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,Environment:()=>ir,GtagConsentSync:()=>se,GtagGtmScriptToggle:()=>We,GtagGtmScriptToggleFromConsent:()=>Fr,NotificationProvider:()=>de,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Je,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>wt,TaskType:()=>rr,TrackerContext:()=>B,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>H,chipAuthTokenKey:()=>z,cn:()=>cn,convertSnakeToCamel:()=>G,decodeJWTToken:()=>Ce,detectGtagGtmInDom:()=>Nr,deviceUIDKey:()=>F,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>or,generateDeviceId:()=>ze,getAccessToken:()=>kr,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Cr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>dr,getRefreshToken:()=>Er,getRetryAttemptsRefreshToken:()=>Tr,getSessionUserId:()=>Gr,getSurveyIdsFromAchievementRule:()=>ur,getUserInfo:()=>Lr,httpMaxRetries:()=>re,isAchievementCompleted:()=>V,isBrowser:()=>ie,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>N,removeAccessToken:()=>_r,removeChipAuthToken:()=>Pr,removeDeviceUid:()=>Rr,removeRefreshToken:()=>Ur,removeUserInfo:()=>br,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Ir,setChipAuthToken:()=>ne,setDeviceUid:()=>Be,setRefreshToken:()=>xr,setRetryAttemptsRefreshToken:()=>Sr,setUserInfo:()=>Mr,sortLocationsByIndex:()=>tr,transformProtoUserData:()=>Re,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Ye,useAchivementPlusRewardModel:()=>Ge,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>v,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Ne,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>ce,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>ke,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>Ar,useManyAchievementProgressCore:()=>useManyAchievementProgress,useManyAchievements:()=>useManyAchievements,useManyAchievementsByLocation:()=>useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>useManyAchievementsRewardModels,useManyChildrenAchievements:()=>useManyChildrenAchievements,useManyMemory:()=>useManyMemory,useManyUserActionLocations:()=>useManyUserActionLocations,useManyUserRewards:()=>useManyUserRewards,useMyProfile:()=>useMyProfile,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,useOneAchievement:()=>useOneAchievement,useOneMemory:()=>useOneMemory,useOneUserCampaign:()=>useOneUserCampaign,usePGLCoreService:()=>usePGLCoreService,usePageVisibility:()=>usePageVisibility,usePhygitalConsent:()=>usePhygitalConsent,useScanChip:()=>st,useSendEmail:()=>useSendEmail,useSessionReplay:()=>b,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>W,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>O,wrapTextWithFont:()=>wrapTextWithFont});function Ne(){let e=useQueryClient();return {clearCache:useCallback(t=>{let{refetchActive:r=true,refetchInactive:o=false}=t||{};e.invalidateQueries({predicate:i=>{let s=i.queryKey;return s.includes("achievementProgressMany")||s.includes("achievementProgress")||s.includes("deviceUidAchievementProgressMany")},refetchType:r?o?"all":"active":"none"}),console.log("\u{1F504} Achievement progress cache cleared");},[e])}}var dr=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="location_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},ur=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="survey_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},K=e=>{if(!(e!=null&&e.rule))return [];let n=[];return Object.values((e==null?void 0:e.rule)||{}).forEach(t=>{var r;t!=null&&t.rules&&((r=t==null?void 0:t.rules)==null||r.forEach(o=>{o!=null&&o.action&&n.push(o==null?void 0:o.action);}));}),Array.from(new Set(n))},V=e=>e.isCompleted||e.overallPercentage===100;function G(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>G(n));if(typeof e=="object"&&e.constructor===Object){let n={};for(let t in e)if(e.hasOwnProperty(t)){let r=t.replace(/_([a-z])/g,(o,i)=>i.toUpperCase());n[r]=G(e[t]);}return n}return e}var Ar=(e,n)=>{let t=!!e.userId,r=t?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return t?useManyAchievementProgress(r,{...n,select:o=>o.map(i=>({...i,isCompleted:V(i)}))}):useManyAchievementProgressByDevice(r,{...n,select:o=>G(o).map(s=>({...s,isCompleted:V(s)}))})};var ee=(i=>(i.DEFAULT="default",i.MULTIPLE_CHECK_INS="multiple_check_ins",i.RANDOM_CHECK_INS="random_check_ins",i.GROUP_MISSION="group_mission",i.SURVEY="survey",i))(ee||{});var O="phygital-user-info",D="accessToken",N="refreshToken",re=3,x="retryAttemptsRefreshToken",F="Device-UID",z="chip-auth-token",te="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",oe=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var ze=async()=>{try{return await Dt()}catch(e){return console.error("Error generating device fingerprint:",e),v4()}},Dt=async()=>{let e=new Date().toISOString(),n=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(n),o=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")};var $=()=>typeof window=="undefined"?null:localStorage.getItem(F),Be=e=>{typeof window!="undefined"&&localStorage.setItem(F,e);},Rr=()=>{typeof window!="undefined"&&localStorage.removeItem(F);},H=async()=>{let e=$();return e||(e=await ze(),Be(e)),e},Cr=()=>typeof window=="undefined"?null:localStorage.getItem(z),ne=e=>{typeof window!="undefined"&&localStorage.setItem(z,e);},Pr=()=>{typeof window!="undefined"&&localStorage.removeItem(z);},Tr=()=>typeof window=="undefined"?null:localStorage.getItem(x),Sr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},kr=()=>typeof window=="undefined"?null:localStorage.getItem(D),Ir=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},_r=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},Er=()=>typeof window=="undefined"?null:localStorage.getItem(N),xr=e=>{typeof window!="undefined"&&localStorage.setItem(N,e);},Ur=()=>{typeof window!="undefined"&&localStorage.removeItem(N);},Lr=()=>{if(typeof window=="undefined")return null;let e=localStorage.getItem(O);if(!e)return null;try{return JSON.parse(e)}catch(n){return console.error("Failed to parse stored user data:",n),null}},Mr=e=>{typeof window!="undefined"&&localStorage.setItem(O,JSON.stringify(e));},br=()=>{typeof window!="undefined"&&localStorage.removeItem(O);};var Gr=e=>e||$(),ie=()=>typeof window!="undefined";var B=createContext(null);function Bt(){return v4()}async function Wt(e){var n,t,r,o,i,s,a;try{let u=(await import('@openreplay/tracker')).default,p=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:Bt,c={projectKey:(e==null?void 0:e.projectKey)||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e==null?void 0:e.ingestPoint,captureExceptions:(n=e.captureExceptions)!=null?n:!0,capturePerformance:(t=e.capturePerformance)!=null?t:!0,network:e.network||{capturePayload:!0,sanitizer:d=>d},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:(r=e.obscureTextEmails)!=null?r:!0,obscureTextNumbers:(o=e.obscureTextNumbers)!=null?o:!1,obscureInputEmails:(i=e.obscureInputEmails)!=null?i:!0,__DISABLE_SECURE_MODE:(a=e.__DISABLE_SECURE_MODE)!=null?a:typeof process!="undefined"&&((s=process.env)==null?void 0:s.NODE_ENV)==="development"},g=new u(c);if(e!=null&&e.userIdEnabled){let d=p();g.setUserID(d),console.log("User ID set:",d);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),g}catch(u){throw console.error("Failed to create tracker:",u),u}}function qt(e,n){let{debug:t=false}=e.config;switch(n.type){case "init":return !e.tracker&&ie()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(t,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:Wt(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(t,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(n.payload),console.log(t,"User ID updated:",n.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{var o;(o=Object.entries(n.payload||{}))==null||o.forEach(([i,s])=>{r.setMetadata(i,s);}),console.log(t,"Metadata updated:",n.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var j=({children:e,config:n={}})=>{let[,t]=useReducer(qt,{tracker:null,config:n}),r=()=>t({type:"init"}),o=()=>t({type:"start"}),i=a=>t({type:"setUserId",payload:a}),s=a=>t({type:"setMetadata",payload:a});return jsx(B.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function b(){let e=useContext(B);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Or={analytics_storage:"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"},jt={analytics_storage:"granted"},Qt={ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"};function Dr(e){if(typeof window=="undefined")return;let n=window;typeof n.gtag=="function"?n.gtag("consent","update",e):(n.dataLayer=n.dataLayer||[],n.dataLayer.push(["consent","update",e]));}function se(){var i,s;let e=usePhygitalConsent(),n=(i=e.isAnalyticsAllowed)!=null?i:false,t=(s=e.isAdvertisingAllowed)!=null?s:false,{initTracker:r,startTracking:o}=b();return useEffect(()=>{if(typeof window=="undefined")return;let a=window;a.dataLayer=a.dataLayer||[],typeof a.gtag=="function"?a.gtag("consent","default",{...Or}):a.dataLayer.push(["consent","default",{...Or}]);},[]),useEffect(()=>{n&&Dr({...jt});},[n]),useEffect(()=>{t&&Dr({...Qt});},[t]),useEffect(()=>{if(!n)return;let a=M;typeof a.opt_in_capturing=="function"&&a.opt_in_capturing();},[n]),useEffect(()=>{n&&(r(),o());},[n,r,o]),null}var Xt='script[src*="googletagmanager.com"], script[src*="google-analytics.com"], script[src*="gtag/js"]',Zt='script[src*="googletagmanager.com/gtm.js"]',eo='script[src*="gtag/js"], script[src*="googletagmanager.com/gtag"]';function Nr(){if(typeof document=="undefined")return {gtag:false,gtm:false,any:false,gtagScripts:[],gtmScripts:[]};let e=Array.from(document.querySelectorAll(eo)),n=Array.from(document.querySelectorAll(Zt));return {gtag:e.length>0,gtm:n.length>0,any:e.length>0||n.length>0,gtagScripts:e,gtmScripts:n}}function We({enabled:e=false}){return useEffect(()=>{if(typeof document!="undefined"&&!e){document.querySelectorAll(Xt).forEach(r=>{var o;(o=r.parentNode)==null||o.removeChild(r);});let t=window;t.dataLayer&&Array.isArray(t.dataLayer)&&(t.dataLayer.length=0),t.gtag=void 0;}},[e]),null}function Fr(){var t;let n=(t=usePhygitalConsent().isAnalyticsAllowed)!=null?t:false;return jsx(We,{enabled:n})}var ae={analytics_storage:"granted"},zr={ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"},oo=(e,n)=>{try{if(typeof window=="undefined")return;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},no=(e,n)=>{if(typeof window=="undefined")return;let t=window;typeof t.gtag=="function"&&t.gtag("event",e,n);},io=(e,n)=>{M.capture(e,n);};function ce(){var w,k;let{initTracker:e,startTracking:n,setUserId:t,setMetadata:r}=b(),o=usePhygitalConsent(),i=(w=o.isAnalyticsAllowed)!=null?w:false,s=(k=o.isAdvertisingAllowed)!=null?k:false;return {trackEvent:(l,R,E)=>{var C;E=E||["gtm"],E.includes("gtm")&&typeof window!="undefined"&&oo(l,R),E.includes("ga")&&i&&no(l,R),E.includes("posthog")&&i&&typeof((C=M)==null?void 0:C.capture)=="function"&&io(l,R);},trackUserIdentify:l=>{var R;i&&(typeof((R=M)==null?void 0:R.identify)=="function"&&M.identify(l.email,{email:l.email,name:l.name,avatar:l.avatar,uid:l.uid}),t(l.id),r({user_email:l.email}));},trackLogoutEvent:()=>{var l;i&&typeof((l=M)==null?void 0:l.capture)=="function"&&M.capture("user_signed_out");},toggleGA:()=>{if(!i||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...ae}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...ae}]);},toggleGTM:()=>{if(!i||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...ae}):(l.dataLayer=l.dataLayer||[],l.dataLayer.push(["consent","update",{...ae}]));},togglePostHog:()=>{i&&typeof M.opt_in_capturing=="function"&&M.opt_in_capturing();},toggleOpenReplay:()=>{i&&(e(),n());},toggleGoogleAdSense:()=>{if(!s||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...zr}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...zr}]);}}}var h={};De(h,{NotificationProvider:()=>de,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,usePageVisibility:()=>usePageVisibility,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useWebSocket:()=>useWebSocket});m(h,Qn);var so={dev:{API_BASE_URL:"https://backend-dev.nomion.io",API_BASE_CORE_URL:"https://backend-dev.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-dev.nomion.io/achievement",API_REWARD_URL:"https://backend-dev.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-dev.nomion.io/api",API_CONSENT_URL:"https://backend-dev.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend-dev.nomion.io/notification-ws/ws"},staging:{API_BASE_URL:"https://backend-staging.nomion.io",API_BASE_CORE_URL:"https://backend-staging.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-staging.nomion.io/achievement",API_REWARD_URL:"https://backend-staging.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-staging.nomion.io/api",API_CONSENT_URL:"https://backend-staging.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend-staging.nomion.io/notification-ws/ws"},production:{API_BASE_URL:"https://backend.nomion.io",API_BASE_CORE_URL:"https://backend.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend.nomion.io/achievement",API_REWARD_URL:"https://backend.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc.nomion.io/api",API_CONSENT_URL:"https://backend.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},I=so;var de=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var u,p;let a=(u=I[t])==null?void 0:u.API_NOTIFICATION_SOCKET_URL;return jsx(NotificationProvider,{userUid:r==null?void 0:r.id,accessToken:(p=r==null?void 0:r.accessToken)!=null?p:null,webSocketUrl:a,autoConnect:n,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s,children:e})};var Wr=createContext(void 0);function Qe({children:e,achievements:n}){let{trackEvent:t}=ce(),r=useRef(new Set),{challenges:o,quests:i}=useMemo(()=>{let c=[],g=[];return n.forEach(d=>{d.type==="group_mission"?g.push(d):c.push(d);}),{challenges:c,quests:g}},[n]);useEffect(()=>{let c=useNotificationStore.subscribe(g=>{var k;let d=g.notifications;if(d.length===0)return;let f=d[d.length-1];if(!((k=f==null?void 0:f.data)!=null&&k.achievement))return;let T=`${f.data.achievement.id}_${Date.now()}`;if(r.current.has(T))return;r.current.add(T);let w=f.data.achievement;if(w.type==="group_mission")t("quest_complete",{quest_id:w.id,quest_name:w.name});else {let R=K(w)[0]||"unknown";t("challenge_complete",{challenge_id:w.id,challenge_name:w.name,challenge_type:R});}});return ()=>{c();}},[t]);let s=useCallback(c=>{let g=o.filter(d=>K(d).includes(c));if(g.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}g.forEach(d=>{t("challenge_start",{challenge_id:d.id,challenge_name:d.name,challenge_type:c});});},[o,t]),a=useCallback(()=>{if(i.length===0){console.error("[AchievementTracking] No quests found");return}i.forEach(c=>{t("quest_start",{quest_id:c.id,quest_name:c.name});});},[i,t]),u=n.length>0,p={trackChallengeStart:s,trackQuestStart:a,isReady:u};return jsx(Wr.Provider,{value:p,children:e})}function Ye(){let e=useContext(Wr);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var Je=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(Je||{});m(y,h);var Co={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},v=create()(devtools(persist(subscribeWithSelector(immer((e,n)=>({...Co,actions:{setIsLoading:t=>e(r=>{r.isLoading=t;}),setCleanupFunctions:t=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...t};}),addEventCallbacks:t=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};});}),signInWithEmail:async(t,r)=>{var i,s,a,u;let{eventCallbacks:o}=n();e(p=>{p.isLoading=true,p.error=null;});try{let p=await authService.signIn({email:t,password:r});return (i=p==null?void 0:p.data)!=null&&i.idToken&&((s=p==null?void 0:p.data)!=null&&s.refreshToken)&&(tokenStorage.setTokens({idToken:p.data.idToken,refreshToken:p.data.refreshToken}),e(c=>{c.isSignedIn=!0;}),(a=o.onLoginSuccess)==null||a.call(o,p.data.idToken)),p}catch(p){let c=p instanceof Error?p.message:"Login failed";throw e(g=>{g.error=c;}),(u=o.onLoginError)==null||u.call(o,new Error(c)),p}finally{e(p=>{p.isLoading=false;});}},signInWithGoogle:async()=>{var r;let{eventCallbacks:t}=n();try{let o=te;return await authService.getOAuthSignInUrl(o)}catch(o){let i=o instanceof Error?o.message:"Google sign in failed";throw e(s=>{s.error=i;}),(r=t.onLoginError)==null||r.call(t,new Error(i)),o}},signUpWithEmail:async(t,r)=>{var i,s;let{eventCallbacks:o}=n();e(a=>{a.isLoading=true,a.error=null;});try{let a=await authService.signUp({email:t,password:r});return a.data&&((i=o.onSignupSuccess)==null||i.call(o)),a}catch(a){let u=a instanceof Error?a.message:"Signup failed";throw e(p=>{p.error=u;}),(s=o.onSignupError)==null||s.call(o,new Error(u)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,u,p;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(d=>{d.user=null,d.isSignedIn=!1,d.error=null;});let c=tokenStorage.getRefreshToken();if(tokenStorage.isTokenExpired()||!c){tokenStorage.clearTokens();return}await authService.logout({refreshToken:c}),tokenStorage.clearTokens();try{(o=r.clearQueryCache)==null||o.call(r),(i=r.clearOrganization)==null||i.call(r),(s=r.clearCustomData)==null||s.call(r),(a=r.clearHeaders)==null||a.call(r);}catch(d){console.warn("Error during logout cleanup:",d);}(u=t.onLogoutSuccess)==null||u.call(t);}catch(c){console.log(c);let g=c instanceof Error?c.message:"Logout failed";throw e(d=>{d.error=g;}),(p=t.onLogoutError)==null||p.call(t,new Error(g)),c}finally{e(c=>{c.isLoading=false;});}},sendPasswordResetEmail:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{await verifyCodeService.forgotPassword({email:t});}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.resetPassword(t)}catch(r){let o=r instanceof Error?r.message:"Failed to reset password";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.changePassword(t)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.verifyEmail(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.sendVerifyCode(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send verify code";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async t=>{var o,i,s,a,u;let r=await authService.refreshToken({refreshToken:(o=t!=null?t:tokenStorage.getRefreshToken())!=null?o:""});return (i=r.data)!=null&&i.idToken&&((s=r.data)!=null&&s.refreshToken)&&tokenStorage.setTokens({idToken:(a=r.data)==null?void 0:a.idToken,refreshToken:(u=r.data)==null?void 0:u.refreshToken}),r},clearError:()=>e(t=>{t.error=null;}),setUser:t=>e(r=>{r.user=t;}),setIsSignedIn:t=>e(r=>{r.isSignedIn=t;}),setIsInitialized:t=>e(r=>{r.isInitialized=t;}),patchUser:t=>e(r=>{r.user?r.user={...r.user,...t}:r.user=t;}),initialize:()=>{e(t=>{let r=tokenStorage.getAuthToken();t.isSignedIn=!!r,t.isInitialized=true;});},syncAuthState:()=>{e(t=>{var i,s,a,u;let r=tokenStorage.getAuthToken(),o=t.isSignedIn;t.isSignedIn=!!r,o!==t.isSignedIn&&(t.isSignedIn?(s=(i=t.eventCallbacks)==null?void 0:i.onAuthStateChange)==null||s.call(i,t.user,true):(u=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||u.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),L=()=>{let e=v(s=>s.user),n=v(s=>s.isSignedIn),t=v(s=>s.isInitialized),r=v(s=>s.isLoading),o=v(s=>s.error),i=v(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var Re=(e,n)=>{let t={...e},r={};try{r=jwtDecode(n);}catch(o){console.warn("Failed to decode token in transformUserData:",o);}return t.exp=r.exp||0,t.accessToken=n||"",t.roles=(r==null?void 0:r.roles)||["USER"],t.account_type=(r==null?void 0:r.account_type)||0,t.picture=e.picture||"",t},Ce=e=>{try{return jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function W(){let{refreshToken:e,signOut:n}=L(),t=async()=>{try{if(!tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),n();}};useQuery({queryKey:["refresh-token"],queryFn:()=>t(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!tokenStorage.getAuthToken()});}var Lo=()=>{let{updateHeaders:e}=useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=usePGLCoreService(),{updateHeaders:r}=useAchievementService(),{updateHeaders:o}=useRewardService(),{updateHeaders:i}=useGenerateCertificateService();return useEffect(()=>{v.getState().actions.initialize();let s=tokenStorage.getAuthToken();if(s){e({Authorization:`Bearer ${s}`}),n({Authorization:`Bearer ${s}`}),r({Authorization:`Bearer ${s}`}),o({Authorization:`Bearer ${s}`}),i({Authorization:`Bearer ${s}`});let{user:c}=v.getState();c&&c.accessToken!==s&&v.getState().actions.setUser({...c,accessToken:s});}let a=v.getState().isSignedIn,u=v.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var g,d;if(c!==a)if(a=c,c){let f=tokenStorage.getAuthToken();if(f){e({Authorization:`Bearer ${f}`}),n({Authorization:`Bearer ${f}`}),r({Authorization:`Bearer ${f}`}),o({Authorization:`Bearer ${f}`}),i({Authorization:`Bearer ${f}`});try{let l=await userService(t).getMyProfile(),R=Re(l,f);v.getState().actions.setUser(R);}catch{v.getState().actions.signOut();}}let{eventCallbacks:T,user:w}=v.getState();(g=T==null?void 0:T.onAuthStateChange)==null||g.call(T,w,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:f}=v.getState();(d=f==null?void 0:f.onAuthStateChange)==null||d.call(f,null,false);}}),p=tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:g}=v.getState();if(c){let d=tokenStorage.getAuthToken();d?(e({Authorization:`Bearer ${d}`}),n({Authorization:`Bearer ${d}`}),r({Authorization:`Bearer ${d}`}),o({Authorization:`Bearer ${d}`}),i({Authorization:`Bearer ${d}`}),g&&g.accessToken!==d&&v.getState().actions.setUser({...g,accessToken:d})):(v.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{u(),p();}},[e,n,r,o,i,t]),null},Mo=()=>(W(),null),Z=({children:e,baseURL:n,queryClient:t})=>jsxs(AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsx(Lo,{}),jsx(Mo,{}),e]});function ke(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:u,isLoading:p}=L(),[c,g]=useState(null),d=useRef(null),f=useRef(false),T=useRef(null),w=useRef(null),k=useCallback(async C=>{var S,_;if(C)try{let P=await s(C);if((S=P.data)!=null&&S.idToken&&((_=P.data)!=null&&_.refreshToken)){tokenStorage.setTokens({idToken:P.data.idToken,refreshToken:P.data.refreshToken});let A=Ce(P.data.idToken);a(!0),u(!1),n==null||n(A);}}catch(P){let A=P instanceof Error?P.message:"Token refresh failed";w.current=A,t==null||t(A),u(false);}},[s,a,u,n,t]),l=useCallback(()=>{T.current&&(clearInterval(T.current),T.current=null),f.current=false;},[]),R=useCallback(C=>{var _;let S=oe.concat((_=window==null?void 0:window.location)==null?void 0:_.origin);if(C.origin!=="*"&&!S.includes(C.origin)){console.warn("Rejected message from untrusted origin:",C.origin);return}if(!C.data||typeof C.data!="object"){console.warn("Invalid message data received");return}if(C.data.type==="LOGIN_SUCCESS"){let{refreshToken:P}=C.data;P&&k(P),f.current=true,l();}else if(C.data.type==="LOGIN_ERROR"){let P=C.data.error||"Login failed";w.current=P,t==null||t(P),u(false),f.current=true,l();}},[k,u,l,t]);useEffect(()=>{(async()=>{try{let S=await i();g(S.statusMessage||"");}catch(S){console.error("error",S),g("");}})();},[]);let E=useCallback(()=>{let _=window.screenX+(window.outerWidth-500)/2,P=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let A="Google sign in failed. Please try again later.";w.current=A,t==null||t(A);return}if(w.current=null,u(!0),d.current=window.open(c,"oauthPopup",`width=500,height=600,left=${_},top=${P},resizable,scrollbars`),!d.current){u(!1);let A="Popup blocked. Please allow popups for this site.";w.current=A,r==null||r(),t==null||t(A);return}T.current=setInterval(()=>{if(d.current&&d.current.closed&&(T.current&&(clearInterval(T.current),T.current=null),!f.current)){let A="Authentication popup was closed";w.current=A,o==null||o(),t==null||t(A),u(!1);}},500);}catch(A){let sr=A instanceof Error?A.message:"Google sign in failed";w.current=sr,t==null||t(sr),u(false);}},[i,u,R,t,r,o,c]);return useEffect(()=>(window.addEventListener("message",R),()=>{window.removeEventListener("message",R);}),[R]),useEffect(()=>()=>{l();},[l]),{signIn:E,isLoading:p,error:w.current}}function st({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=usePGLCoreService();useEffect(()=>{if(e){let u={"Chip-Authorization":e};ne(e),r(u);}},[e,r]);let{data:o,isLoading:i,isError:s,isSuccess:a}=useChipScanStory({token:e,id:n});return useEffect(()=>{s&&(t==null||t());},[s,t]),o?{data:{externalUrl:o==null?void 0:o.external_url,campaignDetail:o==null?void 0:o.project,locationDetail:o==null?void 0:o.location,scanCounter:o==null?void 0:o.scan_counter,campaignId:o==null?void 0:o.campaign_id,chipModelId:o==null?void 0:o.chip_model_id,organizationId:o==null?void 0:o.organization_id,projectId:o==null?void 0:o.project_id,locationId:o==null?void 0:o.location_id,chipUid:o==null?void 0:o.uid},isLoading:i,isError:s,isSuccess:a}:{data:null,isLoading:i,isError:s,isSuccess:a}}var rr=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(rr||{});var tr=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),or=(e,n,t)=>e.filter(r=>r[n]===t);var vt=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=L(),{environment:i,version:s}=t,[a,u]=useState(null),[p,c]=useState("");return useEffect(()=>{(async()=>{let d=await H();c(d);})();},[]),useEffect(()=>{(async()=>{try{let d=await H();u({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":d}},responseInterceptors:{onFulfilled:l=>l,onRejected:async l=>{var C,S,_;let R=l.config,E=tokenStorage.getAuthToken();if(((C=l.response)==null?void 0:C.status)===401&&!R._retry){let P=parseInt(getFromLS(x)||"0",10);if(P>=3)return await r(),setToLS(x,0),Promise.reject(l);if(setToLS(x,`${P+1}`),R._retry=!0,E)try{let A=await o();if((S=A==null?void 0:A.data)!=null&&S.idToken)return R.headers.Authorization=`Bearer ${(_=A==null?void 0:A.data)==null?void 0:_.idToken}`,Ko(R)}catch(A){return console.error("Failed to refresh token:",A),await r(),Promise.reject(A)}}}},requestInterceptors:{onFulfilled:l=>l,onRejected:l=>Promise.reject(l)},useDevTool:!0});}catch(d){console.error(d);}})();},[n]),a?jsx(PGLCoreServiceProvider,{...a,baseURL:`${I[i].API_BASE_URL}/${s}`,baseCoreURL:`${I[i].API_BASE_CORE_URL}/${s}`,children:jsx(RewardServiceProvider,{...a,baseURL:`${I[i].API_REWARD_URL}/v1`,children:jsx(AchievementServiceProvider,{...a,baseURL:`${I[i].API_ACHIEVEMENT_URL}/${s}`,children:jsx(GenerateCertificateServiceProvider,{...a,baseURL:`${I[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:jsxs(PhygitalConsentProvider,{...a,deviceId:p,baseURL:`${I[i].API_CONSENT_URL}/v1`,axiosConfig:{headers:{"Content-Type":"application/json"}},children:[jsx(se,{}),e]})})})})}):jsx(Fragment,{})};var wt=({children:e,queryClient:n,apiConfig:t})=>{let{environment:r}=t,o=useMemo(()=>{let i=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(i)return {projectKey:i,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsx(j,{config:o,children:jsx(vt,{queryClient:n,apiConfig:t,children:jsx(Z,{baseURL:`${I[r].API_BASE_URL}`,queryClient:n,children:e})})})};function Jo(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,u;let i=((a=t[o])==null?void 0:a[0])||null,s=((u=r.subAchievementIds)==null?void 0:u.map((p,c)=>{var d,f;let g=((f=t[o*(((d=r.subAchievementIds)==null?void 0:d.length)||0)+c+1])==null?void 0:f[0])||null;return {id:p,reward_model:g}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var Xo=({campaignId:e})=>{let{data:n,isLoading:t}=useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=useMemo(()=>n!=null&&n.data?n.data.map(u=>u.groupRewardId).filter(u=>u!==void 0):[],[n==null?void 0:n.data]),{mutate:o,data:i,isPending:s}=useCreateModelGroupReward();return useEffect(()=>{r.length>0&&o({group_reward_ids:r});},[r,o]),{mappedAchievements:useMemo(()=>!(i!=null&&i.data)||!(n!=null&&n.data)?[]:Jo(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},Ge=Xo;var ir=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(ir||{});m(Oe,y);
2
- export{oe as ALLOWED_ORIGINS,Qe as AchievementTrackingProvider,ee as AchievementType,Z as AuthProvider,te as CALLBACK_URL,ir as Environment,se as GtagConsentSync,We as GtagGtmScriptToggle,Fr as GtagGtmScriptToggleFromConsent,de as NotificationProvider,Je as RewardClaimStatus,j as SessionReplayProvider,wt as TapquestCoreProvider,rr as TaskType,B as TrackerContext,D as accessTokenKey,H as checkDeviceUid,z as chipAuthTokenKey,G as convertSnakeToCamel,Ce as decodeJWTToken,Nr as detectGtagGtmInDom,F as deviceUIDKey,or as filterLocationsByProperty,ze as generateDeviceId,kr as getAccessToken,K as getActionsFromAchievementRule,Cr as getChipAuthToken,$ as getDeviceUid,dr as getLocationIdsFromAchievementRule,Er as getRefreshToken,Tr as getRetryAttemptsRefreshToken,Gr as getSessionUserId,ur as getSurveyIdsFromAchievementRule,Lr as getUserInfo,re as httpMaxRetries,V as isAchievementCompleted,ie as isBrowser,N as refreshTokenKey,_r as removeAccessToken,Pr as removeChipAuthToken,Rr as removeDeviceUid,Ur as removeRefreshToken,br as removeUserInfo,x as retryAttemptsRefreshToken,Ir as setAccessToken,ne as setChipAuthToken,Be as setDeviceUid,xr as setRefreshToken,Sr as setRetryAttemptsRefreshToken,Mr as setUserInfo,tr as sortLocationsByIndex,Re as transformProtoUserData,Ye as useAchievementTracking,Ge as useAchivementPlusRewardModel,L as useAuth,v as useAuthStore,Ne as useClearAchievementProgressCache,ce as useDataTracking,ke as useGoogleLogin,Ar as useManyAchievementProgress,st as useScanChip,b as useSessionReplay,W as useTokenRefresher,O as userInfoKey};//# sourceMappingURL=index.js.map
1
+ import {useUserCampaignAction,useUploadMedia,useUpdateMyProfile,useSyncCheckin,useSendEmail,usePGLCoreService,useOneUserCampaign,useOneMemory,useMyProfile,useManyUserActionLocations,useManyMemory,useManyLocations,useUserCampaignsCompletedLocation,useOneLocation,useInfiniteMemories,useCreateMemory,useCreateClickButtonActionLog,useChipScanStory,useCancelUserRewardsRequest,useOneCampaign,resetMemoriesQuery,memoriesKey,locationQueryKeys,UserSourceType,CampaignState,useManyAchievementProgressByDevice,userService,PGLCoreServiceProvider}from'@phygitallabs/api-core';export{CampaignState,UserSourceType,locationQueryKeys,memoriesKey,resetMemoriesQuery,useOneCampaign as useCampaignDetail,useCancelUserRewardsRequest,useChipScanStory,useCreateClickButtonActionLog,useCreateMemory,useInfiniteMemories,useOneLocation as useLocationDetail,useUserCampaignsCompletedLocation as useLocationProgress,useManyLocations as useLocationsList,useManyMemory,useManyUserActionLocations,useMyProfile,useOneMemory,useOneUserCampaign,usePGLCoreService,useSendEmail,useSyncCheckin,useUpdateMyProfile,useUploadMedia,useUserCampaignAction}from'@phygitallabs/api-core';import {useUserAchievementAction,useOneAchievement,useManyChildrenAchievements,useManyAchievementsRewardModels,useManyAchievementsByLocation,useManyAchievements,useManyAchievementProgress,useAchievementProgress,AchievementServiceProvider,AchievementRuleActionType,useAchievementService}from'@phygitallabs/achievement';export{AchievementRuleActionType,AchievementServiceProvider,useAchievementProgress,useManyAchievementProgress as useManyAchievementProgressCore,useManyAchievements,useManyAchievementsByLocation,useManyAchievementsRewardModels,useManyChildrenAchievements,useOneAchievement,useUserAchievementAction}from'@phygitallabs/achievement';import {useQueryClient,useQuery}from'@tanstack/react-query';import {createContext,useCallback,useReducer,useContext,useEffect,useRef,useMemo,useState}from'react';import {usePhygitalConsent,PhygitalConsentProvider,CookieConsentBanner}from'@phygitallabs/phygital-consent';export{CookieConsentBanner,PhygitalConsentProvider,usePhygitalConsent}from'@phygitallabs/phygital-consent';import M from'posthog-js';import {v4}from'uuid';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as jn from'@phygitallabs/notification-api';import {useWebSocket,useTCVNotificationRewardHandler,usePageVisibility,useNotificationStore,useNotificationRewardHandler,useDefaultServicePostPoll,useDefaultServiceGetPollStats,NotificationProvider}from'@phygitallabs/notification-api';export{useDefaultServiceGetPollStats,useDefaultServicePostPoll,useNotificationRewardHandler,useNotificationStore,usePageVisibility,useTCVNotificationRewardHandler,useWebSocket}from'@phygitallabs/notification-api';import {useV1ListRewards,useUpdateRewardModel,useManyUserRewards,useListRewardModels,useGetUserRewards,useGetRewardModel,useDeleteRewardModel,useCreateRewardModel,useCreateModelGroupReward,useClearUserRewardCache,useClaimUserReward,CmentityRewardType,useRewardService,RewardServiceProvider}from'@phygitallabs/reward';export{CmentityRewardType,useClaimUserReward,useClearUserRewardCache,useCreateModelGroupReward,useCreateRewardModel,useDeleteRewardModel,useGetRewardModel,useGetUserRewards,useListRewardModels,useManyUserRewards,useUpdateRewardModel,useV1ListRewards}from'@phygitallabs/reward';import {tokenStorage,authService,verifyCodeService,AuthenticationProvider,useAuthenticationHeaders}from'@phygitallabs/authentication';import {create}from'zustand';import {immer}from'zustand/middleware/immer';import {devtools,persist,subscribeWithSelector,createJSONStorage}from'zustand/middleware';import {jwtDecode}from'jwt-decode';import {wrapTextWithFont,useGenerateThaocamvienCertificate,useGenerateTemplateCertificate,useGenerateFansipanCertificate,useCreateCertificateWithMask,useCreateCertificateAnonymous,useCreateCertificate,useAddFrame,useGenerateCertificateService,GenerateCertificateServiceProvider}from'@phygitallabs/generate-certificate';export{useAddFrame,useCreateCertificate,useCreateCertificateAnonymous,useCreateCertificateWithMask,useGenerateFansipanCertificate,useGenerateTemplateCertificate,useGenerateThaocamvienCertificate,wrapTextWithFont}from'@phygitallabs/generate-certificate';import {parse,fileToBase64,cn,getFromLS,setToLS}from'@phygitallabs/helpers';export{cn,fileToBase64,parse}from'@phygitallabs/helpers';import qo from'axios';var dr=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var Ut=Object.prototype.hasOwnProperty;var Ne=(e,n)=>{for(var t in n)dr(e,t,{get:n[t],enumerable:true});},cr=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of xt(n))!Ut.call(e,o)&&o!==t&&dr(e,o,{get:()=>n[o],enumerable:!(r=Et(n,o))||r.enumerable});return e},m=(e,n,t)=>(cr(e,n,"default"),t);var De={};Ne(De,{ALLOWED_ORIGINS:()=>te,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>Ye,AchievementType:()=>Z,AuthProvider:()=>X,CALLBACK_URL:()=>re,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,Environment:()=>sr,GtagConsentSync:()=>se,GtagGtmScriptToggle:()=>qe,GtagGtmScriptToggleFromConsent:()=>ae,NotificationProvider:()=>ue,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Xe,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>vt,TaskType:()=>tr,TrackerContext:()=>W,UserSourceType:()=>UserSourceType,accessTokenKey:()=>N,checkDeviceUid:()=>H,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>O,decodeJWTToken:()=>Pe,detectGtagGtmInDom:()=>Nr,deviceUIDKey:()=>z,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>nr,generateDeviceId:()=>Be,getAccessToken:()=>Ir,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Pr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>ur,getRefreshToken:()=>xr,getRetryAttemptsRefreshToken:()=>Tr,getSessionUserId:()=>Or,getSurveyIdsFromAchievementRule:()=>lr,getUserInfo:()=>Mr,httpMaxRetries:()=>ee,isAchievementCompleted:()=>V,isBrowser:()=>ne,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>F,removeAccessToken:()=>Er,removeChipAuthToken:()=>Sr,removeDeviceUid:()=>Cr,removeRefreshToken:()=>Lr,removeUserInfo:()=>Gr,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>_r,setChipAuthToken:()=>oe,setDeviceUid:()=>We,setRefreshToken:()=>Ur,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>br,sortLocationsByIndex:()=>or,transformProtoUserData:()=>Ce,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Je,useAchivementPlusRewardModel:()=>Oe,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>v,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Fe,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>de,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Ie,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>vr,useManyAchievementProgressCore:()=>useManyAchievementProgress,useManyAchievements:()=>useManyAchievements,useManyAchievementsByLocation:()=>useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>useManyAchievementsRewardModels,useManyChildrenAchievements:()=>useManyChildrenAchievements,useManyMemory:()=>useManyMemory,useManyUserActionLocations:()=>useManyUserActionLocations,useManyUserRewards:()=>useManyUserRewards,useMyProfile:()=>useMyProfile,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,useOneAchievement:()=>useOneAchievement,useOneMemory:()=>useOneMemory,useOneUserCampaign:()=>useOneUserCampaign,usePGLCoreService:()=>usePGLCoreService,usePageVisibility:()=>usePageVisibility,usePhygitalConsent:()=>usePhygitalConsent,useScanChip:()=>it,useSendEmail:()=>useSendEmail,useSessionReplay:()=>b,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>q,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>D,wrapTextWithFont:()=>wrapTextWithFont});var y={};Ne(y,{ALLOWED_ORIGINS:()=>te,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>Ye,AchievementType:()=>Z,AuthProvider:()=>X,CALLBACK_URL:()=>re,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,Environment:()=>sr,GtagConsentSync:()=>se,GtagGtmScriptToggle:()=>qe,GtagGtmScriptToggleFromConsent:()=>ae,NotificationProvider:()=>ue,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Xe,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>vt,TaskType:()=>tr,TrackerContext:()=>W,UserSourceType:()=>UserSourceType,accessTokenKey:()=>N,checkDeviceUid:()=>H,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>O,decodeJWTToken:()=>Pe,detectGtagGtmInDom:()=>Nr,deviceUIDKey:()=>z,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>nr,generateDeviceId:()=>Be,getAccessToken:()=>Ir,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Pr,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>ur,getRefreshToken:()=>xr,getRetryAttemptsRefreshToken:()=>Tr,getSessionUserId:()=>Or,getSurveyIdsFromAchievementRule:()=>lr,getUserInfo:()=>Mr,httpMaxRetries:()=>ee,isAchievementCompleted:()=>V,isBrowser:()=>ne,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>F,removeAccessToken:()=>Er,removeChipAuthToken:()=>Sr,removeDeviceUid:()=>Cr,removeRefreshToken:()=>Lr,removeUserInfo:()=>Gr,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>_r,setChipAuthToken:()=>oe,setDeviceUid:()=>We,setRefreshToken:()=>Ur,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>br,sortLocationsByIndex:()=>or,transformProtoUserData:()=>Ce,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Je,useAchivementPlusRewardModel:()=>Oe,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>v,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Fe,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>de,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Ie,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>vr,useManyAchievementProgressCore:()=>useManyAchievementProgress,useManyAchievements:()=>useManyAchievements,useManyAchievementsByLocation:()=>useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>useManyAchievementsRewardModels,useManyChildrenAchievements:()=>useManyChildrenAchievements,useManyMemory:()=>useManyMemory,useManyUserActionLocations:()=>useManyUserActionLocations,useManyUserRewards:()=>useManyUserRewards,useMyProfile:()=>useMyProfile,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,useOneAchievement:()=>useOneAchievement,useOneMemory:()=>useOneMemory,useOneUserCampaign:()=>useOneUserCampaign,usePGLCoreService:()=>usePGLCoreService,usePageVisibility:()=>usePageVisibility,usePhygitalConsent:()=>usePhygitalConsent,useScanChip:()=>it,useSendEmail:()=>useSendEmail,useSessionReplay:()=>b,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>q,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>D,wrapTextWithFont:()=>wrapTextWithFont});function Fe(){let e=useQueryClient();return {clearCache:useCallback(t=>{let{refetchActive:r=true,refetchInactive:o=false}=t||{};e.invalidateQueries({predicate:i=>{let s=i.queryKey;return s.includes("achievementProgressMany")||s.includes("achievementProgress")||s.includes("deviceUidAchievementProgressMany")},refetchType:r?o?"all":"active":"none"}),console.log("\u{1F504} Achievement progress cache cleared");},[e])}}var ur=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="location_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},lr=e=>{if(!e.rule)return [];let n=[];return Object.values(e.rule).forEach(t=>{t.rules&&t.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(o=>{o.filters&&o.filters.forEach(i=>{i.label==="survey_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},K=e=>{if(!(e!=null&&e.rule))return [];let n=[];return Object.values((e==null?void 0:e.rule)||{}).forEach(t=>{var r;t!=null&&t.rules&&((r=t==null?void 0:t.rules)==null||r.forEach(o=>{o!=null&&o.action&&n.push(o==null?void 0:o.action);}));}),Array.from(new Set(n))},V=e=>e.isCompleted||e.overallPercentage===100;function O(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>O(n));if(typeof e=="object"&&e.constructor===Object){let n={};for(let t in e)if(e.hasOwnProperty(t)){let r=t.replace(/_([a-z])/g,(o,i)=>i.toUpperCase());n[r]=O(e[t]);}return n}return e}var vr=(e,n)=>{let t=!!e.userId,r=t?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return t?useManyAchievementProgress(r,{...n,select:o=>o.map(i=>({...i,isCompleted:V(i)}))}):useManyAchievementProgressByDevice(r,{...n,select:o=>O(o).map(s=>({...s,isCompleted:V(s)}))})};var Z=(i=>(i.DEFAULT="default",i.MULTIPLE_CHECK_INS="multiple_check_ins",i.RANDOM_CHECK_INS="random_check_ins",i.GROUP_MISSION="group_mission",i.SURVEY="survey",i))(Z||{});var D="phygital-user-info",N="accessToken",F="refreshToken",ee=3,x="retryAttemptsRefreshToken",z="Device-UID",B="chip-auth-token",re="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",te=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Be=async()=>{try{return await Ot()}catch(e){return console.error("Error generating device fingerprint:",e),v4()}},Ot=async()=>{let e=new Date().toISOString(),n=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(n),o=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")};var $=()=>typeof window=="undefined"?null:localStorage.getItem(z),We=e=>{typeof window!="undefined"&&localStorage.setItem(z,e);},Cr=()=>{typeof window!="undefined"&&localStorage.removeItem(z);},H=async()=>{let e=$();return e||(e=await Be(),We(e)),e},Pr=()=>typeof window=="undefined"?null:localStorage.getItem(B),oe=e=>{typeof window!="undefined"&&localStorage.setItem(B,e);},Sr=()=>{typeof window!="undefined"&&localStorage.removeItem(B);},Tr=()=>typeof window=="undefined"?null:localStorage.getItem(x),kr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},Ir=()=>typeof window=="undefined"?null:localStorage.getItem(N),_r=e=>{typeof window!="undefined"&&localStorage.setItem(N,e);},Er=()=>{typeof window!="undefined"&&localStorage.removeItem(N);},xr=()=>typeof window=="undefined"?null:localStorage.getItem(F),Ur=e=>{typeof window!="undefined"&&localStorage.setItem(F,e);},Lr=()=>{typeof window!="undefined"&&localStorage.removeItem(F);},Mr=()=>{if(typeof window=="undefined")return null;let e=localStorage.getItem(D);if(!e)return null;try{return JSON.parse(e)}catch(n){return console.error("Failed to parse stored user data:",n),null}},br=e=>{typeof window!="undefined"&&localStorage.setItem(D,JSON.stringify(e));},Gr=()=>{typeof window!="undefined"&&localStorage.removeItem(D);};var Or=e=>e||$(),ne=()=>typeof window!="undefined";var W=createContext(null);function zt(){return v4()}async function Bt(e){var n,t,r,o,i,s,a;try{let u=(await import('@openreplay/tracker')).default,p=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:zt,c={projectKey:(e==null?void 0:e.projectKey)||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e==null?void 0:e.ingestPoint,captureExceptions:(n=e.captureExceptions)!=null?n:!0,capturePerformance:(t=e.capturePerformance)!=null?t:!0,network:e.network||{capturePayload:!0,sanitizer:d=>d},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:(r=e.obscureTextEmails)!=null?r:!0,obscureTextNumbers:(o=e.obscureTextNumbers)!=null?o:!1,obscureInputEmails:(i=e.obscureInputEmails)!=null?i:!0,__DISABLE_SECURE_MODE:(a=e.__DISABLE_SECURE_MODE)!=null?a:typeof process!="undefined"&&((s=process.env)==null?void 0:s.NODE_ENV)==="development"},g=new u(c);if(e!=null&&e.userIdEnabled){let d=p();g.setUserID(d),console.log("User ID set:",d);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),g}catch(u){throw console.error("Failed to create tracker:",u),u}}function Wt(e,n){let{debug:t=false}=e.config;switch(n.type){case "init":return !e.tracker&&ne()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(t,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:Bt(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(t,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(n.payload),console.log(t,"User ID updated:",n.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{var o;(o=Object.entries(n.payload||{}))==null||o.forEach(([i,s])=>{r.setMetadata(i,s);}),console.log(t,"Metadata updated:",n.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var j=({children:e,config:n={}})=>{let[,t]=useReducer(Wt,{tracker:null,config:n}),r=()=>t({type:"init"}),o=()=>t({type:"start"}),i=a=>t({type:"setUserId",payload:a}),s=a=>t({type:"setMetadata",payload:a});return jsx(W.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function b(){let e=useContext(W);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Dr={analytics_storage:"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"},Ht={ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"};function jt(e){if(typeof window=="undefined")return;let n=window;typeof n.gtag=="function"?n.gtag("consent","update",e):(n.dataLayer=n.dataLayer||[],n.dataLayer.push(["consent","update",e]));}function se(){var i,s;let e=usePhygitalConsent(),n=(i=e.isAnalyticsAllowed)!=null?i:false,t=(s=e.isAdvertisingAllowed)!=null?s:false,{initTracker:r,startTracking:o}=b();return useEffect(()=>{if(typeof window=="undefined")return;let a=window;a.dataLayer=a.dataLayer||[],typeof a.gtag=="function"?a.gtag("consent","default",{...Dr}):a.dataLayer.push(["consent","default",{...Dr}]);},[]),useEffect(()=>{t&&jt({...Ht});},[t]),useEffect(()=>{if(!n)return;let a=M;typeof a.opt_in_capturing=="function"&&a.opt_in_capturing();},[n]),useEffect(()=>{n&&(r(),o());},[n,r,o]),null}var Jt='script[src*="googletagmanager.com"], script[src*="google-analytics.com"], script[src*="gtag/js"]',Xt='script[src*="googletagmanager.com/gtm.js"]',Zt='script[src*="gtag/js"], script[src*="googletagmanager.com/gtag"]';function Nr(){if(typeof document=="undefined")return {gtag:false,gtm:false,any:false,gtagScripts:[],gtmScripts:[]};let e=Array.from(document.querySelectorAll(Zt)),n=Array.from(document.querySelectorAll(Xt));return {gtag:e.length>0,gtm:n.length>0,any:e.length>0||n.length>0,gtagScripts:e,gtmScripts:n}}function qe({enabled:e=false}){return useEffect(()=>{if(typeof document!="undefined"&&!e){document.querySelectorAll(Jt).forEach(r=>{var o;(o=r.parentNode)==null||o.removeChild(r);});let t=window;t.dataLayer&&Array.isArray(t.dataLayer)&&(t.dataLayer.length=0),t.gtag=void 0;}},[e]),null}function ae(){var t;let n=(t=usePhygitalConsent().isAnalyticsAllowed)!=null?t:false;return jsx(qe,{enabled:n})}var ce={analytics_storage:"granted"},Fr={ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"},to=(e,n)=>{try{if(typeof window=="undefined")return;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},oo=(e,n)=>{if(typeof window=="undefined")return;let t=window;typeof t.gtag=="function"&&t.gtag("event",e,n);},no=(e,n)=>{M.capture(e,n);};function de(){var w,k;let{initTracker:e,startTracking:n,setUserId:t,setMetadata:r}=b(),o=usePhygitalConsent(),i=(w=o.isAnalyticsAllowed)!=null?w:false,s=(k=o.isAdvertisingAllowed)!=null?k:false;return {trackEvent:(l,R,E)=>{var C;E=E||["gtm"],E.includes("gtm")&&typeof window!="undefined"&&to(l,R),E.includes("ga")&&i&&oo(l,R),E.includes("posthog")&&i&&typeof((C=M)==null?void 0:C.capture)=="function"&&no(l,R);},trackUserIdentify:l=>{var R;i&&(typeof((R=M)==null?void 0:R.identify)=="function"&&M.identify(l.email,{email:l.email,name:l.name,avatar:l.avatar,uid:l.uid}),t(l.id),r({user_email:l.email}));},trackLogoutEvent:()=>{var l;i&&typeof((l=M)==null?void 0:l.capture)=="function"&&M.capture("user_signed_out");},toggleGA:()=>{if(!i||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...ce}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...ce}]);},toggleGTM:()=>{if(!i||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...ce}):(l.dataLayer=l.dataLayer||[],l.dataLayer.push(["consent","update",{...ce}]));},togglePostHog:()=>{i&&typeof M.opt_in_capturing=="function"&&M.opt_in_capturing();},toggleOpenReplay:()=>{i&&(e(),n());},toggleGoogleAdSense:()=>{if(!s||typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...Fr}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...Fr}]);}}}var h={};Ne(h,{NotificationProvider:()=>ue,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,usePageVisibility:()=>usePageVisibility,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useWebSocket:()=>useWebSocket});m(h,jn);var io={dev:{API_BASE_URL:"https://backend-dev.nomion.io",API_BASE_CORE_URL:"https://backend-dev.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-dev.nomion.io/achievement",API_REWARD_URL:"https://backend-dev.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-dev.nomion.io/api",API_CONSENT_URL:"https://backend-dev.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend-dev.nomion.io/notification-ws/ws"},staging:{API_BASE_URL:"https://backend-staging.nomion.io",API_BASE_CORE_URL:"https://backend-staging.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend-staging.nomion.io/achievement",API_REWARD_URL:"https://backend-staging.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc-staging.nomion.io/api",API_CONSENT_URL:"https://backend-staging.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend-staging.nomion.io/notification-ws/ws"},production:{API_BASE_URL:"https://backend.nomion.io",API_BASE_CORE_URL:"https://backend.nomion.io/core",API_ACHIEVEMENT_URL:"https://backend.nomion.io/achievement",API_REWARD_URL:"https://backend.nomion.io/reward",API_GENERATE_CERTIFICATE_URL:"https://media-prc.nomion.io/api",API_CONSENT_URL:"https://backend.nomion.io/consent",API_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},I=io;var ue=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var u,p;let a=(u=I[t])==null?void 0:u.API_NOTIFICATION_SOCKET_URL;return jsx(NotificationProvider,{userUid:r==null?void 0:r.id,accessToken:(p=r==null?void 0:r.accessToken)!=null?p:null,webSocketUrl:a,autoConnect:n,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s,children:e})};var Br=createContext(void 0);function Ye({children:e,achievements:n}){let{trackEvent:t}=de(),r=useRef(new Set),{challenges:o,quests:i}=useMemo(()=>{let c=[],g=[];return n.forEach(d=>{d.type==="group_mission"?g.push(d):c.push(d);}),{challenges:c,quests:g}},[n]);useEffect(()=>{let c=useNotificationStore.subscribe(g=>{var k;let d=g.notifications;if(d.length===0)return;let f=d[d.length-1];if(!((k=f==null?void 0:f.data)!=null&&k.achievement))return;let S=`${f.data.achievement.id}_${Date.now()}`;if(r.current.has(S))return;r.current.add(S);let w=f.data.achievement;if(w.type==="group_mission")t("quest_complete",{quest_id:w.id,quest_name:w.name});else {let R=K(w)[0]||"unknown";t("challenge_complete",{challenge_id:w.id,challenge_name:w.name,challenge_type:R});}});return ()=>{c();}},[t]);let s=useCallback(c=>{let g=o.filter(d=>K(d).includes(c));if(g.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}g.forEach(d=>{t("challenge_start",{challenge_id:d.id,challenge_name:d.name,challenge_type:c});});},[o,t]),a=useCallback(()=>{if(i.length===0){console.error("[AchievementTracking] No quests found");return}i.forEach(c=>{t("quest_start",{quest_id:c.id,quest_name:c.name});});},[i,t]),u=n.length>0,p={trackChallengeStart:s,trackQuestStart:a,isReady:u};return jsx(Br.Provider,{value:p,children:e})}function Je(){let e=useContext(Br);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var Xe=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(Xe||{});m(y,h);var Ro={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},v=create()(devtools(persist(subscribeWithSelector(immer((e,n)=>({...Ro,actions:{setIsLoading:t=>e(r=>{r.isLoading=t;}),setCleanupFunctions:t=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...t};}),addEventCallbacks:t=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};});}),signInWithEmail:async(t,r)=>{var i,s,a,u;let{eventCallbacks:o}=n();e(p=>{p.isLoading=true,p.error=null;});try{let p=await authService.signIn({email:t,password:r});return (i=p==null?void 0:p.data)!=null&&i.idToken&&((s=p==null?void 0:p.data)!=null&&s.refreshToken)&&(tokenStorage.setTokens({idToken:p.data.idToken,refreshToken:p.data.refreshToken}),e(c=>{c.isSignedIn=!0;}),(a=o.onLoginSuccess)==null||a.call(o,p.data.idToken)),p}catch(p){let c=p instanceof Error?p.message:"Login failed";throw e(g=>{g.error=c;}),(u=o.onLoginError)==null||u.call(o,new Error(c)),p}finally{e(p=>{p.isLoading=false;});}},signInWithGoogle:async()=>{var r;let{eventCallbacks:t}=n();try{let o=re;return await authService.getOAuthSignInUrl(o)}catch(o){let i=o instanceof Error?o.message:"Google sign in failed";throw e(s=>{s.error=i;}),(r=t.onLoginError)==null||r.call(t,new Error(i)),o}},signUpWithEmail:async(t,r)=>{var i,s;let{eventCallbacks:o}=n();e(a=>{a.isLoading=true,a.error=null;});try{let a=await authService.signUp({email:t,password:r});return a.data&&((i=o.onSignupSuccess)==null||i.call(o)),a}catch(a){let u=a instanceof Error?a.message:"Signup failed";throw e(p=>{p.error=u;}),(s=o.onSignupError)==null||s.call(o,new Error(u)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,u,p;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(d=>{d.user=null,d.isSignedIn=!1,d.error=null;});let c=tokenStorage.getRefreshToken();if(tokenStorage.isTokenExpired()||!c){tokenStorage.clearTokens();return}await authService.logout({refreshToken:c}),tokenStorage.clearTokens();try{(o=r.clearQueryCache)==null||o.call(r),(i=r.clearOrganization)==null||i.call(r),(s=r.clearCustomData)==null||s.call(r),(a=r.clearHeaders)==null||a.call(r);}catch(d){console.warn("Error during logout cleanup:",d);}(u=t.onLogoutSuccess)==null||u.call(t);}catch(c){console.log(c);let g=c instanceof Error?c.message:"Logout failed";throw e(d=>{d.error=g;}),(p=t.onLogoutError)==null||p.call(t,new Error(g)),c}finally{e(c=>{c.isLoading=false;});}},sendPasswordResetEmail:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{await verifyCodeService.forgotPassword({email:t});}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.resetPassword(t)}catch(r){let o=r instanceof Error?r.message:"Failed to reset password";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.changePassword(t)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.verifyEmail(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send reset email";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{return await verifyCodeService.sendVerifyCode(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send verify code";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async t=>{var o,i,s,a,u;let r=await authService.refreshToken({refreshToken:(o=t!=null?t:tokenStorage.getRefreshToken())!=null?o:""});return (i=r.data)!=null&&i.idToken&&((s=r.data)!=null&&s.refreshToken)&&tokenStorage.setTokens({idToken:(a=r.data)==null?void 0:a.idToken,refreshToken:(u=r.data)==null?void 0:u.refreshToken}),r},clearError:()=>e(t=>{t.error=null;}),setUser:t=>e(r=>{r.user=t;}),setIsSignedIn:t=>e(r=>{r.isSignedIn=t;}),setIsInitialized:t=>e(r=>{r.isInitialized=t;}),patchUser:t=>e(r=>{r.user?r.user={...r.user,...t}:r.user=t;}),initialize:()=>{e(t=>{let r=tokenStorage.getAuthToken();t.isSignedIn=!!r,t.isInitialized=true;});},syncAuthState:()=>{e(t=>{var i,s,a,u;let r=tokenStorage.getAuthToken(),o=t.isSignedIn;t.isSignedIn=!!r,o!==t.isSignedIn&&(t.isSignedIn?(s=(i=t.eventCallbacks)==null?void 0:i.onAuthStateChange)==null||s.call(i,t.user,true):(u=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||u.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),L=()=>{let e=v(s=>s.user),n=v(s=>s.isSignedIn),t=v(s=>s.isInitialized),r=v(s=>s.isLoading),o=v(s=>s.error),i=v(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var Ce=(e,n)=>{let t={...e},r={};try{r=jwtDecode(n);}catch(o){console.warn("Failed to decode token in transformUserData:",o);}return t.exp=r.exp||0,t.accessToken=n||"",t.roles=(r==null?void 0:r.roles)||["USER"],t.account_type=(r==null?void 0:r.account_type)||0,t.picture=e.picture||"",t},Pe=e=>{try{return jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function q(){let{refreshToken:e,signOut:n}=L(),t=async()=>{try{if(!tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),n();}};useQuery({queryKey:["refresh-token"],queryFn:()=>t(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!tokenStorage.getAuthToken()});}var Uo=()=>{let{updateHeaders:e}=useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=usePGLCoreService(),{updateHeaders:r}=useAchievementService(),{updateHeaders:o}=useRewardService(),{updateHeaders:i}=useGenerateCertificateService();return useEffect(()=>{v.getState().actions.initialize();let s=tokenStorage.getAuthToken();if(s){e({Authorization:`Bearer ${s}`}),n({Authorization:`Bearer ${s}`}),r({Authorization:`Bearer ${s}`}),o({Authorization:`Bearer ${s}`}),i({Authorization:`Bearer ${s}`});let{user:c}=v.getState();c&&c.accessToken!==s&&v.getState().actions.setUser({...c,accessToken:s});}let a=v.getState().isSignedIn,u=v.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var g,d;if(c!==a)if(a=c,c){let f=tokenStorage.getAuthToken();if(f){e({Authorization:`Bearer ${f}`}),n({Authorization:`Bearer ${f}`}),r({Authorization:`Bearer ${f}`}),o({Authorization:`Bearer ${f}`}),i({Authorization:`Bearer ${f}`});try{let l=await userService(t).getMyProfile(),R=Ce(l,f);v.getState().actions.setUser(R);}catch{v.getState().actions.signOut();}}let{eventCallbacks:S,user:w}=v.getState();(g=S==null?void 0:S.onAuthStateChange)==null||g.call(S,w,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:f}=v.getState();(d=f==null?void 0:f.onAuthStateChange)==null||d.call(f,null,false);}}),p=tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:g}=v.getState();if(c){let d=tokenStorage.getAuthToken();d?(e({Authorization:`Bearer ${d}`}),n({Authorization:`Bearer ${d}`}),r({Authorization:`Bearer ${d}`}),o({Authorization:`Bearer ${d}`}),i({Authorization:`Bearer ${d}`}),g&&g.accessToken!==d&&v.getState().actions.setUser({...g,accessToken:d})):(v.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{u(),p();}},[e,n,r,o,i,t]),null},Lo=()=>(q(),null),X=({children:e,baseURL:n,queryClient:t})=>jsxs(AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsx(Uo,{}),jsx(Lo,{}),e]});function Ie(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:u,isLoading:p}=L(),[c,g]=useState(null),d=useRef(null),f=useRef(false),S=useRef(null),w=useRef(null),k=useCallback(async C=>{var T,_;if(C)try{let P=await s(C);if((T=P.data)!=null&&T.idToken&&((_=P.data)!=null&&_.refreshToken)){tokenStorage.setTokens({idToken:P.data.idToken,refreshToken:P.data.refreshToken});let A=Pe(P.data.idToken);a(!0),u(!1),n==null||n(A);}}catch(P){let A=P instanceof Error?P.message:"Token refresh failed";w.current=A,t==null||t(A),u(false);}},[s,a,u,n,t]),l=useCallback(()=>{S.current&&(clearInterval(S.current),S.current=null),f.current=false;},[]),R=useCallback(C=>{var _;let T=te.concat((_=window==null?void 0:window.location)==null?void 0:_.origin);if(C.origin!=="*"&&!T.includes(C.origin)){console.warn("Rejected message from untrusted origin:",C.origin);return}if(!C.data||typeof C.data!="object"){console.warn("Invalid message data received");return}if(C.data.type==="LOGIN_SUCCESS"){let{refreshToken:P}=C.data;P&&k(P),f.current=true,l();}else if(C.data.type==="LOGIN_ERROR"){let P=C.data.error||"Login failed";w.current=P,t==null||t(P),u(false),f.current=true,l();}},[k,u,l,t]);useEffect(()=>{(async()=>{try{let T=await i();g(T.statusMessage||"");}catch(T){console.error("error",T),g("");}})();},[]);let E=useCallback(()=>{let _=window.screenX+(window.outerWidth-500)/2,P=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let A="Google sign in failed. Please try again later.";w.current=A,t==null||t(A);return}if(w.current=null,u(!0),d.current=window.open(c,"oauthPopup",`width=500,height=600,left=${_},top=${P},resizable,scrollbars`),!d.current){u(!1);let A="Popup blocked. Please allow popups for this site.";w.current=A,r==null||r(),t==null||t(A);return}S.current=setInterval(()=>{if(d.current&&d.current.closed&&(S.current&&(clearInterval(S.current),S.current=null),!f.current)){let A="Authentication popup was closed";w.current=A,o==null||o(),t==null||t(A),u(!1);}},500);}catch(A){let ar=A instanceof Error?A.message:"Google sign in failed";w.current=ar,t==null||t(ar),u(false);}},[i,u,R,t,r,o,c]);return useEffect(()=>(window.addEventListener("message",R),()=>{window.removeEventListener("message",R);}),[R]),useEffect(()=>()=>{l();},[l]),{signIn:E,isLoading:p,error:w.current}}function it({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=usePGLCoreService();useEffect(()=>{if(e){let u={"Chip-Authorization":e};oe(e),r(u);}},[e,r]);let{data:o,isLoading:i,isError:s,isSuccess:a}=useChipScanStory({token:e,id:n});return useEffect(()=>{s&&(t==null||t());},[s,t]),o?{data:{externalUrl:o==null?void 0:o.external_url,campaignDetail:o==null?void 0:o.project,locationDetail:o==null?void 0:o.location,scanCounter:o==null?void 0:o.scan_counter,campaignId:o==null?void 0:o.campaign_id,chipModelId:o==null?void 0:o.chip_model_id,organizationId:o==null?void 0:o.organization_id,projectId:o==null?void 0:o.project_id,locationId:o==null?void 0:o.location_id,chipUid:o==null?void 0:o.uid},isLoading:i,isError:s,isSuccess:a}:{data:null,isLoading:i,isError:s,isSuccess:a}}var tr=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(tr||{});var or=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),nr=(e,n,t)=>e.filter(r=>r[n]===t);var At=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=L(),{environment:i,version:s}=t,[a,u]=useState(null),[p,c]=useState("");return useEffect(()=>{(async()=>{let d=await H();c(d);})();},[]),useEffect(()=>{(async()=>{try{let d=await H();u({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":d}},responseInterceptors:{onFulfilled:l=>l,onRejected:async l=>{var C,T,_;let R=l.config,E=tokenStorage.getAuthToken();if(((C=l.response)==null?void 0:C.status)===401&&!R._retry){let P=parseInt(getFromLS(x)||"0",10);if(P>=3)return await r(),setToLS(x,0),Promise.reject(l);if(setToLS(x,`${P+1}`),R._retry=!0,E)try{let A=await o();if((T=A==null?void 0:A.data)!=null&&T.idToken)return R.headers.Authorization=`Bearer ${(_=A==null?void 0:A.data)==null?void 0:_.idToken}`,qo(R)}catch(A){return console.error("Failed to refresh token:",A),await r(),Promise.reject(A)}}}},requestInterceptors:{onFulfilled:l=>l,onRejected:l=>Promise.reject(l)},useDevTool:!0});}catch(d){console.error(d);}})();},[n]),a?jsx(PGLCoreServiceProvider,{...a,baseURL:`${I[i].API_BASE_URL}/${s}`,baseCoreURL:`${I[i].API_BASE_CORE_URL}/${s}`,children:jsx(RewardServiceProvider,{...a,baseURL:`${I[i].API_REWARD_URL}/v1`,children:jsx(AchievementServiceProvider,{...a,baseURL:`${I[i].API_ACHIEVEMENT_URL}/${s}`,children:jsx(GenerateCertificateServiceProvider,{...a,baseURL:`${I[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:jsxs(PhygitalConsentProvider,{...a,deviceId:p,baseURL:`${I[i].API_CONSENT_URL}/v1`,axiosConfig:{headers:{"Content-Type":"application/json"}},children:[jsx(se,{}),jsx(ae,{}),e]})})})})}):jsx(Fragment,{})};var vt=({children:e,queryClient:n,apiConfig:t})=>{let{environment:r}=t,o=useMemo(()=>{let i=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(i)return {projectKey:i,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsx(j,{config:o,children:jsx(At,{queryClient:n,apiConfig:t,children:jsx(X,{baseURL:`${I[r].API_BASE_URL}`,queryClient:n,children:e})})})};function Yo(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,u;let i=((a=t[o])==null?void 0:a[0])||null,s=((u=r.subAchievementIds)==null?void 0:u.map((p,c)=>{var d,f;let g=((f=t[o*(((d=r.subAchievementIds)==null?void 0:d.length)||0)+c+1])==null?void 0:f[0])||null;return {id:p,reward_model:g}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var Jo=({campaignId:e})=>{let{data:n,isLoading:t}=useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=useMemo(()=>n!=null&&n.data?n.data.map(u=>u.groupRewardId).filter(u=>u!==void 0):[],[n==null?void 0:n.data]),{mutate:o,data:i,isPending:s}=useCreateModelGroupReward();return useEffect(()=>{r.length>0&&o({group_reward_ids:r});},[r,o]),{mappedAchievements:useMemo(()=>!(i!=null&&i.data)||!(n!=null&&n.data)?[]:Yo(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},Oe=Jo;var sr=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(sr||{});m(De,y);
2
+ export{te as ALLOWED_ORIGINS,Ye as AchievementTrackingProvider,Z as AchievementType,X as AuthProvider,re as CALLBACK_URL,sr as Environment,se as GtagConsentSync,qe as GtagGtmScriptToggle,ae as GtagGtmScriptToggleFromConsent,ue as NotificationProvider,Xe as RewardClaimStatus,j as SessionReplayProvider,vt as TapquestCoreProvider,tr as TaskType,W as TrackerContext,N as accessTokenKey,H as checkDeviceUid,B as chipAuthTokenKey,O as convertSnakeToCamel,Pe as decodeJWTToken,Nr as detectGtagGtmInDom,z as deviceUIDKey,nr as filterLocationsByProperty,Be as generateDeviceId,Ir as getAccessToken,K as getActionsFromAchievementRule,Pr as getChipAuthToken,$ as getDeviceUid,ur as getLocationIdsFromAchievementRule,xr as getRefreshToken,Tr as getRetryAttemptsRefreshToken,Or as getSessionUserId,lr as getSurveyIdsFromAchievementRule,Mr as getUserInfo,ee as httpMaxRetries,V as isAchievementCompleted,ne as isBrowser,F as refreshTokenKey,Er as removeAccessToken,Sr as removeChipAuthToken,Cr as removeDeviceUid,Lr as removeRefreshToken,Gr as removeUserInfo,x as retryAttemptsRefreshToken,_r as setAccessToken,oe as setChipAuthToken,We as setDeviceUid,Ur as setRefreshToken,kr as setRetryAttemptsRefreshToken,br as setUserInfo,or as sortLocationsByIndex,Ce as transformProtoUserData,Je as useAchievementTracking,Oe as useAchivementPlusRewardModel,L as useAuth,v as useAuthStore,Fe as useClearAchievementProgressCache,de as useDataTracking,Ie as useGoogleLogin,vr as useManyAchievementProgress,it as useScanChip,b as useSessionReplay,q as useTokenRefresher,D as userInfoKey};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map