@phygitallabs/tapquest-core 6.7.7 → 6.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bun.lock CHANGED
@@ -1193,7 +1193,7 @@
1193
1193
 
1194
1194
  "tailwindcss/jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="],
1195
1195
 
1196
- "tailwindcss/postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="],
1196
+ "tailwindcss/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
1197
1197
 
1198
1198
  "@phygitallabs/core-ui/html-react-parser/html-dom-parser": ["html-dom-parser@5.1.4", "", { "dependencies": { "domhandler": "5.0.3", "htmlparser2": "10.1.0" } }, "sha512-UGjp7y8jSrDU2RdN2J9FDOo3X+WBu+LkS/I3TjjFW020ocZWjPvave+RKk1zeuY2sUWy5fh6zHgXHthzDGlFNQ=="],
1199
1199
 
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var apiCore=require('@phygitallabs/api-core'),achievement=require('@phygitallabs/achievement'),reactQuery=require('@tanstack/react-query'),react=require('react'),oe=require('posthog-js'),uuid=require('uuid'),jsxRuntime=require('react/jsx-runtime'),An=require('@phygitallabs/notification-api'),reward=require('@phygitallabs/reward'),authentication=require('@phygitallabs/authentication'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),jwtDecode=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),phygitalConsent=require('@phygitallabs/phygital-consent'),helpers=require('@phygitallabs/helpers'),To=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var oe__default=/*#__PURE__*/_interopDefault(oe);var An__namespace=/*#__PURE__*/_interopNamespace(An);var To__default=/*#__PURE__*/_interopDefault(To);var nr=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var wt=Object.prototype.hasOwnProperty;var be=(e,n)=>{for(var t in n)nr(e,t,{get:n[t],enumerable:true});},or=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ct(n))!wt.call(e,o)&&o!==t&&nr(e,o,{get:()=>n[o],enumerable:!(r=Pt(n,o))||r.enumerable});return e},m=(e,n,t)=>(or(e,n,"default"),t);var Le={};be(Le,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>We,AchievementType:()=>Y,AuthProvider:()=>J,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,CookieConsentBanner:()=>phygitalConsent.CookieConsentBanner,Environment:()=>rr,NotificationProvider:()=>ie,PhygitalConsentProvider:()=>phygitalConsent.PhygitalConsentProvider,RewardClaimStatus:()=>He,SessionReplayProvider:()=>W,TapquestCoreProvider:()=>lt,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>V,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ve,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Cr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>vr,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>ir,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>sr,getUserInfo:()=>xr,httpMaxRetries:()=>X,isAchievementCompleted:()=>q,isBrowser:()=>te,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>kr,removeChipAuthToken:()=>Ar,removeDeviceUid:()=>yr,removeRefreshToken:()=>Sr,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>wr,setChipAuthToken:()=>re,setDeviceUid:()=>Ne,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Pr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ye,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>$e,useAchivementPlusRewardModel:()=>_e,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ne,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>Ce,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>fr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>An.usePageVisibility,usePhygitalConsent:()=>phygitalConsent.usePhygitalConsent,useScanChip:()=>Yr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>$,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useTokenRefresher:()=>B,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>An.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var h={};be(h,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>We,AchievementType:()=>Y,AuthProvider:()=>J,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,CookieConsentBanner:()=>phygitalConsent.CookieConsentBanner,Environment:()=>rr,NotificationProvider:()=>ie,PhygitalConsentProvider:()=>phygitalConsent.PhygitalConsentProvider,RewardClaimStatus:()=>He,SessionReplayProvider:()=>W,TapquestCoreProvider:()=>lt,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>V,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ve,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Cr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>vr,getDeviceUid:()=>K,getLocationIdsFromAchievementRule:()=>ir,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>sr,getUserInfo:()=>xr,httpMaxRetries:()=>X,isAchievementCompleted:()=>q,isBrowser:()=>te,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>kr,removeChipAuthToken:()=>Ar,removeDeviceUid:()=>yr,removeRefreshToken:()=>Sr,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>wr,setChipAuthToken:()=>re,setDeviceUid:()=>Ne,setRefreshToken:()=>Ir,setRetryAttemptsRefreshToken:()=>Pr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ye,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>$e,useAchivementPlusRewardModel:()=>_e,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ne,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>Ce,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>fr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>An.usePageVisibility,usePhygitalConsent:()=>phygitalConsent.usePhygitalConsent,useScanChip:()=>Yr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>$,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useTokenRefresher:()=>B,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>An.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});function Oe(){let e=reactQuery.useQueryClient();return {clearCache:react.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 ir=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))},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==="survey_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},z=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))},q=e=>e.isCompleted||e.overallPercentage===100;function L(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>L(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]=L(e[t]);}return n}return e}var fr=(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?achievement.useManyAchievementProgress(r,{...n,select:o=>o.map(i=>({...i,isCompleted:q(i)}))}):apiCore.useManyAchievementProgressByDevice(r,{...n,select:o=>L(o).map(s=>({...s,isCompleted:q(s)}))})};var Y=(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))(Y||{});var M="phygital-user-info",b="accessToken",O="refreshToken",X=3,x="retryAttemptsRefreshToken",D="Device-UID",G="chip-auth-token",Z="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",ee=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Ge=async()=>{try{return await xt()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},xt=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(D),Ne=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},yr=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},V=async()=>{let e=K();return e||(e=await Ge(),Ne(e)),e},vr=()=>typeof window=="undefined"?null:localStorage.getItem(G),re=e=>{typeof window!="undefined"&&localStorage.setItem(G,e);},Ar=()=>{typeof window!="undefined"&&localStorage.removeItem(G);},Rr=()=>typeof window=="undefined"?null:localStorage.getItem(x),Pr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},Cr=()=>typeof window=="undefined"?null:localStorage.getItem(b),wr=e=>{typeof window!="undefined"&&localStorage.setItem(b,e);},kr=()=>{typeof window!="undefined"&&localStorage.removeItem(b);},Tr=()=>typeof window=="undefined"?null:localStorage.getItem(O),Ir=e=>{typeof window!="undefined"&&localStorage.setItem(O,e);},Sr=()=>{typeof window!="undefined"&&localStorage.removeItem(O);},xr=()=>{if(typeof window=="undefined")return null;let e=localStorage.getItem(M);if(!e)return null;try{return JSON.parse(e)}catch(n){return console.error("Failed to parse stored user data:",n),null}},Er=e=>{typeof window!="undefined"&&localStorage.setItem(M,JSON.stringify(e));},Ur=()=>{typeof window!="undefined"&&localStorage.removeItem(M);};var _r=e=>e||K(),te=()=>typeof window!="undefined";var N=react.createContext(null);function Mt(){return uuid.v4()}async function bt(e){var n,t,r,o,i,s,a;try{let u=(await import('@openreplay/tracker')).default,l=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:Mt,c={projectKey:(e==null?void 0:e.projectKey)||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e==null?void 0:e.ingestPoint,captureExceptions:(n=e.captureExceptions)!=null?n:!0,capturePerformance:(t=e.capturePerformance)!=null?t:!0,network:e.network||{capturePayload:!0,sanitizer:d=>d},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:(r=e.obscureTextEmails)!=null?r:!0,obscureTextNumbers:(o=e.obscureTextNumbers)!=null?o:!1,obscureInputEmails:(i=e.obscureInputEmails)!=null?i:!0,__DISABLE_SECURE_MODE:(a=e.__DISABLE_SECURE_MODE)!=null?a:typeof process!="undefined"&&((s=process.env)==null?void 0:s.NODE_ENV)==="development"},p=new u(c);if(e!=null&&e.userIdEnabled){let d=l();p.setUserID(d),console.log("User ID set:",d);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),p}catch(u){throw console.error("Failed to create tracker:",u),u}}function Ot(e,n){let{debug:t=false}=e.config;switch(n.type){case "init":return !e.tracker&&te()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(t,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:bt(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(t,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(n.payload),console.log(t,"User ID updated:",n.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{var o;(o=Object.entries(n.payload||{}))==null||o.forEach(([i,s])=>{r.setMetadata(i,s);}),console.log(t,"Metadata updated:",n.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var W=({children:e,config:n={}})=>{let[,t]=react.useReducer(Ot,{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 react.useEffect(()=>{r(),o();},[]),jsxRuntime.jsx(N.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function $(){let e=react.useContext(N);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Nt=(e,n)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},Bt=(e,n)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,n);},Ft=(e,n)=>{oe__default.default.capture(e,n);};function ne(){let{setUserId:e,setMetadata:n}=$();return {trackEvent:(i,s,a)=>{console.log("trackEvent ",i,s),a=a||["gtm"],a.includes("gtm")&&typeof window!="undefined"&&Nt(i,s),a.includes("ga")&&typeof gtag=="function"&&Bt(i,s),a.includes("posthog")&&typeof oe__default.default=="function"&&Ft(i,s);},trackUserIdentify:i=>{oe__default.default.identify(i.email,{email:i.email,name:i.name,avatar:i.avatar,uid:i.uid}),e(i.id),n({user_email:i.email});},trackLogoutEvent:()=>{oe__default.default.capture("user_signed_out");}}}var f={};be(f,{NotificationProvider:()=>ie,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,usePageVisibility:()=>An.usePageVisibility,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useWebSocket:()=>An.useWebSocket});m(f,An__namespace);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"}},I=zt;var ie=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var u,l;let a=(u=I[t])==null?void 0:u.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(An.NotificationProvider,{userUid:r==null?void 0:r.id,accessToken:(l=r==null?void 0:r.accessToken)!=null?l:null,webSocketUrl:a,autoConnect:n,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s,children:e})};var Mr=react.createContext(void 0);function We({children:e,achievements:n}){let{trackEvent:t}=ne(),r=react.useRef(new Set),{challenges:o,quests:i}=react.useMemo(()=>{let c=[],p=[];return n.forEach(d=>{d.type==="group_mission"?p.push(d):c.push(d);}),{challenges:c,quests:p}},[n]);react.useEffect(()=>{let c=An.useNotificationStore.subscribe(p=>{var _;let d=p.notifications;if(d.length===0)return;let g=d[d.length-1];if(!((_=g==null?void 0:g.data)!=null&&_.achievement))return;let C=`${g.data.achievement.id}_${Date.now()}`;if(r.current.has(C))return;r.current.add(C);let R=g.data.achievement;if(R.type==="group_mission")t("quest_complete",{quest_id:R.id,quest_name:R.name});else {let k=z(R)[0]||"unknown";t("challenge_complete",{challenge_id:R.id,challenge_name:R.name,challenge_type:k});}});return ()=>{c();}},[t]);let s=react.useCallback(c=>{let p=o.filter(d=>z(d).includes(c));if(p.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}p.forEach(d=>{t("challenge_start",{challenge_id:d.id,challenge_name:d.name,challenge_type:c});});},[o,t]),a=react.useCallback(()=>{if(i.length===0){console.error("[AchievementTracking] No quests found");return}i.forEach(c=>{t("quest_start",{quest_id:c.id,quest_name:c.name});});},[i,t]),u=n.length>0,l={trackChallengeStart:s,trackQuestStart:a,isReady:u};return jsxRuntime.jsx(Mr.Provider,{value:l,children:e})}function $e(){let e=react.useContext(Mr);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var He=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(He||{});m(h,f);var to={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},v=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,n)=>({...to,actions:{setIsLoading:t=>e(r=>{r.isLoading=t;}),setCleanupFunctions:t=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...t};}),addEventCallbacks:t=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};});}),signInWithEmail:async(t,r)=>{var i,s,a,u;let{eventCallbacks:o}=n();e(l=>{l.isLoading=true,l.error=null;});try{let l=await authentication.authService.signIn({email:t,password:r});return (i=l==null?void 0:l.data)!=null&&i.idToken&&((s=l==null?void 0:l.data)!=null&&s.refreshToken)&&(authentication.tokenStorage.setTokens({idToken:l.data.idToken,refreshToken:l.data.refreshToken}),e(c=>{c.isSignedIn=!0;}),(a=o.onLoginSuccess)==null||a.call(o,l.data.idToken)),l}catch(l){let c=l instanceof Error?l.message:"Login failed";throw e(p=>{p.error=c;}),(u=o.onLoginError)==null||u.call(o,new Error(c)),l}finally{e(l=>{l.isLoading=false;});}},signInWithGoogle:async()=>{var r;let{eventCallbacks:t}=n();try{let o=Z;return await authentication.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 authentication.authService.signUp({email:t,password:r});return a.data&&((i=o.onSignupSuccess)==null||i.call(o)),a}catch(a){let u=a instanceof Error?a.message:"Signup failed";throw e(l=>{l.error=u;}),(s=o.onSignupError)==null||s.call(o,new Error(u)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,u,l;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(d=>{d.user=null,d.isSignedIn=!1,d.error=null;});let c=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!c){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:c}),authentication.tokenStorage.clearTokens();try{(o=r.clearQueryCache)==null||o.call(r),(i=r.clearOrganization)==null||i.call(r),(s=r.clearCustomData)==null||s.call(r),(a=r.clearHeaders)==null||a.call(r);}catch(d){console.warn("Error during logout cleanup:",d);}(u=t.onLogoutSuccess)==null||u.call(t);}catch(c){console.log(c);let p=c instanceof Error?c.message:"Logout failed";throw e(d=>{d.error=p;}),(l=t.onLogoutError)==null||l.call(t,new Error(p)),c}finally{e(c=>{c.isLoading=false;});}},sendPasswordResetEmail:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.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 authentication.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 authentication.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 authentication.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 authentication.verifyCodeService.sendVerifyCode(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send verify code";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async t=>{var o,i,s,a,u;let r=await authentication.authService.refreshToken({refreshToken:(o=t!=null?t:authentication.tokenStorage.getRefreshToken())!=null?o:""});return (i=r.data)!=null&&i.idToken&&((s=r.data)!=null&&s.refreshToken)&&authentication.tokenStorage.setTokens({idToken:(a=r.data)==null?void 0:a.idToken,refreshToken:(u=r.data)==null?void 0:u.refreshToken}),r},clearError:()=>e(t=>{t.error=null;}),setUser:t=>e(r=>{r.user=t;}),setIsSignedIn:t=>e(r=>{r.isSignedIn=t;}),setIsInitialized:t=>e(r=>{r.isInitialized=t;}),patchUser:t=>e(r=>{r.user?r.user={...r.user,...t}:r.user=t;}),initialize:()=>{e(t=>{let r=authentication.tokenStorage.getAuthToken();t.isSignedIn=!!r,t.isInitialized=true;});},syncAuthState:()=>{e(t=>{var i,s,a,u;let r=authentication.tokenStorage.getAuthToken(),o=t.isSignedIn;t.isSignedIn=!!r,o!==t.isSignedIn&&(t.isSignedIn?(s=(i=t.eventCallbacks)==null?void 0:i.onAuthStateChange)==null||s.call(i,t.user,true):(u=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||u.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),U=()=>{let e=v(s=>s.user),n=v(s=>s.isSignedIn),t=v(s=>s.isInitialized),r=v(s=>s.isLoading),o=v(s=>s.error),i=v(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var ye=(e,n)=>{let t={...e},r={};try{r=jwtDecode.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},ve=e=>{try{return jwtDecode.jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function B(){let{refreshToken:e,signOut:n}=U(),t=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),n();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>t(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var mo=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:o}=reward.useRewardService(),{updateHeaders:i}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{v.getState().actions.initialize();let s=authentication.tokenStorage.getAuthToken();if(s){e({Authorization:`Bearer ${s}`}),n({Authorization:`Bearer ${s}`}),r({Authorization:`Bearer ${s}`}),o({Authorization:`Bearer ${s}`}),i({Authorization:`Bearer ${s}`});let{user:c}=v.getState();c&&c.accessToken!==s&&v.getState().actions.setUser({...c,accessToken:s});}let a=v.getState().isSignedIn,u=v.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var p,d;if(c!==a)if(a=c,c){let g=authentication.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 P=await apiCore.userService(t).getMyProfile(),k=ye(P,g);v.getState().actions.setUser(k);}catch{v.getState().actions.signOut();}}let{eventCallbacks:C,user:R}=v.getState();(p=C==null?void 0:C.onAuthStateChange)==null||p.call(C,R,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:g}=v.getState();(d=g==null?void 0:g.onAuthStateChange)==null||d.call(g,null,false);}}),l=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:p}=v.getState();if(c){let d=authentication.tokenStorage.getAuthToken();d?(e({Authorization:`Bearer ${d}`}),n({Authorization:`Bearer ${d}`}),r({Authorization:`Bearer ${d}`}),o({Authorization:`Bearer ${d}`}),i({Authorization:`Bearer ${d}`}),p&&p.accessToken!==d&&v.getState().actions.setUser({...p,accessToken:d})):(v.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{u(),l();}},[e,n,r,o,i,t]),null},fo=()=>(B(),null),J=({children:e,baseURL:n,queryClient:t})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsxRuntime.jsx(mo,{}),jsxRuntime.jsx(fo,{}),e]});function Ce(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:u,isLoading:l}=U(),[c,p]=react.useState(null),d=react.useRef(null),g=react.useRef(false),C=react.useRef(null),R=react.useRef(null),_=react.useCallback(async w=>{var T,S;if(w)try{let A=await s(w);if((T=A.data)!=null&&T.idToken&&((S=A.data)!=null&&S.refreshToken)){authentication.tokenStorage.setTokens({idToken:A.data.idToken,refreshToken:A.data.refreshToken});let y=ve(A.data.idToken);a(!0),u(!1),n==null||n(y);}}catch(A){let y=A instanceof Error?A.message:"Token refresh failed";R.current=y,t==null||t(y),u(false);}},[s,a,u,n,t]),P=react.useCallback(()=>{C.current&&(clearInterval(C.current),C.current=null),g.current=false;},[]),k=react.useCallback(w=>{var S;let T=ee.concat((S=window==null?void 0:window.location)==null?void 0:S.origin);if(w.origin!=="*"&&!T.includes(w.origin)){console.warn("Rejected message from untrusted origin:",w.origin);return}if(!w.data||typeof w.data!="object"){console.warn("Invalid message data received");return}if(w.data.type==="LOGIN_SUCCESS"){let{refreshToken:A}=w.data;A&&_(A),g.current=true,P();}else if(w.data.type==="LOGIN_ERROR"){let A=w.data.error||"Login failed";R.current=A,t==null||t(A),u(false),g.current=true,P();}},[_,u,P,t]);react.useEffect(()=>{(async()=>{try{let T=await i();p(T.statusMessage||"");}catch(T){console.error("error",T),p("");}})();},[]);let Me=react.useCallback(()=>{let S=window.screenX+(window.outerWidth-500)/2,A=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let y="Google sign in failed. Please try again later.";R.current=y,t==null||t(y);return}if(R.current=null,u(!0),d.current=window.open(c,"oauthPopup",`width=500,height=600,left=${S},top=${A},resizable,scrollbars`),!d.current){u(!1);let y="Popup blocked. Please allow popups for this site.";R.current=y,r==null||r(),t==null||t(y);return}C.current=setInterval(()=>{if(d.current&&d.current.closed&&(C.current&&(clearInterval(C.current),C.current=null),!g.current)){let y="Authentication popup was closed";R.current=y,o==null||o(),t==null||t(y),u(!1);}},500);}catch(y){let tr=y instanceof Error?y.message:"Google sign in failed";R.current=tr,t==null||t(tr),u(false);}},[i,u,k,t,r,o,c]);return react.useEffect(()=>(window.addEventListener("message",k),()=>{window.removeEventListener("message",k);}),[k]),react.useEffect(()=>()=>{P();},[P]),{signIn:Me,isLoading:l,error:R.current}}function Yr({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let u={"Chip-Authorization":e};re(e),r(u);}},[e,r]);let{data:o,isLoading:i,isError:s,isSuccess:a}=apiCore.useChipScanStory({token:e,id:n});return react.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 Ye=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(Ye||{});var Xe=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),Ze=(e,n,t)=>e.filter(r=>r[n]===t);var ut=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=U(),{environment:i,version:s}=t,[a,u]=react.useState(null),[l,c]=react.useState("");return react.useEffect(()=>{(async()=>{let d=await V();c(d);})();},[]),react.useEffect(()=>{(async()=>{try{let d=await V();u({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":d}},responseInterceptors:{onFulfilled:P=>P,onRejected:async P=>{var w,T,S;let k=P.config,Me=authentication.tokenStorage.getAuthToken();if(((w=P.response)==null?void 0:w.status)===401&&!k._retry){let A=parseInt(helpers.getFromLS(x)||"0",10);if(A>=3)return await r(),helpers.setToLS(x,0),Promise.reject(P);if(helpers.setToLS(x,`${A+1}`),k._retry=!0,Me)try{let y=await o();if((T=y==null?void 0:y.data)!=null&&T.idToken)return k.headers.Authorization=`Bearer ${(S=y==null?void 0:y.data)==null?void 0:S.idToken}`,To__default.default(k)}catch(y){return console.error("Failed to refresh token:",y),await r(),Promise.reject(y)}}}},requestInterceptors:{onFulfilled:P=>P,onRejected:P=>Promise.reject(P)},useDevTool:!0});}catch(d){console.error(d);}})();},[n]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${I[i].API_BASE_URL}/${s}`,baseCoreURL:`${I[i].API_BASE_CORE_URL}/${s}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${I[i].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${I[i].API_ACHIEVEMENT_URL}/${s}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${I[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:jsxRuntime.jsx(phygitalConsent.PhygitalConsentProvider,{deviceId:l,queryClient:a.queryClient,axiosConfig:a.axiosConfig,requestInterceptors:a.requestInterceptors,responseInterceptors:a.responseInterceptors,baseURL:`${I[i].API_CONSENT_URL}/v1`,children:e})})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var lt=({children:e,queryClient:n,apiConfig:t})=>{let{environment:r}=t,o=react.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 jsxRuntime.jsx(W,{config:o,children:jsxRuntime.jsx(ut,{queryClient:n,apiConfig:t,children:jsxRuntime.jsx(J,{baseURL:`${I[r].API_BASE_URL}`,queryClient:n,children:e})})})};function _o(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,u;let i=((a=t[o])==null?void 0:a[0])||null,s=((u=r.subAchievementIds)==null?void 0:u.map((l,c)=>{var d,g;let p=((g=t[o*(((d=r.subAchievementIds)==null?void 0:d.length)||0)+c+1])==null?void 0:g[0])||null;return {id:l,reward_model:p}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var Lo=({campaignId:e})=>{let{data:n,isLoading:t}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>n!=null&&n.data?n.data.map(u=>u.groupRewardId).filter(u=>u!==void 0):[],[n==null?void 0:n.data]),{mutate:o,data:i,isPending:s}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&o({group_reward_ids:r});},[r,o]),{mappedAchievements:react.useMemo(()=>!(i!=null&&i.data)||!(n!=null&&n.data)?[]:_o(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},_e=Lo;var rr=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(rr||{});m(Le,h);
2
- Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateClickButtonActionLog",{enumerable:true,get:function(){return apiCore.useCreateClickButtonActionLog}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievementProgressCore",{enumerable:true,get:function(){return achievement.useManyAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsByLocation",{enumerable:true,get:function(){return achievement.useManyAchievementsByLocation}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return An.useDefaultServiceGetPollStats}});Object.defineProperty(exports,"useDefaultServicePostPoll",{enumerable:true,get:function(){return An.useDefaultServicePostPoll}});Object.defineProperty(exports,"useNotificationRewardHandler",{enumerable:true,get:function(){return An.useNotificationRewardHandler}});Object.defineProperty(exports,"useNotificationStore",{enumerable:true,get:function(){return An.useNotificationStore}});Object.defineProperty(exports,"usePageVisibility",{enumerable:true,get:function(){return An.usePageVisibility}});Object.defineProperty(exports,"useTCVNotificationRewardHandler",{enumerable:true,get:function(){return An.useTCVNotificationRewardHandler}});Object.defineProperty(exports,"useWebSocket",{enumerable:true,get:function(){return An.useWebSocket}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useAddFrame",{enumerable:true,get:function(){return generateCertificate.useAddFrame}});Object.defineProperty(exports,"useCreateCertificate",{enumerable:true,get:function(){return generateCertificate.useCreateCertificate}});Object.defineProperty(exports,"useCreateCertificateAnonymous",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateAnonymous}});Object.defineProperty(exports,"useCreateCertificateWithMask",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateWithMask}});Object.defineProperty(exports,"useGenerateFansipanCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateFansipanCertificate}});Object.defineProperty(exports,"useGenerateTemplateCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateTemplateCertificate}});Object.defineProperty(exports,"useGenerateThaocamvienCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateThaocamvienCertificate}});Object.defineProperty(exports,"wrapTextWithFont",{enumerable:true,get:function(){return generateCertificate.wrapTextWithFont}});Object.defineProperty(exports,"CookieConsentBanner",{enumerable:true,get:function(){return phygitalConsent.CookieConsentBanner}});Object.defineProperty(exports,"PhygitalConsentProvider",{enumerable:true,get:function(){return phygitalConsent.PhygitalConsentProvider}});Object.defineProperty(exports,"usePhygitalConsent",{enumerable:true,get:function(){return phygitalConsent.usePhygitalConsent}});Object.defineProperty(exports,"cn",{enumerable:true,get:function(){return helpers.cn}});Object.defineProperty(exports,"fileToBase64",{enumerable:true,get:function(){return helpers.fileToBase64}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return helpers.parse}});exports.ALLOWED_ORIGINS=ee;exports.AchievementTrackingProvider=We;exports.AchievementType=Y;exports.AuthProvider=J;exports.CALLBACK_URL=Z;exports.Environment=rr;exports.NotificationProvider=ie;exports.RewardClaimStatus=He;exports.SessionReplayProvider=W;exports.TapquestCoreProvider=lt;exports.TaskType=Ye;exports.TrackerContext=N;exports.accessTokenKey=b;exports.checkDeviceUid=V;exports.chipAuthTokenKey=G;exports.convertSnakeToCamel=L;exports.decodeJWTToken=ve;exports.deviceUIDKey=D;exports.filterLocationsByProperty=Ze;exports.generateDeviceId=Ge;exports.getAccessToken=Cr;exports.getActionsFromAchievementRule=z;exports.getChipAuthToken=vr;exports.getDeviceUid=K;exports.getLocationIdsFromAchievementRule=ir;exports.getRefreshToken=Tr;exports.getRetryAttemptsRefreshToken=Rr;exports.getSessionUserId=_r;exports.getSurveyIdsFromAchievementRule=sr;exports.getUserInfo=xr;exports.httpMaxRetries=X;exports.isAchievementCompleted=q;exports.isBrowser=te;exports.refreshTokenKey=O;exports.removeAccessToken=kr;exports.removeChipAuthToken=Ar;exports.removeDeviceUid=yr;exports.removeRefreshToken=Sr;exports.removeUserInfo=Ur;exports.retryAttemptsRefreshToken=x;exports.setAccessToken=wr;exports.setChipAuthToken=re;exports.setDeviceUid=Ne;exports.setRefreshToken=Ir;exports.setRetryAttemptsRefreshToken=Pr;exports.setUserInfo=Er;exports.sortLocationsByIndex=Xe;exports.transformProtoUserData=ye;exports.useAchievementTracking=$e;exports.useAchivementPlusRewardModel=_e;exports.useAuth=U;exports.useAuthStore=v;exports.useClearAchievementProgressCache=Oe;exports.useDataTracking=ne;exports.useGoogleLogin=Ce;exports.useManyAchievementProgress=fr;exports.useScanChip=Yr;exports.useSessionReplay=$;exports.useTokenRefresher=B;exports.userInfoKey=M;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var apiCore=require('@phygitallabs/api-core'),achievement=require('@phygitallabs/achievement'),reactQuery=require('@tanstack/react-query'),react=require('react'),oe=require('posthog-js'),uuid=require('uuid'),jsxRuntime=require('react/jsx-runtime'),An=require('@phygitallabs/notification-api'),reward=require('@phygitallabs/reward'),authentication=require('@phygitallabs/authentication'),zustand=require('zustand'),immer=require('zustand/middleware/immer'),middleware=require('zustand/middleware'),jwtDecode=require('jwt-decode'),generateCertificate=require('@phygitallabs/generate-certificate'),phygitalConsent=require('@phygitallabs/phygital-consent'),helpers=require('@phygitallabs/helpers'),To=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var oe__default=/*#__PURE__*/_interopDefault(oe);var An__namespace=/*#__PURE__*/_interopNamespace(An);var To__default=/*#__PURE__*/_interopDefault(To);var nr=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var wt=Object.prototype.hasOwnProperty;var be=(e,n)=>{for(var t in n)nr(e,t,{get:n[t],enumerable:true});},or=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ct(n))!wt.call(e,o)&&o!==t&&nr(e,o,{get:()=>n[o],enumerable:!(r=Pt(n,o))||r.enumerable});return e},m=(e,n,t)=>(or(e,n,"default"),t);var Le={};be(Le,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>$e,AchievementType:()=>Y,AuthProvider:()=>J,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,CookieConsentBanner:()=>phygitalConsent.CookieConsentBanner,Environment:()=>rr,NotificationProvider:()=>ie,PhygitalConsentProvider:()=>phygitalConsent.PhygitalConsentProvider,RewardClaimStatus:()=>He,SessionReplayProvider:()=>$,TapquestCoreProvider:()=>lt,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>W,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ve,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Cr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>vr,getDeviceUid:()=>V,getLocationIdsFromAchievementRule:()=>ir,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>sr,getUserInfo:()=>xr,httpMaxRetries:()=>X,isAchievementCompleted:()=>K,isBrowser:()=>te,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>kr,removeChipAuthToken:()=>Ar,removeDeviceUid:()=>yr,removeRefreshToken:()=>Ir,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>wr,setChipAuthToken:()=>re,setDeviceUid:()=>Ne,setRefreshToken:()=>Sr,setRetryAttemptsRefreshToken:()=>Pr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ye,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>qe,useAchivementPlusRewardModel:()=>_e,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ne,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>Ce,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>fr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>An.usePageVisibility,usePhygitalConsent:()=>phygitalConsent.usePhygitalConsent,useScanChip:()=>Yr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>q,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useTokenRefresher:()=>B,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>An.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});var h={};be(h,{ALLOWED_ORIGINS:()=>ee,AchievementRuleActionType:()=>achievement.AchievementRuleActionType,AchievementServiceProvider:()=>achievement.AchievementServiceProvider,AchievementTrackingProvider:()=>$e,AchievementType:()=>Y,AuthProvider:()=>J,CALLBACK_URL:()=>Z,CampaignState:()=>apiCore.CampaignState,CmentityRewardType:()=>reward.CmentityRewardType,CookieConsentBanner:()=>phygitalConsent.CookieConsentBanner,Environment:()=>rr,NotificationProvider:()=>ie,PhygitalConsentProvider:()=>phygitalConsent.PhygitalConsentProvider,RewardClaimStatus:()=>He,SessionReplayProvider:()=>$,TapquestCoreProvider:()=>lt,TaskType:()=>Ye,TrackerContext:()=>N,UserSourceType:()=>apiCore.UserSourceType,accessTokenKey:()=>b,checkDeviceUid:()=>W,chipAuthTokenKey:()=>G,cn:()=>helpers.cn,convertSnakeToCamel:()=>L,decodeJWTToken:()=>ve,deviceUIDKey:()=>D,fileToBase64:()=>helpers.fileToBase64,filterLocationsByProperty:()=>Ze,generateDeviceId:()=>Ge,getAccessToken:()=>Cr,getActionsFromAchievementRule:()=>z,getChipAuthToken:()=>vr,getDeviceUid:()=>V,getLocationIdsFromAchievementRule:()=>ir,getRefreshToken:()=>Tr,getRetryAttemptsRefreshToken:()=>Rr,getSessionUserId:()=>_r,getSurveyIdsFromAchievementRule:()=>sr,getUserInfo:()=>xr,httpMaxRetries:()=>X,isAchievementCompleted:()=>K,isBrowser:()=>te,locationQueryKeys:()=>apiCore.locationQueryKeys,memoriesKey:()=>apiCore.memoriesKey,parse:()=>helpers.parse,refreshTokenKey:()=>O,removeAccessToken:()=>kr,removeChipAuthToken:()=>Ar,removeDeviceUid:()=>yr,removeRefreshToken:()=>Ir,removeUserInfo:()=>Ur,resetMemoriesQuery:()=>apiCore.resetMemoriesQuery,retryAttemptsRefreshToken:()=>x,setAccessToken:()=>wr,setChipAuthToken:()=>re,setDeviceUid:()=>Ne,setRefreshToken:()=>Sr,setRetryAttemptsRefreshToken:()=>Pr,setUserInfo:()=>Er,sortLocationsByIndex:()=>Xe,transformProtoUserData:()=>ye,useAchievementProgress:()=>achievement.useAchievementProgress,useAchievementTracking:()=>qe,useAchivementPlusRewardModel:()=>_e,useAddFrame:()=>generateCertificate.useAddFrame,useAuth:()=>U,useAuthStore:()=>v,useCampaignDetail:()=>apiCore.useOneCampaign,useCancelUserRewardsRequest:()=>apiCore.useCancelUserRewardsRequest,useChipScanStory:()=>apiCore.useChipScanStory,useClaimUserReward:()=>reward.useClaimUserReward,useClearAchievementProgressCache:()=>Oe,useClearUserRewardCache:()=>reward.useClearUserRewardCache,useCreateCertificate:()=>generateCertificate.useCreateCertificate,useCreateCertificateAnonymous:()=>generateCertificate.useCreateCertificateAnonymous,useCreateCertificateWithMask:()=>generateCertificate.useCreateCertificateWithMask,useCreateClickButtonActionLog:()=>apiCore.useCreateClickButtonActionLog,useCreateMemory:()=>apiCore.useCreateMemory,useCreateModelGroupReward:()=>reward.useCreateModelGroupReward,useCreateRewardModel:()=>reward.useCreateRewardModel,useDataTracking:()=>ne,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useDeleteRewardModel:()=>reward.useDeleteRewardModel,useGenerateFansipanCertificate:()=>generateCertificate.useGenerateFansipanCertificate,useGenerateTemplateCertificate:()=>generateCertificate.useGenerateTemplateCertificate,useGenerateThaocamvienCertificate:()=>generateCertificate.useGenerateThaocamvienCertificate,useGetRewardModel:()=>reward.useGetRewardModel,useGetUserRewards:()=>reward.useGetUserRewards,useGoogleLogin:()=>Ce,useInfiniteMemories:()=>apiCore.useInfiniteMemories,useListRewardModels:()=>reward.useListRewardModels,useLocationDetail:()=>apiCore.useOneLocation,useLocationProgress:()=>apiCore.useUserCampaignsCompletedLocation,useLocationsList:()=>apiCore.useManyLocations,useManyAchievementProgress:()=>fr,useManyAchievementProgressCore:()=>achievement.useManyAchievementProgress,useManyAchievements:()=>achievement.useManyAchievements,useManyAchievementsByLocation:()=>achievement.useManyAchievementsByLocation,useManyAchievementsRewardModels:()=>achievement.useManyAchievementsRewardModels,useManyChildrenAchievements:()=>achievement.useManyChildrenAchievements,useManyMemory:()=>apiCore.useManyMemory,useManyUserActionLocations:()=>apiCore.useManyUserActionLocations,useManyUserRewards:()=>reward.useManyUserRewards,useMyProfile:()=>apiCore.useMyProfile,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,useOneAchievement:()=>achievement.useOneAchievement,useOneMemory:()=>apiCore.useOneMemory,useOneUserCampaign:()=>apiCore.useOneUserCampaign,usePGLCoreService:()=>apiCore.usePGLCoreService,usePageVisibility:()=>An.usePageVisibility,usePhygitalConsent:()=>phygitalConsent.usePhygitalConsent,useScanChip:()=>Yr,useSendEmail:()=>apiCore.useSendEmail,useSessionReplay:()=>q,useSyncCheckin:()=>apiCore.useSyncCheckin,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useTokenRefresher:()=>B,useUpdateMyProfile:()=>apiCore.useUpdateMyProfile,useUpdateRewardModel:()=>reward.useUpdateRewardModel,useUploadMedia:()=>apiCore.useUploadMedia,useUserAchievementAction:()=>achievement.useUserAchievementAction,useUserCampaignAction:()=>apiCore.useUserCampaignAction,useV1ListRewards:()=>reward.useV1ListRewards,useWebSocket:()=>An.useWebSocket,userInfoKey:()=>M,wrapTextWithFont:()=>generateCertificate.wrapTextWithFont});function Oe(){let e=reactQuery.useQueryClient();return {clearCache:react.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 ir=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))},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==="survey_id"&&i.value&&(Array.isArray(i.value)?n.push(...i.value):n.push(i.value));});});});}),Array.from(new Set(n))},z=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))},K=e=>e.isCompleted||e.overallPercentage===100;function L(e){if(e==null)return e;if(Array.isArray(e))return e.map(n=>L(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]=L(e[t]);}return n}return e}var fr=(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?achievement.useManyAchievementProgress(r,{...n,select:o=>o.map(i=>({...i,isCompleted:K(i)}))}):apiCore.useManyAchievementProgressByDevice(r,{...n,select:o=>L(o).map(s=>({...s,isCompleted:K(s)}))})};var Y=(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))(Y||{});var M="phygital-user-info",b="accessToken",O="refreshToken",X=3,x="retryAttemptsRefreshToken",D="Device-UID",G="chip-auth-token",Z="https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html",ee=["https://s3-sgn10.fptcloud.com","https://accounts.google.com/"];var Ge=async()=>{try{return await xt()}catch(e){return console.error("Error generating device fingerprint:",e),uuid.v4()}},xt=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 V=()=>typeof window=="undefined"?null:localStorage.getItem(D),Ne=e=>{typeof window!="undefined"&&localStorage.setItem(D,e);},yr=()=>{typeof window!="undefined"&&localStorage.removeItem(D);},W=async()=>{let e=V();return e||(e=await Ge(),Ne(e)),e},vr=()=>typeof window=="undefined"?null:localStorage.getItem(G),re=e=>{typeof window!="undefined"&&localStorage.setItem(G,e);},Ar=()=>{typeof window!="undefined"&&localStorage.removeItem(G);},Rr=()=>typeof window=="undefined"?null:localStorage.getItem(x),Pr=e=>{typeof window!="undefined"&&localStorage.setItem(x,e);},Cr=()=>typeof window=="undefined"?null:localStorage.getItem(b),wr=e=>{typeof window!="undefined"&&localStorage.setItem(b,e);},kr=()=>{typeof window!="undefined"&&localStorage.removeItem(b);},Tr=()=>typeof window=="undefined"?null:localStorage.getItem(O),Sr=e=>{typeof window!="undefined"&&localStorage.setItem(O,e);},Ir=()=>{typeof window!="undefined"&&localStorage.removeItem(O);},xr=()=>{if(typeof window=="undefined")return null;let e=localStorage.getItem(M);if(!e)return null;try{return JSON.parse(e)}catch(n){return console.error("Failed to parse stored user data:",n),null}},Er=e=>{typeof window!="undefined"&&localStorage.setItem(M,JSON.stringify(e));},Ur=()=>{typeof window!="undefined"&&localStorage.removeItem(M);};var _r=e=>e||V(),te=()=>typeof window!="undefined";var N=react.createContext(null);function Mt(){return uuid.v4()}async function bt(e){var n,t,r,o,i,s,a;try{let u=(await import('@openreplay/tracker')).default,l=e!=null&&e.userIdEnabled&&(e!=null&&e.getUserId)?e.getUserId:Mt,c={projectKey:(e==null?void 0:e.projectKey)||process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY,ingestPoint:e==null?void 0:e.ingestPoint,captureExceptions:(n=e.captureExceptions)!=null?n:!0,capturePerformance:(t=e.capturePerformance)!=null?t:!0,network:e.network||{capturePayload:!0,sanitizer:d=>d},console:e.console||{levels:["error","warn","log"]},obscureTextEmails:(r=e.obscureTextEmails)!=null?r:!0,obscureTextNumbers:(o=e.obscureTextNumbers)!=null?o:!1,obscureInputEmails:(i=e.obscureInputEmails)!=null?i:!0,__DISABLE_SECURE_MODE:(a=e.__DISABLE_SECURE_MODE)!=null?a:typeof process!="undefined"&&((s=process.env)==null?void 0:s.NODE_ENV)==="development"},p=new u(c);if(e!=null&&e.userIdEnabled){let d=l();p.setUserID(d),console.log("User ID set:",d);}return console.log("OpenReplay tracker initialized"),console.log("Project Key:",c.projectKey),console.log("Ingest Point:",c.ingestPoint),p}catch(u){throw console.error("Failed to create tracker:",u),u}}function Ot(e,n){let{debug:t=false}=e.config;switch(n.type){case "init":return !e.tracker&&te()?!e.config.projectKey&&!process.env.NEXT_PUBLIC_OPENREPLAY_PROJECT_KEY?(console.warn(t,"Project key not found. Skipping session replay initialization."),e):{...e,tracker:bt(e.config)}:e;case "start":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.start(),console.log(t,"Session replay tracker started");}).catch(r=>{console.error("Failed to start tracker:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setUserId":return e.tracker?Promise.resolve(e.tracker).then(r=>{r.setUserID(n.payload),console.log(t,"User ID updated:",n.payload);}).catch(r=>{console.error("Failed to set user ID:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;case "setMetadata":return e.tracker?Promise.resolve(e.tracker).then(r=>{var o;(o=Object.entries(n.payload||{}))==null||o.forEach(([i,s])=>{r.setMetadata(i,s);}),console.log(t,"Metadata updated:",n.payload.metadata);}).catch(r=>{console.error("Failed to set metadata:",r);}):console.warn(t,"Tracker not initialized. Call initTracker() first."),e;default:return e}}var $=({children:e,config:n={}})=>{let[,t]=react.useReducer(Ot,{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 react.useEffect(()=>{r(),o();},[]),jsxRuntime.jsx(N.Provider,{value:{initTracker:r,startTracking:o,setUserId:i,setMetadata:s},children:e})};function q(){let e=react.useContext(N);if(!e)throw new Error("useSessionReplay must be used within a SessionReplayProvider. Make sure your component is wrapped with <SessionReplayProvider>.");return e}var Nt=(e,n)=>{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,...n});}catch(t){console.error(t);}},Bt=(e,n)=>{if(typeof gtag!="function"){console.error("gtag is not a function");return}gtag("event",e,n);},Ft=(e,n)=>{oe__default.default.capture(e,n);};function ne(){let{setUserId:e,setMetadata:n}=q();return {trackEvent:(i,s,a)=>{console.log("trackEvent ",i,s),a=a||["gtm"],a.includes("gtm")&&typeof window!="undefined"&&Nt(i,s),a.includes("ga")&&typeof gtag=="function"&&Bt(i,s),a.includes("posthog")&&typeof oe__default.default=="function"&&Ft(i,s);},trackUserIdentify:i=>{oe__default.default.identify(i.email,{email:i.email,name:i.name,avatar:i.avatar,uid:i.uid}),e(i.id),n({user_email:i.email});},trackLogoutEvent:()=>{oe__default.default.capture("user_signed_out");}}}var f={};be(f,{NotificationProvider:()=>ie,useDefaultServiceGetPollStats:()=>An.useDefaultServiceGetPollStats,useDefaultServicePostPoll:()=>An.useDefaultServicePostPoll,useNotificationRewardHandler:()=>An.useNotificationRewardHandler,useNotificationStore:()=>An.useNotificationStore,usePageVisibility:()=>An.usePageVisibility,useTCVNotificationRewardHandler:()=>An.useTCVNotificationRewardHandler,useWebSocket:()=>An.useWebSocket});m(f,An__namespace);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"}},S=zt;var ie=({children:e,autoConnect:n=true,environment:t="dev",user:r,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s})=>{var u,l;let a=(u=S[t])==null?void 0:u.API_NOTIFICATION_SOCKET_URL;return jsxRuntime.jsx(An.NotificationProvider,{userUid:r==null?void 0:r.id,accessToken:(l=r==null?void 0:r.accessToken)!=null?l:null,webSocketUrl:a,autoConnect:n,onWebSocketOpen:o,onWebSocketClose:i,onWebSocketMessage:s,children:e})};var Mr=react.createContext(void 0);function $e({children:e,achievements:n}){let{trackEvent:t}=ne(),r=react.useRef(new Set),{challenges:o,quests:i}=react.useMemo(()=>{let c=[],p=[];return n.forEach(d=>{d.type==="group_mission"?p.push(d):c.push(d);}),{challenges:c,quests:p}},[n]);react.useEffect(()=>{let c=An.useNotificationStore.subscribe(p=>{var _;let d=p.notifications;if(d.length===0)return;let g=d[d.length-1];if(!((_=g==null?void 0:g.data)!=null&&_.achievement))return;let C=`${g.data.achievement.id}_${Date.now()}`;if(r.current.has(C))return;r.current.add(C);let R=g.data.achievement;if(R.type==="group_mission")t("quest_complete",{quest_id:R.id,quest_name:R.name});else {let k=z(R)[0]||"unknown";t("challenge_complete",{challenge_id:R.id,challenge_name:R.name,challenge_type:k});}});return ()=>{c();}},[t]);let s=react.useCallback(c=>{let p=o.filter(d=>z(d).includes(c));if(p.length===0){console.error(`[AchievementTracking] No achievement found for action: ${c}`);return}p.forEach(d=>{t("challenge_start",{challenge_id:d.id,challenge_name:d.name,challenge_type:c});});},[o,t]),a=react.useCallback(()=>{if(i.length===0){console.error("[AchievementTracking] No quests found");return}i.forEach(c=>{t("quest_start",{quest_id:c.id,quest_name:c.name});});},[i,t]),u=n.length>0,l={trackChallengeStart:s,trackQuestStart:a,isReady:u};return jsxRuntime.jsx(Mr.Provider,{value:l,children:e})}function qe(){let e=react.useContext(Mr);if(!e)throw new Error("useAchievementTracking must be used within AchievementTrackingProvider");return e}var He=(o=>(o.NOT_CLAIMED="not_claimed",o.CLAIMED="claimed",o.IN_PROGRESS="in_progress",o.FAILED="failed",o))(He||{});m(h,f);var to={user:null,isSignedIn:false,isInitialized:false,isLoading:false,error:null,cleanupFunctions:{},eventCallbacks:{}},v=zustand.create()(middleware.devtools(middleware.persist(middleware.subscribeWithSelector(immer.immer((e,n)=>({...to,actions:{setIsLoading:t=>e(r=>{r.isLoading=t;}),setCleanupFunctions:t=>e(r=>{r.cleanupFunctions={...r.cleanupFunctions,...t};}),addEventCallbacks:t=>(e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};}),()=>{e(r=>{r.eventCallbacks={...r.eventCallbacks,...t};});}),signInWithEmail:async(t,r)=>{var i,s,a,u;let{eventCallbacks:o}=n();e(l=>{l.isLoading=true,l.error=null;});try{let l=await authentication.authService.signIn({email:t,password:r});return (i=l==null?void 0:l.data)!=null&&i.idToken&&((s=l==null?void 0:l.data)!=null&&s.refreshToken)&&(authentication.tokenStorage.setTokens({idToken:l.data.idToken,refreshToken:l.data.refreshToken}),e(c=>{c.isSignedIn=!0;}),(a=o.onLoginSuccess)==null||a.call(o,l.data.idToken)),l}catch(l){let c=l instanceof Error?l.message:"Login failed";throw e(p=>{p.error=c;}),(u=o.onLoginError)==null||u.call(o,new Error(c)),l}finally{e(l=>{l.isLoading=false;});}},signInWithGoogle:async()=>{var r;let{eventCallbacks:t}=n();try{let o=Z;return await authentication.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 authentication.authService.signUp({email:t,password:r});return a.data&&((i=o.onSignupSuccess)==null||i.call(o)),a}catch(a){let u=a instanceof Error?a.message:"Signup failed";throw e(l=>{l.error=u;}),(s=o.onSignupError)==null||s.call(o,new Error(u)),a}finally{e(a=>{a.isLoading=false,a.user=null,a.isSignedIn=false;});}},signOut:async()=>{var o,i,s,a,u,l;let{eventCallbacks:t,cleanupFunctions:r}=n();e(c=>{c.isLoading=true,c.error=null;});try{e(d=>{d.user=null,d.isSignedIn=!1,d.error=null;});let c=authentication.tokenStorage.getRefreshToken();if(authentication.tokenStorage.isTokenExpired()||!c){authentication.tokenStorage.clearTokens();return}await authentication.authService.logout({refreshToken:c}),authentication.tokenStorage.clearTokens();try{(o=r.clearQueryCache)==null||o.call(r),(i=r.clearOrganization)==null||i.call(r),(s=r.clearCustomData)==null||s.call(r),(a=r.clearHeaders)==null||a.call(r);}catch(d){console.warn("Error during logout cleanup:",d);}(u=t.onLogoutSuccess)==null||u.call(t);}catch(c){console.log(c);let p=c instanceof Error?c.message:"Logout failed";throw e(d=>{d.error=p;}),(l=t.onLogoutError)==null||l.call(t,new Error(p)),c}finally{e(c=>{c.isLoading=false;});}},sendPasswordResetEmail:async t=>{e(r=>{r.isLoading=true,r.error=null;});try{await authentication.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 authentication.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 authentication.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 authentication.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 authentication.verifyCodeService.sendVerifyCode(t)}catch(r){let o=r instanceof Error?r.message:"Failed to send verify code";throw e(i=>{i.error=o;}),r}finally{e(r=>{r.isLoading=false;});}},refreshToken:async t=>{var o,i,s,a,u;let r=await authentication.authService.refreshToken({refreshToken:(o=t!=null?t:authentication.tokenStorage.getRefreshToken())!=null?o:""});return (i=r.data)!=null&&i.idToken&&((s=r.data)!=null&&s.refreshToken)&&authentication.tokenStorage.setTokens({idToken:(a=r.data)==null?void 0:a.idToken,refreshToken:(u=r.data)==null?void 0:u.refreshToken}),r},clearError:()=>e(t=>{t.error=null;}),setUser:t=>e(r=>{r.user=t;}),setIsSignedIn:t=>e(r=>{r.isSignedIn=t;}),setIsInitialized:t=>e(r=>{r.isInitialized=t;}),patchUser:t=>e(r=>{r.user?r.user={...r.user,...t}:r.user=t;}),initialize:()=>{e(t=>{let r=authentication.tokenStorage.getAuthToken();t.isSignedIn=!!r,t.isInitialized=true;});},syncAuthState:()=>{e(t=>{var i,s,a,u;let r=authentication.tokenStorage.getAuthToken(),o=t.isSignedIn;t.isSignedIn=!!r,o!==t.isSignedIn&&(t.isSignedIn?(s=(i=t.eventCallbacks)==null?void 0:i.onAuthStateChange)==null||s.call(i,t.user,true):(u=(a=t.eventCallbacks)==null?void 0:a.onAuthStateChange)==null||u.call(a,null,false));});}}}))),{version:1,name:"auth-store",storage:middleware.createJSONStorage(()=>localStorage),partialize:e=>({isSignedIn:e.isSignedIn,user:e.user})}))),U=()=>{let e=v(s=>s.user),n=v(s=>s.isSignedIn),t=v(s=>s.isInitialized),r=v(s=>s.isLoading),o=v(s=>s.error),i=v(s=>s.actions);return {user:e,isSignedIn:n,isInitialized:t,isLoading:r,error:o,...i}};var ye=(e,n)=>{let t={...e},r={};try{r=jwtDecode.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},ve=e=>{try{return jwtDecode.jwtDecode(e)}catch(n){return console.warn("Failed to decode token in decodeJWTToken:",n),null}};function B(){let{refreshToken:e,signOut:n}=U(),t=async()=>{try{if(!authentication.tokenStorage.isTokenExpired())return;await e();}catch(r){console.error("Failed to refresh token:",r),n();}};reactQuery.useQuery({queryKey:["refresh-token"],queryFn:()=>t(),refetchInterval:1800*1e3,refetchIntervalInBackground:false,refetchOnWindowFocus:true,retry:false,enabled:!!authentication.tokenStorage.getAuthToken()});}var mo=()=>{let{updateHeaders:e}=authentication.useAuthenticationHeaders(),{updateHeaders:n,coreApi:t}=apiCore.usePGLCoreService(),{updateHeaders:r}=achievement.useAchievementService(),{updateHeaders:o}=reward.useRewardService(),{updateHeaders:i}=generateCertificate.useGenerateCertificateService();return react.useEffect(()=>{v.getState().actions.initialize();let s=authentication.tokenStorage.getAuthToken();if(s){e({Authorization:`Bearer ${s}`}),n({Authorization:`Bearer ${s}`}),r({Authorization:`Bearer ${s}`}),o({Authorization:`Bearer ${s}`}),i({Authorization:`Bearer ${s}`});let{user:c}=v.getState();c&&c.accessToken!==s&&v.getState().actions.setUser({...c,accessToken:s});}let a=v.getState().isSignedIn,u=v.subscribe(c=>[c.isSignedIn,c.user],async([c])=>{var p,d;if(c!==a)if(a=c,c){let g=authentication.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 P=await apiCore.userService(t).getMyProfile(),k=ye(P,g);v.getState().actions.setUser(k);}catch{v.getState().actions.signOut();}}let{eventCallbacks:C,user:R}=v.getState();(p=C==null?void 0:C.onAuthStateChange)==null||p.call(C,R,true);}else {e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""});let{eventCallbacks:g}=v.getState();(d=g==null?void 0:g.onAuthStateChange)==null||d.call(g,null,false);}}),l=authentication.tokenStorage.addTokenChangeListener(async()=>{let{isSignedIn:c,user:p}=v.getState();if(c){let d=authentication.tokenStorage.getAuthToken();d?(e({Authorization:`Bearer ${d}`}),n({Authorization:`Bearer ${d}`}),r({Authorization:`Bearer ${d}`}),o({Authorization:`Bearer ${d}`}),i({Authorization:`Bearer ${d}`}),p&&p.accessToken!==d&&v.getState().actions.setUser({...p,accessToken:d})):(v.getState().actions.signOut(),e({}),n({}),r({Authorization:""}),o({Authorization:""}),i({Authorization:""}));}});return ()=>{u(),l();}},[e,n,r,o,i,t]),null},fo=()=>(B(),null),J=({children:e,baseURL:n,queryClient:t})=>jsxRuntime.jsxs(authentication.AuthenticationProvider,{axiosConfig:{headers:{"Content-Type":"application/json"}},baseURL:n,queryClient:t,children:[jsxRuntime.jsx(mo,{}),jsxRuntime.jsx(fo,{}),e]});function Ce(e={}){let{onSuccess:n,onError:t,onPopupBlocked:r,onPopupClosed:o}=e,{signInWithGoogle:i,refreshToken:s,setIsSignedIn:a,setIsLoading:u,isLoading:l}=U(),[c,p]=react.useState(null),d=react.useRef(null),g=react.useRef(false),C=react.useRef(null),R=react.useRef(null),_=react.useCallback(async w=>{var T,I;if(w)try{let A=await s(w);if((T=A.data)!=null&&T.idToken&&((I=A.data)!=null&&I.refreshToken)){authentication.tokenStorage.setTokens({idToken:A.data.idToken,refreshToken:A.data.refreshToken});let y=ve(A.data.idToken);a(!0),u(!1),n==null||n(y);}}catch(A){let y=A instanceof Error?A.message:"Token refresh failed";R.current=y,t==null||t(y),u(false);}},[s,a,u,n,t]),P=react.useCallback(()=>{C.current&&(clearInterval(C.current),C.current=null),g.current=false;},[]),k=react.useCallback(w=>{var I;let T=ee.concat((I=window==null?void 0:window.location)==null?void 0:I.origin);if(w.origin!=="*"&&!T.includes(w.origin)){console.warn("Rejected message from untrusted origin:",w.origin);return}if(!w.data||typeof w.data!="object"){console.warn("Invalid message data received");return}if(w.data.type==="LOGIN_SUCCESS"){let{refreshToken:A}=w.data;A&&_(A),g.current=true,P();}else if(w.data.type==="LOGIN_ERROR"){let A=w.data.error||"Login failed";R.current=A,t==null||t(A),u(false),g.current=true,P();}},[_,u,P,t]);react.useEffect(()=>{(async()=>{try{let T=await i();p(T.statusMessage||"");}catch(T){console.error("error",T),p("");}})();},[]);let Me=react.useCallback(()=>{let I=window.screenX+(window.outerWidth-500)/2,A=window.screenY+(window.outerHeight-600)/2;try{if(c===null)return;if(c===""){let y="Google sign in failed. Please try again later.";R.current=y,t==null||t(y);return}if(R.current=null,u(!0),d.current=window.open(c,"oauthPopup",`width=500,height=600,left=${I},top=${A},resizable,scrollbars`),!d.current){u(!1);let y="Popup blocked. Please allow popups for this site.";R.current=y,r==null||r(),t==null||t(y);return}C.current=setInterval(()=>{if(d.current&&d.current.closed&&(C.current&&(clearInterval(C.current),C.current=null),!g.current)){let y="Authentication popup was closed";R.current=y,o==null||o(),t==null||t(y),u(!1);}},500);}catch(y){let tr=y instanceof Error?y.message:"Google sign in failed";R.current=tr,t==null||t(tr),u(false);}},[i,u,k,t,r,o,c]);return react.useEffect(()=>(window.addEventListener("message",k),()=>{window.removeEventListener("message",k);}),[k]),react.useEffect(()=>()=>{P();},[P]),{signIn:Me,isLoading:l,error:R.current}}function Yr({token:e,id:n,onScanChipError:t}){let{updateHeaders:r}=apiCore.usePGLCoreService();react.useEffect(()=>{if(e){let u={"Chip-Authorization":e};re(e),r(u);}},[e,r]);let{data:o,isLoading:i,isError:s,isSuccess:a}=apiCore.useChipScanStory({token:e,id:n});return react.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 Ye=(o=>(o.CHECK_IN="check_in",o.CREATE_MEMORY="create_memory",o.FILL_FORM="fill_form",o.SHARE="share",o))(Ye||{});var Xe=e=>[...e].sort((n,t)=>{var r,o;return ((r=n.index)!=null?r:0)-((o=t.index)!=null?o:0)}),Ze=(e,n,t)=>e.filter(r=>r[n]===t);var ut=({children:e,queryClient:n,apiConfig:t={environment:"dev",version:"v1"}})=>{let{signOut:r,refreshToken:o}=U(),{environment:i,version:s}=t,[a,u]=react.useState(null),[l,c]=react.useState("");return react.useEffect(()=>{(async()=>{let d=await W();c(d);})();},[]),react.useEffect(()=>{(async()=>{try{let d=await W();u({queryClient:n,axiosConfig:{headers:{"Content-Type":"application/json","Device-UID":d}},responseInterceptors:{onFulfilled:P=>P,onRejected:async P=>{var w,T,I;let k=P.config,Me=authentication.tokenStorage.getAuthToken();if(((w=P.response)==null?void 0:w.status)===401&&!k._retry){let A=parseInt(helpers.getFromLS(x)||"0",10);if(A>=3)return await r(),helpers.setToLS(x,0),Promise.reject(P);if(helpers.setToLS(x,`${A+1}`),k._retry=!0,Me)try{let y=await o();if((T=y==null?void 0:y.data)!=null&&T.idToken)return k.headers.Authorization=`Bearer ${(I=y==null?void 0:y.data)==null?void 0:I.idToken}`,To__default.default(k)}catch(y){return console.error("Failed to refresh token:",y),await r(),Promise.reject(y)}}}},requestInterceptors:{onFulfilled:P=>P,onRejected:P=>Promise.reject(P)},useDevTool:!0});}catch(d){console.error(d);}})();},[n]),a?jsxRuntime.jsx(apiCore.PGLCoreServiceProvider,{...a,baseURL:`${S[i].API_BASE_URL}/${s}`,baseCoreURL:`${S[i].API_BASE_CORE_URL}/${s}`,children:jsxRuntime.jsx(reward.RewardServiceProvider,{...a,baseURL:`${S[i].API_REWARD_URL}/v1`,children:jsxRuntime.jsx(achievement.AchievementServiceProvider,{...a,baseURL:`${S[i].API_ACHIEVEMENT_URL}/${s}`,children:jsxRuntime.jsx(generateCertificate.GenerateCertificateServiceProvider,{...a,baseURL:`${S[i].API_GENERATE_CERTIFICATE_URL}/v1`,children:jsxRuntime.jsx(phygitalConsent.PhygitalConsentProvider,{...a,deviceId:l,baseURL:`${S[i].API_CONSENT_URL}/v1`,axiosConfig:{headers:{"Content-Type":"application/json"}},children:e})})})})}):jsxRuntime.jsx(jsxRuntime.Fragment,{})};var lt=({children:e,queryClient:n,apiConfig:t})=>{let{environment:r}=t,o=react.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 jsxRuntime.jsx($,{config:o,children:jsxRuntime.jsx(ut,{queryClient:n,apiConfig:t,children:jsxRuntime.jsx(J,{baseURL:`${S[r].API_BASE_URL}`,queryClient:n,children:e})})})};function _o(e,n){if(!(n!=null&&n.reward_models))return [];let t=n.reward_models;return e.map((r,o)=>{var a,u;let i=((a=t[o])==null?void 0:a[0])||null,s=((u=r.subAchievementIds)==null?void 0:u.map((l,c)=>{var d,g;let p=((g=t[o*(((d=r.subAchievementIds)==null?void 0:d.length)||0)+c+1])==null?void 0:g[0])||null;return {id:l,reward_model:p}}))||[];return {id:r.id,name:r.name,reward_model:i,subAchievements:s}})}var Lo=({campaignId:e})=>{let{data:n,isLoading:t}=achievement.useManyAchievements({"filter.labels":{campaign_id:e},"filter.type":"group_mission","pagination.limit":200},{enabled:!!e}),r=react.useMemo(()=>n!=null&&n.data?n.data.map(u=>u.groupRewardId).filter(u=>u!==void 0):[],[n==null?void 0:n.data]),{mutate:o,data:i,isPending:s}=reward.useCreateModelGroupReward();return react.useEffect(()=>{r.length>0&&o({group_reward_ids:r});},[r,o]),{mappedAchievements:react.useMemo(()=>!(i!=null&&i.data)||!(n!=null&&n.data)?[]:_o(n.data,i.data),[i,n==null?void 0:n.data]),isLoading:t||s}},_e=Lo;var rr=(r=>(r.DEV="dev",r.STAGING="staging",r.PRODUCTION="production",r))(rr||{});m(Le,h);
2
+ Object.defineProperty(exports,"CampaignState",{enumerable:true,get:function(){return apiCore.CampaignState}});Object.defineProperty(exports,"UserSourceType",{enumerable:true,get:function(){return apiCore.UserSourceType}});Object.defineProperty(exports,"locationQueryKeys",{enumerable:true,get:function(){return apiCore.locationQueryKeys}});Object.defineProperty(exports,"memoriesKey",{enumerable:true,get:function(){return apiCore.memoriesKey}});Object.defineProperty(exports,"resetMemoriesQuery",{enumerable:true,get:function(){return apiCore.resetMemoriesQuery}});Object.defineProperty(exports,"useCampaignDetail",{enumerable:true,get:function(){return apiCore.useOneCampaign}});Object.defineProperty(exports,"useCancelUserRewardsRequest",{enumerable:true,get:function(){return apiCore.useCancelUserRewardsRequest}});Object.defineProperty(exports,"useChipScanStory",{enumerable:true,get:function(){return apiCore.useChipScanStory}});Object.defineProperty(exports,"useCreateClickButtonActionLog",{enumerable:true,get:function(){return apiCore.useCreateClickButtonActionLog}});Object.defineProperty(exports,"useCreateMemory",{enumerable:true,get:function(){return apiCore.useCreateMemory}});Object.defineProperty(exports,"useInfiniteMemories",{enumerable:true,get:function(){return apiCore.useInfiniteMemories}});Object.defineProperty(exports,"useLocationDetail",{enumerable:true,get:function(){return apiCore.useOneLocation}});Object.defineProperty(exports,"useLocationProgress",{enumerable:true,get:function(){return apiCore.useUserCampaignsCompletedLocation}});Object.defineProperty(exports,"useLocationsList",{enumerable:true,get:function(){return apiCore.useManyLocations}});Object.defineProperty(exports,"useManyMemory",{enumerable:true,get:function(){return apiCore.useManyMemory}});Object.defineProperty(exports,"useManyUserActionLocations",{enumerable:true,get:function(){return apiCore.useManyUserActionLocations}});Object.defineProperty(exports,"useMyProfile",{enumerable:true,get:function(){return apiCore.useMyProfile}});Object.defineProperty(exports,"useOneMemory",{enumerable:true,get:function(){return apiCore.useOneMemory}});Object.defineProperty(exports,"useOneUserCampaign",{enumerable:true,get:function(){return apiCore.useOneUserCampaign}});Object.defineProperty(exports,"usePGLCoreService",{enumerable:true,get:function(){return apiCore.usePGLCoreService}});Object.defineProperty(exports,"useSendEmail",{enumerable:true,get:function(){return apiCore.useSendEmail}});Object.defineProperty(exports,"useSyncCheckin",{enumerable:true,get:function(){return apiCore.useSyncCheckin}});Object.defineProperty(exports,"useUpdateMyProfile",{enumerable:true,get:function(){return apiCore.useUpdateMyProfile}});Object.defineProperty(exports,"useUploadMedia",{enumerable:true,get:function(){return apiCore.useUploadMedia}});Object.defineProperty(exports,"useUserCampaignAction",{enumerable:true,get:function(){return apiCore.useUserCampaignAction}});Object.defineProperty(exports,"AchievementRuleActionType",{enumerable:true,get:function(){return achievement.AchievementRuleActionType}});Object.defineProperty(exports,"AchievementServiceProvider",{enumerable:true,get:function(){return achievement.AchievementServiceProvider}});Object.defineProperty(exports,"useAchievementProgress",{enumerable:true,get:function(){return achievement.useAchievementProgress}});Object.defineProperty(exports,"useManyAchievementProgressCore",{enumerable:true,get:function(){return achievement.useManyAchievementProgress}});Object.defineProperty(exports,"useManyAchievements",{enumerable:true,get:function(){return achievement.useManyAchievements}});Object.defineProperty(exports,"useManyAchievementsByLocation",{enumerable:true,get:function(){return achievement.useManyAchievementsByLocation}});Object.defineProperty(exports,"useManyAchievementsRewardModels",{enumerable:true,get:function(){return achievement.useManyAchievementsRewardModels}});Object.defineProperty(exports,"useManyChildrenAchievements",{enumerable:true,get:function(){return achievement.useManyChildrenAchievements}});Object.defineProperty(exports,"useOneAchievement",{enumerable:true,get:function(){return achievement.useOneAchievement}});Object.defineProperty(exports,"useUserAchievementAction",{enumerable:true,get:function(){return achievement.useUserAchievementAction}});Object.defineProperty(exports,"useDefaultServiceGetPollStats",{enumerable:true,get:function(){return An.useDefaultServiceGetPollStats}});Object.defineProperty(exports,"useDefaultServicePostPoll",{enumerable:true,get:function(){return An.useDefaultServicePostPoll}});Object.defineProperty(exports,"useNotificationRewardHandler",{enumerable:true,get:function(){return An.useNotificationRewardHandler}});Object.defineProperty(exports,"useNotificationStore",{enumerable:true,get:function(){return An.useNotificationStore}});Object.defineProperty(exports,"usePageVisibility",{enumerable:true,get:function(){return An.usePageVisibility}});Object.defineProperty(exports,"useTCVNotificationRewardHandler",{enumerable:true,get:function(){return An.useTCVNotificationRewardHandler}});Object.defineProperty(exports,"useWebSocket",{enumerable:true,get:function(){return An.useWebSocket}});Object.defineProperty(exports,"CmentityRewardType",{enumerable:true,get:function(){return reward.CmentityRewardType}});Object.defineProperty(exports,"useClaimUserReward",{enumerable:true,get:function(){return reward.useClaimUserReward}});Object.defineProperty(exports,"useClearUserRewardCache",{enumerable:true,get:function(){return reward.useClearUserRewardCache}});Object.defineProperty(exports,"useCreateModelGroupReward",{enumerable:true,get:function(){return reward.useCreateModelGroupReward}});Object.defineProperty(exports,"useCreateRewardModel",{enumerable:true,get:function(){return reward.useCreateRewardModel}});Object.defineProperty(exports,"useDeleteRewardModel",{enumerable:true,get:function(){return reward.useDeleteRewardModel}});Object.defineProperty(exports,"useGetRewardModel",{enumerable:true,get:function(){return reward.useGetRewardModel}});Object.defineProperty(exports,"useGetUserRewards",{enumerable:true,get:function(){return reward.useGetUserRewards}});Object.defineProperty(exports,"useListRewardModels",{enumerable:true,get:function(){return reward.useListRewardModels}});Object.defineProperty(exports,"useManyUserRewards",{enumerable:true,get:function(){return reward.useManyUserRewards}});Object.defineProperty(exports,"useUpdateRewardModel",{enumerable:true,get:function(){return reward.useUpdateRewardModel}});Object.defineProperty(exports,"useV1ListRewards",{enumerable:true,get:function(){return reward.useV1ListRewards}});Object.defineProperty(exports,"useAddFrame",{enumerable:true,get:function(){return generateCertificate.useAddFrame}});Object.defineProperty(exports,"useCreateCertificate",{enumerable:true,get:function(){return generateCertificate.useCreateCertificate}});Object.defineProperty(exports,"useCreateCertificateAnonymous",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateAnonymous}});Object.defineProperty(exports,"useCreateCertificateWithMask",{enumerable:true,get:function(){return generateCertificate.useCreateCertificateWithMask}});Object.defineProperty(exports,"useGenerateFansipanCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateFansipanCertificate}});Object.defineProperty(exports,"useGenerateTemplateCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateTemplateCertificate}});Object.defineProperty(exports,"useGenerateThaocamvienCertificate",{enumerable:true,get:function(){return generateCertificate.useGenerateThaocamvienCertificate}});Object.defineProperty(exports,"wrapTextWithFont",{enumerable:true,get:function(){return generateCertificate.wrapTextWithFont}});Object.defineProperty(exports,"CookieConsentBanner",{enumerable:true,get:function(){return phygitalConsent.CookieConsentBanner}});Object.defineProperty(exports,"PhygitalConsentProvider",{enumerable:true,get:function(){return phygitalConsent.PhygitalConsentProvider}});Object.defineProperty(exports,"usePhygitalConsent",{enumerable:true,get:function(){return phygitalConsent.usePhygitalConsent}});Object.defineProperty(exports,"cn",{enumerable:true,get:function(){return helpers.cn}});Object.defineProperty(exports,"fileToBase64",{enumerable:true,get:function(){return helpers.fileToBase64}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return helpers.parse}});exports.ALLOWED_ORIGINS=ee;exports.AchievementTrackingProvider=$e;exports.AchievementType=Y;exports.AuthProvider=J;exports.CALLBACK_URL=Z;exports.Environment=rr;exports.NotificationProvider=ie;exports.RewardClaimStatus=He;exports.SessionReplayProvider=$;exports.TapquestCoreProvider=lt;exports.TaskType=Ye;exports.TrackerContext=N;exports.accessTokenKey=b;exports.checkDeviceUid=W;exports.chipAuthTokenKey=G;exports.convertSnakeToCamel=L;exports.decodeJWTToken=ve;exports.deviceUIDKey=D;exports.filterLocationsByProperty=Ze;exports.generateDeviceId=Ge;exports.getAccessToken=Cr;exports.getActionsFromAchievementRule=z;exports.getChipAuthToken=vr;exports.getDeviceUid=V;exports.getLocationIdsFromAchievementRule=ir;exports.getRefreshToken=Tr;exports.getRetryAttemptsRefreshToken=Rr;exports.getSessionUserId=_r;exports.getSurveyIdsFromAchievementRule=sr;exports.getUserInfo=xr;exports.httpMaxRetries=X;exports.isAchievementCompleted=K;exports.isBrowser=te;exports.refreshTokenKey=O;exports.removeAccessToken=kr;exports.removeChipAuthToken=Ar;exports.removeDeviceUid=yr;exports.removeRefreshToken=Ir;exports.removeUserInfo=Ur;exports.retryAttemptsRefreshToken=x;exports.setAccessToken=wr;exports.setChipAuthToken=re;exports.setDeviceUid=Ne;exports.setRefreshToken=Sr;exports.setRetryAttemptsRefreshToken=Pr;exports.setUserInfo=Er;exports.sortLocationsByIndex=Xe;exports.transformProtoUserData=ye;exports.useAchievementTracking=qe;exports.useAchivementPlusRewardModel=_e;exports.useAuth=U;exports.useAuthStore=v;exports.useClearAchievementProgressCache=Oe;exports.useDataTracking=ne;exports.useGoogleLogin=Ce;exports.useManyAchievementProgress=fr;exports.useScanChip=Yr;exports.useSessionReplay=q;exports.useTokenRefresher=B;exports.userInfoKey=M;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map