@phygitallabs/tapquest-core 2.8.0 → 2.9.1

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.
Files changed (36) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +29 -35
  3. package/dist/index.js +1015 -721
  4. package/dist/index.js.map +1 -1
  5. package/package.json +6 -3
  6. package/src/modules/auth/constants/index.ts +6 -0
  7. package/src/modules/auth/helpers/index.ts +1 -4
  8. package/src/modules/auth/hooks/index.ts +2 -0
  9. package/src/modules/auth/hooks/useGoogleLogin.ts +169 -0
  10. package/src/modules/auth/hooks/useTokenRefresher.ts +39 -0
  11. package/src/modules/auth/index.ts +8 -2
  12. package/src/modules/auth/providers/AuthProvider.tsx +214 -186
  13. package/src/modules/auth/store/authStore.ts +577 -0
  14. package/src/modules/auth/types/auth.ts +29 -0
  15. package/src/modules/auth/types/user-data.ts +38 -0
  16. package/src/modules/auth/utils/user.ts +21 -0
  17. package/src/modules/data-tracking/hooks/index.ts +25 -1
  18. package/src/modules/generate-certificate/helpers/index.ts +3 -0
  19. package/src/modules/generate-certificate/hooks/index.ts +15 -6
  20. package/src/modules/generate-certificate/index.ts +3 -1
  21. package/src/modules/notification/providers/index.tsx +3 -3
  22. package/src/modules/reward/hooks/useRewardService.ts +6 -6
  23. package/src/modules/session-replay/README.md +334 -0
  24. package/src/modules/session-replay/hooks/useSessionReplay.ts +16 -0
  25. package/src/modules/session-replay/index.ts +10 -0
  26. package/src/modules/session-replay/providers/SessionReplayProvider.tsx +189 -0
  27. package/src/modules/session-replay/types/index.ts +147 -0
  28. package/src/modules/session-replay/utils/index.ts +12 -0
  29. package/src/providers/ServicesProvider.tsx +4 -76
  30. package/src/providers/TapquestCoreProvider.tsx +33 -46
  31. package/tsup.config.ts +1 -1
  32. package/dist/index.cjs +0 -1531
  33. package/dist/index.cjs.map +0 -1
  34. package/dist/index.d.cts +0 -690
  35. package/src/modules/auth/helpers/refreshToken.ts +0 -63
  36. package/src/modules/auth/store/authSlice.ts +0 -137
package/README.md CHANGED
@@ -182,7 +182,7 @@ pnpm dev
182
182
  - @phygitallabs/generate-certificate
183
183
  - @phygitallabs/notification-api
184
184
  - @phygitallabs/reward
185
- - pgl-platform
185
+ - @phygitallabs/portal-platform
186
186
 
187
187
  ## TypeScript Support
188
188
 
package/dist/index.d.ts CHANGED
@@ -3,17 +3,16 @@ import { QueryClient } from '@tanstack/react-query';
3
3
  import * as _phygitallabs_achievement from '@phygitallabs/achievement';
4
4
  import { GetManyUserOrDeviceAchievementProgressParams, Achievement, UserAchievementProgress } from '@phygitallabs/achievement';
5
5
  export { Achievement, AchievementRuleActionType, AchievementServiceProvider, GetAchievementProgressResponse, UserAchievementProgress, useAchievementProgress, useManyAchievements, useManyAchievementsRewardModels, useManyChildrenAchievements, useOneAchievement, useUserAchievementAction } from '@phygitallabs/achievement';
6
- export { useClaimUserReward, useClearUserRewardCache, useCreateModelGroupReward, useApiCreateRewardModel as useCreateRewardModel, useApiDeleteRewardModel as useDeleteRewardModel, useApiGetRewardModel as useGetRewardModel, useGetUserRewards, useApiListRewardModels as useListRewardModels, useManyUserRewards, useApiUpdateRewardModel as useUpdateRewardModel, useV1ListRewards } from '@phygitallabs/reward/src/hooks';
7
6
  import { EntityRewardModel, UserReward } from '@phygitallabs/reward';
8
- export { CmentityRewardType, CmentityStatus, CmentityUserReward, EntityRewardModel, UserReward } from '@phygitallabs/reward';
7
+ export { CmentityRewardType, CmentityStatus, CmentityUserReward, EntityRewardModel, UserReward, useClaimUserReward, useClearUserRewardCache, useCreateModelGroupReward, useCreateRewardModel, useDeleteRewardModel, useGetRewardModel, useGetUserRewards, useListRewardModels, useManyUserRewards, useUpdateRewardModel, useV1ListRewards } from '@phygitallabs/reward';
9
8
  import { PaginationRequest, GetManyResponse } from '@phygitallabs/api-core/src/types/pagination';
10
9
  import { LPResponse } from '@phygitallabs/notification-api';
11
10
  export * from '@phygitallabs/notification-api';
12
- import React$1, { ReactNode } from 'react';
11
+ import React$1 from 'react';
13
12
  import { ProjectModel, LocationModel } from '@phygitallabs/api-core';
14
13
  export { AIBotConfig, AdvertisingConfig, CampaignModel, CampaignState, ChipScanModel, CommonModel, CoreLocationModel, CreateCampaignRequest, CreateCampaignResponse, DateTimeNumber, DeviceMedia, EntityStatus, GeoPosition, GetManyCampaignRequest, GetManyCampaignResponse, GetManyUserActionLocationResponse, GetOneCampaignRequest, LocationAddress, LocationModel, LocationTranslations, Media, MediaType, MemoryModel, Mission, MissionProgress, MissionWithProgress, ProjectModel, SocialMedia, TaskProgress, TaskWithProgress, UpdateCampaignRequest, UpdateCampaignResponse, UserActionLocation, UserCampaignMission, UserCampaignModel, UserSourceType, locationQueryKeys, memoriesKey, resetMemoriesQuery, useOneCampaign as useCampaignDetail, useCancelUserRewardsRequest, useChipScanStory, useCreateMemory, useInfiniteMemories, useOneLocation as useLocationDetail, useUserCampaignsCompletedLocation as useLocationProgress, useManyLocations as useLocationsList, useManyMemory, useManyUserActionLocations, useMyProfile, useOneMemory, useOneUserCampaign, usePGLCoreService, useSendEmail, useSyncCheckin, useUpdateMyProfile, useUploadMedia, useUserCampaignAction } from '@phygitallabs/api-core';
15
14
  import * as react_jsx_runtime from 'react/jsx-runtime';
16
- export { CommonModel as GenerateCertificateCommonModel, DateTimeNumber as GenerateCertificateDateTimeNumber, EntityStatus as GenerateCertificateEntityStatus, Media as GenerateCertificateMedia, MediaType as GenerateCertificateMediaType, useGenerateFansipanCertificate, useGenerateTemplateCertificate, useGenerateThaocamvienCertificate } from '@phygitallabs/generate-certificate';
15
+ export { CommonModel as GenerateCertificateCommonModel, DateTimeNumber as GenerateCertificateDateTimeNumber, EntityStatus as GenerateCertificateEntityStatus, Media as GenerateCertificateMedia, MediaType as GenerateCertificateMediaType, useCreateCertificate, useCreateCertificateAnonymous, useCreateCertificateWithMask, useGenerateFansipanCertificate, useGenerateTemplateCertificate, useGenerateThaocamvienCertificate, wrapTextWithFont } from '@phygitallabs/generate-certificate';
17
16
  export { cn, fileToBase64, parse } from '@phygitallabs/helpers';
18
17
 
19
18
  declare const useManyAchievementProgress: (params: GetManyUserOrDeviceAchievementProgressParams, options?: any) => _tanstack_react_query.QueryObserverRefetchErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_react_query.QueryObserverSuccessResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_react_query.QueryObserverLoadingErrorResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_react_query.QueryObserverPendingResult<_phygitallabs_achievement.UserAchievementProgress[], Error> | _tanstack_react_query.QueryObserverPlaceholderResult<_phygitallabs_achievement.UserAchievementProgress[], Error>;
@@ -404,8 +403,8 @@ interface NotificationProviderProps extends NotificationCallbacks {
404
403
  children: React$1.ReactNode;
405
404
  autoConnect?: boolean;
406
405
  user: {
407
- id: string;
408
- accessToken: string | null;
406
+ id?: string;
407
+ accessToken?: string;
409
408
  };
410
409
  environment?: EnvironmentType;
411
410
  }
@@ -490,29 +489,27 @@ interface FirebaseConfig {
490
489
  measurementId: string;
491
490
  }
492
491
 
493
- interface AuthContextType {
494
- authService: AuthService;
495
- authCallbacks?: AuthCallbacks;
496
- user: UserData;
497
- isSignedIn: boolean;
498
- isLoading: boolean;
499
- signInWithCredential: (email: string, password: string) => Promise<AuthResponse>;
500
- signInWithGoogle: () => Promise<AuthResponse | null>;
501
- signUp: (email: string, password: string) => Promise<AuthResponse>;
502
- signOut: () => Promise<void>;
503
- forgotPassword: (email: string) => Promise<void>;
504
- sendEmailVerification: () => Promise<void>;
505
- changePassword: (newPassword: string) => Promise<void>;
506
- updateScanStatus: (status: boolean) => void;
507
- refreshUser: (userData: UserData) => void;
508
- }
509
492
  interface AuthProviderProps {
510
- children: ReactNode;
511
- authService: AuthService;
512
- authCallbacks?: AuthCallbacks;
493
+ children: React.ReactNode;
494
+ baseURL: string;
495
+ queryClient: QueryClient;
513
496
  }
514
- declare function AuthProvider({ children, authService, authCallbacks }: AuthProviderProps): react_jsx_runtime.JSX.Element;
515
- declare const useAuth: () => AuthContextType;
497
+ declare const AuthProvider: ({ children, baseURL, queryClient, }: AuthProviderProps) => react_jsx_runtime.JSX.Element;
498
+
499
+ declare const useAuth: () => any;
500
+
501
+ interface UseGoogleLoginOptions {
502
+ onSuccess?: () => void;
503
+ onError?: (error: string) => void;
504
+ onPopupBlocked?: () => void;
505
+ onPopupClosed?: () => void;
506
+ }
507
+ interface UseGoogleLoginReturn {
508
+ signIn: () => Promise<void>;
509
+ isLoading: boolean;
510
+ error: string | null;
511
+ }
512
+ declare function useGoogleLogin(options?: UseGoogleLoginOptions): UseGoogleLoginReturn;
516
513
 
517
514
  declare const userInfoKey = "phygital-user-info";
518
515
  declare const accessTokenKey = "accessToken";
@@ -521,11 +518,8 @@ declare const httpMaxRetries = 3;
521
518
  declare const retryAttemptsRefreshToken = "retryAttemptsRefreshToken";
522
519
  declare const deviceUIDKey = "Device-UID";
523
520
  declare const chipAuthTokenKey = "chip-auth-token";
524
-
525
- interface RefreshTokenConfig {
526
- firebaseApiKey: string;
527
- }
528
- declare const createRefreshTokenFunction: (config: RefreshTokenConfig) => () => Promise<any>;
521
+ declare const CALLBACK_URL = "https://s3-sgn10.fptcloud.com/nomion-assets/platform/callback.html";
522
+ declare const ALLOWED_ORIGINS: string[];
529
523
 
530
524
  declare const generateDeviceId: () => Promise<string>;
531
525
  declare const getDeviceUid: () => string | null;
@@ -655,6 +649,8 @@ declare global {
655
649
  }
656
650
  declare function useDataTracking(): {
657
651
  trackEvent: (eventName: string, eventData: Record<string, any>, useTools?: ("gtm" | "ga" | "posthog")[]) => void;
652
+ trackUserIdentify: (userInfo: Record<string, any>) => void;
653
+ trackLogoutEvent: () => void;
658
654
  };
659
655
 
660
656
  interface APIConfig {
@@ -666,8 +662,6 @@ interface TapquestCoreProviderProps {
666
662
  children: React$1.ReactNode;
667
663
  queryClient: QueryClient;
668
664
  apiConfig: APIConfig;
669
- firebaseConfig?: FirebaseConfig;
670
- authCallbacks?: AuthCallbacks;
671
665
  }
672
666
  declare const TapquestCoreProvider: React$1.FC<TapquestCoreProviderProps>;
673
667
 
@@ -687,4 +681,4 @@ declare const useAchivementPlusRewardModel: ({ campaignId }: UseAchivementPlusRe
687
681
  isLoading: boolean;
688
682
  };
689
683
 
690
- export { AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse, NotificationProvider, type RefreshTokenConfig, RewardClaimStatus, type RewardFilter, type RewardGroup, type RewardModelFilter, type RewardNotifyTheme, type RewardRule, type ScanChipData, type ScanChipResponse, type SignInProvider, TapquestCoreProvider, TaskType, type UpdateRewardGroupRequest, type UpdateRewardModelRequest, type UpdateRewardModelResponse, type UpdateUserRewardRequest, type UpdateUserRewardResponse, type UseAuthReturn, type UseManyAchievementWithProgressParams, type UseManyAchievementWithProgressReturn, type UserCheckinLocationRanking, type UserData, UserRole, accessTokenKey, checkDeviceUid, chipAuthTokenKey, convertSnakeToCamel, createRefreshTokenFunction, deviceUIDKey, filterLocationsByProperty, generateDeviceId, getAccessToken, getActionsFromAchievementRule, getChipAuthToken, getDeviceUid, getLocationIdsFromAchievementRule, getRefreshToken, getRetryAttemptsRefreshToken, getUserInfo, httpMaxRetries, isAchievementCompleted, refreshTokenKey, removeAccessToken, removeChipAuthToken, removeDeviceUid, removeRefreshToken, removeUserInfo, retryAttemptsRefreshToken, setAccessToken, setChipAuthToken, setDeviceUid, setRefreshToken, setRetryAttemptsRefreshToken, setUserInfo, sortLocationsByIndex, useAchivementPlusRewardModel, useAuth, useDataTracking, useManyAchievementProgress, useScanChip, userInfoKey };
684
+ export { ALLOWED_ORIGINS, AchievementType, type AchievementWithProgress, type AuthCallbacks, AuthProvider, type AuthProviderProps$1 as AuthProviderProps, type AuthResponse, type AuthService, CALLBACK_URL, type CampaignByProjectIdModel, type CampaignLocationSummary, type CampaignLocationSummaryQueryOptions, type ClaimUserRewardPayload, type ClaimUserRewardRequest, type ClaimUserRewardResponse, type CreateModelGroupRewardRequest, type CreateModelGroupRewardResponse, type CreateRewardGroupRequest, type CreateRewardGroupResponse, type CreateRewardModelRequest, type CreateRewardModelResponse, type CreateUserRewardRequest, type CreateUserRewardResponse, type FirebaseConfig, type GetManyRewardGroupsRequest, type GetManyRewardModelsRequest, type GetManyRewardModelsResponse, type GetManyUserRewardsRequest, type GetManyUserRewardsResponse, type GetOneRewardGroupRequest, type GetOneRewardModelRequest, type GetOneRewardModelResponse, type GetOneUserRewardRequest, type GetOneUserRewardResponse, NotificationProvider, RewardClaimStatus, type RewardFilter, type RewardGroup, type RewardModelFilter, type RewardNotifyTheme, type RewardRule, type ScanChipData, type ScanChipResponse, type SignInProvider, TapquestCoreProvider, TaskType, type UpdateRewardGroupRequest, type UpdateRewardModelRequest, type UpdateRewardModelResponse, type UpdateUserRewardRequest, type UpdateUserRewardResponse, type UseAuthReturn, type UseGoogleLoginOptions, type UseGoogleLoginReturn, type UseManyAchievementWithProgressParams, type UseManyAchievementWithProgressReturn, type UserCheckinLocationRanking, type UserData, UserRole, accessTokenKey, checkDeviceUid, chipAuthTokenKey, convertSnakeToCamel, deviceUIDKey, filterLocationsByProperty, generateDeviceId, getAccessToken, getActionsFromAchievementRule, getChipAuthToken, getDeviceUid, getLocationIdsFromAchievementRule, getRefreshToken, getRetryAttemptsRefreshToken, getUserInfo, httpMaxRetries, isAchievementCompleted, refreshTokenKey, removeAccessToken, removeChipAuthToken, removeDeviceUid, removeRefreshToken, removeUserInfo, retryAttemptsRefreshToken, setAccessToken, setChipAuthToken, setDeviceUid, setRefreshToken, setRetryAttemptsRefreshToken, setUserInfo, sortLocationsByIndex, useAchivementPlusRewardModel, useAuth, useDataTracking, useGoogleLogin, useManyAchievementProgress, useScanChip, userInfoKey };