@phygitallabs/tapquest-core 4.7.0 → 6.1.0
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/bun.lock +217 -73
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +104 -2
- package/dist/index.d.ts +104 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/auth/hooks/index.ts +5 -1
- package/src/modules/auth/hooks/useGoogleLogin.ts +56 -14
- package/src/modules/auth/index.ts +8 -7
- package/src/modules/auth/utils/user.ts +1 -1
- package/src/providers/ServicesProvider.tsx +4 -1
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var achievement=require('@phygitallabs/achievement'),apiCore=require('@phygitallabs/api-core'),reward=require('@phygitallabs/reward'),Lt=require('@phygitallabs/notification-api'),jsxRuntime=require('react/jsx-runtime'),authentication=require('@phygitallabs/authentication'),react=require('react'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),ur=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),reactQuery=require('@tanstack/react-query'),uuid=require('uuid'),Ce=require('posthog-js'),helpers=require('@phygitallabs/helpers'),rt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Lt__namespace=/*#__PURE__*/_interopNamespace(Lt);var ur__default=/*#__PURE__*/_interopDefault(ur);var Ce__default=/*#__PURE__*/_interopDefault(Ce);var rt__default=/*#__PURE__*/_interopDefault(rt);var $e=Object.defineProperty;var no=Object.getOwnPropertyDescriptor;var so=Object.getOwnPropertyNames;var io=Object.prototype.hasOwnProperty;var Se=(e,s)=>{for(var o in s)$e(e,o,{get:s[o],enumerable:true});},Ke=(e,s,o,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of so(s))!io.call(e,t)&&t!==o&&$e(e,t,{get:()=>s[t],enumerable:!(r=no(s,t))||r.enumerable});return e},c=(e,s,o)=>(Ke(e,s,"default"),o);var we={};Se(we,{ALLOWED_ORIGINS:()=>se,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>Ie,AuthProvider:()=>F,CALLBACK_URL:()=>ne,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>oe,RewardClaimStatus:()=>Te,SessionReplayProvider:()=>B,TapquestCoreProvider:()=>Yr,TaskType:()=>Fe,TrackerContext:()=>b,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>x,checkDeviceUid:()=>ue,chipAuthTokenKey:()=>M,cn:()=>helpers.cn,convertSnakeToCamel:()=>E,deviceUIDKey:()=>L,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Be,generateDeviceId:()=>De,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>He,getChipAuthToken:()=>yr,getDeviceUid:()=>z,getLocationIdsFromAchievementRule:()=>Ve,getRefreshToken:()=>Sr,getRetryAttemptsRefreshToken:()=>Ar,getSessionUserId:()=>qr,getUserInfo:()=>Er,httpMaxRetries:()=>te,isAchievementCompleted:()=>O,isBrowser:()=>Ae,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>_,removeAccessToken:()=>kr,removeChipAuthToken:()=>Rr,removeDeviceUid:()=>vr,removeRefreshToken:()=>Tr,removeUserInfo:()=>xr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>wr,setChipAuthToken:()=>le,setDeviceUid:()=>Oe,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Cr,setUserInfo:()=>Ur,sortLocationsByIndex:()=>ze,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Pe,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>S,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>jr,useDefaultServiceGetPollStats:()=>Lt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Lt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>de,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>Ze,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Lt.useNotificationRewardHandler,useNotificationStore:()=>Lt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Lt.usePageVisibility,useScanChip:()=>Gr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>W,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Lt.useTCVNotificationRewardHandler,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Lt.useWebSocket,userInfoKey:()=>U,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var u={};Se(u,{ALLOWED_ORIGINS:()=>se,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>Ie,AuthProvider:()=>F,CALLBACK_URL:()=>ne,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>oe,RewardClaimStatus:()=>Te,SessionReplayProvider:()=>B,TapquestCoreProvider:()=>Yr,TaskType:()=>Fe,TrackerContext:()=>b,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>x,checkDeviceUid:()=>ue,chipAuthTokenKey:()=>M,cn:()=>helpers.cn,convertSnakeToCamel:()=>E,deviceUIDKey:()=>L,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Be,generateDeviceId:()=>De,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>He,getChipAuthToken:()=>yr,getDeviceUid:()=>z,getLocationIdsFromAchievementRule:()=>Ve,getRefreshToken:()=>Sr,getRetryAttemptsRefreshToken:()=>Ar,getSessionUserId:()=>qr,getUserInfo:()=>Er,httpMaxRetries:()=>te,isAchievementCompleted:()=>O,isBrowser:()=>Ae,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>_,removeAccessToken:()=>kr,removeChipAuthToken:()=>Rr,removeDeviceUid:()=>vr,removeRefreshToken:()=>Tr,removeUserInfo:()=>xr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>wr,setChipAuthToken:()=>le,setDeviceUid:()=>Oe,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Cr,setUserInfo:()=>Ur,sortLocationsByIndex:()=>ze,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Pe,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>S,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>jr,useDefaultServiceGetPollStats:()=>Lt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Lt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>de,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>Ze,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Lt.useNotificationRewardHandler,useNotificationStore:()=>Lt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Lt.usePageVisibility,useScanChip:()=>Gr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>W,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Lt.useTCVNotificationRewardHandler,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Lt.useWebSocket,userInfoKey:()=>U,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var Ve=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(t=>{t.filters&&t.filters.forEach(n=>{n.label==="location_id"&&n.value&&(Array.isArray(n.value)?s.push(...n.value):s.push(n.value));});});});}),Array.from(new Set(s))},He=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.action&&s.push(r.action);});}),Array.from(new Set(s))},O=e=>e.isCompleted||e.overallPercentage===100;function E(e){if(e==null)return e;if(Array.isArray(e))return e.map(s=>E(s));if(typeof e=="object"&&e.constructor===Object){let s={};for(let o in e)if(e.hasOwnProperty(o)){let r=o.replace(/_([a-z])/g,(t,n)=>n.toUpperCase());s[r]=E(e[o]);}return s}return e}var Ze=(e,s)=>{let o=!!e.userId,r=o?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return o?achievement.useManyAchievementProgress(r,{...s,select:t=>t.map(n=>({...n,isCompleted:O(n)}))}):apiCore.useManyAchievementProgressByDevice(r,{...s,select:t=>E(t).map(i=>({...i,isCompleted:O(i)}))})};var Ie=(t=>(t.DEFAULT="default",t.MULTIPLE_CHECK_INS="multiple_check_ins",t.RANDOM_CHECK_INS="random_check_ins",t.GROUP_MISSION="group_mission",t))(Ie||{});var Te=(t=>(t.NOT_CLAIMED="not_claimed",t.CLAIMED="claimed",t.IN_PROGRESS="in_progress",t.FAILED="failed",t))(Te||{});var d={};Se(d,{NotificationProvider:()=>oe,useDefaultServiceGetPollStats:()=>Lt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Lt.useDefaultServicePostPoll,useNotificationRewardHandler:()=>Lt.useNotificationRewardHandler,useNotificationStore:()=>Lt.useNotificationStore,usePageVisibility:()=>Lt.usePageVisibility,useTCVNotificationRewardHandler:()=>Lt.useTCVNotificationRewardHandler,useWebSocket:()=>Lt.useWebSocket});c(d,Lt__namespace);var uo={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_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_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_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},P=uo;var oe=({children:e,autoConnect:s=true,environment:o="dev",user:r,onWebSocketOpen:t,onWebSocketClose:n,onWebSocketMessage:i})=>{let a=P[o]?.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(Lt.NotificationProvider,{userUid:r?.id,accessToken:r?.accessToken??null,webSocketUrl:a,autoConnect:s,onWebSocketOpen:t,onWebSocketClose:n,onWebSocketMessage:i,children:e})};c(u,d);var U="phygital-user-info",x="accessToken",_="refreshToken",te=3,w="retryAttemptsRefreshToken",L="Device-UID",M="chip-auth-token",ne="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",se=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Ro={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},g=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,s)=>({...Ro,actions:{setIsLoading:o=>e(r=>{r.isLoading=o;}),setCleanupFunctions:o=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...o};}),addEventCallbacks:o=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};});}),signInWithEmail:async(o,r)=>{let{eventCallbacks:t}=s();e(n=>{n.isLoading=true,n.error=null;});try{let n=await authentication.authService.signIn({email:o,password:r});return n?.data?.idToken&&n?.data?.refreshToken&&(authentication.tokenStorage.setTokens({idToken:n.data.idToken,refreshToken:n.data.refreshToken}),e(i=>{i.isSignedIn=!0;}),t.onLoginSuccess?.(n.data.idToken)),n}catch(n){let i=n instanceof Error?n.message:"Login failed";throw e(a=>{a.error=i;}),t.onLoginError?.(new Error(i)),n}finally{e(n=>{n.isLoading=false;});}},signInWithGoogle:async()=>{let{eventCallbacks:o}=s();try{let r=ne;return await authentication.authService.getOAuthSignInUrl(r)}catch(r){let t=r instanceof Error?r.message:"Google sign in failed";throw e(n=>{n.error=t;}),o.onLoginError?.(new Error(t)),r}},signUpWithEmail:async(o,r)=>{let{eventCallbacks:t}=s();e(n=>{n.isLoading=true,n.error=null;});try{let n=await authentication.authService.signUp({email:o,password:r});return n.data&&t.onSignupSuccess?.(),n}catch(n){let i=n instanceof Error?n.message:"Signup failed";throw e(a=>{a.error=i;}),t.onSignupError?.(new Error(i)),n}finally{e(n=>{n.isLoading=false,n.user=null,n.isSignedIn=false;});}},signOut:async()=>{let{eventCallbacks:o,cleanupFunctions:r}=s();e(t=>{t.isLoading=true,t.error=null;});try{e(i=>{i.user=null,i.isSignedIn=!1,i.error=null;});let t=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!t){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:t}),authentication.tokenStorage.clearTokens();try{r.clearQueryCache?.(),r.clearOrganization?.(),r.clearCustomData?.(),r.clearHeaders?.();}catch(i){console.warn("Error during logout cleanup:",i);}o.onLogoutSuccess?.();}catch(t){console.log(t);let n=t instanceof Error?t.message:"Logout failed";throw e(i=>{i.error=n;}),o.onLogoutError?.(new Error(n)),t}finally{e(t=>{t.isLoading=false;});}},sendPasswordResetEmail:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.verifyCodeService.forgotPassword({email:o});}catch(r){let t=r instanceof Error?r.message:"Failed to send reset email";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.resetPassword(o)}catch(r){let t=r instanceof Error?r.message:"Failed to reset password";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.changePassword(o)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.verifyEmail(o)}catch(r){let t=r instanceof Error?r.message:"Failed to send reset email";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.sendVerifyCode(o)}catch(r){let t=r instanceof Error?r.message:"Failed to send verify code";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async o=>{let r=await authentication.authService.refreshToken({refreshToken:o??authentication.tokenStorage.getRefreshToken()??""});return r.data?.idToken&&r.data?.refreshToken&&authentication.tokenStorage.setTokens({idToken:r.data?.idToken,refreshToken:r.data?.refreshToken}),r},clearError:()=>e(o=>{o.error=null;}),setUser:o=>e(r=>{r.user=o;}),setIsSignedIn:o=>e(r=>{r.isSignedIn=o;}),setIsInitialized:o=>e(r=>{r.isInitialized=o;}),patchUser:o=>e(r=>{r.user?r.user={...r.user,...o}:r.user=o;}),initialize:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken();o.isSignedIn=!!r,o.isInitialized=true;});},syncAuthState:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken(),t=o.isSignedIn;o.isSignedIn=!!r,t!==o.isSignedIn&&(o.isSignedIn?o.eventCallbacks?.onAuthStateChange?.(o.user,true):o.eventCallbacks?.onAuthStateChange?.(null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),S=()=>{let e=g(i=>i.user),s=g(i=>i.isSignedIn),o=g(i=>i.isInitialized),r=g(i=>i.isLoading),t=g(i=>i.error),n=g(i=>i.actions);return {user:e,isSignedIn:s,isInitialized:o,isLoading:r,error:t,...n}};var lr=(e,s)=>{let o={...e},r={};try{r=ur__default.default(s);}catch(t){console.warn("Failed to decode token in transformUserData:",t);}return o.exp=r.exp||0,o.accessToken=s||"",o.roles=r?.roles||["USER"],o.account_type=r?.account_type||0,o.picture=e.picture||"",o},pr=e=>{try{return ur__default.default(e)}catch(s){return console.warn("Failed to decode token in decodeJWTToken:",s),null}};function fr(){let{refreshToken:e,signOut:s}=S(),o=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),s();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>o(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var Uo=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:s,coreApi:o}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:t}=reward.useRewardService(),{updateHeaders:n}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{g.getState().actions.initialize();let i=authentication.tokenStorage.getAuthToken();if(i){e({Authorization:`Bearer ${i}`}),s({Authorization:`Bearer ${i}`}),r({Authorization:`Bearer ${i}`}),t({Authorization:`Bearer ${i}`}),n({Authorization:`Bearer ${i}`});let{user:p}=g.getState();p&&p.accessToken!==i&&g.getState().actions.setUser({...p,accessToken:i});}let a=g.getState().isSignedIn,l=g.subscribe(p=>[p.isSignedIn,p.user],async([p])=>{if(p!==a)if(a=p,p){let m=authentication.tokenStorage.getAuthToken();if(m){e({Authorization:`Bearer ${m}`}),s({Authorization:`Bearer ${m}`}),r({Authorization:`Bearer ${m}`}),t({Authorization:`Bearer ${m}`}),n({Authorization:`Bearer ${m}`});try{let h=await apiCore.userService(o).getMyProfile(),R=lr(h,m);g.getState().actions.setUser(R);}catch{g.getState().actions.signOut();}}let{eventCallbacks:f,user:C}=g.getState();f?.onAuthStateChange?.(C,true);}else {e({}),s({}),r({Authorization:""}),t({Authorization:""}),n({Authorization:""});let{eventCallbacks:m}=g.getState();m?.onAuthStateChange?.(null,false);}}),T=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:p,user:m}=g.getState();if(p){let f=authentication.tokenStorage.getAuthToken();f?(e({Authorization:`Bearer ${f}`}),s({Authorization:`Bearer ${f}`}),r({Authorization:`Bearer ${f}`}),t({Authorization:`Bearer ${f}`}),n({Authorization:`Bearer ${f}`}),m&&m.accessToken!==f&&g.getState().actions.setUser({...m,accessToken:f})):(g.getState().actions.signOut(),e({}),s({}),r({Authorization:""}),t({Authorization:""}),n({Authorization:""}));}});return ()=>{l(),T();}},[e,s,r,t,n,o]),null},xo=()=>(fr(),null),F=({children:e,baseURL:s,queryClient:o})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:s,queryClient:o,children:[jsxRuntime.jsx(Uo,{}),jsxRuntime.jsx(xo,{}),e]});function de(e={}){let{onSuccess:s,onError:o,onPopupBlocked:r,onPopupClosed:t}=e,{signInWithGoogle:n,refreshToken:i,setIsSignedIn:a,setIsLoading:l,isLoading:T}=S(),p=react.useRef(null),m=react.useRef(false),f=react.useRef(null),C=react.useRef(null),D=react.useCallback(async v=>{if(v)try{let y=await i(v);if(y.data?.idToken&&y.data?.refreshToken){authentication.tokenStorage.setTokens({idToken:y.data.idToken,refreshToken:y.data.refreshToken});let A=pr(y.data.idToken);a(!0),l(!1),s?.(A);}}catch(y){let A=y instanceof Error?y.message:"Token refresh failed";C.current=A,o?.(A),l(false);}},[i,a,l,s,o]),h=react.useCallback(()=>{f.current&&(clearInterval(f.current),f.current=null),m.current=false;},[]),R=react.useCallback(v=>{let y=se.concat(window?.location?.origin);if(v.origin!=="*"&&!y.includes(v.origin)){console.warn("Rejected message from untrusted origin:",v.origin);return}if(!v.data||typeof v.data!="object"){console.warn("Invalid message data received");return}if(v.data.type==="LOGIN_SUCCESS"){let{refreshToken:A}=v.data;A&&D(A),m.current=true,h();}else if(v.data.type==="LOGIN_ERROR"){let A=v.data.error||"Login failed";C.current=A,o?.(A),l(false),m.current=true,h();}},[D,l,h,o]),ke=react.useCallback(async()=>{let A=window.screenX+(window.outerWidth-500)/2,to=window.screenY+(window.outerHeight-600)/2;try{C.current=null,l(!0);let $=await n();if(p.current=window.open(`${$.statusMessage}`,"oauthPopup",`width=500,height=600,left=${A},top=${to},resizable,scrollbars`),!p.current){l(!1);let I="Popup blocked. Please allow popups for this site.";C.current=I,r?.(),o?.(I);return}f.current=setInterval(()=>{if(p.current&&p.current.closed&&(f.current&&(clearInterval(f.current),f.current=null),!m.current)){let I="Authentication popup was closed";C.current=I,t?.(),o?.(I),l(!1);}},500);}catch($){let I=$ instanceof Error?$.message:"Google sign in failed";C.current=I,o?.(I),l(false);}},[n,l,R,o,r,t]);return react.useEffect(()=>(window.addEventListener("message",R),()=>{window.removeEventListener("message",R);}),[R]),react.useEffect(()=>()=>{h();},[h,R]),{signIn:ke,isLoading:T,error:C.current}}var De=async()=>{try{return await bo()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},bo=async()=>{let e=new Date().toISOString(),s=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(s),t=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(t)).map(a=>a.toString(16).padStart(2,"0")).join("")};var z=()=>typeof window>"u"?null:localStorage.getItem(L),Oe=e=>{typeof window>"u"||localStorage.setItem(L,e);},vr=()=>{typeof window>"u"||localStorage.removeItem(L);},ue=async()=>{let e=z();return e||(e=await De(),Oe(e)),e},yr=()=>typeof window>"u"?null:localStorage.getItem(M),le=e=>{typeof window>"u"||localStorage.setItem(M,e);},Rr=()=>{typeof window>"u"||localStorage.removeItem(M);},Ar=()=>typeof window>"u"?null:localStorage.getItem(w),Cr=e=>{typeof window>"u"||localStorage.setItem(w,e);},Pr=()=>typeof window>"u"?null:localStorage.getItem(x),wr=e=>{typeof window>"u"||localStorage.setItem(x,e);},kr=()=>{typeof window>"u"||localStorage.removeItem(x);},Sr=()=>typeof window>"u"?null:localStorage.getItem(_),Ir=e=>{typeof window>"u"||localStorage.setItem(_,e);},Tr=()=>{typeof window>"u"||localStorage.removeItem(_);},Er=()=>{if(typeof window>"u")return null;let e=localStorage.getItem(U);if(!e)return null;try{return JSON.parse(e)}catch(s){return console.error("Failed to parse stored user data:",s),null}},Ur=e=>{typeof window>"u"||localStorage.setItem(U,JSON.stringify(e));},xr=()=>{typeof window>"u"||localStorage.removeItem(U);};function Gr({token:e,id:s,onScanChipError:o}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let l={"Chip-Authorization":e};le(e),r(l);}},[e,r]);let{data:t,isLoading:n,isError:i,isSuccess:a}=apiCore.useChipScanStory({token:e,id:s});return react.useEffect(()=>{i&&o?.();},[i,o]),t?{data:{externalUrl:t?.external_url,campaignDetail:t?.project,locationDetail:t?.location,scanCounter:t?.scan_counter,campaignId:t?.campaign_id,chipModelId:t?.chip_model_id,organizationId:t?.organization_id,projectId:t?.project_id,locationId:t?.location_id,chipUid:t?.uid},isLoading:n,isError:i,isSuccess:a}:{data:null,isLoading:n,isError:i,isSuccess:a}}var Fe=(t=>(t.CHECK_IN="check_in",t.CREATE_MEMORY="create_memory",t.FILL_FORM="fill_form",t.SHARE="share",t))(Fe||{});var ze=e=>[...e].sort((s,o)=>(s.index??0)-(o.index??0)),Be=(e,s,o)=>e.filter(r=>r[s]===o);var qr=e=>e||z(),Ae=()=>typeof window<"u";var b=react.createContext(null);function Fo(){return uuid.v4()}async function zo(e){try{let s=(await import('@openreplay/tracker')).default,o=e?.userIdEnabled&&e?.getUserId?e.getUserId:Fo,r={projectKey:e?.projectKey||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e?.ingestPoint,captureExceptions:e.captureExceptions??!0,capturePerformance:e.capturePerformance??!0,network:e.network||{capturePayload:!0,sanitizer:n=>n},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:e.obscureTextEmails??!0,obscureTextNumbers:e.obscureTextNumbers??!1,obscureInputEmails:e.obscureInputEmails??!0,__DISABLE_SECURE_MODE:e.__DISABLE_SECURE_MODE??(typeof process<"u"&&process.env?.NODE_ENV==="development")},t=new s(r);if(e?.userIdEnabled){let n=o();t.setUserID(n),console.log("User ID set:",n);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",r.projectKey),console.log("Ingest Point:",r.ingestPoint),t}catch(s){throw console.error("Failed to create tracker:",s),s}}function Bo(e,s){let{debug:o=false}=e.config;switch(s.type){case "init":return !e.tracker&&Ae()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(o,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:zo(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(o,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(s.payload),console.log(o,"User ID updated:",s.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{Object.entries(s.payload||{})?.forEach(([t,n])=>{r.setMetadata(t,n);}),console.log(o,"Metadata updated:",s.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var B=({children:e,config:s={}})=>{let[,o]=react.useReducer(Bo,{tracker:null,config:s}),r=()=>o({type:"init"}),t=()=>o({type:"start"}),n=a=>o({type:"setUserId",payload:a}),i=a=>o({type:"setMetadata",payload:a});return react.useEffect(()=>{r(),t();},[]),jsxRuntime.jsx(b.Provider,{value:{initTracker:r,startTracking:t,setUserId:n,setMetadata:i},children:e})};function W(){let e=react.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 $o=(e,s)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...s});}catch(o){console.error(o);}},Vo=(e,s)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,s);},Ho=(e,s)=>{Ce__default.default.capture(e,s);};function jr(){let{setUserId:e,setMetadata:s}=W();return {trackEvent:(n,i,a)=>{console.log("trackEvent ",n,i),a=a||["gtm"],a.includes("gtm")&&typeof window<"u"&&$o(n,i),a.includes("ga")&&typeof gtag=="function"&&Vo(n,i),a.includes("posthog")&&typeof Ce__default.default=="function"&&Ho(n,i);},trackUserIdentify:n=>{Ce__default.default.identify(n.email,{email:n.email,name:n.name,avatar:n.avatar,uid:n.uid}),e(n.id),s({user_email:n.email});},trackLogoutEvent:()=>{Ce__default.default.capture("user_signed_out");}}}var Jr=({children:e,queryClient:s,apiConfig:o={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:t}=S(),{environment:n,version:i}=o,[a,l]=react.useState(null);return react.useEffect(()=>{(async()=>{try{let p=await ue();l({queryClient:s,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":p}},responseInterceptors:{onFulfilled:h=>h,onRejected:async h=>{let R=h.config,ke=authentication.tokenStorage.getAuthToken();if(h.response?.status===401&&!R._retry){let v=parseInt(helpers.getFromLS(w)||"0",10);if(v>=3)return await r(),helpers.setToLS(w,0),Promise.reject(h);if(helpers.setToLS(w,`${v+1}`),R._retry=!0,ke)try{let y=await t();if(y?.data?.idToken)return R.headers.Authorization=`Bearer ${y?.data?.idToken}`,rt__default.default(R)}catch(y){console.log("Failed to refresh token:",y);}}}},requestInterceptors:{onFulfilled:h=>h,onRejected:h=>Promise.reject(h)},useDevTool:!0});}catch(p){console.error(p);}})();},[s]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${P[n].API_BASE_URL}/${i}`,baseCoreURL:`${P[n].API_BASE_CORE_URL}/${i}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${P[n].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${P[n].API_ACHIEVEMENT_URL}/${i}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${P[n].API_GENERATE_CERTIFICATE_URL}/v1`,children:e})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var Yr=({children:e,queryClient:s,apiConfig:o})=>{let{environment:r}=o,t=react.useMemo(()=>{let n=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(n)return {projectKey:n,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsxRuntime.jsx(B,{config:t,children:jsxRuntime.jsx(Jr,{queryClient:s,apiConfig:o,children:jsxRuntime.jsx(F,{baseURL:`${P[r].API_BASE_URL}`,queryClient:s,children:e})})})};function at(e,s){if(!s?.reward_models)return [];let o=s.reward_models;return e.map((r,t)=>{let n=o[t]?.[0]||null,i=r.subAchievementIds?.map((a,l)=>{let T=o[t*(r.subAchievementIds?.length||0)+l+1]?.[0]||null;return {id:a,reward_model:T}})||[];return {id:r.id,name:r.name,reward_model:n,subAchievements:i}})}var ct=({campaignId:e})=>{let{data:s,isLoading:o}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>s?.data?s.data.map(l=>l.groupRewardId).filter(l=>l!==void 0):[],[s?.data]),{mutate:t,data:n,isPending:i}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&t({group_reward_ids:r});},[r,t]),{mappedAchievements:react.useMemo(()=>!n?.data||!s?.data?[]:at(s.data,n.data),[n,s?.data]),isLoading:o||i}},Pe=ct;c(we,u);
|
|
2
|
-
Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return
|
|
1
|
+
'use strict';var achievement=require('@phygitallabs/achievement'),apiCore=require('@phygitallabs/api-core'),reward=require('@phygitallabs/reward'),Dt=require('@phygitallabs/notification-api'),jsxRuntime=require('react/jsx-runtime'),authentication=require('@phygitallabs/authentication'),react=require('react'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),jwtDecode=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),reactQuery=require('@tanstack/react-query'),uuid=require('uuid'),Ie=require('posthog-js'),helpers=require('@phygitallabs/helpers'),nt=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Dt__namespace=/*#__PURE__*/_interopNamespace(Dt);var Ie__default=/*#__PURE__*/_interopDefault(Ie);var nt__default=/*#__PURE__*/_interopDefault(nt);var Je=Object.defineProperty;var io=Object.getOwnPropertyDescriptor;var ao=Object.getOwnPropertyNames;var co=Object.prototype.hasOwnProperty;var Ue=(e,s)=>{for(var o in s)Je(e,o,{get:s[o],enumerable:true});},Qe=(e,s,o,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of ao(s))!co.call(e,t)&&t!==o&&Je(e,t,{get:()=>s[t],enumerable:!(r=io(s,t))||r.enumerable});return e},c=(e,s,o)=>(Qe(e,s,"default"),o);var Ee={};Ue(Ee,{ALLOWED_ORIGINS:()=>ce,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>xe,AuthProvider:()=>K,CALLBACK_URL:()=>ae,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>_e,SessionReplayProvider:()=>V,TapquestCoreProvider:()=>Zr,TaskType:()=>$e,TrackerContext:()=>F,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>ge,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ue,deviceUIDKey:()=>O,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>He,generateDeviceId:()=>ze,getAccessToken:()=>wr,getActionsFromAchievementRule:()=>Xe,getChipAuthToken:()=>Ar,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>Ye,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Pr,getSessionUserId:()=>Qr,getUserInfo:()=>xr,httpMaxRetries:()=>ie,isAchievementCompleted:()=>z,isBrowser:()=>Se,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>D,removeAccessToken:()=>Ir,removeChipAuthToken:()=>Cr,removeDeviceUid:()=>Rr,removeRefreshToken:()=>Ur,removeUserInfo:()=>Lr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>Sr,setChipAuthToken:()=>he,setDeviceUid:()=>Be,setRefreshToken:()=>Er,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>_r,sortLocationsByIndex:()=>Ve,transformProtoUserData:()=>de,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Te,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>I,useAuthStore:()=>p,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>Jr,useDefaultServiceGetPollStats:()=>Dt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Dt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>fe,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>sr,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Dt.useNotificationRewardHandler,useNotificationStore:()=>Dt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Dt.usePageVisibility,useScanChip:()=>Fr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>H,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Dt.useTCVNotificationRewardHandler,useTokenRefresher:()=>N,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Dt.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var u={};Ue(u,{ALLOWED_ORIGINS:()=>ce,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementType:()=>xe,AuthProvider:()=>K,CALLBACK_URL:()=>ae,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,NotificationProvider:()=>se,RewardClaimStatus:()=>_e,SessionReplayProvider:()=>V,TapquestCoreProvider:()=>Zr,TaskType:()=>$e,TrackerContext:()=>F,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>ge,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ue,deviceUIDKey:()=>O,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>He,generateDeviceId:()=>ze,getAccessToken:()=>wr,getActionsFromAchievementRule:()=>Xe,getChipAuthToken:()=>Ar,getDeviceUid:()=>$,getLocationIdsFromAchievementRule:()=>Ye,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Pr,getSessionUserId:()=>Qr,getUserInfo:()=>xr,httpMaxRetries:()=>ie,isAchievementCompleted:()=>z,isBrowser:()=>Se,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>D,removeAccessToken:()=>Ir,removeChipAuthToken:()=>Cr,removeDeviceUid:()=>Rr,removeRefreshToken:()=>Ur,removeUserInfo:()=>Lr,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>w,setAccessToken:()=>Sr,setChipAuthToken:()=>he,setDeviceUid:()=>Be,setRefreshToken:()=>Er,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>_r,sortLocationsByIndex:()=>Ve,transformProtoUserData:()=>de,useAchievementProgress:()=>achievement.useAchievementProgress,useAchivementPlusRewardModel:()=>Te,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>I,useAuthStore:()=>p,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>Jr,useDefaultServiceGetPollStats:()=>Dt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Dt.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>fe,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>sr,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>Dt.useNotificationRewardHandler,useNotificationStore:()=>Dt.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>Dt.usePageVisibility,useScanChip:()=>Fr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>H,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>Dt.useTCVNotificationRewardHandler,useTokenRefresher:()=>N,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>Dt.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var Ye=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.filter&&Object.values(r.filter).forEach(t=>{t.filters&&t.filters.forEach(n=>{n.label==="location_id"&&n.value&&(Array.isArray(n.value)?s.push(...n.value):s.push(n.value));});});});}),Array.from(new Set(s))},Xe=e=>{if(!e.rule)return [];let s=[];return Object.values(e.rule).forEach(o=>{o.rules&&o.rules.forEach(r=>{r.action&&s.push(r.action);});}),Array.from(new Set(s))},z=e=>e.isCompleted||e.overallPercentage===100;function L(e){if(e==null)return e;if(Array.isArray(e))return e.map(s=>L(s));if(typeof e=="object"&&e.constructor===Object){let s={};for(let o in e)if(e.hasOwnProperty(o)){let r=o.replace(/_([a-z])/g,(t,n)=>n.toUpperCase());s[r]=L(e[o]);}return s}return e}var sr=(e,s)=>{let o=!!e.userId,r=o?{achievementIds:e.achievementIds,userId:e.userId,applicationId:e.applicationId}:{achievement_ids:e.achievementIds,device_uid:e.deviceUid,applicationId:e.applicationId};return o?achievement.useManyAchievementProgress(r,{...s,select:t=>t.map(n=>({...n,isCompleted:z(n)}))}):apiCore.useManyAchievementProgressByDevice(r,{...s,select:t=>L(t).map(i=>({...i,isCompleted:z(i)}))})};var xe=(t=>(t.DEFAULT="default",t.MULTIPLE_CHECK_INS="multiple_check_ins",t.RANDOM_CHECK_INS="random_check_ins",t.GROUP_MISSION="group_mission",t))(xe||{});var _e=(t=>(t.NOT_CLAIMED="not_claimed",t.CLAIMED="claimed",t.IN_PROGRESS="in_progress",t.FAILED="failed",t))(_e||{});var d={};Ue(d,{NotificationProvider:()=>se,useDefaultServiceGetPollStats:()=>Dt.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>Dt.useDefaultServicePostPoll,useNotificationRewardHandler:()=>Dt.useNotificationRewardHandler,useNotificationStore:()=>Dt.useNotificationStore,usePageVisibility:()=>Dt.usePageVisibility,useTCVNotificationRewardHandler:()=>Dt.useTCVNotificationRewardHandler,useWebSocket:()=>Dt.useWebSocket});c(d,Dt__namespace);var po={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_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_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_NOTIFICATION_SOCKET_URL:"https://backend.nomion.io/notification-ws/ws"}},P=po;var se=({children:e,autoConnect:s=true,environment:o="dev",user:r,onWebSocketOpen:t,onWebSocketClose:n,onWebSocketMessage:i})=>{let a=P[o]?.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(Dt.NotificationProvider,{userUid:r?.id,accessToken:r?.accessToken??null,webSocketUrl:a,autoConnect:s,onWebSocketOpen:t,onWebSocketClose:n,onWebSocketMessage:i,children:e})};c(u,d);var M="phygital-user-info",b="accessToken",D="refreshToken",ie=3,w="retryAttemptsRefreshToken",O="Device-UID",G="chip-auth-token",ae="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",ce=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Co={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},p=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,s)=>({...Co,actions:{setIsLoading:o=>e(r=>{r.isLoading=o;}),setCleanupFunctions:o=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...o};}),addEventCallbacks:o=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...o};});}),signInWithEmail:async(o,r)=>{let{eventCallbacks:t}=s();e(n=>{n.isLoading=true,n.error=null;});try{let n=await authentication.authService.signIn({email:o,password:r});return n?.data?.idToken&&n?.data?.refreshToken&&(authentication.tokenStorage.setTokens({idToken:n.data.idToken,refreshToken:n.data.refreshToken}),e(i=>{i.isSignedIn=!0;}),t.onLoginSuccess?.(n.data.idToken)),n}catch(n){let i=n instanceof Error?n.message:"Login failed";throw e(a=>{a.error=i;}),t.onLoginError?.(new Error(i)),n}finally{e(n=>{n.isLoading=false;});}},signInWithGoogle:async()=>{let{eventCallbacks:o}=s();try{let r=ae;return await authentication.authService.getOAuthSignInUrl(r)}catch(r){let t=r instanceof Error?r.message:"Google sign in failed";throw e(n=>{n.error=t;}),o.onLoginError?.(new Error(t)),r}},signUpWithEmail:async(o,r)=>{let{eventCallbacks:t}=s();e(n=>{n.isLoading=true,n.error=null;});try{let n=await authentication.authService.signUp({email:o,password:r});return n.data&&t.onSignupSuccess?.(),n}catch(n){let i=n instanceof Error?n.message:"Signup failed";throw e(a=>{a.error=i;}),t.onSignupError?.(new Error(i)),n}finally{e(n=>{n.isLoading=false,n.user=null,n.isSignedIn=false;});}},signOut:async()=>{let{eventCallbacks:o,cleanupFunctions:r}=s();e(t=>{t.isLoading=true,t.error=null;});try{e(i=>{i.user=null,i.isSignedIn=!1,i.error=null;});let t=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!t){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:t}),authentication.tokenStorage.clearTokens();try{r.clearQueryCache?.(),r.clearOrganization?.(),r.clearCustomData?.(),r.clearHeaders?.();}catch(i){console.warn("Error during logout cleanup:",i);}o.onLogoutSuccess?.();}catch(t){console.log(t);let n=t instanceof Error?t.message:"Logout failed";throw e(i=>{i.error=n;}),o.onLogoutError?.(new Error(n)),t}finally{e(t=>{t.isLoading=false;});}},sendPasswordResetEmail:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.verifyCodeService.forgotPassword({email:o});}catch(r){let t=r instanceof Error?r.message:"Failed to send reset email";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},resetPassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.resetPassword(o)}catch(r){let t=r instanceof Error?r.message:"Failed to reset password";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},changePassword:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.changePassword(o)}catch(r){throw r}finally{e(r=>{r.isLoading=false;});}},verifyEmailCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.verifyEmail(o)}catch(r){let t=r instanceof Error?r.message:"Failed to send reset email";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},sendVerifyCode:async o=>{e(r=>{r.isLoading=true,r.error=null;});try{return await authentication.verifyCodeService.sendVerifyCode(o)}catch(r){let t=r instanceof Error?r.message:"Failed to send verify code";throw e(n=>{n.error=t;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async o=>{let r=await authentication.authService.refreshToken({refreshToken:o??authentication.tokenStorage.getRefreshToken()??""});return r.data?.idToken&&r.data?.refreshToken&&authentication.tokenStorage.setTokens({idToken:r.data?.idToken,refreshToken:r.data?.refreshToken}),r},clearError:()=>e(o=>{o.error=null;}),setUser:o=>e(r=>{r.user=o;}),setIsSignedIn:o=>e(r=>{r.isSignedIn=o;}),setIsInitialized:o=>e(r=>{r.isInitialized=o;}),patchUser:o=>e(r=>{r.user?r.user={...r.user,...o}:r.user=o;}),initialize:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken();o.isSignedIn=!!r,o.isInitialized=true;});},syncAuthState:()=>{e(o=>{let r=authentication.tokenStorage.getAuthToken(),t=o.isSignedIn;o.isSignedIn=!!r,t!==o.isSignedIn&&(o.isSignedIn?o.eventCallbacks?.onAuthStateChange?.(o.user,true):o.eventCallbacks?.onAuthStateChange?.(null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),I=()=>{let e=p(i=>i.user),s=p(i=>i.isSignedIn),o=p(i=>i.isInitialized),r=p(i=>i.isLoading),t=p(i=>i.error),n=p(i=>i.actions);return {user:e,isSignedIn:s,isInitialized:o,isLoading:r,error:t,...n}};var de=(e,s)=>{let o={...e},r={};try{r=jwtDecode.jwtDecode(s);}catch(t){console.warn("Failed to decode token in transformUserData:",t);}return o.exp=r.exp||0,o.accessToken=s||"",o.roles=r?.roles||["USER"],o.account_type=r?.account_type||0,o.picture=e.picture||"",o},ue=e=>{try{return jwtDecode.jwtDecode(e)}catch(s){return console.warn("Failed to decode token in decodeJWTToken:",s),null}};function N(){let{refreshToken:e,signOut:s}=I(),o=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),s();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>o(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var _o=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:s,coreApi:o}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:t}=reward.useRewardService(),{updateHeaders:n}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{p.getState().actions.initialize();let i=authentication.tokenStorage.getAuthToken();if(i){e({Authorization:`Bearer ${i}`}),s({Authorization:`Bearer ${i}`}),r({Authorization:`Bearer ${i}`}),t({Authorization:`Bearer ${i}`}),n({Authorization:`Bearer ${i}`});let{user:m}=p.getState();m&&m.accessToken!==i&&p.getState().actions.setUser({...m,accessToken:i});}let a=p.getState().isSignedIn,l=p.subscribe(m=>[m.isSignedIn,m.user],async([m])=>{if(m!==a)if(a=m,m){let g=authentication.tokenStorage.getAuthToken();if(g){e({Authorization:`Bearer ${g}`}),s({Authorization:`Bearer ${g}`}),r({Authorization:`Bearer ${g}`}),t({Authorization:`Bearer ${g}`}),n({Authorization:`Bearer ${g}`});try{let f=await apiCore.userService(o).getMyProfile(),k=de(f,g);p.getState().actions.setUser(k);}catch{p.getState().actions.signOut();}}let{eventCallbacks:h,user:T}=p.getState();h?.onAuthStateChange?.(T,true);}else {e({}),s({}),r({Authorization:""}),t({Authorization:""}),n({Authorization:""});let{eventCallbacks:g}=p.getState();g?.onAuthStateChange?.(null,false);}}),_=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:m,user:g}=p.getState();if(m){let h=authentication.tokenStorage.getAuthToken();h?(e({Authorization:`Bearer ${h}`}),s({Authorization:`Bearer ${h}`}),r({Authorization:`Bearer ${h}`}),t({Authorization:`Bearer ${h}`}),n({Authorization:`Bearer ${h}`}),g&&g.accessToken!==h&&p.getState().actions.setUser({...g,accessToken:h})):(p.getState().actions.signOut(),e({}),s({}),r({Authorization:""}),t({Authorization:""}),n({Authorization:""}));}});return ()=>{l(),_();}},[e,s,r,t,n,o]),null},Lo=()=>(N(),null),K=({children:e,baseURL:s,queryClient:o})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:s,queryClient:o,children:[jsxRuntime.jsx(_o,{}),jsxRuntime.jsx(Lo,{}),e]});function fe(e={}){let{onSuccess:s,onError:o,onPopupBlocked:r,onPopupClosed:t}=e,{signInWithGoogle:n,refreshToken:i,setIsSignedIn:a,setIsLoading:l,isLoading:_}=I(),[m,g]=react.useState(null),h=react.useRef(null),T=react.useRef(false),C=react.useRef(null),f=react.useRef(null),k=react.useCallback(async y=>{if(y)try{let v=await i(y);if(v.data?.idToken&&v.data?.refreshToken){authentication.tokenStorage.setTokens({idToken:v.data.idToken,refreshToken:v.data.refreshToken});let R=ue(v.data.idToken);a(!0),l(!1),s?.(R);}}catch(v){let R=v instanceof Error?v.message:"Token refresh failed";f.current=R,o?.(R),l(false);}},[i,a,l,s,o]),E=react.useCallback(()=>{C.current&&(clearInterval(C.current),C.current=null),T.current=false;},[]),U=react.useCallback(y=>{let v=ce.concat(window?.location?.origin);if(y.origin!=="*"&&!v.includes(y.origin)){console.warn("Rejected message from untrusted origin:",y.origin);return}if(!y.data||typeof y.data!="object"){console.warn("Invalid message data received");return}if(y.data.type==="LOGIN_SUCCESS"){let{refreshToken:R}=y.data;R&&k(R),T.current=true,E();}else if(y.data.type==="LOGIN_ERROR"){let R=y.data.error||"Login failed";f.current=R,o?.(R),l(false),T.current=true,E();}},[k,l,E,o]);react.useEffect(()=>{(async()=>{try{let v=await n();g(v.statusMessage||"");}catch(v){console.error("error",v),g("");}})();},[]);let x=react.useCallback(()=>{let R=window.screenX+(window.outerWidth-500)/2,so=window.screenY+(window.outerHeight-600)/2;try{if(m===null)return;if(m===""){let A="Google sign in failed. Please try again later.";f.current=A,o?.(A);return}if(f.current=null,l(!0),h.current=window.open(m,"oauthPopup",`width=500,height=600,left=${R},top=${so},resizable,scrollbars`),!h.current){l(!1);let A="Popup blocked. Please allow popups for this site.";f.current=A,r?.(),o?.(A);return}C.current=setInterval(()=>{if(h.current&&h.current.closed&&(C.current&&(clearInterval(C.current),C.current=null),!T.current)){let A="Authentication popup was closed";f.current=A,t?.(),o?.(A),l(!1);}},500);}catch(A){let je=A instanceof Error?A.message:"Google sign in failed";f.current=je,o?.(je),l(false);}},[n,l,U,o,r,t,m]);return react.useEffect(()=>(window.addEventListener("message",U),()=>{window.removeEventListener("message",U);}),[U]),react.useEffect(()=>()=>{E();},[E]),{signIn:x,isLoading:_,error:f.current}}var ze=async()=>{try{return await Go()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},Go=async()=>{let e=new Date().toISOString(),s=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(s),t=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(t)).map(a=>a.toString(16).padStart(2,"0")).join("")};var $=()=>typeof window>"u"?null:localStorage.getItem(O),Be=e=>{typeof window>"u"||localStorage.setItem(O,e);},Rr=()=>{typeof window>"u"||localStorage.removeItem(O);},ge=async()=>{let e=$();return e||(e=await ze(),Be(e)),e},Ar=()=>typeof window>"u"?null:localStorage.getItem(G),he=e=>{typeof window>"u"||localStorage.setItem(G,e);},Cr=()=>{typeof window>"u"||localStorage.removeItem(G);},Pr=()=>typeof window>"u"?null:localStorage.getItem(w),kr=e=>{typeof window>"u"||localStorage.setItem(w,e);},wr=()=>typeof window>"u"?null:localStorage.getItem(b),Sr=e=>{typeof window>"u"||localStorage.setItem(b,e);},Ir=()=>{typeof window>"u"||localStorage.removeItem(b);},Tr=()=>typeof window>"u"?null:localStorage.getItem(D),Er=e=>{typeof window>"u"||localStorage.setItem(D,e);},Ur=()=>{typeof window>"u"||localStorage.removeItem(D);},xr=()=>{if(typeof window>"u")return null;let e=localStorage.getItem(M);if(!e)return null;try{return JSON.parse(e)}catch(s){return console.error("Failed to parse stored user data:",s),null}},_r=e=>{typeof window>"u"||localStorage.setItem(M,JSON.stringify(e));},Lr=()=>{typeof window>"u"||localStorage.removeItem(M);};function Fr({token:e,id:s,onScanChipError:o}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let l={"Chip-Authorization":e};he(e),r(l);}},[e,r]);let{data:t,isLoading:n,isError:i,isSuccess:a}=apiCore.useChipScanStory({token:e,id:s});return react.useEffect(()=>{i&&o?.();},[i,o]),t?{data:{externalUrl:t?.external_url,campaignDetail:t?.project,locationDetail:t?.location,scanCounter:t?.scan_counter,campaignId:t?.campaign_id,chipModelId:t?.chip_model_id,organizationId:t?.organization_id,projectId:t?.project_id,locationId:t?.location_id,chipUid:t?.uid},isLoading:n,isError:i,isSuccess:a}:{data:null,isLoading:n,isError:i,isSuccess:a}}var $e=(t=>(t.CHECK_IN="check_in",t.CREATE_MEMORY="create_memory",t.FILL_FORM="fill_form",t.SHARE="share",t))($e||{});var Ve=e=>[...e].sort((s,o)=>(s.index??0)-(o.index??0)),He=(e,s,o)=>e.filter(r=>r[s]===o);var Qr=e=>e||$(),Se=()=>typeof window<"u";var F=react.createContext(null);function Wo(){return uuid.v4()}async function Ko(e){try{let s=(await import('@openreplay/tracker')).default,o=e?.userIdEnabled&&e?.getUserId?e.getUserId:Wo,r={projectKey:e?.projectKey||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e?.ingestPoint,captureExceptions:e.captureExceptions??!0,capturePerformance:e.capturePerformance??!0,network:e.network||{capturePayload:!0,sanitizer:n=>n},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:e.obscureTextEmails??!0,obscureTextNumbers:e.obscureTextNumbers??!1,obscureInputEmails:e.obscureInputEmails??!0,__DISABLE_SECURE_MODE:e.__DISABLE_SECURE_MODE??(typeof process<"u"&&process.env?.NODE_ENV==="development")},t=new s(r);if(e?.userIdEnabled){let n=o();t.setUserID(n),console.log("User ID set:",n);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",r.projectKey),console.log("Ingest Point:",r.ingestPoint),t}catch(s){throw console.error("Failed to create tracker:",s),s}}function $o(e,s){let{debug:o=false}=e.config;switch(s.type){case "init":return !e.tracker&&Se()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(o,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:Ko(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(o,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(s.payload),console.log(o,"User ID updated:",s.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{Object.entries(s.payload||{})?.forEach(([t,n])=>{r.setMetadata(t,n);}),console.log(o,"Metadata updated:",s.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(o,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var V=({children:e,config:s={}})=>{let[,o]=react.useReducer($o,{tracker:null,config:s}),r=()=>o({type:"init"}),t=()=>o({type:"start"}),n=a=>o({type:"setUserId",payload:a}),i=a=>o({type:"setMetadata",payload:a});return react.useEffect(()=>{r(),t();},[]),jsxRuntime.jsx(F.Provider,{value:{initTracker:r,startTracking:t,setUserId:n,setMetadata:i},children:e})};function H(){let e=react.useContext(F);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var qo=(e,s)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...s});}catch(o){console.error(o);}},jo=(e,s)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,s);},Qo=(e,s)=>{Ie__default.default.capture(e,s);};function Jr(){let{setUserId:e,setMetadata:s}=H();return {trackEvent:(n,i,a)=>{console.log("trackEvent ",n,i),a=a||["gtm"],a.includes("gtm")&&typeof window<"u"&&qo(n,i),a.includes("ga")&&typeof gtag=="function"&&jo(n,i),a.includes("posthog")&&typeof Ie__default.default=="function"&&Qo(n,i);},trackUserIdentify:n=>{Ie__default.default.identify(n.email,{email:n.email,name:n.name,avatar:n.avatar,uid:n.uid}),e(n.id),s({user_email:n.email});},trackLogoutEvent:()=>{Ie__default.default.capture("user_signed_out");}}}var Xr=({children:e,queryClient:s,apiConfig:o={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:t}=I(),{environment:n,version:i}=o,[a,l]=react.useState(null);return react.useEffect(()=>{(async()=>{try{let m=await ge();l({queryClient:s,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":m}},responseInterceptors:{onFulfilled:f=>f,onRejected:async f=>{let k=f.config,E=authentication.tokenStorage.getAuthToken();if(f.response?.status===401&&!k._retry){let U=parseInt(helpers.getFromLS(w)||"0",10);if(U>=3)return await r(),helpers.setToLS(w,0),Promise.reject(f);if(helpers.setToLS(w,`${U+1}`),k._retry=!0,E)try{let x=await t();if(x?.data?.idToken)return k.headers.Authorization=`Bearer ${x?.data?.idToken}`,nt__default.default(k)}catch(x){return console.error("Failed to refresh token:",x),await r(),Promise.reject(x)}}}},requestInterceptors:{onFulfilled:f=>f,onRejected:f=>Promise.reject(f)},useDevTool:!0});}catch(m){console.error(m);}})();},[s]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${P[n].API_BASE_URL}/${i}`,baseCoreURL:`${P[n].API_BASE_CORE_URL}/${i}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${P[n].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${P[n].API_ACHIEVEMENT_URL}/${i}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${P[n].API_GENERATE_CERTIFICATE_URL}/v1`,children:e})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var Zr=({children:e,queryClient:s,apiConfig:o})=>{let{environment:r}=o,t=react.useMemo(()=>{let n=process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY;if(n)return {projectKey:n,ingestPoint:process.env.NEXT_PUBLIC_OPENREPLAY_INGEST_POINT,debug:process.env.NODE_ENV==="development",captureExceptions:true,capturePerformance:true,obscureTextEmails:true,obscureInputEmails:true}},[]);return jsxRuntime.jsx(V,{config:t,children:jsxRuntime.jsx(Xr,{queryClient:s,apiConfig:o,children:jsxRuntime.jsx(K,{baseURL:`${P[r].API_BASE_URL}`,queryClient:s,children:e})})})};function ut(e,s){if(!s?.reward_models)return [];let o=s.reward_models;return e.map((r,t)=>{let n=o[t]?.[0]||null,i=r.subAchievementIds?.map((a,l)=>{let _=o[t*(r.subAchievementIds?.length||0)+l+1]?.[0]||null;return {id:a,reward_model:_}})||[];return {id:r.id,name:r.name,reward_model:n,subAchievements:i}})}var lt=({campaignId:e})=>{let{data:s,isLoading:o}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>s?.data?s.data.map(l=>l.groupRewardId).filter(l=>l!==void 0):[],[s?.data]),{mutate:t,data:n,isPending:i}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&t({group_reward_ids:r});},[r,t]),{mappedAchievements:react.useMemo(()=>!n?.data||!s?.data?[]:ut(s.data,n.data),[n,s?.data]),isLoading:o||i}},Te=lt;c(Ee,u);
|
|
2
|
+
Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return Dt.useDefaultServiceGetPollStats}});Object.defineProperty(exports,"useDefaultServicePostPoll",{enumerable:true,get:function(){return Dt.useDefaultServicePostPoll}});Object.defineProperty(exports,"useNotificationRewardHandler",{enumerable:true,get:function(){return Dt.useNotificationRewardHandler}});Object.defineProperty(exports,"useNotificationStore",{enumerable:true,get:function(){return Dt.useNotificationStore}});Object.defineProperty(exports,"usePageVisibility",{enumerable:true,get:function(){return Dt.usePageVisibility}});Object.defineProperty(exports,"useTCVNotificationRewardHandler",{enumerable:true,get:function(){return Dt.useTCVNotificationRewardHandler}});Object.defineProperty(exports,"useWebSocket",{enumerable:true,get:function(){return Dt.useWebSocket}});Object.defineProperty(exports,"useAddFrame",{enumerable:true,get:function(){return generateCertificate.useAddFrame}});Object.defineProperty(exports,"useCreateCertificate",{enumerable:true,get:function(){return generateCertificate.useCreateCertificate}});Object.defineProperty(exports,"useCreateCertificateAnonymous",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateAnonymous}});Object.defineProperty(exports,"useCreateCertificateWithMask",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateWithMask}});Object.defineProperty(exports,"useGenerateFansipanCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateFansipanCertificate}});Object.defineProperty(exports,"useGenerateTemplateCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateTemplateCertificate}});Object.defineProperty(exports,"useGenerateThaocamvienCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateThaocamvienCertificate}});Object.defineProperty(exports,"wrapTextWithFont",{enumerable:true,get:function(){return generateCertificate.wrapTextWithFont}});Object.defineProperty(exports,"cn",{enumerable:true,get:function(){return helpers.cn}});Object.defineProperty(exports,"fileToBase64",{enumerable:true,get:function(){return helpers.fileToBase64}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return helpers.parse}});exports.ALLOWED_ORIGINS=ce;exports.AchievementType=xe;exports.AuthProvider=K;exports.CALLBACK_URL=ae;exports.NotificationProvider=se;exports.RewardClaimStatus=_e;exports.SessionReplayProvider=V;exports.TapquestCoreProvider=Zr;exports.TaskType=$e;exports.TrackerContext=F;exports.accessTokenKey=b;exports.checkDeviceUid=ge;exports.chipAuthTokenKey=G;exports.convertSnakeToCamel=L;exports.decodeJWTToken=ue;exports.deviceUIDKey=O;exports.filterLocationsByProperty=He;exports.generateDeviceId=ze;exports.getAccessToken=wr;exports.getActionsFromAchievementRule=Xe;exports.getChipAuthToken=Ar;exports.getDeviceUid=$;exports.getLocationIdsFromAchievementRule=Ye;exports.getRefreshToken=Tr;exports.getRetryAttemptsRefreshToken=Pr;exports.getSessionUserId=Qr;exports.getUserInfo=xr;exports.httpMaxRetries=ie;exports.isAchievementCompleted=z;exports.isBrowser=Se;exports.refreshTokenKey=D;exports.removeAccessToken=Ir;exports.removeChipAuthToken=Cr;exports.removeDeviceUid=Rr;exports.removeRefreshToken=Ur;exports.removeUserInfo=Lr;exports.retryAttemptsRefreshToken=w;exports.setAccessToken=Sr;exports.setChipAuthToken=he;exports.setDeviceUid=Be;exports.setRefreshToken=Er;exports.setRetryAttemptsRefreshToken=kr;exports.setUserInfo=_r;exports.sortLocationsByIndex=Ve;exports.transformProtoUserData=de;exports.useAchivementPlusRewardModel=Te;exports.useAuth=I;exports.useAuthStore=p;exports.useDataTracking=Jr;exports.useGoogleLogin=fe;exports.useManyAchievementProgress=sr;exports.useScanChip=Fr;exports.useSessionReplay=H;exports.useTokenRefresher=N;exports.userInfoKey=M;//# sourceMappingURL=index.cjs.map
|
|
3
3
|
//# sourceMappingURL=index.cjs.map
|