@phygitallabs/tapquest-core 6.7.12 → 6.7.13
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.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +5 -26
- package/dist/index.d.ts +5 -26
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/data-tracking/{GtagConsentSync.tsx → DataTrackingConsentSync.tsx} +14 -43
- package/src/modules/data-tracking/hooks/index.ts +82 -11
- package/src/modules/data-tracking/index.ts +1 -2
- package/src/providers/ServicesProvider.tsx +2 -4
- package/src/modules/data-tracking/GtagGtmScriptToggle.tsx +0 -73
package/dist/index.d.mts
CHANGED
|
@@ -1025,29 +1025,7 @@ declare const filterLocationsByProperty: <T extends Record<string, any>>(locatio
|
|
|
1025
1025
|
* Must be used under PhygitalConsentProvider; for OpenReplay also under SessionReplayProvider.
|
|
1026
1026
|
* Renders nothing.
|
|
1027
1027
|
*/
|
|
1028
|
-
declare function
|
|
1029
|
-
|
|
1030
|
-
/** Detect if gtag/GTM scripts are present in the DOM */
|
|
1031
|
-
declare function detectGtagGtmInDom(): {
|
|
1032
|
-
gtag: boolean;
|
|
1033
|
-
gtm: boolean;
|
|
1034
|
-
any: boolean;
|
|
1035
|
-
gtagScripts: HTMLScriptElement[];
|
|
1036
|
-
gtmScripts: HTMLScriptElement[];
|
|
1037
|
-
};
|
|
1038
|
-
interface GtagGtmScriptToggleProps {
|
|
1039
|
-
/** When true, scripts stay. When false, detected GA/GTM scripts are removed from DOM. */
|
|
1040
|
-
enabled?: boolean;
|
|
1041
|
-
}
|
|
1042
|
-
/**
|
|
1043
|
-
* Detects GA/GTM scripts in the DOM and removes them when enabled is false.
|
|
1044
|
-
* When enabled is true, does nothing (scripts remain if already in the page).
|
|
1045
|
-
* No config: only detect and toggle (remove) based on condition.
|
|
1046
|
-
* Renders nothing.
|
|
1047
|
-
*/
|
|
1048
|
-
declare function GtagGtmScriptToggle({ enabled }: GtagGtmScriptToggleProps): null;
|
|
1049
|
-
/** Reads consent from PhygitalConsentProvider; removes GA/GTM scripts when analytics not allowed. */
|
|
1050
|
-
declare function GtagGtmScriptToggleFromConsent(): react_jsx_runtime.JSX.Element;
|
|
1028
|
+
declare function DataTrackingConsentSync(): null;
|
|
1051
1029
|
|
|
1052
1030
|
declare global {
|
|
1053
1031
|
interface Window {
|
|
@@ -1060,11 +1038,12 @@ declare function useDataTracking(): {
|
|
|
1060
1038
|
trackEvent: (eventName: string, eventData: Record<string, any>, useTools?: ("gtm" | "ga" | "posthog")[]) => void;
|
|
1061
1039
|
trackUserIdentify: (userInfo: Record<string, any>) => void;
|
|
1062
1040
|
trackLogoutEvent: () => void;
|
|
1063
|
-
|
|
1064
|
-
|
|
1041
|
+
loadGA: (gaId: string) => void;
|
|
1042
|
+
loadGTM: (gtmId: string) => void;
|
|
1065
1043
|
togglePostHog: () => void;
|
|
1066
1044
|
toggleOpenReplay: () => void;
|
|
1067
1045
|
toggleGoogleAdSense: () => void;
|
|
1046
|
+
pauseGoogleAdSense: () => void;
|
|
1068
1047
|
};
|
|
1069
1048
|
|
|
1070
1049
|
/**
|
|
@@ -1239,4 +1218,4 @@ declare const useAchivementPlusRewardModel: ({ campaignId, }: UseAchivementPlusR
|
|
|
1239
1218
|
isLoading: boolean;
|
|
1240
1219
|
};
|
|
1241
1220
|
|
|
1242
|
-
export { ALLOWED_ORIGINS, type APIVersionType, type AchievementActionType, type AchievementTrackingContextValue, AchievementTrackingProvider, type AchievementTrackingProviderProps, AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, CALLBACK_URL, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, Environment, type EnvironmentType, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse,
|
|
1221
|
+
export { ALLOWED_ORIGINS, type APIVersionType, type AchievementActionType, type AchievementTrackingContextValue, AchievementTrackingProvider, type AchievementTrackingProviderProps, AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, CALLBACK_URL, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, DataTrackingConsentSync, Environment, type EnvironmentType, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse, NotificationProvider, type OpenReplayConfig, RewardClaimStatus, type RewardFilter, type RewardGroup, type RewardModelFilter, type RewardNotifyTheme, type RewardRule, type ScanChipData, type ScanChipResponse, SessionReplayProvider, type SessionReplayProviderProps, type SignInProvider, TapquestCoreProvider, TaskType, type TrackerAction, TrackerContext, type TrackerContextValue, type TrackerState, type TrackingEventName, type UpdateRewardGroupRequest, type UpdateRewardModelRequest, type UpdateRewardModelResponse, type UpdateUserRewardRequest, type UpdateUserRewardResponse, type UseAuthReturn, type UseGoogleLoginOptions, type UseGoogleLoginReturn, type UseManyAchievementWithProgressParams, type UseManyAchievementWithProgressReturn, type UserCheckinLocationRanking, type UserData$1 as UserData, UserRole, accessTokenKey, checkDeviceUid, chipAuthTokenKey, convertSnakeToCamel, decodeJWTToken, deviceUIDKey, filterLocationsByProperty, generateDeviceId, getAccessToken, getActionsFromAchievementRule, getChipAuthToken, getDeviceUid, getLocationIdsFromAchievementRule, getRefreshToken, getRetryAttemptsRefreshToken, getSessionUserId, getSurveyIdsFromAchievementRule, getUserInfo, httpMaxRetries, isAchievementCompleted, isBrowser, refreshTokenKey, removeAccessToken, removeChipAuthToken, removeDeviceUid, removeRefreshToken, removeUserInfo, retryAttemptsRefreshToken, setAccessToken, setChipAuthToken, setDeviceUid, setRefreshToken, setRetryAttemptsRefreshToken, setUserInfo, sortLocationsByIndex, transformProtoUserData, useAchievementTracking, useAchivementPlusRewardModel, useAuth, useAuthStore, useClearAchievementProgressCache, useDataTracking, useGoogleLogin, useManyAchievementProgress, useScanChip, useSessionReplay, useTokenRefresher, userInfoKey };
|
package/dist/index.d.ts
CHANGED
|
@@ -1025,29 +1025,7 @@ declare const filterLocationsByProperty: <T extends Record<string, any>>(locatio
|
|
|
1025
1025
|
* Must be used under PhygitalConsentProvider; for OpenReplay also under SessionReplayProvider.
|
|
1026
1026
|
* Renders nothing.
|
|
1027
1027
|
*/
|
|
1028
|
-
declare function
|
|
1029
|
-
|
|
1030
|
-
/** Detect if gtag/GTM scripts are present in the DOM */
|
|
1031
|
-
declare function detectGtagGtmInDom(): {
|
|
1032
|
-
gtag: boolean;
|
|
1033
|
-
gtm: boolean;
|
|
1034
|
-
any: boolean;
|
|
1035
|
-
gtagScripts: HTMLScriptElement[];
|
|
1036
|
-
gtmScripts: HTMLScriptElement[];
|
|
1037
|
-
};
|
|
1038
|
-
interface GtagGtmScriptToggleProps {
|
|
1039
|
-
/** When true, scripts stay. When false, detected GA/GTM scripts are removed from DOM. */
|
|
1040
|
-
enabled?: boolean;
|
|
1041
|
-
}
|
|
1042
|
-
/**
|
|
1043
|
-
* Detects GA/GTM scripts in the DOM and removes them when enabled is false.
|
|
1044
|
-
* When enabled is true, does nothing (scripts remain if already in the page).
|
|
1045
|
-
* No config: only detect and toggle (remove) based on condition.
|
|
1046
|
-
* Renders nothing.
|
|
1047
|
-
*/
|
|
1048
|
-
declare function GtagGtmScriptToggle({ enabled }: GtagGtmScriptToggleProps): null;
|
|
1049
|
-
/** Reads consent from PhygitalConsentProvider; removes GA/GTM scripts when analytics not allowed. */
|
|
1050
|
-
declare function GtagGtmScriptToggleFromConsent(): react_jsx_runtime.JSX.Element;
|
|
1028
|
+
declare function DataTrackingConsentSync(): null;
|
|
1051
1029
|
|
|
1052
1030
|
declare global {
|
|
1053
1031
|
interface Window {
|
|
@@ -1060,11 +1038,12 @@ declare function useDataTracking(): {
|
|
|
1060
1038
|
trackEvent: (eventName: string, eventData: Record<string, any>, useTools?: ("gtm" | "ga" | "posthog")[]) => void;
|
|
1061
1039
|
trackUserIdentify: (userInfo: Record<string, any>) => void;
|
|
1062
1040
|
trackLogoutEvent: () => void;
|
|
1063
|
-
|
|
1064
|
-
|
|
1041
|
+
loadGA: (gaId: string) => void;
|
|
1042
|
+
loadGTM: (gtmId: string) => void;
|
|
1065
1043
|
togglePostHog: () => void;
|
|
1066
1044
|
toggleOpenReplay: () => void;
|
|
1067
1045
|
toggleGoogleAdSense: () => void;
|
|
1046
|
+
pauseGoogleAdSense: () => void;
|
|
1068
1047
|
};
|
|
1069
1048
|
|
|
1070
1049
|
/**
|
|
@@ -1239,4 +1218,4 @@ declare const useAchivementPlusRewardModel: ({ campaignId, }: UseAchivementPlusR
|
|
|
1239
1218
|
isLoading: boolean;
|
|
1240
1219
|
};
|
|
1241
1220
|
|
|
1242
|
-
export { ALLOWED_ORIGINS, type APIVersionType, type AchievementActionType, type AchievementTrackingContextValue, AchievementTrackingProvider, type AchievementTrackingProviderProps, AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, CALLBACK_URL, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, Environment, type EnvironmentType, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse,
|
|
1221
|
+
export { ALLOWED_ORIGINS, type APIVersionType, type AchievementActionType, type AchievementTrackingContextValue, AchievementTrackingProvider, type AchievementTrackingProviderProps, AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, CALLBACK_URL, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, DataTrackingConsentSync, Environment, type EnvironmentType, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse, NotificationProvider, type OpenReplayConfig, RewardClaimStatus, type RewardFilter, type RewardGroup, type RewardModelFilter, type RewardNotifyTheme, type RewardRule, type ScanChipData, type ScanChipResponse, SessionReplayProvider, type SessionReplayProviderProps, type SignInProvider, TapquestCoreProvider, TaskType, type TrackerAction, TrackerContext, type TrackerContextValue, type TrackerState, type TrackingEventName, type UpdateRewardGroupRequest, type UpdateRewardModelRequest, type UpdateRewardModelResponse, type UpdateUserRewardRequest, type UpdateUserRewardResponse, type UseAuthReturn, type UseGoogleLoginOptions, type UseGoogleLoginReturn, type UseManyAchievementWithProgressParams, type UseManyAchievementWithProgressReturn, type UserCheckinLocationRanking, type UserData$1 as UserData, UserRole, accessTokenKey, checkDeviceUid, chipAuthTokenKey, convertSnakeToCamel, decodeJWTToken, deviceUIDKey, filterLocationsByProperty, generateDeviceId, getAccessToken, getActionsFromAchievementRule, getChipAuthToken, getDeviceUid, getLocationIdsFromAchievementRule, getRefreshToken, getRetryAttemptsRefreshToken, getSessionUserId, getSurveyIdsFromAchievementRule, getUserInfo, httpMaxRetries, isAchievementCompleted, isBrowser, refreshTokenKey, removeAccessToken, removeChipAuthToken, removeDeviceUid, removeRefreshToken, removeUserInfo, retryAttemptsRefreshToken, setAccessToken, setChipAuthToken, setDeviceUid, setRefreshToken, setRetryAttemptsRefreshToken, setUserInfo, sortLocationsByIndex, transformProtoUserData, useAchievementTracking, useAchivementPlusRewardModel, useAuth, useAuthStore, useClearAchievementProgressCache, useDataTracking, useGoogleLogin, useManyAchievementProgress, useScanChip, useSessionReplay, useTokenRefresher, userInfoKey };
|
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 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{
|
|
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 Ln 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 Lo from'axios';var ar=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var Et=Object.prototype.hasOwnProperty;var De=(e,n)=>{for(var t in n)ar(e,t,{get:n[t],enumerable:true});},sr=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of _t(n))!Et.call(e,o)&&o!==t&&ar(e,o,{get:()=>n[o],enumerable:!(r=It(n,o))||r.enumerable});return e},h=(e,n,t)=>(sr(e,n,"default"),t);var Oe={};De(Oe,{ALLOWED_ORIGINS:()=>oe,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>je,AchievementType:()=>ee,AuthProvider:()=>Z,CALLBACK_URL:()=>te,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,DataTrackingConsentSync:()=>ae,Environment:()=>nr,NotificationProvider:()=>ce,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Ye,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>yt,TaskType:()=>er,TrackerContext:()=>z,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>H,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>b,decodeJWTToken:()=>Re,deviceUIDKey:()=>N,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>tr,generateDeviceId:()=>Be,getAccessToken:()=>Tr,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Rr,getDeviceUid:()=>q,getLocationIdsFromAchievementRule:()=>cr,getRefreshToken:()=>_r,getRetryAttemptsRefreshToken:()=>Pr,getSessionUserId:()=>br,getSurveyIdsFromAchievementRule:()=>dr,getUserInfo:()=>Ur,httpMaxRetries:()=>re,isAchievementCompleted:()=>V,isBrowser:()=>ie,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>G,removeAccessToken:()=>Ir,removeChipAuthToken:()=>Cr,removeDeviceUid:()=>wr,removeRefreshToken:()=>xr,removeUserInfo:()=>Mr,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Sr,setChipAuthToken:()=>ne,setDeviceUid:()=>ze,setRefreshToken:()=>Er,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>Lr,sortLocationsByIndex:()=>rr,transformProtoUserData:()=>we,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Qe,useAchivementPlusRewardModel:()=>be,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>P,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Ge,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>F,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Te,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>yr,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:()=>ot,useSendEmail:()=>useSendEmail,useSessionReplay:()=>Q,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 w={};De(w,{ALLOWED_ORIGINS:()=>oe,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>je,AchievementType:()=>ee,AuthProvider:()=>Z,CALLBACK_URL:()=>te,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,CookieConsentBanner:()=>CookieConsentBanner,DataTrackingConsentSync:()=>ae,Environment:()=>nr,NotificationProvider:()=>ce,PhygitalConsentProvider:()=>PhygitalConsentProvider,RewardClaimStatus:()=>Ye,SessionReplayProvider:()=>j,TapquestCoreProvider:()=>yt,TaskType:()=>er,TrackerContext:()=>z,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>H,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>b,decodeJWTToken:()=>Re,deviceUIDKey:()=>N,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>tr,generateDeviceId:()=>Be,getAccessToken:()=>Tr,getActionsFromAchievementRule:()=>K,getChipAuthToken:()=>Rr,getDeviceUid:()=>q,getLocationIdsFromAchievementRule:()=>cr,getRefreshToken:()=>_r,getRetryAttemptsRefreshToken:()=>Pr,getSessionUserId:()=>br,getSurveyIdsFromAchievementRule:()=>dr,getUserInfo:()=>Ur,httpMaxRetries:()=>re,isAchievementCompleted:()=>V,isBrowser:()=>ie,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>G,removeAccessToken:()=>Ir,removeChipAuthToken:()=>Cr,removeDeviceUid:()=>wr,removeRefreshToken:()=>xr,removeUserInfo:()=>Mr,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>Sr,setChipAuthToken:()=>ne,setDeviceUid:()=>ze,setRefreshToken:()=>Er,setRetryAttemptsRefreshToken:()=>kr,setUserInfo:()=>Lr,sortLocationsByIndex:()=>rr,transformProtoUserData:()=>we,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>Qe,useAchivementPlusRewardModel:()=>be,useAddFrame:()=>useAddFrame,useAuth:()=>L,useAuthStore:()=>P,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Ge,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>F,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Te,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>yr,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:()=>ot,useSendEmail:()=>useSendEmail,useSessionReplay:()=>Q,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 Ge(){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 cr=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))},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==="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 b(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>b(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]=b(e[t]);}return n}return e}var yr=(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=>b(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",G="refreshToken",re=3,x="retryAttemptsRefreshToken",N="Device-UID",B="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 Be=async()=>{try{return await bt()}catch(e){return console.error("Error generating device fingerprint:",e),v4()}},bt=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 q=()=>typeof window=="undefined"?null:localStorage.getItem(N),ze=e=>{typeof window!="undefined"&&localStorage.setItem(N,e);},wr=()=>{typeof window!="undefined"&&localStorage.removeItem(N);},H=async()=>{let e=q();return e||(e=await Be(),ze(e)),e},Rr=()=>typeof window=="undefined"?null:localStorage.getItem(B),ne=e=>{typeof window!="undefined"&&localStorage.setItem(B,e);},Cr=()=>{typeof window!="undefined"&&localStorage.removeItem(B);},Pr=()=>typeof window=="undefined"?null:localStorage.getItem(x),kr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},Tr=()=>typeof window=="undefined"?null:localStorage.getItem(D),Sr=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},Ir=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},_r=()=>typeof window=="undefined"?null:localStorage.getItem(G),Er=e=>{typeof window!="undefined"&&localStorage.setItem(G,e);},xr=()=>{typeof window!="undefined"&&localStorage.removeItem(G);},Ur=()=>{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}},Lr=e=>{typeof window!="undefined"&&localStorage.setItem(O,JSON.stringify(e));},Mr=()=>{typeof window!="undefined"&&localStorage.removeItem(O);};var br=e=>e||q(),ie=()=>typeof window!="undefined";var z=createContext(null);function Nt(){return v4()}async function Bt(e){var n,t,r,o,i,s,a;try{let d=(await import('@openreplay/tracker')).default,p=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:Nt,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:u=>u},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"},f=new d(c);if(e!=null&&e.userIdEnabled){let u=p();f.setUserID(u),console.log("User ID set:",u);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),f}catch(d){throw console.error("Failed to create tracker:",d),d}}function zt(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: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(zt,{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(z.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function Q(){let e=useContext(z);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Fe={analytics_storage:"granted"},Or={ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted"},Dr={ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"},Kt=(e,n)=>{try{if(typeof window=="undefined")return;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},Vt=(e,n)=>{if(typeof window=="undefined")return;let t=window;typeof t.gtag=="function"&&t.gtag("event",e,n);},qt=(e,n)=>{M.capture(e,n);};function F(){var _,k;let{initTracker:e,startTracking:n,setUserId:t,setMetadata:r}=Q(),o=usePhygitalConsent(),i=(_=o.isAnalyticsAllowed)!=null?_:false,s=(k=o.isAdvertisingAllowed)!=null?k:false;return {trackEvent:(l,A,v)=>{var R;v=v||["gtm"],v.includes("gtm")&&typeof window!="undefined"&&Kt(l,A),v.includes("ga")&&i&&Vt(l,A),v.includes("posthog")&&i&&typeof((R=M)==null?void 0:R.capture)=="function"&&qt(l,A);},trackUserIdentify:l=>{var A;i&&(typeof((A=M)==null?void 0:A.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");},loadGA:l=>{if(!i||typeof window=="undefined"||!l)return;let A=window,v=`ga-script-${l}`;if(!document.getElementById(v)){let R=document.createElement("script");R.id=v,R.async=true,R.src=`https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(l)}`,document.head.appendChild(R),A.dataLayer=A.dataLayer||[],A.gtag=function(){A.dataLayer.push(arguments);},A.gtag("js",new Date),A.gtag("config",l);}typeof A.gtag=="function"&&A.gtag("consent","update",{...Fe});},loadGTM:l=>{if(!i||typeof window=="undefined"||!l)return;let A=window,v=`gtm-script-${l}`;if(!document.getElementById(v)){A.dataLayer=A.dataLayer||[],A.dataLayer.push({"gtm.start":new Date().getTime(),event:"gtm.js"});let R=document.createElement("script");R.id=v,R.async=true,R.src=`https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(l)}`,document.head.appendChild(R);let I=`gtm-noscript-${l}`;if(!document.getElementById(I)){let C=document.createElement("noscript");C.id=I;let m=document.createElement("iframe");m.src=`https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(l)}`,m.height="0",m.width="0",m.style.display="none",m.style.visibility="hidden",C.appendChild(m),document.body.insertBefore(C,document.body.firstChild);}}typeof A.gtag=="function"?A.gtag("consent","update",{...Fe}):(A.dataLayer=A.dataLayer||[],A.dataLayer.push(["consent","update",{...Fe}]));},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",{...Or}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...Or}]);},pauseGoogleAdSense:()=>{if(typeof window=="undefined")return;let l=window;typeof l.gtag=="function"?l.gtag("consent","update",{...Dr}):Array.isArray(l.dataLayer)&&l.dataLayer.push(["consent","update",{...Dr}]);}}}var Gr={analytics_storage:"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"};function ae(){var a,d;let e=usePhygitalConsent(),n=(a=e.isAnalyticsAllowed)!=null?a:false,t=(d=e.isAdvertisingAllowed)!=null?d:false,{togglePostHog:r,toggleOpenReplay:o,toggleGoogleAdSense:i,pauseGoogleAdSense:s}=F();return useEffect(()=>{if(typeof window=="undefined")return;let p=window;p.dataLayer=p.dataLayer||[],typeof p.gtag=="function"?p.gtag("consent","default",{...Gr}):p.dataLayer.push(["consent","default",{...Gr}]);},[]),useEffect(()=>{t?i():s();},[t,i,s]),useEffect(()=>{n&&r();},[n,r]),useEffect(()=>{n&&o();},[n,o]),null}var y={};De(y,{NotificationProvider:()=>ce,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,usePageVisibility:()=>usePageVisibility,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useWebSocket:()=>useWebSocket});h(y,Ln);var jt={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"}},E=jt;var ce=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var d,p;let a=(d=E[t])==null?void 0:d.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 je({children:e,achievements:n}){let{trackEvent:t}=F(),r=useRef(new Set),{challenges:o,quests:i}=useMemo(()=>{let c=[],f=[];return n.forEach(u=>{u.type==="group_mission"?f.push(u):c.push(u);}),{challenges:c,quests:f}},[n]);useEffect(()=>{let c=useNotificationStore.subscribe(f=>{var _;let u=f.notifications;if(u.length===0)return;let g=u[u.length-1];if(!((_=g==null?void 0:g.data)!=null&&_.achievement))return;let S=`${g.data.achievement.id}_${Date.now()}`;if(r.current.has(S))return;r.current.add(S);let T=g.data.achievement;if(T.type==="group_mission")t("quest_complete",{quest_id:T.id,quest_name:T.name});else {let l=K(T)[0]||"unknown";t("challenge_complete",{challenge_id:T.id,challenge_name:T.name,challenge_type:l});}});return ()=>{c();}},[t]);let s=useCallback(c=>{let f=o.filter(u=>K(u).includes(c));if(f.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}f.forEach(u=>{t("challenge_start",{challenge_id:u.id,challenge_name:u.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]),d=n.length>0,p={trackChallengeStart:s,trackQuestStart:a,isReady:d};return jsx(Br.Provider,{value:p,children:e})}function Qe(){let e=useContext(Br);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var Ye=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(Ye||{});h(w,y);var uo={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},P=create()(devtools(persist(subscribeWithSelector(immer((e,n)=>({...uo,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,d;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(f=>{f.error=c;}),(d=o.onLoginError)==null||d.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 d=a instanceof Error?a.message:"Signup failed";throw e(p=>{p.error=d;}),(s=o.onSignupError)==null||s.call(o,new Error(d)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,d,p;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(u=>{u.user=null,u.isSignedIn=!1,u.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(u){console.warn("Error during logout cleanup:",u);}(d=t.onLogoutSuccess)==null||d.call(t);}catch(c){console.log(c);let f=c instanceof Error?c.message:"Logout failed";throw e(u=>{u.error=f;}),(p=t.onLogoutError)==null||p.call(t,new Error(f)),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,d;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:(d=r.data)==null?void 0:d.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,d;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):(d=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||d.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),L=()=>{let e=P(s=>s.user),n=P(s=>s.isSignedIn),t=P(s=>s.isInitialized),r=P(s=>s.isLoading),o=P(s=>s.error),i=P(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var we=(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},Re=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 wo=()=>{let{updateHeaders:e}=useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=usePGLCoreService(),{updateHeaders:r}=useAchievementService(),{updateHeaders:o}=useRewardService(),{updateHeaders:i}=useGenerateCertificateService();return useEffect(()=>{P.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}=P.getState();c&&c.accessToken!==s&&P.getState().actions.setUser({...c,accessToken:s});}let a=P.getState().isSignedIn,d=P.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var f,u;if(c!==a)if(a=c,c){let g=tokenStorage.getAuthToken();if(g){e({Authorization:`Bearer ${g}`}),n({Authorization:`Bearer ${g}`}),r({Authorization:`Bearer ${g}`}),o({Authorization:`Bearer ${g}`}),i({Authorization:`Bearer ${g}`});try{let k=await userService(t).getMyProfile(),l=we(k,g);P.getState().actions.setUser(l);}catch{P.getState().actions.signOut();}}let{eventCallbacks:S,user:T}=P.getState();(f=S==null?void 0:S.onAuthStateChange)==null||f.call(S,T,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:g}=P.getState();(u=g==null?void 0:g.onAuthStateChange)==null||u.call(g,null,false);}}),p=tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:f}=P.getState();if(c){let u=tokenStorage.getAuthToken();u?(e({Authorization:`Bearer ${u}`}),n({Authorization:`Bearer ${u}`}),r({Authorization:`Bearer ${u}`}),o({Authorization:`Bearer ${u}`}),i({Authorization:`Bearer ${u}`}),f&&f.accessToken!==u&&P.getState().actions.setUser({...f,accessToken:u})):(P.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{d(),p();}},[e,n,r,o,i,t]),null},Ro=()=>(W(),null),Z=({children:e,baseURL:n,queryClient:t})=>jsxs(AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsx(wo,{}),jsx(Ro,{}),e]});function Te(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:d,isLoading:p}=L(),[c,f]=useState(null),u=useRef(null),g=useRef(false),S=useRef(null),T=useRef(null),_=useCallback(async v=>{var R,I;if(v)try{let C=await s(v);if((R=C.data)!=null&&R.idToken&&((I=C.data)!=null&&I.refreshToken)){tokenStorage.setTokens({idToken:C.data.idToken,refreshToken:C.data.refreshToken});let m=Re(C.data.idToken);a(!0),d(!1),n==null||n(m);}}catch(C){let m=C instanceof Error?C.message:"Token refresh failed";T.current=m,t==null||t(m),d(false);}},[s,a,d,n,t]),k=useCallback(()=>{S.current&&(clearInterval(S.current),S.current=null),g.current=false;},[]),l=useCallback(v=>{var I;let R=oe.concat((I=window==null?void 0:window.location)==null?void 0:I.origin);if(v.origin!=="*"&&!R.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:C}=v.data;C&&_(C),g.current=true,k();}else if(v.data.type==="LOGIN_ERROR"){let C=v.data.error||"Login failed";T.current=C,t==null||t(C),d(false),g.current=true,k();}},[_,d,k,t]);useEffect(()=>{(async()=>{try{let R=await i();f(R.statusMessage||"");}catch(R){console.error("error",R),f("");}})();},[]);let A=useCallback(()=>{let I=window.screenX+(window.outerWidth-500)/2,C=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let m="Google sign in failed. Please try again later.";T.current=m,t==null||t(m);return}if(T.current=null,d(!0),u.current=window.open(c,"oauthPopup",`width=500,height=600,left=${I},top=${C},resizable,scrollbars`),!u.current){d(!1);let m="Popup blocked. Please allow popups for this site.";T.current=m,r==null||r(),t==null||t(m);return}S.current=setInterval(()=>{if(u.current&&u.current.closed&&(S.current&&(clearInterval(S.current),S.current=null),!g.current)){let m="Authentication popup was closed";T.current=m,o==null||o(),t==null||t(m),d(!1);}},500);}catch(m){let ir=m instanceof Error?m.message:"Google sign in failed";T.current=ir,t==null||t(ir),d(false);}},[i,d,l,t,r,o,c]);return useEffect(()=>(window.addEventListener("message",l),()=>{window.removeEventListener("message",l);}),[l]),useEffect(()=>()=>{k();},[k]),{signIn:A,isLoading:p,error:T.current}}function ot({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=usePGLCoreService();useEffect(()=>{if(e){let d={"Chip-Authorization":e};ne(e),r(d);}},[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 er=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(er||{});var rr=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),tr=(e,n,t)=>e.filter(r=>r[n]===t);var ht=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=L(),{environment:i,version:s}=t,[a,d]=useState(null),[p,c]=useState("");return useEffect(()=>{(async()=>{let u=await H();c(u);})();},[]),useEffect(()=>{(async()=>{try{let u=await H();d({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":u}},responseInterceptors:{onFulfilled:k=>k,onRejected:async k=>{var v,R,I;let l=k.config,A=tokenStorage.getAuthToken();if(((v=k.response)==null?void 0:v.status)===401&&!l._retry){let C=parseInt(getFromLS(x)||"0",10);if(C>=3)return await r(),setToLS(x,0),Promise.reject(k);if(setToLS(x,`${C+1}`),l._retry=!0,A)try{let m=await o();if((R=m==null?void 0:m.data)!=null&&R.idToken)return l.headers.Authorization=`Bearer ${(I=m==null?void 0:m.data)==null?void 0:I.idToken}`,Lo(l)}catch(m){return console.error("Failed to refresh token:",m),await r(),Promise.reject(m)}}}},requestInterceptors:{onFulfilled:k=>k,onRejected:k=>Promise.reject(k)},useDevTool:!0});}catch(u){console.error(u);}})();},[n]),a?jsx(PGLCoreServiceProvider,{...a,baseURL:`${E[i].API_BASE_URL}/${s}`,baseCoreURL:`${E[i].API_BASE_CORE_URL}/${s}`,children:jsx(RewardServiceProvider,{...a,baseURL:`${E[i].API_REWARD_URL}/v1`,children:jsx(AchievementServiceProvider,{...a,baseURL:`${E[i].API_ACHIEVEMENT_URL}/${s}`,children:jsx(GenerateCertificateServiceProvider,{...a,baseURL:`${E[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:jsxs(PhygitalConsentProvider,{...a,deviceId:p,baseURL:`${E[i].API_CONSENT_URL}/v1`,axiosConfig:{headers:{"Content-Type":"application/json"}},children:[jsx(ae,{}),e]})})})})}):jsx(Fragment,{})};var yt=({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(ht,{queryClient:n,apiConfig:t,children:jsx(Z,{baseURL:`${E[r].API_BASE_URL}`,queryClient:n,children:e})})})};function Bo(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,d;let i=((a=t[o])==null?void 0:a[0])||null,s=((d=r.subAchievementIds)==null?void 0:d.map((p,c)=>{var u,g;let f=((g=t[o*(((u=r.subAchievementIds)==null?void 0:u.length)||0)+c+1])==null?void 0:g[0])||null;return {id:p,reward_model:f}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var zo=({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(d=>d.groupRewardId).filter(d=>d!==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)?[]:Bo(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},be=zo;var nr=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(nr||{});h(Oe,w);
|
|
2
|
+
export{oe as ALLOWED_ORIGINS,je as AchievementTrackingProvider,ee as AchievementType,Z as AuthProvider,te as CALLBACK_URL,ae as DataTrackingConsentSync,nr as Environment,ce as NotificationProvider,Ye as RewardClaimStatus,j as SessionReplayProvider,yt as TapquestCoreProvider,er as TaskType,z as TrackerContext,D as accessTokenKey,H as checkDeviceUid,B as chipAuthTokenKey,b as convertSnakeToCamel,Re as decodeJWTToken,N as deviceUIDKey,tr as filterLocationsByProperty,Be as generateDeviceId,Tr as getAccessToken,K as getActionsFromAchievementRule,Rr as getChipAuthToken,q as getDeviceUid,cr as getLocationIdsFromAchievementRule,_r as getRefreshToken,Pr as getRetryAttemptsRefreshToken,br as getSessionUserId,dr as getSurveyIdsFromAchievementRule,Ur as getUserInfo,re as httpMaxRetries,V as isAchievementCompleted,ie as isBrowser,G as refreshTokenKey,Ir as removeAccessToken,Cr as removeChipAuthToken,wr as removeDeviceUid,xr as removeRefreshToken,Mr as removeUserInfo,x as retryAttemptsRefreshToken,Sr as setAccessToken,ne as setChipAuthToken,ze as setDeviceUid,Er as setRefreshToken,kr as setRetryAttemptsRefreshToken,Lr as setUserInfo,rr as sortLocationsByIndex,we as transformProtoUserData,Qe as useAchievementTracking,be as useAchivementPlusRewardModel,L as useAuth,P as useAuthStore,Ge as useClearAchievementProgressCache,F as useDataTracking,Te as useGoogleLogin,yr as useManyAchievementProgress,ot as useScanChip,Q as useSessionReplay,W as useTokenRefresher,O as userInfoKey};//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|