@phygitallabs/tapquest-core 6.7.16 → 6.7.18

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.d.mts CHANGED
@@ -18,7 +18,6 @@ import * as zustand from 'zustand';
18
18
  import { ProtoSignInResponse, OAuthSignInResponse, ProtoSignUpResponse, ResetPasswordRequest, ProtoResetPasswordResponse, ChangePasswordRequest, ProtoChangePasswordResponse, VerifyEmailRequest, ProtoVerifyEmailResponse, SendVerifyCodeRequest, ProtoSendVerifyCodeResponse, ProtoRefreshTokenResponse } from '@phygitallabs/authentication';
19
19
  export { CommonModel as GenerateCertificateCommonModel, DateTimeNumber as GenerateCertificateDateTimeNumber, EntityStatus as GenerateCertificateEntityStatus, Media as GenerateCertificateMedia, MediaType as GenerateCertificateMediaType, useAddFrame, useCreateCertificate, useCreateCertificateAnonymous, useCreateCertificateWithMask, useGenerateFansipanCertificate, useGenerateTemplateCertificate, useGenerateThaocamvienCertificate, wrapTextWithFont } from '@phygitallabs/generate-certificate';
20
20
  export { cn, fileToBase64, parse } from '@phygitallabs/helpers';
21
- export { CookieConsentBanner, PhygitalConsentProvider, PolicyPopup, useLatestConsentByUserId, usePhygitalConsent } from '@phygitallabs/phygital-consent';
22
21
 
23
22
  declare const useManyAchievementProgress: (params: GetManyUserOrDeviceAchievementProgressParams, options?: any) => _tanstack_query_core.QueryObserverRefetchErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverSuccessResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverLoadingErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverPendingResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverPlaceholderResult<_phygitallabs_achievement.UserAchievementProgress[], Error>;
24
23
 
@@ -1017,16 +1016,6 @@ declare const sortLocationsByIndex: <T extends {
1017
1016
  }>(locations: T[]) => T[];
1018
1017
  declare const filterLocationsByProperty: <T extends Record<string, any>>(locations: T[], propertyName: keyof T, value: boolean) => T[];
1019
1018
 
1020
- /**
1021
- * Syncs cookie consent to GA, GTM, PostHog, OpenReplay, and Google AdSense.
1022
- * - On mount: sets gtag/GTM consent default to denied.
1023
- * - When analytics allowed: grants analytics_storage (GA/GTM), opts in PostHog, starts OpenReplay.
1024
- * - When advertising allowed: grants ad_storage, ad_user_data, ad_personalization (AdSense).
1025
- * Must be used under PhygitalConsentProvider; for OpenReplay also under SessionReplayProvider.
1026
- * Renders nothing.
1027
- */
1028
- declare function DataTrackingConsentSync(): null;
1029
-
1030
1019
  declare global {
1031
1020
  interface Window {
1032
1021
  dataLayer: unknown[];
@@ -1034,6 +1023,7 @@ declare global {
1034
1023
  }
1035
1024
  }
1036
1025
  type GtagConsent = (command: "consent", action: "default" | "update", params: Record<string, string>) => void;
1026
+ /** Consent flags from PhygitalConsentProvider (isAdvertisingAllowed may be added in newer versions). */
1037
1027
  declare function useDataTracking(): {
1038
1028
  trackEvent: (eventName: string, eventData: Record<string, any>, useTools?: ("gtm" | "ga" | "posthog")[]) => void;
1039
1029
  trackUserIdentify: (userInfo: Record<string, any>) => void;
@@ -1218,4 +1208,4 @@ declare const useAchivementPlusRewardModel: ({ campaignId, }: UseAchivementPlusR
1218
1208
  isLoading: boolean;
1219
1209
  };
1220
1210
 
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 };
1211
+ 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, 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
@@ -18,7 +18,6 @@ import * as zustand from 'zustand';
18
18
  import { ProtoSignInResponse, OAuthSignInResponse, ProtoSignUpResponse, ResetPasswordRequest, ProtoResetPasswordResponse, ChangePasswordRequest, ProtoChangePasswordResponse, VerifyEmailRequest, ProtoVerifyEmailResponse, SendVerifyCodeRequest, ProtoSendVerifyCodeResponse, ProtoRefreshTokenResponse } from '@phygitallabs/authentication';
19
19
  export { CommonModel as GenerateCertificateCommonModel, DateTimeNumber as GenerateCertificateDateTimeNumber, EntityStatus as GenerateCertificateEntityStatus, Media as GenerateCertificateMedia, MediaType as GenerateCertificateMediaType, useAddFrame, useCreateCertificate, useCreateCertificateAnonymous, useCreateCertificateWithMask, useGenerateFansipanCertificate, useGenerateTemplateCertificate, useGenerateThaocamvienCertificate, wrapTextWithFont } from '@phygitallabs/generate-certificate';
20
20
  export { cn, fileToBase64, parse } from '@phygitallabs/helpers';
21
- export { CookieConsentBanner, PhygitalConsentProvider, PolicyPopup, useLatestConsentByUserId, usePhygitalConsent } from '@phygitallabs/phygital-consent';
22
21
 
23
22
  declare const useManyAchievementProgress: (params: GetManyUserOrDeviceAchievementProgressParams, options?: any) => _tanstack_query_core.QueryObserverRefetchErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverSuccessResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverLoadingErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverPendingResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_query_core.QueryObserverPlaceholderResult<_phygitallabs_achievement.UserAchievementProgress[], Error>;
24
23
 
@@ -1017,16 +1016,6 @@ declare const sortLocationsByIndex: <T extends {
1017
1016
  }>(locations: T[]) => T[];
1018
1017
  declare const filterLocationsByProperty: <T extends Record<string, any>>(locations: T[], propertyName: keyof T, value: boolean) => T[];
1019
1018
 
1020
- /**
1021
- * Syncs cookie consent to GA, GTM, PostHog, OpenReplay, and Google AdSense.
1022
- * - On mount: sets gtag/GTM consent default to denied.
1023
- * - When analytics allowed: grants analytics_storage (GA/GTM), opts in PostHog, starts OpenReplay.
1024
- * - When advertising allowed: grants ad_storage, ad_user_data, ad_personalization (AdSense).
1025
- * Must be used under PhygitalConsentProvider; for OpenReplay also under SessionReplayProvider.
1026
- * Renders nothing.
1027
- */
1028
- declare function DataTrackingConsentSync(): null;
1029
-
1030
1019
  declare global {
1031
1020
  interface Window {
1032
1021
  dataLayer: unknown[];
@@ -1034,6 +1023,7 @@ declare global {
1034
1023
  }
1035
1024
  }
1036
1025
  type GtagConsent = (command: "consent", action: "default" | "update", params: Record<string, string>) => void;
1026
+ /** Consent flags from PhygitalConsentProvider (isAdvertisingAllowed may be added in newer versions). */
1037
1027
  declare function useDataTracking(): {
1038
1028
  trackEvent: (eventName: string, eventData: Record<string, any>, useTools?: ("gtm" | "ga" | "posthog")[]) => void;
1039
1029
  trackUserIdentify: (userInfo: Record<string, any>) => void;
@@ -1218,4 +1208,4 @@ declare const useAchivementPlusRewardModel: ({ campaignId, }: UseAchivementPlusR
1218
1208
  isLoading: boolean;
1219
1209
  };
1220
1210
 
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 };
1211
+ 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, 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,useLatestConsentByUserId,PolicyPopup,PhygitalConsentProvider,CookieConsentBanner}from'@phygitallabs/phygital-consent';export{CookieConsentBanner,PhygitalConsentProvider,PolicyPopup,useLatestConsentByUserId,usePhygitalConsent}from'@phygitallabs/phygital-consent';import M from'posthog-js';import {v4}from'uuid';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as bn 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 bo from'axios';var ar=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var Ut=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 xt(n))!Ut.call(e,o)&&o!==t&&ar(e,o,{get:()=>n[o],enumerable:!(r=Et(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,PolicyPopup:()=>PolicyPopup,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,useLatestConsentByUserId:()=>useLatestConsentByUserId,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,PolicyPopup:()=>PolicyPopup,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,useLatestConsentByUserId:()=>useLatestConsentByUserId,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 Dt()}catch(e){return console.error("Error generating device fingerprint:",e),v4()}},Dt=async()=>{let e=new Date().toISOString(),n=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.platform,navigator.hardwareConcurrency,e].join("::"),r=new TextEncoder().encode(n),o=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")};var 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 zt(){return v4()}async function Ft(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: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: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 Wt(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:Ft(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(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"},qt=(e,n)=>{try{if(typeof window=="undefined")return;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},Ht=(e,n)=>{if(typeof window=="undefined")return;let t=window;typeof t.gtag=="function"&&t.gtag("event",e,n);},jt=(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"&&qt(l,A),v.includes("ga")&&i&&Ht(l,A),v.includes("posthog")&&i&&typeof((R=M)==null?void 0:R.capture)=="function"&&jt(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,bn);var Yt={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=Yt;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 po={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},P=create()(devtools(persist(subscribeWithSelector(immer((e,n)=>({...po,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 Co=()=>{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},Po=()=>(W(),null),Z=({children:e,baseURL:n,queryClient:t})=>jsxs(AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsx(Co,{}),jsx(Po,{}),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}`,bo(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 Fo(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 Wo=({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)?[]:Fo(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},be=Wo;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
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,useRef,useMemo,useEffect,useState}from'react';import'posthog-js';import {v4}from'uuid';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as yn 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 Po from'axios';var ir=Object.defineProperty;var Rt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var Pt=Object.prototype.hasOwnProperty;var be=(e,n)=>{for(var t in n)ir(e,t,{get:n[t],enumerable:true});},nr=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ct(n))!Pt.call(e,o)&&o!==t&&ir(e,o,{get:()=>n[o],enumerable:!(r=Rt(n,o))||r.enumerable});return e},y=(e,n,t)=>(nr(e,n,"default"),t);var Me={};be(Me,{ALLOWED_ORIGINS:()=>te,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>qe,AchievementType:()=>Z,AuthProvider:()=>J,CALLBACK_URL:()=>re,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,Environment:()=>tr,NotificationProvider:()=>se,RewardClaimStatus:()=>je,SessionReplayProvider:()=>q,TapquestCoreProvider:()=>ft,TaskType:()=>Xe,TrackerContext:()=>z,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>V,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>b,decodeJWTToken:()=>Ae,deviceUIDKey:()=>N,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>er,generateDeviceId:()=>Ge,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>W,getChipAuthToken:()=>Ar,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>sr,getRefreshToken:()=>Sr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>Lr,getSurveyIdsFromAchievementRule:()=>ar,getUserInfo:()=>Er,httpMaxRetries:()=>ee,isAchievementCompleted:()=>$,isBrowser:()=>ne,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>G,removeAccessToken:()=>Tr,removeChipAuthToken:()=>wr,removeDeviceUid:()=>vr,removeRefreshToken:()=>_r,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>E,setAccessToken:()=>kr,setChipAuthToken:()=>oe,setDeviceUid:()=>Ne,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Cr,setUserInfo:()=>xr,sortLocationsByIndex:()=>Ze,transformProtoUserData:()=>ve,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>He,useAchivementPlusRewardModel:()=>Le,useAddFrame:()=>useAddFrame,useAuth:()=>U,useAuthStore:()=>C,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>ie,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Pe,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>gr,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,useScanChip:()=>et,useSendEmail:()=>useSendEmail,useSessionReplay:()=>H,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>F,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>O,wrapTextWithFont:()=>wrapTextWithFont});var A={};be(A,{ALLOWED_ORIGINS:()=>te,AchievementRuleActionType:()=>AchievementRuleActionType,AchievementServiceProvider:()=>AchievementServiceProvider,AchievementTrackingProvider:()=>qe,AchievementType:()=>Z,AuthProvider:()=>J,CALLBACK_URL:()=>re,CampaignState:()=>CampaignState,CmentityRewardType:()=>CmentityRewardType,Environment:()=>tr,NotificationProvider:()=>se,RewardClaimStatus:()=>je,SessionReplayProvider:()=>q,TapquestCoreProvider:()=>ft,TaskType:()=>Xe,TrackerContext:()=>z,UserSourceType:()=>UserSourceType,accessTokenKey:()=>D,checkDeviceUid:()=>V,chipAuthTokenKey:()=>B,cn:()=>cn,convertSnakeToCamel:()=>b,decodeJWTToken:()=>Ae,deviceUIDKey:()=>N,fileToBase64:()=>fileToBase64,filterLocationsByProperty:()=>er,generateDeviceId:()=>Ge,getAccessToken:()=>Pr,getActionsFromAchievementRule:()=>W,getChipAuthToken:()=>Ar,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>sr,getRefreshToken:()=>Sr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>Lr,getSurveyIdsFromAchievementRule:()=>ar,getUserInfo:()=>Er,httpMaxRetries:()=>ee,isAchievementCompleted:()=>$,isBrowser:()=>ne,locationQueryKeys:()=>locationQueryKeys,memoriesKey:()=>memoriesKey,parse:()=>parse,refreshTokenKey:()=>G,removeAccessToken:()=>Tr,removeChipAuthToken:()=>wr,removeDeviceUid:()=>vr,removeRefreshToken:()=>_r,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>resetMemoriesQuery,retryAttemptsRefreshToken:()=>E,setAccessToken:()=>kr,setChipAuthToken:()=>oe,setDeviceUid:()=>Ne,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Cr,setUserInfo:()=>xr,sortLocationsByIndex:()=>Ze,transformProtoUserData:()=>ve,useAchievementProgress:()=>useAchievementProgress,useAchievementTracking:()=>He,useAchivementPlusRewardModel:()=>Le,useAddFrame:()=>useAddFrame,useAuth:()=>U,useAuthStore:()=>C,useCampaignDetail:()=>useOneCampaign,useCancelUserRewardsRequest:()=>useCancelUserRewardsRequest,useChipScanStory:()=>useChipScanStory,useClaimUserReward:()=>useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>useClearUserRewardCache,useCreateCertificate:()=>useCreateCertificate,useCreateCertificateAnonymous:()=>useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>useCreateClickButtonActionLog,useCreateMemory:()=>useCreateMemory,useCreateModelGroupReward:()=>useCreateModelGroupReward,useCreateRewardModel:()=>useCreateRewardModel,useDataTracking:()=>ie,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useDeleteRewardModel:()=>useDeleteRewardModel,useGenerateFansipanCertificate:()=>useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>useGenerateThaocamvienCertificate,useGetRewardModel:()=>useGetRewardModel,useGetUserRewards:()=>useGetUserRewards,useGoogleLogin:()=>Pe,useInfiniteMemories:()=>useInfiniteMemories,useListRewardModels:()=>useListRewardModels,useLocationDetail:()=>useOneLocation,useLocationProgress:()=>useUserCampaignsCompletedLocation,useLocationsList:()=>useManyLocations,useManyAchievementProgress:()=>gr,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,useScanChip:()=>et,useSendEmail:()=>useSendEmail,useSessionReplay:()=>H,useSyncCheckin:()=>useSyncCheckin,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useTokenRefresher:()=>F,useUpdateMyProfile:()=>useUpdateMyProfile,useUpdateRewardModel:()=>useUpdateRewardModel,useUploadMedia:()=>useUploadMedia,useUserAchievementAction:()=>useUserAchievementAction,useUserCampaignAction:()=>useUserCampaignAction,useV1ListRewards:()=>useV1ListRewards,useWebSocket:()=>useWebSocket,userInfoKey:()=>O,wrapTextWithFont:()=>wrapTextWithFont});function Oe(){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 sr=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))},ar=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))},W=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))},$=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 gr=(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:$(i)}))}):useManyAchievementProgressByDevice(r,{...n,select:o=>b(o).map(s=>({...s,isCompleted:$(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 O="phygital-user-info",D="accessToken",G="refreshToken",ee=3,E="retryAttemptsRefreshToken",N="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 Ge=async()=>{try{return await _t()}catch(e){return console.error("Error generating device fingerprint:",e),v4()}},_t=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 K=()=>typeof window=="undefined"?null:localStorage.getItem(N),Ne=e=>{typeof window!="undefined"&&localStorage.setItem(N,e);},vr=()=>{typeof window!="undefined"&&localStorage.removeItem(N);},V=async()=>{let e=K();return e||(e=await Ge(),Ne(e)),e},Ar=()=>typeof window=="undefined"?null:localStorage.getItem(B),oe=e=>{typeof window!="undefined"&&localStorage.setItem(B,e);},wr=()=>{typeof window!="undefined"&&localStorage.removeItem(B);},Rr=()=>typeof window=="undefined"?null:localStorage.getItem(E),Cr=e=>{typeof window!="undefined"&&localStorage.setItem(E,e);},Pr=()=>typeof window=="undefined"?null:localStorage.getItem(D),kr=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},Tr=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},Sr=()=>typeof window=="undefined"?null:localStorage.getItem(G),Ir=e=>{typeof window!="undefined"&&localStorage.setItem(G,e);},_r=()=>{typeof window!="undefined"&&localStorage.removeItem(G);},Er=()=>{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}},xr=e=>{typeof window!="undefined"&&localStorage.setItem(O,JSON.stringify(e));},Ur=()=>{typeof window!="undefined"&&localStorage.removeItem(O);};var Lr=e=>e||K(),ne=()=>typeof window!="undefined";var z=createContext(null);function Lt(){return v4()}async function Mt(e){var n,t,r,o,i,s,a;try{let l=(await import('@openreplay/tracker')).default,p=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:Lt,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 l(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(l){throw console.error("Failed to create tracker:",l),l}}function bt(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:Mt(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 q=({children:e,config:n={}})=>{let[,t]=useReducer(bt,{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 H(){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 br={ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"},Gt=(e,n)=>{try{if(typeof window=="undefined")return;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}};function ie(){let {initTracker:e,startTracking:n,setUserId:t,setMetadata:r}=H(),o=false;return {trackEvent:(d,m,h)=>{h=h||["gtm"],h.includes("gtm")&&typeof window!="undefined"&&Gt(d,m),h.includes("ga")&&o,h.includes("posthog")&&o;},trackUserIdentify:d=>{},trackLogoutEvent:()=>{},loadGA:d=>{return;},loadGTM:d=>{return;},togglePostHog:()=>{},toggleOpenReplay:()=>{},toggleGoogleAdSense:()=>{return;},pauseGoogleAdSense:()=>{if(typeof window=="undefined")return;let d=window;typeof d.gtag=="function"?d.gtag("consent","update",{...br}):Array.isArray(d.dataLayer)&&d.dataLayer.push(["consent","update",{...br}]);}}}var v={};be(v,{NotificationProvider:()=>se,useDefaultServiceGetPollStats:()=>useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>useDefaultServicePostPoll,useNotificationRewardHandler:()=>useNotificationRewardHandler,useNotificationStore:()=>useNotificationStore,usePageVisibility:()=>usePageVisibility,useTCVNotificationRewardHandler:()=>useTCVNotificationRewardHandler,useWebSocket:()=>useWebSocket});y(v,yn);var zt={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"}},_=zt;var se=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var l,p;let a=(l=_[t])==null?void 0:l.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 Dr=createContext(void 0);function qe({children:e,achievements:n}){let{trackEvent:t}=ie(),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 m;let u=f.notifications;if(u.length===0)return;let g=u[u.length-1];if(!((m=g==null?void 0:g.data)!=null&&m.achievement))return;let S=`${g.data.achievement.id}_${Date.now()}`;if(r.current.has(S))return;r.current.add(S);let d=g.data.achievement;if(d.type==="group_mission")t("quest_complete",{quest_id:d.id,quest_name:d.name});else {let w=W(d)[0]||"unknown";t("challenge_complete",{challenge_id:d.id,challenge_name:d.name,challenge_type:w});}});return ()=>{c();}},[t]);let s=useCallback(c=>{let f=o.filter(u=>W(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]),l=n.length>0,p={trackChallengeStart:s,trackQuestStart:a,isReady:l};return jsx(Dr.Provider,{value:p,children:e})}function He(){let e=useContext(Dr);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var je=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(je||{});y(A,v);var ro={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},C=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,l;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;}),(l=o.onLoginError)==null||l.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 l=a instanceof Error?a.message:"Signup failed";throw e(p=>{p.error=l;}),(s=o.onSignupError)==null||s.call(o,new Error(l)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,l,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);}(l=t.onLogoutSuccess)==null||l.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,l;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:(l=r.data)==null?void 0:l.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,l;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):(l=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||l.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),U=()=>{let e=C(s=>s.user),n=C(s=>s.isSignedIn),t=C(s=>s.isInitialized),r=C(s=>s.isLoading),o=C(s=>s.error),i=C(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var ve=(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},Ae=e=>{try{return jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function F(){let{refreshToken:e,signOut:n}=U(),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 po=()=>{let{updateHeaders:e}=useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=usePGLCoreService(),{updateHeaders:r}=useAchievementService(),{updateHeaders:o}=useRewardService(),{updateHeaders:i}=useGenerateCertificateService();return useEffect(()=>{C.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}=C.getState();c&&c.accessToken!==s&&C.getState().actions.setUser({...c,accessToken:s});}let a=C.getState().isSignedIn,l=C.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 h=await userService(t).getMyProfile(),w=ve(h,g);C.getState().actions.setUser(w);}catch{C.getState().actions.signOut();}}let{eventCallbacks:S,user:d}=C.getState();(f=S==null?void 0:S.onAuthStateChange)==null||f.call(S,d,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:g}=C.getState();(u=g==null?void 0:g.onAuthStateChange)==null||u.call(g,null,false);}}),p=tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:f}=C.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&&C.getState().actions.setUser({...f,accessToken:u})):(C.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{l(),p();}},[e,n,r,o,i,t]),null},mo=()=>(F(),null),J=({children:e,baseURL:n,queryClient:t})=>jsxs(AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsx(po,{}),jsx(mo,{}),e]});function Pe(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:l,isLoading:p}=U(),[c,f]=useState(null),u=useRef(null),g=useRef(false),S=useRef(null),d=useRef(null),m=useCallback(async P=>{var k,I;if(P)try{let T=await s(P);if((k=T.data)!=null&&k.idToken&&((I=T.data)!=null&&I.refreshToken)){tokenStorage.setTokens({idToken:T.data.idToken,refreshToken:T.data.refreshToken});let R=Ae(T.data.idToken);a(!0),l(!1),n==null||n(R);}}catch(T){let R=T instanceof Error?T.message:"Token refresh failed";d.current=R,t==null||t(R),l(false);}},[s,a,l,n,t]),h=useCallback(()=>{S.current&&(clearInterval(S.current),S.current=null),g.current=false;},[]),w=useCallback(P=>{var I;let k=te.concat((I=window==null?void 0:window.location)==null?void 0:I.origin);if(P.origin!=="*"&&!k.includes(P.origin)){console.warn("Rejected message from untrusted origin:",P.origin);return}if(!P.data||typeof P.data!="object"){console.warn("Invalid message data received");return}if(P.data.type==="LOGIN_SUCCESS"){let{refreshToken:T}=P.data;T&&m(T),g.current=true,h();}else if(P.data.type==="LOGIN_ERROR"){let T=P.data.error||"Login failed";d.current=T,t==null||t(T),l(false),g.current=true,h();}},[m,l,h,t]);useEffect(()=>{(async()=>{try{let k=await i();f(k.statusMessage||"");}catch(k){console.error("error",k),f("");}})();},[]);let M=useCallback(()=>{let I=window.screenX+(window.outerWidth-500)/2,T=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let R="Google sign in failed. Please try again later.";d.current=R,t==null||t(R);return}if(d.current=null,l(!0),u.current=window.open(c,"oauthPopup",`width=500,height=600,left=${I},top=${T},resizable,scrollbars`),!u.current){l(!1);let R="Popup blocked. Please allow popups for this site.";d.current=R,r==null||r(),t==null||t(R);return}S.current=setInterval(()=>{if(u.current&&u.current.closed&&(S.current&&(clearInterval(S.current),S.current=null),!g.current)){let R="Authentication popup was closed";d.current=R,o==null||o(),t==null||t(R),l(!1);}},500);}catch(R){let or=R instanceof Error?R.message:"Google sign in failed";d.current=or,t==null||t(or),l(false);}},[i,l,w,t,r,o,c]);return useEffect(()=>(window.addEventListener("message",w),()=>{window.removeEventListener("message",w);}),[w]),useEffect(()=>()=>{h();},[h]),{signIn:M,isLoading:p,error:d.current}}function et({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=usePGLCoreService();useEffect(()=>{if(e){let l={"Chip-Authorization":e};oe(e),r(l);}},[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 Xe=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(Xe||{});var Ze=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),er=(e,n,t)=>e.filter(r=>r[n]===t);var mt=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=U(),{environment:i,version:s}=t,[a,l]=useState(null),[p,c]=useState("");return useEffect(()=>{(async()=>{let u=await V();c(u);})();},[]),useEffect(()=>{(async()=>{try{let u=await V();l({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":u}},responseInterceptors:{onFulfilled:h=>h,onRejected:async h=>{var P,k,I;let w=h.config,M=tokenStorage.getAuthToken();if(((P=h.response)==null?void 0:P.status)===401&&!w._retry){let T=parseInt(getFromLS(E)||"0",10);if(T>=3)return await r(),setToLS(E,0),Promise.reject(h);if(setToLS(E,`${T+1}`),w._retry=!0,M)try{let R=await o();if((k=R==null?void 0:R.data)!=null&&k.idToken)return w.headers.Authorization=`Bearer ${(I=R==null?void 0:R.data)==null?void 0:I.idToken}`,Po(w)}catch(R){return console.error("Failed to refresh token:",R),await r(),Promise.reject(R)}}}},requestInterceptors:{onFulfilled:h=>h,onRejected:h=>Promise.reject(h)},useDevTool:!0});}catch(u){console.error(u);}})();},[n]),a?jsx(PGLCoreServiceProvider,{...a,baseURL:`${_[i].API_BASE_URL}/${s}`,baseCoreURL:`${_[i].API_BASE_CORE_URL}/${s}`,children:jsx(RewardServiceProvider,{...a,baseURL:`${_[i].API_REWARD_URL}/v1`,children:jsx(AchievementServiceProvider,{...a,baseURL:`${_[i].API_ACHIEVEMENT_URL}/${s}`,children:jsx(GenerateCertificateServiceProvider,{...a,baseURL:`${_[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:e})})})}):jsx(Fragment,{})};var ft=({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(q,{config:o,children:jsx(mt,{queryClient:n,apiConfig:t,children:jsx(J,{baseURL:`${_[r].API_BASE_URL}`,queryClient:n,children:e})})})};function Eo(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,l;let i=((a=t[o])==null?void 0:a[0])||null,s=((l=r.subAchievementIds)==null?void 0:l.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 xo=({campaignId:e})=>{let{data:n,isLoading:t}=useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=useMemo(()=>n!=null&&n.data?n.data.map(l=>l.groupRewardId).filter(l=>l!==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)?[]:Eo(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},Le=xo;var tr=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(tr||{});y(Me,A);
2
+ export{te as ALLOWED_ORIGINS,qe as AchievementTrackingProvider,Z as AchievementType,J as AuthProvider,re as CALLBACK_URL,tr as Environment,se as NotificationProvider,je as RewardClaimStatus,q as SessionReplayProvider,ft as TapquestCoreProvider,Xe as TaskType,z as TrackerContext,D as accessTokenKey,V as checkDeviceUid,B as chipAuthTokenKey,b as convertSnakeToCamel,Ae as decodeJWTToken,N as deviceUIDKey,er as filterLocationsByProperty,Ge as generateDeviceId,Pr as getAccessToken,W as getActionsFromAchievementRule,Ar as getChipAuthToken,K as getDeviceUid,sr as getLocationIdsFromAchievementRule,Sr as getRefreshToken,Rr as getRetryAttemptsRefreshToken,Lr as getSessionUserId,ar as getSurveyIdsFromAchievementRule,Er as getUserInfo,ee as httpMaxRetries,$ as isAchievementCompleted,ne as isBrowser,G as refreshTokenKey,Tr as removeAccessToken,wr as removeChipAuthToken,vr as removeDeviceUid,_r as removeRefreshToken,Ur as removeUserInfo,E as retryAttemptsRefreshToken,kr as setAccessToken,oe as setChipAuthToken,Ne as setDeviceUid,Ir as setRefreshToken,Cr as setRetryAttemptsRefreshToken,xr as setUserInfo,Ze as sortLocationsByIndex,ve as transformProtoUserData,He as useAchievementTracking,Le as useAchivementPlusRewardModel,U as useAuth,C as useAuthStore,Oe as useClearAchievementProgressCache,ie as useDataTracking,Pe as useGoogleLogin,gr as useManyAchievementProgress,et as useScanChip,H as useSessionReplay,F as useTokenRefresher,O as userInfoKey};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map