{"version":3,"file":"theproindia-pro-gamification.mjs","sources":["../../../projects/pro-gamification/src/environments/environment.ts","../../../projects/pro-gamification/src/lib/ApiConfig/api.config.ts","../../../projects/pro-gamification/src/lib/enums/token.enum.ts","../../../projects/pro-gamification/src/lib/services/interceptors/intercepting-handler.ts","../../../projects/pro-gamification/src/lib/services/interceptors/feature-http-client.ts","../../../projects/pro-gamification/src/lib/services/pro-gamification/pro-gamification.service.ts","../../../projects/pro-gamification/src/lib/enums/theme.enum.ts","../../../projects/pro-gamification/src/lib/services/layout/theme.service.ts","../../../projects/pro-gamification/src/lib/services/pop-up.service.ts","../../../projects/pro-gamification/src/lib/pipe/sas-token.pipe.ts","../../../projects/pro-gamification/src/lib/components/rewards-info/rewards-info.component.ts","../../../projects/pro-gamification/src/lib/components/rewards-info/rewards-info.component.html","../../../projects/pro-gamification/src/lib/components/avatar/gallery/gallery.component.ts","../../../projects/pro-gamification/src/lib/components/avatar/gallery/gallery.component.html","../../../projects/pro-gamification/src/lib/services/layout/layout.service.ts","../../../projects/pro-gamification/src/lib/components/avatar/profile/profile.component.ts","../../../projects/pro-gamification/src/lib/components/avatar/profile/profile.component.html","../../../projects/pro-gamification/src/lib/services/token/token.service.ts","../../../projects/pro-gamification/src/lib/services/gamification.service.ts","../../../projects/pro-gamification/src/lib/directives/click-outside.directive.ts","../../../projects/pro-gamification/src/lib/components/toast/score-notification/score-notification.component.ts","../../../projects/pro-gamification/src/lib/components/toast/score-notification/score-notification.component.html","../../../projects/pro-gamification/src/lib/components/user-rewards/user-rewards.component.ts","../../../projects/pro-gamification/src/lib/components/user-rewards/user-rewards.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/progress-bar/progress-bar.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/progress-bar/progress-bar.component.html","../../../projects/pro-gamification/src/lib/pipe/utc-to-local-time.pipe.ts","../../../projects/pro-gamification/src/lib/components/orders/view-order-history/view-order-history.component.ts","../../../projects/pro-gamification/src/lib/components/orders/view-order-history/view-order-history.component.html","../../../projects/pro-gamification/src/lib/components/orders/list-order-history/list-order-history.component.ts","../../../projects/pro-gamification/src/lib/components/orders/list-order-history/list-order-history.component.html","../../../projects/pro-gamification/src/lib/components/validators/input-validator.ts","../../../projects/pro-gamification/src/lib/pipe/number-format.pipe.ts","../../../projects/pro-gamification/src/lib/components/redeem/redeem-confirmation/redeem-confirmation.component.ts","../../../projects/pro-gamification/src/lib/components/redeem/redeem-confirmation/redeem-confirmation.component.html","../../../projects/pro-gamification/src/lib/components/redeem/redeem-failure/redeem-failure.component.ts","../../../projects/pro-gamification/src/lib/components/redeem/redeem-failure/redeem-failure.component.html","../../../projects/pro-gamification/src/lib/components/menu-icons/back/back.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/back/back.component.html","../../../projects/pro-gamification/src/lib/components/redeem/billing-form/billing-form.component.ts","../../../projects/pro-gamification/src/lib/components/redeem/billing-form/billing-form.component.html","../../../projects/pro-gamification/src/lib/components/redeem/redeemable-product/redeemable-product.component.ts","../../../projects/pro-gamification/src/lib/components/redeem/redeemable-product/redeemable-product.component.html","../../../projects/pro-gamification/src/lib/components/menu-icons/close/close.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/close/close.component.html","../../../projects/pro-gamification/src/lib/components/redeem/list-redeemable-products/list-redeemable-products.component.ts","../../../projects/pro-gamification/src/lib/components/redeem/list-redeemable-products/list-redeemable-products.component.html","../../../projects/pro-gamification/src/lib/components/wallet/list-wallet/list-wallet.component.ts","../../../projects/pro-gamification/src/lib/components/wallet/list-wallet/list-wallet.component.html","../../../projects/pro-gamification/src/lib/components/wallet/wallet/wallet.component.ts","../../../projects/pro-gamification/src/lib/components/wallet/wallet/wallet.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/coins/coins.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/coins/coins.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/redeems/redeems.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/redeems/redeems.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/orders/orders.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/orders/orders.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/acheivements.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/acheivements/acheivements.component.html","../../../projects/pro-gamification/src/lib/enums/leaderBoard.enum.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/rank/rank.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/rank/rank.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/local-global-board/local-global-board.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/local-global-board/local-global-board.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/leader-board.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/leader-board/leader-board.component.html","../../../projects/pro-gamification/src/lib/components/tabs/tab-section/tab-section.component.ts","../../../projects/pro-gamification/src/lib/components/tabs/tab-section/tab-section.component.html","../../../projects/pro-gamification/src/lib/components/tabs/tab-group/tab-group.component.ts","../../../projects/pro-gamification/src/lib/components/tabs/tab-group/tab-group.component.html","../../../projects/pro-gamification/src/lib/components/tab-activity/tab-activity.component.ts","../../../projects/pro-gamification/src/lib/components/tab-activity/tab-activity.component.html","../../../projects/pro-gamification/src/lib/components/menu-icons/bolt/bolt.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/bolt/bolt.component.html","../../../projects/pro-gamification/src/lib/components/menu-icons/info-icon/info-icon.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/info-icon/info-icon.component.html","../../../projects/pro-gamification/src/lib/pro-gamification.component.ts","../../../projects/pro-gamification/src/lib/pro-gamification.component.html","../../../projects/pro-gamification/src/lib/shared/shared/shared.module.ts","../../../projects/pro-gamification/src/lib/components/success-modal/success-modal.component.ts","../../../projects/pro-gamification/src/lib/components/success-modal/success-modal.component.html","../../../projects/pro-gamification/src/lib/components/menu-icons/help-menu/help-menu.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/help-menu/help-menu.component.html","../../../projects/pro-gamification/src/lib/services/interceptors/app-interceptor.service.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/drop-down/drop-down.component.ts","../../../projects/pro-gamification/src/lib/components/menu-icons/drop-down/drop-down.component.html","../../../projects/pro-gamification/src/lib/pro-gamification.module.ts","../../../projects/pro-gamification/src/lib/services/Auth/auth.service.ts","../../../projects/pro-gamification/src/public-api.ts","../../../projects/pro-gamification/src/theproindia-pro-gamification.ts"],"sourcesContent":["export const environment = {\r\n  baseUrl: \"https://gamifyapi.theproindia.com\",\r\n  redeemUrl: \"https://gamificationredemption.theproindia.com\",\r\n  blobUrl: \"https://prodgamificationui.blob.core.windows.net\",\r\n  containerPath: \"sandbox-assets\",\r\n};\r\n","import { environment } from \"../../environments/environment\";\r\n\r\nconst baseUrl: any = environment.baseUrl;\r\nconst baseRedeemUrl: string = environment.redeemUrl;\r\nexport const apiEndPoints = {\r\n  privilegeStage: {\r\n    getAll: (applicationId: string) =>\r\n      `${baseUrl}/privilegeStage/user/application/lookup/${applicationId}`,\r\n  },\r\n  users: {\r\n    get: (userId: string, appId: string) =>\r\n      `${baseUrl}/users/${userId}/${appId}`,\r\n    delete: (userId: string) => `${baseUrl}/users/${userId}`,\r\n    create: `${baseUrl}/users/addUser`,\r\n    update: (userId: string, appId: string) =>\r\n      `${baseUrl}/v1/users/update/${userId}/application/${appId}`,\r\n    upload: `${baseUrl}/users/add/userList`,\r\n    getUserExistence: (userName: string, userId: string) =>\r\n      `${baseUrl}/v1/users/${userId}/checkUserName/${userName}`,\r\n  },\r\n  blobStorage: {\r\n    getSasToken: `${baseUrl}/sasToken`,\r\n  },\r\n\r\n  leaderBoard: {\r\n    getUserLeaderBoard: `${baseUrl}/leaderBoard/userLeaderBoard`,\r\n    getUserRewards: `${baseUrl}/leaderBoard/userRewards`,\r\n  },\r\n  application: {\r\n    get: (applicationId: string) =>\r\n      `${baseUrl}/v1/applications/application/${applicationId}`,\r\n  },\r\n\r\n  userCompletedGame: {\r\n    addPoints: `${baseUrl}/userCompletedGame/triggerGameAction`,\r\n  },\r\n  clientTokens: {\r\n    getAccessToken: `${baseUrl}/tokens/accessToken`,\r\n  },\r\n  redeem: {\r\n    getReedeemableProducts: (appId: string) =>\r\n      `${baseRedeemUrl}/api/RedemptionRule/getbyGamificationApplicationId/${appId}`,\r\n    walletBalance: () => `${baseRedeemUrl}/api/VirtualMoneyBalance/userbalance`,\r\n    redeemProduct: () => `${baseRedeemUrl}/api/RedemptionRule/redeemProduct`,\r\n  },\r\n  order: {\r\n    getMyOrders: () => `${baseRedeemUrl}/api/Order/GetByUser`,\r\n  },\r\n  avatar: {\r\n    getavatar: () => `${baseUrl}/blobImages`,\r\n  },\r\n  userGroup: {\r\n    getUserGroupByAppId: () => `${baseUrl}/v1/leaderBoard/UserRankinGroup`,\r\n    getRankByUserGroupId: (pageNo: number, itemsPerPage: number) =>\r\n      `${baseUrl}/v1/leaderBoard/byuserGroupId/${pageNo}/${itemsPerPage}`,\r\n  },\r\n};\r\n","export enum Token {\r\n  ACCESS_TOKEN = \"accessToken\",\r\n  GAMIFICATION_STORAGE_KEY = \"gamificationUser\",\r\n}\r\n\r\nexport interface TokenModel {\r\n  data: Tokens;\r\n  message: string;\r\n}\r\n\r\ninterface Tokens {\r\n  access_token: string;\r\n  token_type: string;\r\n  not_before: number;\r\n  expires_in: number;\r\n  expires_on: number;\r\n  resource: string;\r\n}\r\n\r\nexport interface UserServiceConfig {\r\n  clientId: string;\r\n  clientSecret: string;\r\n}\r\n","import {\r\n  HttpBackend,\r\n  HttpEvent,\r\n  HttpHandler,\r\n  HttpInterceptor,\r\n  HttpRequest,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nexport class InterceptingHandler implements HttpHandler {\r\n  private chain: HttpHandler;\r\n\r\n  constructor(\r\n    private backend: HttpBackend,\r\n    private interceptors: HttpInterceptor[]\r\n  ) {\r\n    this.buildChain();\r\n  }\r\n\r\n  handle(req: HttpRequest<any>): Observable<HttpEvent<any>> {\r\n    return this.chain.handle(req);\r\n  }\r\n\r\n  private buildChain(): void {\r\n    this.chain = this.interceptors.reduceRight(\r\n      (next, interceptor) => new InterceptorHandler(next, interceptor),\r\n      this.backend\r\n    );\r\n  }\r\n}\r\n\r\nclass InterceptorHandler implements HttpHandler {\r\n  constructor(\r\n    private next: HttpHandler,\r\n    private interceptor: HttpInterceptor\r\n  ) {}\r\n\r\n  handle(httpRequest: HttpRequest<any>): Observable<HttpEvent<any>> {\r\n    return this.interceptor.intercept(httpRequest, this.next);\r\n  }\r\n}\r\n","import {\r\n  HttpBackend,\r\n  HttpClient,\r\n  HttpInterceptor,\r\n  HTTP_INTERCEPTORS,\r\n} from \"@angular/common/http\";\r\nimport { Inject, Injectable, InjectionToken } from \"@angular/core\";\r\nimport { InterceptingHandler } from \"./intercepting-handler\";\r\n\r\nexport const FEATURE_HTTP_INTERCEPTORS = new InjectionToken<HttpInterceptor[]>(\r\n  \"An abstraction on feature HttpInterceptor[]\"\r\n);\r\n\r\n@Injectable()\r\nexport class FeatureHttpClient extends HttpClient {\r\n  constructor(\r\n    backend: HttpBackend,\r\n    @Inject(HTTP_INTERCEPTORS) interceptors: HttpInterceptor[],\r\n    @Inject(FEATURE_HTTP_INTERCEPTORS) featureInterceptors: HttpInterceptor[]\r\n  ) {\r\n    super(\r\n      new InterceptingHandler(\r\n        backend,\r\n        flatDeep([interceptors, featureInterceptors])\r\n      )\r\n    );\r\n  }\r\n}\r\nfunction flatDeep(arr, d = 1) {\r\n  return d > 0\r\n    ? arr.reduce(\r\n        (acc, val) =>\r\n          acc.concat(Array.isArray(val) ? flatDeep(val, d - 1) : val),\r\n        []\r\n      )\r\n    : arr.slice();\r\n}\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { apiEndPoints } from \"../../ApiConfig/api.config\";\r\nimport { User, UserInput } from \"../../models/User.model\";\r\nimport { FeatureHttpClient } from \"../interceptors/feature-http-client\";\r\nimport { BehaviorSubject, Observable, Subject, of } from \"rxjs\";\r\nimport { Token } from \"../../enums/token.enum\";\r\n\r\n@Injectable()\r\nexport class ProGamificationService {\r\n  tabChange$ = new Subject<number>();\r\n  wallet$ = new Subject<any>();\r\n  galleryImages = new Subject<any>();\r\n  galleryImages$ = this.galleryImages.asObservable();\r\n  constructor(\r\n    private readonly httpClient: FeatureHttpClient,\r\n    private http: HttpClient\r\n  ) {}\r\n  tabChange(tabIndex: number) {\r\n    this.tabChange$.next(tabIndex);\r\n  }\r\n  getUserInformation(userId: string, appId: string) {\r\n    return this.httpClient.get(apiEndPoints.users.get(userId, appId));\r\n  }\r\n\r\n  getUserExistence(userName: string, userId: string): Observable<any> {\r\n    return this.httpClient.get(\r\n      apiEndPoints.users.getUserExistence(userName, userId)\r\n    );\r\n  }\r\n\r\n  getLeaderBoard(userId: string, appId: string) {\r\n    return this.httpClient.post(apiEndPoints.leaderBoard.getUserLeaderBoard, {\r\n      userId: userId,\r\n      appId: appId,\r\n    });\r\n  }\r\n\r\n  getUserRewards(userId: string, appId: string) {\r\n    return this.httpClient.post(apiEndPoints.leaderBoard.getUserRewards, {\r\n      userId: userId,\r\n      appId: appId,\r\n    });\r\n  }\r\n  getApplicationDetail(applicationId: string) {\r\n    return this.httpClient.get(apiEndPoints.application.get(applicationId));\r\n  }\r\n\r\n  addPointsToUser(triggerGameAction: any) {\r\n    return this.httpClient.post(\r\n      apiEndPoints.userCompletedGame.addPoints,\r\n      triggerGameAction\r\n    );\r\n  }\r\n\r\n  addUser(user: User) {\r\n    return this.httpClient.post(apiEndPoints.users.create, user);\r\n  }\r\n\r\n  updateUser(user: User, userInput: UserInput) {\r\n    return this.httpClient.put(\r\n      apiEndPoints.users.update(userInput.userId, userInput.appId),\r\n      user\r\n    );\r\n  }\r\n\r\n  addUsersAsList(userList: User[]) {\r\n    return this.http.post(apiEndPoints.users.upload, userList);\r\n  }\r\n\r\n  deleteUser(userId: string) {\r\n    return this.httpClient.delete(apiEndPoints.users.delete(userId));\r\n  }\r\n\r\n  getPrivilegeStageInfo(applicationId: string) {\r\n    return this.httpClient\r\n      .get(apiEndPoints.privilegeStage.getAll(applicationId))\r\n      .toPromise();\r\n  }\r\n  configureApplication(projectSettings: any) {\r\n    localStorage.setItem(\"projectSettings\", JSON.stringify(projectSettings));\r\n  }\r\n\r\n  getDefaultCredentials() {\r\n    let data = JSON.parse(localStorage.getItem(\"projectSettings\"));\r\n    if (data) {\r\n      return data.clientName + \"chiperText\";\r\n    }\r\n  }\r\n\r\n  async getSasToken() {\r\n    const headers = new HttpHeaders({\r\n      skip: \"true\",\r\n    });\r\n    let sasToken = await this.httpClient\r\n      .get(apiEndPoints.blobStorage.getSasToken, { headers: headers })\r\n      .toPromise();\r\n    if (sasToken != null) {\r\n      return sasToken[\"data\"];\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  isAuthenticated() {\r\n    return sessionStorage.getItem(\"progamificationId\") ? true : false;\r\n  }\r\n\r\n  getUserAndAppId() {\r\n    const userDetails = JSON.parse(\r\n      localStorage.getItem(Token.GAMIFICATION_STORAGE_KEY)\r\n    );\r\n\r\n    return userDetails;\r\n  }\r\n\r\n  redeemProduct(redeemableProduct: any) {\r\n    return this.httpClient.post(\r\n      apiEndPoints.redeem.redeemProduct(),\r\n      redeemableProduct\r\n    );\r\n  }\r\n\r\n  getWalletBalance(userId: string, appId: string) {\r\n    return this.httpClient.post(apiEndPoints.redeem.walletBalance(), {\r\n      gamificationUserId: userId,\r\n      gamificationApplicationId: appId,\r\n    });\r\n  }\r\n\r\n  getReedeemableProducts(appId: string) {\r\n    return this.httpClient.get(\r\n      apiEndPoints.redeem.getReedeemableProducts(appId)\r\n    );\r\n  }\r\n\r\n  getOrders(userId: string, appId: string) {\r\n    return this.httpClient.post(apiEndPoints.order.getMyOrders(), {\r\n      gamificationUserId: userId,\r\n      gamificationApplicationId: appId,\r\n    });\r\n  }\r\n  getAvatarImages() {\r\n    return this.httpClient.get(apiEndPoints.avatar.getavatar());\r\n  }\r\n\r\n  updateData(selectedImage: any) {\r\n    this.galleryImages.next(selectedImage);\r\n  }\r\n\r\n  getUserGroupByAppId(userId: string, appId: string) {\r\n    return this.httpClient.post(apiEndPoints.userGroup.getUserGroupByAppId(), {\r\n      userId: userId,\r\n      applicationId: appId,\r\n    });\r\n  }\r\n\r\n  getRankByUserGroupId(userGpId: string, appId: string) {\r\n    return this.httpClient.post(\r\n      apiEndPoints.userGroup.getRankByUserGroupId(1, 10),\r\n      {\r\n        userGroupId: userGpId,\r\n        applicationId: appId,\r\n      }\r\n    );\r\n  }\r\n}\r\n","export enum Theme {\r\n  PRIMARY = 0,\r\n  SECONDARY = 1,\r\n  SANDBOX = 2,\r\n}\r\nexport enum MenuColor {\r\n  BLACK = 0,\r\n  WHITE = 1,\r\n}\r\nexport enum ThemeColors {\r\n  PRIMARY_THEME = \"#2D6AC2\",\r\n  SECONDARY_THEME = \"#fc9300\",\r\n  SANDBOX_THEME = \"#2A8C90\",\r\n  SANDBOX_ANCHOR_COLORS = \"#00774B\",\r\n  SANDBOX_NOTIFIER_COLOR = \"#efc72e\",\r\n  PRIMARY_LIGHT_THEME = \"#F1F5FF\",\r\n  SECONDARY_LIGHT_THEME = \"#faf5ea\",\r\n  SANDBOX_LIGHT_THEME = \"#e7f8f8\",\r\n\r\n  BLACK = \"#000000\",\r\n  WHITE = \"#ffffff\",\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MenuColor, Theme, ThemeColors } from \"../../enums/theme.enum\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class ThemeService {\r\n  themeColor = Theme.PRIMARY;\r\n  menuColor = MenuColor.WHITE;\r\n  setMenuColor(color: string) {\r\n    if (color === \"white\") {\r\n      this.menuColor = MenuColor.WHITE;\r\n    } else if (color === \"black\") {\r\n      this.menuColor = MenuColor.BLACK;\r\n    }\r\n  }\r\n  setThemeColor(theme: string) {\r\n    if (theme === \"primary\") {\r\n      this.themeColor = Theme.PRIMARY;\r\n    } else if (theme === \"secondary\") {\r\n      this.themeColor = Theme.SECONDARY;\r\n    } else if (theme === \"sandbox\") {\r\n      this.themeColor = Theme.SANDBOX;\r\n    }\r\n  }\r\n\r\n  updateMenuTheme() {\r\n    switch (+this.menuColor) {\r\n      case MenuColor.BLACK: {\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-menu-color\",\r\n          ThemeColors.BLACK\r\n        );\r\n        break;\r\n      }\r\n      case MenuColor.WHITE: {\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-menu-color\",\r\n          ThemeColors.WHITE\r\n        );\r\n        break;\r\n      }\r\n    }\r\n  }\r\n  updateTheme() {\r\n    switch (+this.themeColor) {\r\n      case Theme.PRIMARY: {\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-bg-color\",\r\n          ThemeColors.PRIMARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-light-bg-color\",\r\n          ThemeColors.PRIMARY_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-color\",\r\n          ThemeColors.PRIMARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-light-color\",\r\n          ThemeColors.PRIMARY_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-anchor-color\",\r\n          ThemeColors.PRIMARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-notifier-color\",\r\n          \"#ffffff\"\r\n        );\r\n        break;\r\n      }\r\n      case Theme.SECONDARY: {\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-bg-color\",\r\n          ThemeColors.SECONDARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-light-bg-color\",\r\n          ThemeColors.SECONDARY_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-color\",\r\n          ThemeColors.SECONDARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-light-color\",\r\n          ThemeColors.SECONDARY_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-anchor-color\",\r\n          \"#000000\"\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-notifier-color\",\r\n          \"#000000\"\r\n        );\r\n\r\n        break;\r\n      }\r\n      case Theme.SANDBOX: {\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-bg-color\",\r\n          ThemeColors.SANDBOX_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-light-bg-color\",\r\n          ThemeColors.SANDBOX_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-color\",\r\n          ThemeColors.SECONDARY_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-progress-light-color\",\r\n          ThemeColors.SECONDARY_LIGHT_THEME\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-anchor-color\",\r\n          ThemeColors.SANDBOX_ANCHOR_COLORS\r\n        );\r\n        document.documentElement.style.setProperty(\r\n          \"--pro-gamify-notifier-color\",\r\n          ThemeColors.SANDBOX_NOTIFIER_COLOR\r\n        );\r\n      }\r\n    }\r\n  }\r\n}\r\n","import {\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  Injectable,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { Subject, asyncScheduler } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class PopUpService {\r\n  popUp$ = new Subject<void>();\r\n  constructor(private resolver: ComponentFactoryResolver) {}\r\n\r\n  goToWallet(\r\n    viewContainerRef: ViewContainerRef,\r\n    walletBalance: any,\r\n    data: any,\r\n    walletComponent: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(walletComponent);\r\n    let walletComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n\r\n    walletComponentRef.instance.data = {\r\n      ...walletBalance,\r\n      ...data,\r\n    };\r\n    walletComponentRef.instance.viewContainerRef = viewContainerRef;\r\n\r\n    walletComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, walletComponentRef);\r\n    });\r\n  }\r\n\r\n  goToProfile(\r\n    viewContainerRef: ViewContainerRef,\r\n    profileData: any,\r\n    profileComponent: any\r\n  ) {\r\n    const factory = this.resolver.resolveComponentFactory(profileComponent);\r\n    let profileComponentRef: ComponentRef<any> =\r\n    viewContainerRef.createComponent(factory);\r\n    profileComponentRef.instance.profileData = {\r\n      ...profileData,\r\n    };\r\n    profileComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, profileComponentRef);\r\n    });\r\n  }\r\n\r\n  selectAvatar(\r\n    viewContainerRef: ViewContainerRef,\r\n    profileData: any,\r\n    createAvatarComponent: any\r\n  ) {\r\n    const factory = this.resolver.resolveComponentFactory(\r\n      createAvatarComponent\r\n    );\r\n    let avatarComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    avatarComponentRef.instance.profileData = {\r\n      ...profileData,\r\n    };\r\n    avatarComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, avatarComponentRef);\r\n    });\r\n  }\r\n\r\n  createRedeemPopup(\r\n    viewContainerRef: ViewContainerRef,\r\n    data: any,\r\n    listRedeemableComp: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(listRedeemableComp);\r\n    let listRedeemComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    listRedeemComponentRef.instance.data = data;\r\n    listRedeemComponentRef.instance.viewContainerRef = viewContainerRef;\r\n\r\n    listRedeemComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, listRedeemComponentRef);\r\n    });\r\n  }\r\n\r\n  createOrderHistory(\r\n    viewContainerRef: ViewContainerRef,\r\n    userInformation: any,\r\n    listOrderHistoryComp: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(listOrderHistoryComp);\r\n    let listOrderHistoryComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n\r\n    listOrderHistoryComponentRef.instance.data = userInformation;\r\n    listOrderHistoryComponentRef.instance.viewContainerRef = viewContainerRef;\r\n\r\n    listOrderHistoryComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, listOrderHistoryComponentRef);\r\n    });\r\n  }\r\n\r\n  viewOrderHistory(\r\n    viewContainerRef: ViewContainerRef,\r\n    viewOrderHistoryComp: any,\r\n    order: any,\r\n    data: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(viewOrderHistoryComp);\r\n\r\n    let viewOrderHistoryComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    viewOrderHistoryComponentRef.instance.data = {\r\n      ...order,\r\n      ...data,\r\n    };\r\n\r\n    viewOrderHistoryComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, viewOrderHistoryComponentRef);\r\n    });\r\n  }\r\n\r\n  createProductPopup(\r\n    viewContainerRef: ViewContainerRef,\r\n    userInformation: any,\r\n    redeemData: any,\r\n    redeemableProductComponent: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(\r\n      redeemableProductComponent\r\n    );\r\n\r\n    let redeemProductComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    redeemProductComponentRef.instance.data = {\r\n      ...userInformation,\r\n      ...redeemData,\r\n    };\r\n    redeemProductComponentRef.instance.viewContainerRef = viewContainerRef;\r\n    redeemProductComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, redeemProductComponentRef);\r\n    });\r\n  }\r\n\r\n  createBillingPopup(\r\n    viewContainerRef: ViewContainerRef,\r\n    billingData: any,\r\n    billingFormComponent: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(billingFormComponent);\r\n\r\n    let billingComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    billingComponentRef.instance.data = billingData;\r\n\r\n    billingComponentRef.instance.viewContainerRef = viewContainerRef;\r\n    billingComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, billingComponentRef);\r\n    });\r\n  }\r\n\r\n  createConfirmtionPopup(\r\n    viewContainerRef: ViewContainerRef,\r\n    redeemedProductResponse: any,\r\n    userInfo: any,\r\n    redeemConfirmationComponent: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(\r\n      redeemConfirmationComponent\r\n    );\r\n    let confirmComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    confirmComponentRef.instance.data = {\r\n      ...redeemedProductResponse,\r\n      ...userInfo,\r\n    };\r\n    confirmComponentRef.instance.viewContainerRef = viewContainerRef;\r\n\r\n    confirmComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, confirmComponentRef);\r\n    });\r\n  }\r\n\r\n  createFailurePopup(\r\n    viewContainerRef: ViewContainerRef,\r\n    failureMsg: string,\r\n    userInfo: any,\r\n    redeemFailureComponent: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(\r\n      redeemFailureComponent\r\n    );\r\n    let failureComponentRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    failureComponentRef.instance.data = {\r\n      ...userInfo,\r\n    };\r\n    failureComponentRef.instance.failureMsg = failureMsg;\r\n    failureComponentRef.instance.viewContainerRef = viewContainerRef;\r\n    failureComponentRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, failureComponentRef);\r\n    });\r\n  }\r\n\r\n  closePopUp(\r\n    viewContainerRef: ViewContainerRef,\r\n    componentRef: ComponentRef<any>\r\n  ) {\r\n    asyncScheduler.schedule(() => {\r\n      const index = viewContainerRef.indexOf(componentRef?.hostView);\r\n      if (index >= 0) {\r\n        viewContainerRef.remove(index);\r\n      }\r\n    });\r\n  }\r\n  \r\n  createPrivilegeStageInfo(\r\n    viewContainerRef: ViewContainerRef,\r\n    appId: string,\r\n    sasToken: string,\r\n    rewardsInfoComp: any\r\n  ) {\r\n    this.popUp$.next();\r\n    const factory = this.resolver.resolveComponentFactory(rewardsInfoComp);\r\n    let rewardsInfoRef: ComponentRef<any> =\r\n      viewContainerRef.createComponent(factory);\r\n    rewardsInfoRef.instance.applicationId = appId;\r\n    rewardsInfoRef.instance.sasToken = sasToken;\r\n\r\n    rewardsInfoRef.instance.viewContainerRef = viewContainerRef;\r\n    rewardsInfoRef.instance.popupClosed.subscribe(() => {\r\n      this.closePopUp(viewContainerRef, rewardsInfoRef);\r\n    });\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: \"sasToken\" })\r\nexport class SasTokenPipe implements PipeTransform {\r\n  async transform(imageUrl: string, sasToken: string): Promise<string> {\r\n    if (imageUrl && sasToken) {\r\n      return `${imageUrl}${sasToken}`;\r\n    }\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n} from \"@angular/core\";\r\nimport { ThemeService } from \"../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../services/pop-up.service\";\r\n\r\n@Component({\r\n  selector: \"rewards-info\",\r\n  templateUrl: \"./rewards-info.component.html\",\r\n  styleUrls: [\"./rewards-info.component.scss\"],\r\n})\r\nexport class RewardsInfoComponent implements OnInit {\r\n  privilegeInfo = [];\r\n  displayedItems: any[] = [];\r\n  math = Math;\r\n  arr = Array;\r\n  @Input() applicationId: string;\r\n  @Input() sasToken: string;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n\r\n  isLoading = true;\r\n\r\n  constructor(\r\n    private gamifyService: ProGamificationService,\r\n    private themeService: ThemeService,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.getRewardsInfo();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n  getRewardsInfo() {\r\n    this.gamifyService.getPrivilegeStageInfo(this.applicationId).then(\r\n      (privilegeInfo: any) => {\r\n        if (!privilegeInfo?.data || privilegeInfo?.errorStatusCode === 409) {\r\n          return;\r\n        }\r\n        this.isLoading = false;\r\n        this.privilegeInfo = privilegeInfo.data;\r\n      },\r\n      () => {\r\n        this.isLoading = false;\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <div class=\"heading\">\r\n      <img class=\"cancel\" alt=\"cancel\" (click)=\"onCloseButtonClick()\" />\r\n      <span class=\"heading-1\">Privilege Stages</span>\r\n    </div>\r\n    <div class=\"table-container\">\r\n      <div class=\"table-row header\">\r\n        <div class=\"table-cell header\">Points</div>\r\n        <div class=\"table-cell header\">Rewards</div>\r\n        <div class=\"table-cell header\">Description</div>\r\n      </div>\r\n      <div class=\"scroll-inner\" aria-describedby=\"score-info\">\r\n        <ng-container *ngIf=\"!isLoading\">\r\n          <ng-container *ngIf=\"privilegeInfo?.length; else noRewards\">\r\n            <div\r\n              class=\"table-row\"\r\n              *ngFor=\"let privilege of privilegeInfo; let i = index\"\r\n            >\r\n              <ng-container *ngIf=\"privilegeInfo?.length\">\r\n                <div class=\"table-cell tbl-cell-width\">\r\n                  <div class=\"points left table-column\">\r\n                    <div>\r\n                      {{ privilege?.points ? privilege.points : \"-\" }} Points\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div class=\"table-cell tbl-cell-width\">\r\n                  <div\r\n                    class=\"rewards left table-column\"\r\n                    *ngIf=\"privilege.lookupValue; else noValue\"\r\n                  >\r\n                    <img\r\n                      [src]=\"\r\n                        privilege.lookupValue.sourceImgUrl\r\n                          | sasToken : sasToken\r\n                          | async\r\n                      \"\r\n                      alt=\"\"\r\n                    />\r\n                    <div\r\n                      class=\"lookupValue\"\r\n                      [title]=\"privilege?.lookupValue?.value\"\r\n                    >\r\n                      {{ privilege?.lookupValue?.value }}\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #noValue> -</ng-template>\r\n                </div>\r\n\r\n                <div class=\"table-cell tbl-cell-width\">\r\n                  <div\r\n                    class=\"desc left table-column\"\r\n                    [title]=\"privilege?.description\"\r\n                  >\r\n                    <div class=\"description\">\r\n                      {{\r\n                        privilege?.description ? privilege?.description : \"-\"\r\n                      }}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n            </div>\r\n          </ng-container>\r\n          <ng-template #noRewards>\r\n            <div class=\"table-row noRewards\">\r\n              <div class=\"table-cell\" colspan=\"3\">\r\n                <div class=\"noRewards\">There are no rewards available</div>\r\n              </div>\r\n            </div>\r\n          </ng-template>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { LeaderBoard } from \"../../../models/LeaderBoard.model\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { ProfileComponent } from \"../profile/profile.component\";\r\n\r\n@Component({\r\n  selector: \"lib-gallery\",\r\n  templateUrl: \"./gallery.component.html\",\r\n  styleUrls: [\"./gallery.component.scss\"],\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n  @Input() userId: string;\r\n  @Input() applicationId: string;\r\n  @Input() profileData: any;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  userInformation: LeaderBoard;\r\n  invalidUser = true;\r\n  leaderBoardUsers: LeaderBoard[];\r\n  imageOnError = false;\r\n  selectedImage: string;\r\n  sasToken: string;\r\n  imageUrl: any;\r\n  isButtonDisabled: boolean = true;\r\n  isFliping = true;\r\n\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpservice: PopUpService,\r\n    private viewContainerRef: ViewContainerRef,\r\n  ) {}\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    \r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.proGamification.getAvatarImages().subscribe((res: any) => {\r\n      this.imageUrl = res;\r\n    });\r\n\r\n   \r\n  }\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n  selectImage(imageUrl: any) {\r\n    this.selectedImage = imageUrl;\r\n    this.isButtonDisabled = false;\r\n  }\r\n  \r\n  toggleSelectedImage() {\r\n    this.selectedImage = this.imageUrl;\r\n  }\r\n\r\n  previous() {\r\n  this.onCloseButtonClick();\r\n   this.popUpservice.goToProfile(\r\n      this.viewContainerRef,\r\n      this.profileData,\r\n      ProfileComponent\r\n    );\r\n  }\r\n  \r\n  onSelect(): void {\r\n        this.profileData['profileImageUrl'] = this.selectedImage;\r\n        this.onCloseButtonClick();\r\n        this.proGamification.updateData(this.profileData);\r\n  }\r\n}\r\n","<div class=\"pro-modal-wrap\">\r\n  <div class=\"pro-modal-content\">\r\n    <header>\r\n      <button class=\"flex-item\" (click)=\"previous()\">\r\n        <img alt=\"image\" />\r\n      </button>\r\n      <div class=\"heading\">Avatar</div>\r\n    </header>\r\n    <div class=\"avatar\">\r\n      <img\r\n        class=\"avatar-img\"\r\n        [src]=\"\r\n          selectedImage ||\r\n          (profileData?.profileImageUrl?.includes('assets')\r\n            ? (profileData?.profileImageUrl | sasToken : sasToken | async)\r\n            : profileData?.profileImageUrl)\r\n        \"\r\n        [alt]=\"\"\r\n        [ngClass]=\"{\r\n          'default-avatar':\r\n            (!selectedImage && !profileData?.profileImageUrl) || !sasToken\r\n        }\"\r\n      />\r\n    </div>\r\n    <div class=\"image-grid\">\r\n      <div *ngFor=\"let image of imageUrl?.data; let i = index\">\r\n        <div\r\n          class=\"image-item\"\r\n          [ngClass]=\"{ selected: image === selectedImage }\"\r\n          (click)=\"selectImage(image)\"\r\n        >\r\n          <img class=\"item\" [src]=\"image\" alt=\"Image {{ i + 1 }}\" />\r\n          <div class=\"tick-icon\" *ngIf=\"image === selectedImage\"></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"select\">\r\n      <button\r\n        class=\"select-btn\"\r\n        (click)=\"onSelect()\"\r\n        [disabled]=\"isButtonDisabled\"\r\n      >\r\n        Select\r\n      </button>\r\n      <button class=\"cancel-btn\" (click)=\"previous()\">Cancel</button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { Toast } from \"../../models/Toast.Model\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class LayoutService {\r\n  successModalPopUp$ = new Subject();\r\n  updateLeaderBoard$ = new Subject();\r\n  toast$ = new Subject<Toast>();\r\n  scoreNotifier$ = new Subject();\r\n}\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewContainerRef,\r\n  ViewChild,\r\n  ElementRef,\r\n} from \"@angular/core\";\r\nimport { LeaderBoard } from \"../../../models/LeaderBoard.model\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { GalleryComponent } from \"../gallery/gallery.component\";\r\nimport { LayoutService } from \"../../../services/layout/layout.service\";\r\n\r\n\r\n\r\n@Component({\r\n  selector: \"lib-profile\",\r\n  templateUrl: \"./profile.component.html\",\r\n  styleUrls: [\"./profile.component.scss\"],\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  @ViewChild(\"textInput\", { static: false }) textInput: ElementRef;\r\n  @Input() profileData: any;\r\n  userInformation: LeaderBoard;\r\n  invalidUser = true;\r\n  leaderBoardUsers: LeaderBoard[];\r\n  sasToken: string;\r\n  imageUrls: string[] = [];\r\n  imageOnError = false;\r\n  isEditIconDisabled: boolean = false;\r\n  usernameExists: boolean = false;\r\n  selectedImage: string;\r\n  checkUserName: string;\r\n  errMessage = \"\";\r\n  isFliping = true;\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpservice: PopUpService,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private layoutService: LayoutService\r\n    ) {}\r\n    \r\n   \r\n    async ngOnInit(): Promise<void> {\r\n      \r\n      this.proGamification.galleryImages$.subscribe(\r\n        (selectedImage) => {\r\n          this.profileData = selectedImage;\r\n        });\r\n      this.checkUserName = this.profileData.userName;\r\n      this.sasToken = await this.proGamification.getSasToken();\r\n      this.popUpservice.popUp$.subscribe(() => {\r\n        this.onCloseButtonClick();\r\n      });\r\n    }\r\n    \r\n    edit() {\r\n      this.textInput.nativeElement.select();\r\n    }\r\n    \r\n    onCloseButtonClick(): void {\r\n      this.popupClosed.emit();\r\n    }\r\n    \r\n    imgErrorHandler(event) {\r\n      this.imageOnError = true;\r\n    event.onerror = null;\r\n  }\r\n\r\n  createAvatar(): void {\r\n    this.popUpservice.selectAvatar(\r\n      this.viewContainerRef,\r\n      this.profileData,\r\n      GalleryComponent\r\n      );\r\n     \r\n    }\r\n\r\n  userNameExistence() {\r\n    this.isEditIconDisabled = this.profileData.userName.length === 0;\r\n    this.proGamification\r\n      .getUserExistence(this.profileData.userName, this.profileData.userId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          if (res.data) {\r\n            this.errMessage = \"\";\r\n            this.usernameExists = false;\r\n          }\r\n        },\r\n        (err: any) => {\r\n          this.errMessage = err.error.message;\r\n          this.usernameExists = true;\r\n        }\r\n      );\r\n  }\r\n\r\n  onSubmit(): void {\r\n    if (this.usernameExists === false) {\r\n      let userInput = {\r\n        userId: this.profileData.userId,\r\n        appId: this.profileData.application,\r\n      };\r\n      let userData = {\r\n        profileImageUrl: this.profileData.profileImageUrl,\r\n        userId: this.profileData.userId,\r\n        userName: this.profileData.userName,\r\n      };\r\n      this.proGamification.updateUser(userData, userInput).subscribe(\r\n        (response) => {\r\n          this.layoutService.updateLeaderBoard$.next(true);\r\n          this.popupClosed.emit();\r\n        },\r\n        (err) => {\r\n        }\r\n      );\r\n    }\r\n  }\r\n}\r\n","<div class=\"pro-modal-wrap\">\r\n  <div class=\"pro-modal-content\">\r\n    <header>\r\n      <button class=\"flex-item\" (click)=\"onCloseButtonClick()\">\r\n        <img alt=\"image\" />\r\n      </button>\r\n      <div class=\"heading\">Profile</div>\r\n    </header>\r\n    <div class=\"user-info\" *ngIf=\"isFliping\">\r\n      <div class=\"profile-cursor\" (click)=\"createAvatar()\">\r\n        <img\r\n          class=\"avatar-img flip\"\r\n          [src]=\"\r\n            profileData?.profileImageUrl.includes('assets')\r\n              ? (profileData?.profileImageUrl | sasToken : sasToken | async)\r\n              : profileData?.profileImageUrl\r\n          \"\r\n          [alt]=\"\"\r\n          [ngClass]=\"{\r\n            'default-avatar': !profileData?.profileImageUrl || !sasToken\r\n          }\"\r\n        />\r\n        <div class=\"image-edit\">\r\n          <button>\r\n            <img alt=\"image\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"user-name\">\r\n      <label>Username<span class=\"mandatory-field\"> *</span></label>\r\n      <div class=\"name\">\r\n        <input\r\n          type=\"text\"\r\n          class=\"username\"\r\n          [(ngModel)]=\"profileData.userName\"\r\n          (input)=\"userNameExistence()\"\r\n          #textInput\r\n        />\r\n        <div\r\n          [ngClass]=\"{ editon: isEditIconDisabled }\"\r\n          (click)=\"edit()\"\r\n          class=\"editoff\"\r\n        >\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            id=\"Iconly_Light-Outline_Edit\"\r\n            data-name=\"Iconly/Light-Outline/Edit\"\r\n            width=\"21.144\"\r\n            height=\"20.536\"\r\n            viewBox=\"0 0 21.144 20.536\"\r\n          >\r\n            <g id=\"Edit\" transform=\"translate(0 0)\">\r\n              <path\r\n                id=\"Combined-Shape\"\r\n                d=\"M20.331,18.909a.813.813,0,1,1,0,1.626H12.466a.813.813,0,1,1,0-1.626ZM15.306.709l1.868,1.452a3.059,3.059,0,0,1,1.369,1.925,3.1,3.1,0,0,1-.4,2.386l-.016.024-.008.011c-.073.1-.392.5-2,2.518a.641.641,0,0,1-.05.075.812.812,0,0,1-.088.1l-.348.436-.247.31-1.832,2.294-.368.461-5.432,6.8a2.653,2.653,0,0,1-2.045.991l-3.946.05H1.749a.814.814,0,0,1-.792-.626L.07,16.147a2.571,2.571,0,0,1,.5-2.209L10.782,1.163l.012-.014A3.257,3.257,0,0,1,15.306.709ZM9.644,5.19,1.838,14.954a.953.953,0,0,0-.185.819L2.391,18.9l3.3-.041a1.029,1.029,0,0,0,.795-.382l3.507-4.389.452-.565h0l.453-.566,3.371-4.219Zm2.4-3L10.659,3.92l4.62,3.547c.889-1.114,1.474-1.847,1.528-1.917a1.474,1.474,0,0,0,.154-1.089,1.53,1.53,0,0,0-.707-.962c-.077-.053-1.9-1.471-1.96-1.516A1.623,1.623,0,0,0,12.047,2.187Z\"\r\n                transform=\"translate(0)\"\r\n                fill-rule=\"evenodd\"\r\n              />\r\n            </g>\r\n          </svg>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div *ngIf=\"errMessage\" class=\"existing-username\">\r\n      {{ errMessage }}\r\n    </div>\r\n    <div *ngIf=\"isEditIconDisabled\" class=\"existing-username\">\r\n      Create strong and unique username with special characters and number\r\n    </div>\r\n\r\n    <div class=\"submit\">\r\n      <button class=\"submit-btn\" (click)=\"onSubmit()\">Submit</button>\r\n      <button class=\"cancel-btn\" (click)=\"onCloseButtonClick()\">Cancel</button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Observable } from \"rxjs\";\r\nimport { apiEndPoints } from \"./../../ApiConfig/api.config\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { FeatureHttpClient } from \"../interceptors/feature-http-client\";\r\nimport { Token, UserServiceConfig } from \"../../enums/token.enum\";\r\nimport { environment } from \"../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class TokenService {\r\n  gamificationUser = {\r\n    userId: \"\",\r\n    appId: \"\",\r\n    accessToken: \"\",\r\n  };\r\n  constructor(\r\n    private readonly httpClient: FeatureHttpClient,\r\n    private defaultHttp: HttpClient,\r\n    @Optional() @Inject(\"UserServiceConfig\") public config: UserServiceConfig\r\n  ) {}\r\n\r\n  getToken(): Observable<any> {\r\n    return this.defaultHttp.post(\r\n      `${environment.baseUrl}/v1/tokens/accessToken`,\r\n      {\r\n        clientId: this.config.clientId,\r\n        clientSecret: this.config.clientSecret,\r\n      }\r\n    );\r\n  }\r\n  saveUserInStorage(userId: string, appId: string) {\r\n    let user = JSON.parse(localStorage.getItem(Token.GAMIFICATION_STORAGE_KEY));\r\n    if (!user) user = {};\r\n\r\n    user.userId = userId;\r\n    user.appId = appId;\r\n    localStorage.setItem(Token.GAMIFICATION_STORAGE_KEY, JSON.stringify(user));\r\n  }\r\n\r\n  setTokenValue(tokenName: string, tokenValue: string) {\r\n    let user = JSON.parse(localStorage.getItem(Token.GAMIFICATION_STORAGE_KEY));\r\n    if (!user) user = {};\r\n    user[tokenName] = tokenValue;\r\n    localStorage.setItem(Token.GAMIFICATION_STORAGE_KEY, JSON.stringify(user));\r\n  }\r\n\r\n  getTokenValue(tokenKey: string) {\r\n    let user = JSON.parse(localStorage.getItem(Token.GAMIFICATION_STORAGE_KEY));\r\n\r\n    return user ? user[tokenKey] : null;\r\n  }\r\n\r\n  removeStorage() {\r\n    localStorage.removeItem(Token.GAMIFICATION_STORAGE_KEY);\r\n  }\r\n}\r\n","import { UserInput } from \"./../models/User.model\";\r\nimport { LayoutService } from \"./layout/layout.service\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\nimport { User } from \"../models/User.model\";\r\nimport { ProGamificationService } from \"./pro-gamification/pro-gamification.service\";\r\nimport { TokenService } from \"./token/token.service\";\r\nimport { Token } from \"../enums/token.enum\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class Gamification {\r\n  private _tokenService: TokenService;\r\n  constructor(\r\n    private proGamificationService: ProGamificationService,\r\n    private layoutService: LayoutService,\r\n    private injector: Injector\r\n  ) {}\r\n\r\n  async updateGameAction(\r\n    userId: string,\r\n    gameActionId: string,\r\n    correspondingUserId: string,\r\n    correspondingUserApplicationId: string\r\n  ): Promise<any> {\r\n    const triggerGameAction = {\r\n      gameActionId: gameActionId,\r\n      userId: userId,\r\n      correspondingUserId: correspondingUserId,\r\n      correspondingUserApplicationId: correspondingUserApplicationId,\r\n    };\r\n    try {\r\n      const rewards: any = await this.proGamificationService\r\n        .addPointsToUser(triggerGameAction)\r\n        .toPromise();\r\n      if (!rewards[\"data\"]) {\r\n        return;\r\n      }\r\n      this.layoutService.updateLeaderBoard$.next(true);\r\n      if (rewards[\"data\"]?.points) {\r\n        const points = rewards[\"data\"]?.points;\r\n        const gameLimitExceeded = rewards[\"data\"]?.gameLimitExceeded;\r\n        const scoreNotifier = {\r\n          text: gameLimitExceeded\r\n            ? \"Game Action limit exceeded\"\r\n            : points >= 0\r\n            ? `+ ${points}`\r\n            : `${points}`,\r\n          type: gameLimitExceeded ? \"error\" : points >= 0 ? \"success\" : \"error\",\r\n        };\r\n\r\n        this.layoutService.scoreNotifier$.next(scoreNotifier);\r\n      }\r\n\r\n      if (rewards.data?.lookupValue?.length) {\r\n        this.layoutService.successModalPopUp$.next(\r\n          rewards.data.lookupValue[rewards.data.lookupValue?.length - 1]\r\n        );\r\n      }\r\n      return rewards[\"data\"];\r\n    } catch (errRes: any) {\r\n      this.layoutService.toast$.next({\r\n        text: errRes[\"error\"][\"message\"],\r\n        type: \"error\",\r\n      });\r\n    }\r\n  }\r\n\r\n  async addUser(user: User) {\r\n    const newUser = {\r\n      userId: user.userId,\r\n      userName: user.userName,\r\n      phoneNumber: user.phoneNumber,\r\n      email: user.email,\r\n      application: user.application,\r\n      customAttributes: user.customAttributes,\r\n      role: user.role || \"Application User\",\r\n      client: user.client,\r\n      profileImageUrl: user.profileImageUrl || \"\",\r\n    };\r\n    return this.proGamificationService.addUser(newUser).toPromise();\r\n  }\r\n\r\n  async updateUser(user: User, userInput: UserInput) {\r\n    const updatedUser = {\r\n      userId: user.userId,\r\n      userName: user.userName,\r\n      email: user.email,\r\n      phoneNumber: user.phoneNumber,\r\n      application: user.application,\r\n      customAttributes: user.customAttributes,\r\n      role: user.role || \"Application User\",\r\n      client: user.client,\r\n      profileImageUrl: user.profileImageUrl || \"\",\r\n    };\r\n    return this.proGamificationService\r\n      .updateUser(updatedUser, userInput)\r\n      .toPromise();\r\n  }\r\n\r\n  addUsersAsList(userList: User[]) {\r\n    return this.proGamificationService.addUsersAsList(userList);\r\n  }\r\n\r\n  async deleteUser(userId: string) {\r\n    return this.proGamificationService.deleteUser(userId).toPromise();\r\n  }\r\n\r\n  async getUserByAppId(userId: string, appId: string) {\r\n    return this.proGamificationService\r\n      .getUserInformation(userId, appId)\r\n      .toPromise();\r\n  }\r\n\r\n  congifureApplication(projectSettings: any) {\r\n    this.proGamificationService.configureApplication(projectSettings);\r\n  }\r\n\r\n  getDefaultCredentials() {\r\n    return this.proGamificationService.getDefaultCredentials();\r\n  }\r\n\r\n  async initializeGamification() {\r\n    const gamificationUser = JSON.parse(\r\n      localStorage.getItem(Token.GAMIFICATION_STORAGE_KEY)\r\n    );\r\n    if (gamificationUser && gamificationUser[Token.ACCESS_TOKEN]) return;\r\n\r\n    this._tokenService = this.injector.get(TokenService);\r\n    const tokenRes = await this._tokenService.getToken().toPromise();\r\n\r\n    this._tokenService.setTokenValue(\r\n      Token.ACCESS_TOKEN,\r\n      tokenRes.data.access_token\r\n    );\r\n    return tokenRes;\r\n  }\r\n\r\n  removeUserInfo() {\r\n    this._tokenService = this.injector.get(TokenService);\r\n    this._tokenService.removeStorage();\r\n  }\r\n}\r\n","import {\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Inject,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  PLATFORM_ID,\r\n  SimpleChanges,\r\n  NgZone,\r\n} from \"@angular/core\";\r\nimport { isPlatformBrowser } from \"@angular/common\";\r\n\r\n// tslint:disable-next-line: directive-selector\r\n@Directive({ selector: \"[clickOutside]\" })\r\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\r\n  @Input() clickOutsideEnabled = true;\r\n\r\n  @Input() attachOutsideOnClick = false;\r\n  @Input() delayClickOutsideInit = false;\r\n  @Input() emitOnBlur = false;\r\n\r\n  @Input() exclude = \"\";\r\n  @Input() excludeBeforeClick = false;\r\n\r\n  @Input() clickOutsideEvents = \"\";\r\n\r\n  @Output() clickOutside: EventEmitter<Event> = new EventEmitter<Event>();\r\n\r\n  private nodesExcluded: Array<HTMLElement> = [];\r\n  private events: Array<string> = [\"click\"];\r\n\r\n  constructor(\r\n    private el: ElementRef,\r\n    private ngZone: NgZone,\r\n    @Inject(PLATFORM_ID) private platformId: object\r\n  ) {\r\n    this._initOnClickBody = this._initOnClickBody.bind(this);\r\n    this._onClickBody = this._onClickBody.bind(this);\r\n    this._onWindowBlur = this._onWindowBlur.bind(this);\r\n  }\r\n\r\n  ngOnInit() {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n\r\n    this._init();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n\r\n    this._removeClickOutsideListener();\r\n    this._removeAttachOutsideOnClickListener();\r\n    this._removeWindowBlurListener();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n\r\n    if (changes.attachOutsideOnClick || changes.exclude || changes.emitOnBlur) {\r\n      this._init();\r\n    }\r\n  }\r\n\r\n  private _init() {\r\n    if (this.clickOutsideEvents !== \"\") {\r\n      this.events = this.clickOutsideEvents.split(\",\").map((e) => e.trim());\r\n    }\r\n\r\n    this._excludeCheck();\r\n\r\n    if (this.attachOutsideOnClick) {\r\n      this._initAttachOutsideOnClickListener();\r\n    } else {\r\n      this._initOnClickBody();\r\n    }\r\n\r\n    if (this.emitOnBlur) {\r\n      this._initWindowBlurListener();\r\n    }\r\n  }\r\n\r\n  private _initOnClickBody() {\r\n    if (this.delayClickOutsideInit) {\r\n      setTimeout(this._initClickOutsideListener.bind(this));\r\n    } else {\r\n      this._initClickOutsideListener();\r\n    }\r\n  }\r\n\r\n  private _excludeCheck() {\r\n    if (this.exclude) {\r\n      try {\r\n        const nodes = Array.from(\r\n          document.querySelectorAll(this.exclude)\r\n        ) as Array<HTMLElement>;\r\n        if (nodes) {\r\n          this.nodesExcluded = nodes;\r\n        }\r\n      } catch (err) {\r\n        console.error(\r\n          \"[ng-click-outside] Check your exclude selector syntax.\",\r\n          err\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  private _onClickBody(ev: Event) {\r\n    if (!this.clickOutsideEnabled) {\r\n      return;\r\n    }\r\n\r\n    if (this.excludeBeforeClick) {\r\n      this._excludeCheck();\r\n    }\r\n\r\n    if (\r\n      !this.el.nativeElement.contains(ev.target) &&\r\n      !this._shouldExclude(ev.target)\r\n    ) {\r\n      this._emit(ev);\r\n\r\n      if (this.attachOutsideOnClick) {\r\n        this._removeClickOutsideListener();\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Resolves problem with outside click on iframe\r\n   * @see https://github.com/arkon/ng-click-outside/issues/32\r\n   */\r\n  private _onWindowBlur(ev: Event) {\r\n    setTimeout(() => {\r\n      if (!document.hidden) {\r\n        this._emit(ev);\r\n      }\r\n    });\r\n  }\r\n\r\n  private _emit(ev: Event) {\r\n    if (!this.clickOutsideEnabled) {\r\n      return;\r\n    }\r\n\r\n    this.ngZone.run(() => this.clickOutside.emit(ev));\r\n  }\r\n\r\n  private _shouldExclude(target): boolean {\r\n    for (const excludedNode of this.nodesExcluded) {\r\n      if (excludedNode.contains(target)) {\r\n        return true;\r\n      }\r\n    }\r\n\r\n    return false;\r\n  }\r\n\r\n  private _initClickOutsideListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      this.events.forEach((e) =>\r\n        document.addEventListener(e, this._onClickBody)\r\n      );\r\n    });\r\n  }\r\n\r\n  private _removeClickOutsideListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      this.events.forEach((e) =>\r\n        document.removeEventListener(e, this._onClickBody)\r\n      );\r\n    });\r\n  }\r\n\r\n  private _initAttachOutsideOnClickListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      this.events.forEach((e) =>\r\n        this.el.nativeElement.addEventListener(e, this._initOnClickBody)\r\n      );\r\n    });\r\n  }\r\n\r\n  private _removeAttachOutsideOnClickListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      this.events.forEach((e) =>\r\n        this.el.nativeElement.removeEventListener(e, this._initOnClickBody)\r\n      );\r\n    });\r\n  }\r\n\r\n  private _initWindowBlurListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      window.addEventListener(\"blur\", this._onWindowBlur);\r\n    });\r\n  }\r\n\r\n  private _removeWindowBlurListener() {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      window.removeEventListener(\"blur\", this._onWindowBlur);\r\n    });\r\n  }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Toast } from \"../../../models/Toast.Model\";\r\nimport { LayoutService } from \"../../../services/layout/layout.service\";\r\nimport { delay } from \"rxjs/operators\";\r\nimport { of } from \"rxjs\";\r\n@Component({\r\n  selector: \"score-notifier\",\r\n  templateUrl: \"./score-notification.component.html\",\r\n  styleUrls: [\"./score-notification.component.scss\"],\r\n})\r\nexport class ScoreNotificationComponent implements OnInit {\r\n  scoreAlerts: Toast[] = [];\r\n  constructor(private layoutService: LayoutService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.layoutService.scoreNotifier$.subscribe((scoreRes: Toast) => {\r\n      this.scoreAlerts = [scoreRes, ...this.scoreAlerts];\r\n      const delayPipe = of(this.scoreAlerts).pipe(delay(2000));\r\n      delayPipe.subscribe(() => this.scoreAlerts.pop());\r\n    });\r\n  }\r\n}\r\n","<div *ngFor=\"let score of scoreAlerts\">\r\n  <div\r\n    *ngIf=\"score?.text\"\r\n    [ngClass]=\"{\r\n      'plus-one': score?.text,\r\n      success: score.type === 'success',\r\n      'error': score.type === 'error'\r\n    }\"\r\n  >\r\n    {{ score?.text }}\r\n  </div>\r\n</div>\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { ThemeService } from \"../../services/layout/theme.service\";\r\n\r\n@Component({\r\n  selector: \"user-rewards\",\r\n  templateUrl: \"./user-rewards.component.html\",\r\n  styleUrls: [\"./user-rewards.component.scss\"],\r\n})\r\nexport class UserRewardsComponent {\r\n  Object = Object;\r\n\r\n  @Input() userRewards: any;\r\n  @Input() sasToken: string;\r\n  @Input() countOfRewards: number;\r\n  @Input() privilegeName: string;\r\n  currentPage = 1;\r\n  math = Math;\r\n  isLoading = true;\r\n\r\n  constructor(private themeService: ThemeService) {\r\n    this.themeService.updateTheme();\r\n  }\r\n}\r\n","<div class=\"reward-container\">\r\n  <div class=\"labels\">\r\n    <h3>{{ privilegeName || \"Badge board\" }} ({{ countOfRewards || 0 }})</h3>\r\n  </div>\r\n\r\n  <div\r\n    class=\"user-rewards\"\r\n    *ngIf=\"userRewards && Object.keys(userRewards)?.length; else loading\"\r\n  >\r\n    <ng-container\r\n      *ngFor=\"let rewardtype of Object.keys(userRewards); let i = index\"\r\n    >\r\n      <div\r\n        *ngFor=\"let reward of userRewards[rewardtype]; let j = index\"\r\n        class=\"reward\"\r\n        [title]=\"reward?.value || ''\"\r\n        [ngClass]=\"{\r\n          color1: (i * userRewards[rewardtype].length + j) % 6 === 0,\r\n          color2: (i * userRewards[rewardtype].length + j) % 6 === 1,\r\n          color3: (i * userRewards[rewardtype].length + j) % 6 === 2,\r\n          color4: (i * userRewards[rewardtype].length + j) % 6 === 3,\r\n          color5: (i * userRewards[rewardtype].length + j) % 6 === 4,\r\n          color6: (i * userRewards[rewardtype].length + j) % 6 === 5,\r\n          attained: !reward.attained\r\n        }\"\r\n      >\r\n        <div class=\"reward-border\">\r\n          <img\r\n            [src]=\"reward.sourceImgUrl | sasToken : sasToken | async\"\r\n            alt=\"\"\r\n            [ngClass]=\"{\r\n              'default-reward': !reward?.sourceImgUrl || !sasToken\r\n            }\"\r\n          />\r\n        </div>\r\n        <div class=\"reward-content\">\r\n          <div class=\"reward-name\">{{ reward?.value | titlecase }}</div>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n  </div>\r\n\r\n  <ng-template #loading>\r\n    <div *ngIf=\"isLoading; else notFound\" class=\"progamification-spinner\"></div>\r\n    <ng-template #notFound>\r\n      <div class=\"msg\"><h4>No Badges</h4></div>\r\n    </ng-template>\r\n  </ng-template>\r\n</div>\r\n","import { Component, Input, OnChanges, SimpleChanges } from \"@angular/core\";\r\nimport { ThemeService } from \"../../../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../../../services/pro-gamification/pro-gamification.service\";\r\n@Component({\r\n  selector: \"progress-bar\",\r\n  templateUrl: \"./progress-bar.component.html\",\r\n  styleUrls: [\"./progress-bar.component.scss\"],\r\n})\r\nexport class ProgressBarComponent implements OnChanges {\r\n  @Input() progress: number = 0;\r\n  @Input() previousReward: any;\r\n  @Input() nextReward: any;\r\n  @Input() sasToken: string;\r\n  @Input() currentUser: any;\r\n  @Input() level = 0;\r\n\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private tabService: ProGamificationService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  selectTab() {\r\n    this.tabService.tabChange(0);\r\n  }\r\n  isNaN(value: any): boolean {\r\n    return isNaN(value);\r\n  }\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes?.progress && changes?.progress?.currentValue) {\r\n      document.documentElement.style.setProperty(\r\n        \"--pro-gamify-progress\",\r\n        `${this.progress}%`\r\n      );\r\n    }\r\n    const nextReward = Object.keys(changes?.nextReward?.currentValue || {});\r\n    const previousReward = Object.keys(\r\n      changes?.previousReward?.currentValue || {}\r\n    );\r\n\r\n    if (previousReward?.length > 0 && nextReward?.length == 0) {\r\n      this.level = this.level - 1;\r\n      this.progress = 100;\r\n      document.documentElement.style.setProperty(\r\n        \"--pro-gamify-progress\",\r\n        `100%`\r\n      );\r\n    }\r\n  }\r\n}\r\n","<div class=\"pro-container\">\r\n  <div class=\"pro-progress-header\">\r\n    <h3 class=\"level-animation\">\r\n      {{ isNaN(level) ? \"\" : \"Level \" + (+level + 1) }}\r\n    </h3>\r\n    <h5>\r\n      <span>{{\r\n        (currentUser?.score + \" points\" || 0) +\r\n          (!nextReward ? \"\" : \"\") +\r\n          (nextReward && nextReward?.points\r\n            ? \" / \" + nextReward?.points + \" points\"\r\n            : \"\")\r\n      }}</span>\r\n    </h5>\r\n  </div>\r\n  <div>\r\n    <div class=\"pro-progress-holder\">\r\n      <span class=\"pro-bar\" [title]=\"(progress || 0) + '% completed'\"></span>\r\n    </div>\r\n    <div class=\"progress-footer\">\r\n      <a (click)=\"selectTab()\">\r\n        View Leaderboard\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"14\"\r\n          height=\"14\"\r\n          viewBox=\"0 0 16 16\"\r\n        >\r\n          <path\r\n            fill-rule=\"evenodd\"\r\n            d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\r\n          />\r\n        </svg>\r\n      </a>\r\n      <span class=\"goal\">{{ (progress || 0) + \"% completed\" }}</span>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'utcToLocalTime'\r\n})\r\nexport class UtcToLocalTimePipe implements PipeTransform {\r\n\r\n  transform(utcTimestamp: number)  {\r\n    if (!utcTimestamp) {\r\n      return '';\r\n    }\r\n    \r\n    const localTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n    \r\n    const localDate = this.convertUtcToLocalTime(utcTimestamp, localTimezone);\r\n    \r\n    return localDate.toDateString();\r\n  }\r\n  \r\n  private convertUtcToLocalTime(utcTimestamp: number, localTimezone: string): Date {\r\n    const utcDateObject = new Date(utcTimestamp);\r\n    \r\n    const options = { timeZone: localTimezone };\r\n    return new Date(utcDateObject.toLocaleString('en-US', options));\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\n\r\n@Component({\r\n  selector: \"lib-view-order-history\",\r\n  templateUrl: \"./view-order-history.component.html\",\r\n  styleUrls: [\"./view-order-history.component.scss\"],\r\n})\r\nexport class ViewOrderHistoryComponent implements OnInit {\r\n  @Input() data: any;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n\r\n  constructor(\r\n    private popUpService: PopUpService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n}\r\n","<div class=\"pro-modal-wrap\">\r\n  <div class=\"pro-modal-content\">\r\n    <header>\r\n      <button class=\"flex-item\" (click)=\"onCloseButtonClick()\">\r\n        <img alt=\"image\" />\r\n      </button>\r\n      <div class=\"heading\">Order History</div>\r\n    </header>\r\n    <div class=\"background\">\r\n      <div class=\"flex-row\">\r\n        <div class=\"name\">\r\n          {{ data.productName }}\r\n        </div>\r\n      </div>\r\n      <div class=\"product-img\">\r\n        <img class=\"img-src\" alt=\"\" [src]=\"data.productImageUrl\" />\r\n      </div>\r\n      <div class=\"order-placed\">\r\n        <div class=\"created-on\">\r\n          Order Placed on <span class=\"spacing\">: </span>\r\n          <span>{{ data.createdOn | utcToLocalTime }}</span>\r\n        </div>\r\n        <div class=\"amount\">\r\n          Transaction Amount\r\n          <span class=\"items\">: </span>\r\n          <span>{{ data.transactionAmount }} Rupees</span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { ViewOrderHistoryComponent } from \"../view-order-history/view-order-history.component\";\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from \"@angular/animations\";\r\n@Component({\r\n  selector: \"lib-list-order-history\",\r\n  templateUrl: \"./list-order-history.component.html\",\r\n  styleUrls: [\"./list-order-history.component.scss\"],\r\n  animations: [\r\n    trigger(\"fadeInOut\", [\r\n      state(\"void\", style({ opacity: 0, transform: \"translateY(20px)\" })), // Initial state: hidden below\r\n      transition(\":enter, :leave\", [\r\n        animate(\"0.7s\", style({ opacity: 1, transform: \"translateY(0)\" })), // Transition to/from visible state, move up\r\n      ]),\r\n    ]),\r\n  ],\r\n})\r\nexport class ListOrderHistoryComponent implements OnInit {\r\n  @Input() data: any;\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  orders = [];\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.proGamification\r\n      .getOrders(this.data.userId, this.data.application)\r\n      .subscribe((res: any) => {\r\n        this.orders = res;\r\n      });\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n\r\n  viewOrderHistory(order: any) {\r\n    this.popUpService.viewOrderHistory(\r\n      this.viewContainerRef,\r\n      ViewOrderHistoryComponent,\r\n      order,\r\n      this.data\r\n    );\r\n  }\r\n}\r\n","<div class=\"pro-modal-wrap\">\r\n  <div class=\"pro-modal-content\">\r\n    <header>\r\n      <button class=\"flex-item\" (click)=\"onCloseButtonClick()\">\r\n        <img alt=\"image\" />\r\n      </button>\r\n      <div class=\"heading\">My Vouchers</div>\r\n    </header>\r\n    <div class=\"background\">\r\n      <div *ngIf=\"orders?.length; else noValue \">\r\n        <div class=\"flex-row\" *ngFor=\"let order of orders\" [@fadeInOut]=\"true\">\r\n          <div class=\"left\">\r\n            <img class=\"img-src\" alt=\"\" [src]=\"order.productImageUrl\" />\r\n            <div class=\"name\">\r\n              {{ order.productName }}\r\n              <div class=\"order-history\">\r\n                <button (click)=\"viewOrderHistory(order)\" class=\"btn-img\">\r\n                  View Order History <img class=\"img-voucher\" alt=\"\" />\r\n                </button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"status\">\r\n            {{ order.orderStatus }}\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <ng-template #noValue><div class=\"no-data\"> No Vouchers available </div></ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { FormControl } from \"@angular/forms\";\r\n\r\nexport const validators = {\r\n  regexPattern: {\r\n    email: \"^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$\",\r\n    phoneNumber: \"^[6-9][0-9]{9}$\",\r\n  },\r\n\r\n  noWhitespaceValidator: (control: FormControl) =>\r\n    (control.value ?? \"\").trim().length ? null : { whitespace: true },\r\n};\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n  name: \"numberFormat\",\r\n})\r\nexport class ConvertNumberWithPrefixPipe implements PipeTransform {\r\n  transform(value: number): string {\r\n    if (isNaN(value)) {\r\n      return \"Invalid number\";\r\n    }\r\n\r\n    const prefixes = [\r\n      \"\",\r\n      \"k\",\r\n      \"M\",\r\n      \"B\",\r\n      \"T\",\r\n      \"Qa\",\r\n      \"Qi\",\r\n      \"Sx\",\r\n      \"Sp\",\r\n      \"Oc\",\r\n      \"No\", // Continue adding prefixes as needed\r\n    ];\r\n\r\n    let power = 0;\r\n    while (value >= 1000 && power < prefixes.length - 1) {\r\n      value /= 1000;\r\n      power++;\r\n    }\r\n\r\n    // Round the value to two decimal places\r\n    value = +value.toFixed(2);\r\n\r\n    // Format the number with commas\r\n    const formattedValue = value.toLocaleString();\r\n\r\n    return formattedValue + \" \" + prefixes[power];\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { ListOrderHistoryComponent } from \"../../orders/list-order-history/list-order-history.component\";\r\nimport { WalletComponent } from \"../../wallet/wallet/wallet.component\";\r\n\r\n@Component({\r\n  selector: \"lib-redeem-confirmation\",\r\n  templateUrl: \"./redeem-confirmation.component.html\",\r\n  styleUrls: [\"./redeem-confirmation.component.scss\"],\r\n})\r\nexport class RedeemConfirmationComponent implements OnInit {\r\n  @Input() data: any;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n  sasToken: string;\r\n  userInfo: any;\r\n\r\n  walletBalance: any;\r\n\r\n  constructor(\r\n    private proGamificationService: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.userInfo = this.proGamificationService.getUserAndAppId();\r\n    this.getWalletBalance();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamificationService.getSasToken();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n\r\n  getWalletBalance() {\r\n    this.proGamificationService\r\n      .getWalletBalance(this.userInfo.userId, this.userInfo.appId)\r\n      .subscribe((res: any) => {\r\n        this.walletBalance =\r\n          res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n        this.proGamificationService.wallet$.next(this.walletBalance);\r\n      });\r\n  }\r\n\r\n  goToMyOrders() {\r\n    let userInfo = this.proGamificationService.getUserAndAppId();\r\n    userInfo[\"application\"] = userInfo.appId;\r\n    this.popUpService.createOrderHistory(\r\n      this.viewContainerRef,\r\n      userInfo,\r\n      ListOrderHistoryComponent\r\n    );\r\n  }\r\n  goToWallet() {\r\n    this.popUpService.goToWallet(\r\n      this.viewContainerRef,\r\n      this.walletBalance,\r\n      this.data,\r\n      WalletComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <div>\r\n      <div class=\"order-header\">\r\n        <img class=\"cancel\" alt=\"cancel\" (click)=\"onCloseButtonClick()\" />\r\n\r\n        <div class=\"wallet\">\r\n          <button (click)=\"goToWallet()\" [disabled]=\"!walletBalance\">\r\n            Go to Wallet\r\n          </button>\r\n          <div class=\"coin\">\r\n            <img\r\n              alt=\"\"\r\n              [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n              [ngClass]=\"{ 'default-coin': !walletBalance?.imageUrl }\"\r\n            />\r\n            <span>{{ walletBalance?.balance || 0 | numberFormat }} </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"header-success\">Redeem</div>\r\n      <div class=\"\">\r\n        <div class=\"success-details\">\r\n          <div>\r\n            <div>\r\n              <img alt=\"success\" class=\"success\" />\r\n              <div class=\"success-heading\">Order placed Successfully</div>\r\n              <div>{{ \"- \" + data?.eligibleMoney || 0 + \" coins\" }}</div>\r\n            </div>\r\n            <div class=\"order-description\">          \r\n              <div class=\"balance-debited\">\r\n                <img\r\n                  alt=\"\"\r\n                  [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n                  class=\"wallet-coin\"\r\n                  [ngClass]=\"{\r\n                    'default-coin': !walletBalance?.imageUrl || !sasToken\r\n                  }\"\r\n                />&nbsp;\r\n                <div>\r\n                  {{ (walletBalance?.balance || 0 | numberFormat) + \" coins\" }}\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"border\"></div>\r\n      <div class=\"success-footer\">\r\n        <div class=\"navigation-buttons\">\r\n          <button (click)=\"goToMyOrders()\">\r\n            <span>Go to my vouchers</span>\r\n            <img alt=\"arrow\" />\r\n          </button>\r\n          <button (click)=\"goToWallet()\">\r\n            <span>Go to wallet</span>\r\n            <img alt=\"arrow\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { WalletComponent } from \"../../wallet/wallet/wallet.component\";\r\nimport { ListRedeemableProductsComponent } from \"../list-redeemable-products/list-redeemable-products.component\";\r\nimport { RedeemableProductComponent } from \"../redeemable-product/redeemable-product.component\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\n\r\n@Component({\r\n  selector: \"lib-redeem-failure\",\r\n  templateUrl: \"./redeem-failure.component.html\",\r\n  styleUrls: [\"./redeem-failure.component.scss\"],\r\n})\r\nexport class RedeemFailureComponent implements OnInit {\r\n  @Input() data: any;\r\n\r\n  @Input() failureMsg: any;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n  walletBalance: any;\r\n  sasToken: string;\r\n  products: any[];\r\n  userInfo: any;\r\n\r\n  constructor(\r\n    private popUpService: PopUpService,\r\n    private proGamificationService: ProGamificationService\r\n  ) {\r\n    this.userInfo = this.proGamificationService.getUserAndAppId();\r\n    this.getWalletBalance();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamificationService.getSasToken();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n  goToWallet() {\r\n    this.popUpService.goToWallet(\r\n      this.viewContainerRef,\r\n      this.walletBalance,\r\n      this.data,\r\n      WalletComponent\r\n    );\r\n  }\r\n\r\n  getWalletBalance() {\r\n    this.proGamificationService\r\n      .getWalletBalance(this.userInfo.userId, this.userInfo.appId)\r\n      .subscribe((res: any) => {\r\n        this.walletBalance =\r\n          res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n        this.proGamificationService.wallet$.next(this.walletBalance);\r\n      });\r\n  }\r\n  createRedeemPopup() {\r\n    this.popUpService.createRedeemPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      ListRedeemableProductsComponent\r\n    );\r\n  }\r\n\r\n  goToProductComponent() {\r\n    this.popUpService.createProductPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      {},\r\n      RedeemableProductComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <div>\r\n      <div class=\"order-header\">\r\n        <img class=\"cancel\" alt=\"cancel\" (click)=\"onCloseButtonClick()\" />\r\n\r\n        <div class=\"wallet\">\r\n          <button (click)=\"goToWallet()\" [disabled]=\"!walletBalance\">\r\n            Go to Wallet\r\n          </button>\r\n          <div class=\"coin\">\r\n            <img\r\n              alt=\"\"\r\n              [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n              [ngClass]=\"{ 'default-coin': !walletBalance?.imageUrl }\"\r\n            />\r\n            <span>{{ walletBalance?.balance || 0 | numberFormat }} </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"header-failure\">Redeem</div>\r\n      <div class=\"\">\r\n        <div class=\"failure-details\">\r\n          <div>\r\n            <div>\r\n              <img alt=\"failure\" class=\"failure\" />\r\n              <div class=\"failure-heading\">Oops !</div>\r\n            </div>\r\n            <div class=\"order-description\">\r\n              <div>\r\n                Your Order has been failed. {{ failureMsg ? failureMsg : \"\" }}\r\n              </div>\r\n              <div class=\"description\">Please try again</div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"border\"></div>\r\n      <div class=\"navigation-buttons\">\r\n        <button (click)=\"goToProductComponent()\">\r\n          <span>Retry</span>\r\n          <img alt=\"arrow\" />\r\n        </button>\r\n        <button (click)=\"createRedeemPopup()\">\r\n          <span>Cancel</span>\r\n          <img alt=\"arrow\" />\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"lib-back\",\r\n  templateUrl: \"./back.component.html\",\r\n  styleUrls: [\"./back.component.scss\"],\r\n})\r\nexport class BackComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","<svg\r\n  id=\"Group_18872\"\r\n  data-name=\"Group 18872\"\r\n  xmlns=\"http://www.w3.org/2000/svg\"\r\n  width=\"40\"\r\n  height=\"40\"\r\n  viewBox=\"0 0 40 40\"\r\n>\r\n  <g\r\n    id=\"Ellipse_3\"\r\n    data-name=\"Ellipse 3\"\r\n    fill=\"none\"\r\n    stroke=\"#ddd\"\r\n    stroke-width=\"1\"\r\n  >\r\n    <circle cx=\"20\" cy=\"20\" r=\"20\" stroke=\"none\" />\r\n    <circle cx=\"20\" cy=\"20\" r=\"19.5\" fill=\"none\" />\r\n  </g>\r\n  <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(14.21 15)\">\r\n    <path\r\n      id=\"Path_1\"\r\n      data-name=\"Path 1\"\r\n      d=\"M5.8,0,0,5.481l5.8,5.481\"\r\n      transform=\"translate(0)\"\r\n      fill=\"none\"\r\n      stroke=\"#333\"\r\n      stroke-linecap=\"round\"\r\n      stroke-linejoin=\"round\"\r\n      stroke-width=\"2\"\r\n    />\r\n    <path\r\n      id=\"Path_22589\"\r\n      data-name=\"Path 22589\"\r\n      d=\"M17.58,5.481H6.9\"\r\n      transform=\"translate(-6)\"\r\n      fill=\"none\"\r\n      stroke=\"#333\"\r\n      stroke-linecap=\"round\"\r\n      stroke-linejoin=\"round\"\r\n      stroke-width=\"2\"\r\n    />\r\n  </g>\r\n</svg>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  EventEmitter,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport {\r\n  AbstractControl,\r\n  FormBuilder,\r\n  FormControl,\r\n  FormGroup,\r\n  Validators,\r\n} from \"@angular/forms\";\r\n\r\nimport { validators } from \"../../validators/input-validator\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { RedeemConfirmationComponent } from \"../redeem-confirmation/redeem-confirmation.component\";\r\nimport { RedeemableProductComponent } from \"../redeemable-product/redeemable-product.component\";\r\nimport { WalletComponent } from \"../../wallet/wallet/wallet.component\";\r\nimport { RedeemFailureComponent } from \"../redeem-failure/redeem-failure.component\";\r\n\r\n@Component({\r\n  selector: \"lib-billing-form\",\r\n  templateUrl: \"./billing-form.component.html\",\r\n  styleUrls: [\"./billing-form.component.scss\"],\r\n})\r\nexport class BillingFormComponent implements OnInit {\r\n  addBillingAddressForm!: FormGroup;\r\n  submitted = false;\r\n  @Input() data: any;\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n\r\n  loading = false;\r\n  imageLoaded: boolean = false;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  userInfo: any;\r\n  walletBalance: any;\r\n  sasToken: string;\r\n\r\n  constructor(\r\n    private formBuilder: FormBuilder,\r\n    private proGamification: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.userInfo = this.proGamification.getUserAndAppId();\r\n    this.getWalletBalance();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.addBillingAddressForm = this.formBuilder.group({\r\n      firstName: new FormControl(\"\", [\r\n        Validators.required,\r\n        validators.noWhitespaceValidator,\r\n      ]),\r\n      countryCode: new FormControl(\"+91\", [Validators.required]),\r\n      telephone: new FormControl(\"\", [\r\n        Validators.required,\r\n        Validators.pattern(validators.regexPattern.phoneNumber),\r\n      ]),\r\n      email: new FormControl(\"\", [\r\n        Validators.required,\r\n        validators.noWhitespaceValidator,\r\n        Validators.pattern(validators.regexPattern.email),\r\n      ]),\r\n    });\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n  onImageLoad() {\r\n    this.imageLoaded = true;\r\n  }\r\n  get formControls(): { [key: string]: AbstractControl } {\r\n    return this.addBillingAddressForm.controls;\r\n  }\r\n\r\n  async submit() {\r\n    this.submitted = true;\r\n    this.loading = true;\r\n    if (this.addBillingAddressForm.invalid) {\r\n      this.loading = false;\r\n      return;\r\n    }\r\n\r\n    const phoneNumber = `${this.addBillingAddressForm.value.countryCode}${this.addBillingAddressForm.value.telephone}`;\r\n    const redeemDetails = {\r\n      email: this.addBillingAddressForm.value.email,\r\n      telephone: phoneNumber,\r\n      firstName: this.addBillingAddressForm.value.firstName,\r\n      redeemRuleId: this.data.id,\r\n      gamificationUserId: this.data.userId,\r\n      gamificationApplicationId: this.data.gamificationApplicationId,\r\n    };\r\n    try {\r\n      const redeemRes: any = await this.proGamification\r\n        .redeemProduct(redeemDetails)\r\n        .toPromise();\r\n      this.loading = false;\r\n      if (!redeemRes.message) {\r\n        this.createConfirmtionPopup(redeemRes);\r\n      }\r\n      !redeemRes.message\r\n        ? this.createConfirmtionPopup(redeemRes)\r\n        : this.createFailurePopup(redeemRes.message);\r\n    } catch (err) {\r\n      this.loading = false;\r\n      this.createFailurePopup(err?.error?.message);\r\n    }\r\n  }\r\n  createConfirmtionPopup(data?: any) {\r\n    this.popUpService.createConfirmtionPopup(\r\n      this.viewContainerRef,\r\n      data,\r\n      this.data,\r\n      RedeemConfirmationComponent\r\n    );\r\n  }\r\n\r\n  createFailurePopup(failureMessage?: any) {\r\n    this.popUpService.createFailurePopup(\r\n      this.viewContainerRef,\r\n      failureMessage,\r\n      this.data,\r\n      RedeemFailureComponent\r\n    );\r\n  }\r\n\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n\r\n  goToProductComponent() {\r\n    this.popUpService.createProductPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      {},\r\n      RedeemableProductComponent\r\n    );\r\n  }\r\n\r\n  getWalletBalance() {\r\n    this.proGamification\r\n      .getWalletBalance(this.userInfo.userId, this.userInfo.appId)\r\n      .subscribe((res: any) => {\r\n        this.walletBalance =\r\n          res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n      });\r\n  }\r\n\r\n  goToWallet() {\r\n    this.popUpService.goToWallet(\r\n      this.viewContainerRef,\r\n      this.walletBalance,\r\n      this.data,\r\n      WalletComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\" *ngIf=\"true\">\r\n  <div class=\"modal-content\">\r\n    <header>\r\n      <div class=\"back\">\r\n        <lib-back (click)=\"goToProductComponent()\"></lib-back>\r\n\r\n        <div class=\"wallet\">\r\n          <button (click)=\"goToWallet()\" [disabled]=\"!walletBalance\">\r\n            Go to Wallet\r\n          </button>\r\n          <div class=\"coin\">\r\n            <img\r\n              alt=\"\"\r\n              [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n              (load)=\"onImageLoad()\"\r\n              [ngClass]=\"{\r\n                'default-coin': !imageLoaded\r\n              }\"\r\n            />\r\n            <div>{{ walletBalance?.balance || 0 | numberFormat }}</div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <h2>Billing Address</h2>\r\n    </header>\r\n    <form [formGroup]=\"addBillingAddressForm\" (submit)=\"submit()\">\r\n      <div class=\"name\">\r\n        <div class=\"input\">\r\n          <label for=\"firstName\"\r\n            >First Name<span class=\"required\">*</span></label\r\n          >\r\n          <input\r\n            type=\"text\"\r\n            name=\"firstName\"\r\n            formControlName=\"firstName\"\r\n            class=\"px-3 py-2 placeholder-gray-300 w-3/4 border-b-2 focus:outline-none\"\r\n            placeholder=\"Enter Your First Name\"\r\n          />\r\n          <div\r\n            *ngIf=\"submitted && formControls?.firstName?.errors\"\r\n            class=\"invalid-feedback\"\r\n          >\r\n            <small\r\n              *ngIf=\"\r\n                formControls?.firstName?.errors['required'] ||\r\n                formControls?.firstName?.errors['whitespace']\r\n              \"\r\n            >\r\n              First Name is required\r\n            </small>\r\n            <small *ngIf=\"formControls?.firstName?.errors['pattern']\">\r\n              Name is invalid\r\n            </small>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"input\">\r\n        <label for=\"firstName\"\r\n          >Contact Number<span class=\"required\">*</span></label\r\n        >\r\n        <div class=\"input-group\">\r\n          <select\r\n            class=\"country-code\"\r\n            name=\"countryCode\"\r\n            formControlName=\"countryCode\"\r\n          >\r\n            <option value=\"+91\" [selected]=\"true\">+91</option>\r\n            <option value=\"+1\">+1</option>\r\n          </select>\r\n          <input\r\n            class=\"telephone\"\r\n            type=\"number\"\r\n            name=\"telephone\"\r\n            formControlName=\"telephone\"\r\n            placeholder=\"Enter Your Contact Number\"\r\n          />\r\n        </div>\r\n\r\n        <div\r\n          *ngIf=\"submitted && formControls['telephone']?.errors\"\r\n          class=\"invalid-feedback\"\r\n        >\r\n          <small\r\n            *ngIf=\"\r\n              formControls?.telephone?.errors['required'] ||\r\n              formControls.telephone?.errors['whitespace']\r\n            \"\r\n          >\r\n            Contact Number is required\r\n          </small>\r\n          <small *ngIf=\"formControls?.telephone?.errors['pattern']\">\r\n            Contact Number is invalid\r\n          </small>\r\n        </div>\r\n      </div>\r\n      <div class=\"input\">\r\n        <label for=\"name\">Email<span class=\"required\">*</span></label>\r\n        <input\r\n          type=\"text\"\r\n          name=\"email\"\r\n          formControlName=\"email\"\r\n          placeholder=\"Enter Your Email\"\r\n        />\r\n        <div\r\n          *ngIf=\"submitted && formControls?.email?.errors\"\r\n          class=\"invalid-feedback\"\r\n        >\r\n          <small\r\n            *ngIf=\"\r\n              formControls?.email?.errors['required'] ||\r\n              formControls?.email?.errors['whitespace']\r\n            \"\r\n          >\r\n            Email is required\r\n          </small>\r\n          <small *ngIf=\"formControls['email']?.errors['pattern']\">\r\n            Email is invalid\r\n          </small>\r\n        </div>\r\n      </div>\r\n\r\n      <button [ngClass]=\"{ loader: loading }\">\r\n        <span>Submit <span *ngIf=\"loading\">...</span></span\r\n        ><img alt=\"\" [ngClass]=\"{ arrow: !loading }\" />\r\n      </button>\r\n    </form>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from \"@angular/animations\";\r\n\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { WalletComponent } from \"../../wallet/wallet/wallet.component\";\r\nimport { BillingFormComponent } from \"../billing-form/billing-form.component\";\r\nimport { ListRedeemableProductsComponent } from \"../list-redeemable-products/list-redeemable-products.component\";\r\n\r\n@Component({\r\n  selector: \"lib-redeemable-product\",\r\n  templateUrl: \"./redeemable-product.component.html\",\r\n  styleUrls: [\"./redeemable-product.component.scss\"],\r\n  animations: [\r\n    trigger(\"fadeInOut\", [\r\n      state(\"void\", style({ opacity: 0, transform: \"translateY(20px)\" })),\r\n      transition(\":enter, :leave\", [\r\n        animate(\"1.1s\", style({ opacity: 1, transform: \"translateY(0)\" })),\r\n      ]),\r\n    ]),\r\n  ],\r\n})\r\nexport class RedeemableProductComponent implements OnInit {\r\n  sasToken: string;\r\n  @Input() data: any;\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n\r\n  userInfo: any;\r\n  walletBalance: any;\r\n\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.userInfo = this.proGamification.getUserAndAppId();\r\n    this.getWalletBalance();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n  createBillingPopup() {\r\n    this.popUpService.createBillingPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      BillingFormComponent\r\n    );\r\n  }\r\n\r\n  goToListProductComponent() {\r\n    this.popUpService.createRedeemPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      ListRedeemableProductsComponent\r\n    );\r\n  }\r\n  getWalletBalance() {\r\n    this.proGamification\r\n      .getWalletBalance(this.userInfo.userId, this.userInfo.appId)\r\n      .subscribe((res: any) => {\r\n        this.walletBalance =\r\n          res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n      });\r\n  }\r\n  goToWallet() {\r\n    this.popUpService.goToWallet(\r\n      this.viewContainerRef,\r\n      this.walletBalance,\r\n      this.data,\r\n      WalletComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <header>\r\n      <lib-back (click)=\"goToListProductComponent()\"></lib-back>\r\n\r\n      <div class=\"wallet\">\r\n        <button (click)=\"goToWallet()\" [disabled]=\"!walletBalance\">\r\n          Go to Wallet\r\n        </button>\r\n        <div class=\"coin\">\r\n          <img\r\n            alt=\"\"\r\n            [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n            [ngClass]=\"{ 'default-coin': !walletBalance?.imageUrl }\"\r\n          />\r\n          <span>{{ walletBalance?.balance || 0 | numberFormat }} </span>\r\n        </div>\r\n      </div>\r\n    </header>\r\n    <h1>Redeem</h1>\r\n    <section [@fadeInOut]=\"true\">\r\n      <div class=\"product-details\">\r\n        <img class=\"img\" [src]=\"data?.productImageUrl\" alt=\"\" />\r\n\r\n        <h2>{{ data?.productName }}</h2>\r\n        <div class=\"coin\">\r\n          <img\r\n            alt=\"\"\r\n            [src]=\"data?.virtualMoneyImageUrl | sasToken : sasToken | async\"\r\n          /><span>{{ data?.eligibleMoney + \" coins\" }}</span>\r\n        </div>\r\n      </div>\r\n\r\n      <button (click)=\"createBillingPopup()\">Redeem Now</button>\r\n    </section>\r\n  </div>\r\n</div>\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"lib-close\",\r\n  templateUrl: \"./close.component.html\",\r\n  styleUrls: [\"./close.component.scss\"],\r\n})\r\nexport class CloseComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","<svg\r\n  id=\"Group_18872\"\r\n  data-name=\"Group 18872\"\r\n  xmlns=\"http://www.w3.org/2000/svg\"\r\n  width=\"32\"\r\n  height=\"32\"\r\n  viewBox=\"0 0 40 40\"\r\n>\r\n  <g\r\n    id=\"Ellipse_3\"\r\n    data-name=\"Ellipse 3\"\r\n    fill=\"none\"\r\n    stroke=\"#ddd\"\r\n    stroke-width=\"1\"\r\n  >\r\n    <circle cx=\"20\" cy=\"20\" r=\"20\" stroke=\"none\" />\r\n    <circle cx=\"20\" cy=\"20\" r=\"19.5\" fill=\"none\" />\r\n  </g>\r\n  <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(20 15)\">\r\n    <path\r\n      id=\"Path_1\"\r\n      data-name=\"Path 1\"\r\n      d=\"M5.8,0,0,5.481l5.8,5.481\"\r\n      transform=\"translate(0)\"\r\n      fill=\"none\"\r\n      stroke=\"#333\"\r\n      stroke-linecap=\"round\"\r\n      stroke-linejoin=\"round\"\r\n      stroke-width=\"2\"\r\n    />\r\n    <path\r\n      id=\"Path_22589\"\r\n      data-name=\"Path 22589\"\r\n      d=\"M0,0,5.8,5.481,0,10.962\"\r\n      transform=\"translate(-6)\"\r\n      fill=\"none\"\r\n      stroke=\"#333\"\r\n      stroke-linecap=\"round\"\r\n      stroke-linejoin=\"round\"\r\n      stroke-width=\"2\"\r\n    />\r\n  </g>\r\n</svg>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  OnInit,\r\n  Output,\r\n  Input,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\n\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { WalletComponent } from \"../../wallet/wallet/wallet.component\";\r\nimport { RedeemableProductComponent } from \"../redeemable-product/redeemable-product.component\";\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from \"@angular/animations\";\r\n\r\n@Component({\r\n  selector: \"lib-list-redeemable-products\",\r\n  templateUrl: \"./list-redeemable-products.component.html\",\r\n  styleUrls: [\"./list-redeemable-products.component.scss\"],\r\n  animations: [\r\n    trigger(\"fadeInOut\", [\r\n      state(\"void\", style({ opacity: 0, transform: \"translateY(20px)\" })),\r\n      transition(\":enter, :leave\", [\r\n        animate(\"1.1s\", style({ opacity: 1, transform: \"translateY(0)\" })),\r\n      ]),\r\n    ]),\r\n  ],\r\n})\r\nexport class ListRedeemableProductsComponent implements OnInit {\r\n  products: any[];\r\n  sasToken: string;\r\n  imageLoaded: boolean = false;\r\n  @Input() data: any;\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n  @Output() popupClosed = new EventEmitter<boolean>();\r\n  userInfo: any;\r\n  walletBalance: any;\r\n\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.userInfo = this.proGamification.getUserAndAppId();\r\n    this.getWalletBalance();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.proGamification\r\n      .getReedeemableProducts(this.data.application)\r\n      .subscribe((res: any) => {\r\n        this.products = res;\r\n      });\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.close();\r\n    });\r\n  }\r\n  onImageLoad() {\r\n    this.imageLoaded = true;\r\n  }\r\n  getWalletBalance() {\r\n    this.proGamification\r\n      .getWalletBalance(this.userInfo.userId, this.userInfo.appId)\r\n      .subscribe((res: any) => {\r\n        this.walletBalance =\r\n          res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n      });\r\n  }\r\n  close(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n\r\n  goToWallet() {\r\n    this.popUpService.goToWallet(\r\n      this.viewContainerRef,\r\n      this.walletBalance,\r\n      this.data,\r\n      WalletComponent\r\n    );\r\n  }\r\n  createProductPopup(redeemData: any) {\r\n    this.popUpService.createProductPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      redeemData,\r\n      RedeemableProductComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <header>\r\n      <div class=\"close\">\r\n        <lib-close (click)=\"close()\"></lib-close>\r\n\r\n        <div class=\"wallet\">\r\n          <button (click)=\"goToWallet()\" [disabled]=\"!walletBalance\">\r\n            Go to Wallet\r\n          </button>\r\n          <div class=\"coin\">\r\n            <img\r\n              alt=\"\"\r\n              [src]=\"walletBalance?.imageUrl | sasToken : sasToken | async\"\r\n              (load)=\"onImageLoad()\"\r\n              [ngClass]=\"{\r\n                'default-coin': !imageLoaded\r\n              }\"\r\n            />\r\n            <span>{{ walletBalance?.balance || 0 | numberFormat }} </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <h2>Redeem</h2>\r\n    </header>\r\n    <div class=\"products\">\r\n      <div class=\"list-products\">\r\n        <div\r\n          *ngFor=\"let product of products\"\r\n          class=\"product\"\r\n          [@fadeInOut]=\"true\"\r\n          (click)=\"createProductPopup(product)\"\r\n        >\r\n          <img class=\"img\" [src]=\"product?.productImageUrl\" alt=\"\" />\r\n          <div class=\"product-detail\">\r\n            <div [title]=\"product.productName\" class=\"ellipsis\">\r\n              {{ product?.productName }}\r\n            </div>\r\n            <div class=\"coin\">\r\n              <img\r\n                alt=\"\"\r\n                [src]=\"\r\n                  product?.virtualMoneyImageUrl | sasToken : sasToken | async\r\n                \"\r\n              /><span>{{ product?.eligibleMoney + \" coins\" }}</span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, Input, OnChanges, SimpleChanges } from \"@angular/core\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from \"@angular/animations\";\r\n@Component({\r\n  selector: \"lib-list-wallet\",\r\n  templateUrl: \"./list-wallet.component.html\",\r\n  styleUrls: [\"./list-wallet.component.scss\"],\r\n  animations: [\r\n    trigger(\"fadeInOut\", [\r\n      state(\"void\", style({ opacity: 0, transform: \"translateY(20px)\" })), \r\n      transition(\":enter, :leave\", [\r\n        animate(\"0.8s\", style({ opacity: 1, transform: \"translateY(0)\" })),\r\n      ]),\r\n    ]),\r\n  ],\r\n})\r\nexport class ListWalletComponent implements OnChanges {\r\n  @Input() userInfo: any;\r\n  constructor(private proGamification: ProGamificationService) {}\r\n  walletTransactions = [];\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes?.userInfo?.currentValue) {\r\n      this.proGamification\r\n        .getOrders(this.userInfo.userId, this.userInfo.application)\r\n        .subscribe((res: any) => {\r\n          this.walletTransactions = res;\r\n        });\r\n    }\r\n  }\r\n}\r\n","<div class=\"background\">\r\n  <h2>Transaction history</h2>\r\n  <div class=\"flex-container\">\r\n    <div\r\n      class=\"flex-row\"\r\n      *ngFor=\"let transaction of walletTransactions\"\r\n      [@fadeInOut]=\"true\"\r\n    >\r\n      <div class=\"left\">\r\n        <img class=\"img-src\" [src]=\"transaction.productImageUrl\" alt=\"\" />\r\n        <div>\r\n          {{ transaction.productName }}\r\n        </div>\r\n      </div>\r\n      <div class=\"green-color\">\r\n        {{ \"-\" + transaction.virtualMoneyCount }}\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  OnInit,\r\n  Output,\r\n  Input,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../services/pop-up.service\";\r\nimport { ListOrderHistoryComponent } from \"../../orders/list-order-history/list-order-history.component\";\r\nimport { ListRedeemableProductsComponent } from \"../../redeem/list-redeemable-products/list-redeemable-products.component\";\r\n\r\n@Component({\r\n  selector: \"lib-wallet\",\r\n  templateUrl: \"./wallet.component.html\",\r\n  styleUrls: [\"./wallet.component.scss\"],\r\n})\r\nexport class WalletComponent implements OnInit {\r\n  sasToken: string;\r\n  @Input() data: any;\r\n  @Output() popupClosed = new EventEmitter<void>();\r\n  @Input() viewContainerRef: ViewContainerRef;\r\n  imageLoaded: boolean = false;\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private popUpService: PopUpService\r\n  ) {}\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.onCloseButtonClick();\r\n    });\r\n  }\r\n\r\n  onCloseButtonClick(): void {\r\n    this.popupClosed.emit();\r\n  }\r\n  onImageLoad() {\r\n    this.imageLoaded = true;\r\n  }\r\n  goToMyOrders() {\r\n    this.popUpService.createOrderHistory(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      ListOrderHistoryComponent\r\n    );\r\n  }\r\n  goToRedeem() {\r\n    this.popUpService.createRedeemPopup(\r\n      this.viewContainerRef,\r\n      this.data,\r\n      ListRedeemableProductsComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal-wrap\">\r\n  <div class=\"modal-content\">\r\n    <div class=\"flex-container\">\r\n      <button class=\"flex-item\" (click)=\"onCloseButtonClick()\">\r\n        <img alt=\"image\" />\r\n      </button>\r\n      <div class=\"top-right\">\r\n        <button class=\"Redeem-button\" (click)=\"goToRedeem()\">\r\n          <img class=\"gift-box\" alt=\"\" /><span class=\"Redeem-padding\">\r\n            Redeem</span\r\n          >\r\n        </button>\r\n        <button class=\"Myorders-button\" (click)=\"goToMyOrders()\">\r\n          <img class=\"shopping-bag\" alt=\"\" /><span class=\"Myorders-padding\">\r\n            My Vouchers</span\r\n          >\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"wallet\">Wallet</div>\r\n    <div class=\"wallet-container\">\r\n      <button class=\"wallet-button\">\r\n        <img\r\n          class=\"rotating-coin\"\r\n          [src]=\"data?.imageUrl | sasToken : sasToken | async\"\r\n          alt=\"\"\r\n          (load)=\"onImageLoad()\"\r\n          [ngClass]=\"{\r\n            'default-coin': !imageLoaded\r\n          }\"\r\n        />\r\n        <span class=\"wallet-padding\">\r\n          {{ data?.balance || 0 | numberFormat }}</span\r\n        >\r\n      </button>\r\n    </div>\r\n    <lib-list-wallet [userInfo]=\"data\"></lib-list-wallet>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ThemeService } from \"../../../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../../../services/pro-gamification/pro-gamification.service\";\r\nimport { PopUpService } from \"../../../../services/pop-up.service\";\r\nimport { WalletComponent } from \"../../../wallet/wallet/wallet.component\";\r\n\r\n@Component({\r\n  selector: \"coins\",\r\n  templateUrl: \"./coins.component.html\",\r\n  styleUrls: [\"../redeems/redeems.component.scss\"],\r\n})\r\nexport class CoinsComponent implements OnChanges, OnInit {\r\n  sasToken: string;\r\n\r\n  @Output() closePopup: EventEmitter<void> = new EventEmitter<void>();\r\n  @Input() userInformation: any;\r\n  imageLoaded: boolean = false;\r\n  wallet: any;\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private proGamification: ProGamificationService,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private popUpservice: PopUpService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.proGamification.wallet$.subscribe((walletData: any) => {\r\n      this.wallet = walletData;\r\n    });\r\n  }\r\n  onImageLoad() {\r\n    this.imageLoaded = true;\r\n  }\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes?.userInformation?.currentValue) {\r\n      this.proGamification\r\n        .getWalletBalance(\r\n          this.userInformation.userId,\r\n          this.userInformation.application\r\n        )\r\n        .subscribe((res: any) => {\r\n          this.wallet = res && res?.balance?.length > 0 ? res?.balance[0] : {};\r\n        });\r\n    }\r\n  }\r\n\r\n  createWalletPopUp(): void {\r\n    this.popUpservice.goToWallet(\r\n      this.viewContainerRef,\r\n      this.wallet,\r\n      this.userInformation,\r\n      WalletComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"card-item\" (click)=\"createWalletPopUp()\">\r\n  <div class=\"proheader\">\r\n    <div>Wallet</div>\r\n  </div>\r\n\r\n  <div class=\"content\" [title]=\"wallet?.balance || 0 | numberFormat\">\r\n    <img\r\n      class=\"coins rotating-coin\"\r\n      alt=\"\"\r\n      (load)=\"onImageLoad()\"\r\n      [src]=\"wallet?.imageUrl | sasToken : sasToken | async\"\r\n      [ngClass]=\"{\r\n        'default-coin': !imageLoaded\r\n      }\"\r\n    />\r\n    <div>{{ wallet?.balance || 0 | numberFormat }}</div>\r\n  </div>\r\n  <div class=\"margin-btm\">\r\n    <a (click)=\"createWalletPopUp()\">\r\n      Go to Wallet\r\n      <svg\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        width=\"14\"\r\n        height=\"14\"\r\n        class=\"bi bi-chevron-right\"\r\n        viewBox=\"0 0 16 16\"\r\n      >\r\n        <path\r\n          fill-rule=\"evenodd\"\r\n          d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\r\n        />\r\n      </svg>\r\n    </a>\r\n  </div>\r\n</div>\r\n","import { PopUpService } from \"./../../../../services/pop-up.service\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\nimport {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\nimport { ThemeService } from \"../../../../services/layout/theme.service\";\r\nimport { ListRedeemableProductsComponent } from \"../../../redeem/list-redeemable-products/list-redeemable-products.component\";\r\n\r\n@Component({\r\n  selector: \"redeems\",\r\n  templateUrl: \"./redeems.component.html\",\r\n  styleUrls: [\"./redeems.component.scss\"],\r\n})\r\nexport class RedeemsComponent implements OnInit {\r\n  @Input() userInformation: any;\r\n  @Output() popupClosed = new EventEmitter<boolean>();\r\n  redeemImageUrl: any = `${environment.blobUrl}/${environment.containerPath}/redeems-icon-min.gif`;\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.popUpService.popUp$.subscribe(() => {\r\n      this.closePopup();\r\n    });\r\n  }\r\n\r\n  createRedeemPopup() {\r\n    this.popUpService.createRedeemPopup(\r\n      this.viewContainerRef,\r\n      this.userInformation,\r\n      ListRedeemableProductsComponent\r\n    );\r\n  }\r\n\r\n  closePopup() {\r\n    this.popupClosed.emit();\r\n  }\r\n}\r\n","<div class=\"card-item\" (click)=\"createRedeemPopup()\">\r\n  <div class=\"proheader\">\r\n    <div>Redeem</div>\r\n  </div>\r\n\r\n  <div class=\"content\">\r\n    <img alt=\"redeem\" [src]=\"redeemImageUrl\" class=\"redeem\" />\r\n  </div>\r\n  <div>\r\n    <a (click)=\"createRedeemPopup()\">\r\n      Redeem your coins\r\n      <svg\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        width=\"14\"\r\n        height=\"14\"\r\n        class=\"bi bi-chevron-right\"\r\n        viewBox=\"0 0 16 16\"\r\n      >\r\n        <path\r\n          fill-rule=\"evenodd\"\r\n          d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\r\n        />\r\n      </svg>\r\n    </a>\r\n  </div>\r\n</div>\r\n","import { PopUpService } from \"./../../../../services/pop-up.service\";\r\nimport { Component, Input, ViewContainerRef } from \"@angular/core\";\r\nimport { ThemeService } from \"../../../../services/layout/theme.service\";\r\nimport { ListOrderHistoryComponent } from \"../../../orders/list-order-history/list-order-history.component\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\n@Component({\r\n  selector: \"orders\",\r\n  templateUrl: \"./orders.component.html\",\r\n  styleUrls: [\"../redeems/redeems.component.scss\"],\r\n})\r\nexport class OrdersComponent {\r\n  @Input() userInformation: any;\r\n  orderImageUrl: any = `${environment.blobUrl}/${environment.containerPath}/orders-min.gif`;\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private popUpService: PopUpService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  createOrderHistory() {\r\n    this.popUpService.createOrderHistory(\r\n      this.viewContainerRef,\r\n      this.userInformation,\r\n      ListOrderHistoryComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"card-item\" (click)=\"createOrderHistory()\">\r\n  <div class=\"proheader\">\r\n    <div>My Vouchers</div>\r\n  </div>\r\n  <div class=\"content\">\r\n    <img alt=\"order\" [src]=\"orderImageUrl\" class=\"orders\" />\r\n  </div>\r\n  <div>\r\n    <a (click)=\"createOrderHistory()\">\r\n      See your orders\r\n      <svg\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        width=\"14\"\r\n        height=\"14\"\r\n        class=\"bi bi-chevron-right\"\r\n        viewBox=\"0 0 16 16\"\r\n      >\r\n        <path\r\n          fill-rule=\"evenodd\"\r\n          d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\r\n        />\r\n      </svg>\r\n    </a>\r\n  </div>\r\n</div>\r\n","import { ProGamificationService } from \"./../../../services/pro-gamification/pro-gamification.service\";\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { ThemeService } from \"../../../services/layout/theme.service\";\r\n\r\n@Component({\r\n  selector: \"acheivements-tab\",\r\n  templateUrl: \"./acheivements.component.html\",\r\n  styleUrls: [\"./acheivements.component.scss\"],\r\n})\r\nexport class AcheivementsComponent implements OnInit {\r\n  @Output() closeLeaderBoard: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n  @Input() rewardsAndProgress: any;\r\n  @Input() userInformation: any;\r\n  @Input() privilegeName: string;\r\n  @Input() redeemEnabled: string;\r\n  userRewards = {};\r\n  sasToken: string;\r\n  progress: number;\r\n  previousReward = {};\r\n  nextReward = {};\r\n  Object = Object;\r\n  \r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private proGamification: ProGamificationService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n  }\r\n  closePopup() {\r\n    this.closeLeaderBoard.emit();\r\n  }\r\n}\r\n","<div class=\"pro-container\">\r\n  <progress-bar\r\n    [progress]=\"rewardsAndProgress.progress\"\r\n    [level]=\"rewardsAndProgress.level\"\r\n    [previousReward]=\"rewardsAndProgress.previousReward\"\r\n    [nextReward]=\"rewardsAndProgress.nextReward\"\r\n    [currentUser]=\"userInformation\"\r\n    [sasToken]=\"sasToken\"\r\n  ></progress-bar>\r\n  <div class=\"pro-cards\" *ngIf=\"redeemEnabled\">\r\n    <coins [userInformation]=\"userInformation\"></coins>\r\n    <redeems [userInformation]=\"userInformation\"></redeems>\r\n    <orders [userInformation]=\"userInformation\"></orders>\r\n  </div>\r\n  <user-rewards\r\n    [userRewards]=\"rewardsAndProgress.userRewards\"\r\n    [countOfRewards]=\"rewardsAndProgress.level\"\r\n    [sasToken]=\"sasToken\"\r\n    [privilegeName]=\"privilegeName\"\r\n  ></user-rewards>\r\n</div>\r\n","export enum leaderBoard {\r\n  LOCAL = 0,\r\n  GLOBAL = 1,\r\n  USERGROUP = 2,\r\n}\r\n","import { LeaderBoard } from \"./../../../../models/LeaderBoard.model\";\r\nimport { ThemeService } from \"./../../../../services/layout/theme.service\";\r\nimport { Component, Input, OnChanges, SimpleChanges } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"rank\",\r\n  templateUrl: \"./rank.component.html\",\r\n  styleUrls: [\"./rank.component.scss\"],\r\n})\r\nexport class RankComponent implements OnChanges {\r\n  @Input() sasToken: string;\r\n  @Input() leaderBoardUsers: LeaderBoard[] = [];\r\n  @Input() userId = \"\";\r\n  constructor(private themeService: ThemeService) {\r\n    this.themeService.updateTheme();\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes?.leaderBoardUsers?.currentValue) {\r\n      this.leaderBoardUsers = this.leaderBoardUsers.map((res: LeaderBoard) => ({\r\n        ...res,\r\n        imageOnError: false,\r\n      }));\r\n    }\r\n  }\r\n\r\n  filterByRank(rank: number): LeaderBoard[] {\r\n    if (this.leaderBoardUsers?.length) {\r\n      return this.leaderBoardUsers.filter((res) => {\r\n        return res.score !== 0 && res.rank === rank;\r\n      });\r\n    }\r\n    return [];\r\n  }\r\n\r\n  ellipticString(userName = \"\", limit: number, index?: number) {\r\n    return userName?.length > limit\r\n      ? userName.substring(0, limit) + \"...\"\r\n      : userName || `player-${index}`;\r\n  }\r\n  imgErrorHandler(event: any, index: number) {\r\n    this.leaderBoardUsers[index] &&\r\n      (this.leaderBoardUsers[index].imageOnError = true);\r\n    event.onerror = null;\r\n  }\r\n}\r\n","<div\r\n  class=\"rank-holder\"\r\n  [ngClass]=\"{\r\n    'attained-score': leaderBoardUsers?.length > 3\r\n  }\"\r\n  *ngIf=\"leaderBoardUsers?.length\"\r\n>\r\n  <div class=\"rank-2\" [title]=\"leaderBoardUsers[1]?.userName\">\r\n    <div class=\"rank\">{{ leaderBoardUsers[1]?.rank || 0 }}</div>\r\n    <div class=\"outer-border\">\r\n      <div class=\"dp\">\r\n        <img\r\n          class=\"profile inner-content\"\r\n          alt=\"\"\r\n          [src]=\"\r\n            leaderBoardUsers[1]?.profileImageUrl?.includes('assets')\r\n              ? (leaderBoardUsers[1]?.profileImageUrl\r\n                | sasToken : sasToken\r\n                | async)\r\n              : leaderBoardUsers[1]?.profileImageUrl\r\n          \"\r\n          [ngClass]=\"{\r\n            'default-avatar-gamify':\r\n              !leaderBoardUsers[1]?.profileImageUrl ||\r\n              !sasToken ||\r\n              leaderBoardUsers[1]?.imageOnError,\r\n            highlighted: leaderBoardUsers[1]?.userId === userId\r\n          }\"\r\n          (error)=\"imgErrorHandler($event, 1)\"\r\n        />\r\n      </div>\r\n    </div>\r\n    <div class=\"score\">\r\n      <span> {{ ellipticString(leaderBoardUsers[1]?.userName, 10, 2) }}</span>\r\n      <span class=\"points\">{{ leaderBoardUsers[1]?.score || 0 }}</span>\r\n    </div>\r\n  </div>\r\n  <div class=\"rank-1\" [title]=\"leaderBoardUsers[0]?.userName\">\r\n    <img alt=\"crown\" class=\"crown\" />\r\n    <div class=\"outer-border\">\r\n      <div class=\"dp container\">\r\n        <img\r\n          class=\"profile inner-content\"\r\n          alt=\"\"\r\n          [src]=\"\r\n            leaderBoardUsers[0]?.profileImageUrl?.includes('assets')\r\n              ? (leaderBoardUsers[0]?.profileImageUrl\r\n                | sasToken : sasToken\r\n                | async)\r\n              : leaderBoardUsers[0]?.profileImageUrl\r\n          \"\r\n          [ngClass]=\"{\r\n            'default-avatar-gamify':\r\n              !leaderBoardUsers[0]?.profileImageUrl ||\r\n              !sasToken ||\r\n              leaderBoardUsers[0]?.imageOnError,\r\n            highlighted: true\r\n          }\"\r\n          (error)=\"imgErrorHandler($event, 0)\"\r\n        />\r\n      </div>\r\n    </div>\r\n    <div></div>\r\n\r\n    <div class=\"score\">\r\n      <span> {{ ellipticString(leaderBoardUsers[0]?.userName, 10, 1) }}</span>\r\n      <span class=\"points\">{{ leaderBoardUsers[0]?.score || 0 }}</span>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"rank-3\" [title]=\"leaderBoardUsers[2]?.userName\">\r\n    <div class=\"rank\">{{ leaderBoardUsers[2]?.rank || 0 }}</div>\r\n    <div class=\"outer-border\">\r\n      <div class=\"dp\">\r\n        <img\r\n          class=\"profile inner-content\"\r\n          alt=\"\"\r\n          [src]=\"\r\n            leaderBoardUsers[2]?.profileImageUrl?.includes('assets')\r\n              ? (leaderBoardUsers[2]?.profileImageUrl\r\n                | sasToken : sasToken\r\n                | async)\r\n              : leaderBoardUsers[2]?.profileImageUrl\r\n          \"\r\n          [ngClass]=\"{\r\n            'default-avatar-gamify':\r\n              !leaderBoardUsers[2] ||\r\n              !sasToken ||\r\n              leaderBoardUsers[2]?.imageOnError,\r\n            highlighted: leaderBoardUsers[2]?.userId === userId\r\n          }\"\r\n          (error)=\"imgErrorHandler($event, 2)\"\r\n        />\r\n      </div>\r\n    </div>\r\n    <div class=\"score\">\r\n      <span>{{ ellipticString(leaderBoardUsers[2]?.userName, 10, 3) }}</span>\r\n      <span class=\"points\">{{ leaderBoardUsers[2]?.score || 0 }}</span>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { LeaderBoard } from \"../../../../models/LeaderBoard.model\";\r\nimport { ThemeService } from \"../../../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../../../services/pro-gamification/pro-gamification.service\";\r\n@Component({\r\n  selector: \"local-global-board\",\r\n  templateUrl: \"./local-global-board.component.html\",\r\n  styleUrls: [\"./local-global-board.component.scss\"],\r\n})\r\nexport class LocalGlobalBoardComponent implements OnInit {\r\n  @Input() leaderBoards: LeaderBoard[];\r\n  @Input() userInformation: any;\r\n  @Input() currentUserGrp: any;\r\n  sasToken: string;\r\n\r\n  displayedColumns = [\"Rank\", \"Player\", \"Points\", \"Reward\"];\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private proGamification: ProGamificationService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n  }\r\n\r\n  imgErrorHandler(event: any, leaderBoard?: LeaderBoard) {\r\n    leaderBoard && (leaderBoard.imageOnError = true);\r\n    event.onerror = null;\r\n  }\r\n  rewardImgErrorHandler(event: any, leaderBoard?: LeaderBoard) {\r\n    leaderBoard && (leaderBoard.rewardImgOnError = true);\r\n    event.onerror = null;\r\n  }\r\n}\r\n","<table\r\n  aria-label=\"leaderboard\"\r\n  aria-describedby=\"leaderboard\"\r\n  aria-hidden=\"true\"\r\n  class=\"leader-board\"\r\n>\r\n  <thead *ngIf=\"leaderBoards?.length >= 3\" >\r\n    <tr>\r\n      <th\r\n        *ngFor=\"let column of displayedColumns\"\r\n        scope=\"col\"\r\n        role=\"columnheader\"\r\n      >\r\n        {{ column }}\r\n      </th>\r\n    </tr>\r\n  </thead>\r\n  <tbody>\r\n    <ng-container *ngFor=\"let leaderBoard of leaderBoards; let i = index\">\r\n      <tr\r\n        *ngIf=\"\r\n          currentUserGrp?.rank > 11 &&\r\n          currentUserGrp?.userId === leaderBoard?.userId\r\n        \"\r\n      >\r\n        <td class=\"more\" colspan=\"4\"><img alt=\"more\" /></td>\r\n      </tr>\r\n      <tr\r\n        *ngIf=\"i >= 3\"\r\n        [ngClass]=\"{\r\n          selectedRow: userInformation.userId == leaderBoard.userId\r\n        }\"\r\n        id=\"{{\r\n          userInformation.userId == leaderBoard.userId ? 'selectedRow' : ''\r\n        }}\"\r\n      >\r\n        <td class=\"rank\" role=\"columnheader\">\r\n          <div>\r\n            {{ leaderBoard.rank }}\r\n          </div>\r\n        </td>\r\n        <td class=\"avatar\" role=\"columnheader\">\r\n          <div class=\"player\">\r\n            <img\r\n              class=\"profile\"\r\n              alt=\"\"\r\n              [src]=\"\r\n                leaderBoard?.profileImageUrl?.includes('assets')\r\n                  ? (leaderBoard?.profileImageUrl | sasToken : sasToken | async)\r\n                  : leaderBoard?.profileImageUrl\r\n              \"\r\n              [ngClass]=\"{\r\n                'default-avatar-gamify':\r\n                  !leaderBoard?.profileImageUrl ||\r\n                  !sasToken ||\r\n                  leaderBoard.imageOnError\r\n              }\"\r\n              (error)=\"imgErrorHandler($event, leaderBoard)\"\r\n            />\r\n            <span>{{ leaderBoard.userName || \"-\" }}</span>\r\n          </div>\r\n        </td>\r\n        <td role=\"columnheader\">\r\n          <div class=\"score\">\r\n            <span>{{ leaderBoard.score }}</span>\r\n          </div>\r\n        </td>\r\n        <td role=\"columnheader\">\r\n          <div class=\"reward\">\r\n            <img\r\n              [alt]=\"leaderBoard?.userReward?.previousReward?.value || ''\"\r\n              [ngClass]=\"{\r\n                'default-reward-gamify':\r\n                  !leaderBoard?.userReward?.previousReward?.sourceImgUrl ||\r\n                  !sasToken\r\n              }\"\r\n              [src]=\"\r\n                leaderBoard?.userReward?.previousReward?.sourceImgUrl\r\n                  | sasToken : sasToken\r\n                  | async\r\n              \"\r\n              (error)=\"rewardImgErrorHandler($event, leaderBoard)\"\r\n            />\r\n          </div>\r\n        </td>\r\n      </tr>\r\n    </ng-container>\r\n  </tbody>\r\n</table>\r\n","import { LeaderBoard } from \"./../../../models/LeaderBoard.model\";\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ThemeService } from \"../../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\nimport { leaderBoard } from \"../../../enums/leaderBoard.enum\";\r\nimport { LayoutService } from \"../../../services/layout/layout.service\";\r\n@Component({\r\n  selector: \"leader-board\",\r\n  templateUrl: \"./leader-board.component.html\",\r\n  styleUrls: [\"./leader-board.component.scss\"],\r\n})\r\nexport class LeaderBoardComponent implements OnInit {\r\n  @Input() leaderBoards: LeaderBoard[];\r\n  @Input() userInformation: any;\r\n  userGrpList = [];\r\n  sasToken: string;\r\n  imageOnError = false;\r\n  leaderBoardTabIndex = leaderBoard.LOCAL;\r\n  leaderBoard = leaderBoard;\r\n  displayedColumns = [\"Rank\", \"Player\", \"Points\", \"Reward\"];\r\n  currentUserGrp: any;\r\n  constructor(\r\n    private themeService: ThemeService,\r\n    private proGamification: ProGamificationService,\r\n    private layoutService: LayoutService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n  }\r\n\r\n  imgErrorHandler(event) {\r\n    this.imageOnError = true;\r\n    event.onerror = null;\r\n  }\r\n  getUserGps(tabClick: boolean) {\r\n    this.userGrpList = [];\r\n\r\n    if (tabClick) {\r\n      this.leaderBoardTabIndex = leaderBoard.USERGROUP;\r\n    }\r\n\r\n    this.proGamification\r\n      .getUserGroupByAppId(\r\n        this.userInformation.userId,\r\n        this.userInformation.application\r\n      )\r\n      .subscribe((userGrpRes: any) => {\r\n        this.userGrpList = userGrpRes?.data.filter((gp) => gp?.rank !== null);\r\n\r\n        if (!tabClick || this.userGrpList.length !== 1) {\r\n          this.leaderBoardTabIndex = leaderBoard.USERGROUP;\r\n        } else if (tabClick && this.userGrpList.length === 1) {\r\n          this.getRankByuserGp(this.userGrpList[0]);\r\n        }\r\n      });\r\n  }\r\n  getRankByuserGp(userGroup: any) {\r\n    this.currentUserGrp = userGroup;\r\n    this.proGamification\r\n      .getRankByUserGroupId(\r\n        userGroup.userGroupId,\r\n        this.userInformation.application\r\n      )\r\n      .subscribe((leaderBoardRes: any) => {\r\n        this.leaderBoards = leaderBoardRes.data.Items;\r\n        this.leaderBoardTabIndex = leaderBoard.GLOBAL;\r\n      });\r\n  }\r\n  goToLocalLeaderBoard() {\r\n    this.leaderBoardTabIndex = leaderBoard.LOCAL;\r\n    this.layoutService.updateLeaderBoard$.next(true);\r\n  }\r\n}\r\n","<div class=\"pro-container\" clickOutside [delayClickOutsideInit]=\"true\">\r\n  <div class=\"scroll\">\r\n    <div class=\"tabs\">\r\n      <button\r\n        class=\"tab\"\r\n        [ngClass]=\"{\r\n          active: leaderBoardTabIndex === leaderBoard.LOCAL\r\n        }\"\r\n        (click)=\"goToLocalLeaderBoard()\"\r\n        [disabled]=\"leaderBoardTabIndex === leaderBoard.LOCAL\"\r\n      >\r\n        Local\r\n      </button>\r\n      <button\r\n        class=\"tab\"\r\n        [ngClass]=\"{\r\n          active:\r\n            leaderBoardTabIndex === leaderBoard.USERGROUP ||\r\n            leaderBoardTabIndex === leaderBoard.GLOBAL\r\n        }\"\r\n        (click)=\"getUserGps(true)\"\r\n        [disabled]=\"\r\n          leaderBoardTabIndex === leaderBoard.USERGROUP ||\r\n          leaderBoardTabIndex === leaderBoard.GLOBAL\r\n        \"\r\n      >\r\n        Over All\r\n      </button>\r\n    </div>\r\n    <ng-container [ngSwitch]=\"leaderBoardTabIndex\">\r\n      <ng-container *ngSwitchCase=\"leaderBoard.LOCAL\">\r\n        <rank\r\n          [sasToken]=\"sasToken\"\r\n          [leaderBoardUsers]=\"leaderBoards\"\r\n          [userId]=\"userInformation.userId\"\r\n        ></rank>\r\n        <div class=\"bg-leaderboard\">\r\n          <local-global-board\r\n            [leaderBoards]=\"leaderBoards\"\r\n            [userInformation]=\"userInformation\"\r\n            [currentUserGrp]=\"null\"\r\n          ></local-global-board>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngSwitchCase=\"leaderBoard.USERGROUP\">\r\n        <div class=\"bg-leaderboard groups\">\r\n          <div class=\"heading\">\r\n            <img\r\n              class=\"profile\"\r\n              alt=\"\"\r\n              [src]=\"\r\n                userInformation?.profileImageUrl?.includes('assets')\r\n                  ? (userInformation?.profileImageUrl\r\n                    | sasToken : sasToken\r\n                    | async)\r\n                  : userInformation?.profileImageUrl\r\n              \"\r\n              [ngClass]=\"{\r\n                'default-avatar-gamify':\r\n                  !userInformation?.profileImageUrl || !sasToken || imageOnError\r\n              }\"\r\n              (error)=\"imgErrorHandler($event)\"\r\n            />\r\n            <span>You Stand …</span>\r\n          </div>\r\n          <ng-container *ngFor=\"let userGrp of userGrpList; let i = index\">\r\n            <div\r\n              *ngIf=\"userGrp?.rank !== undefined\"\r\n              class=\"usergp-list\"\r\n              (click)=\"getRankByuserGp(userGrp)\"\r\n            >\r\n              <div class=\"list\">\r\n                <div class=\"rank\">{{ \"#\" + userGrp?.rank }}</div>\r\n                <div class=\"name\">{{ userGrp?.userGroupName }}</div>\r\n              </div>\r\n              <button><img alt=\"drop-down\" /></button>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngSwitchCase=\"leaderBoard.GLOBAL\">\r\n        <rank\r\n          [sasToken]=\"sasToken\"\r\n          [leaderBoardUsers]=\"leaderBoards\"\r\n          [userId]=\"userInformation.userId\"\r\n        ></rank>\r\n        <div class=\"bg-leaderboard\">\r\n          <div class=\"gpName\">\r\n            <span class=\"back-arrow\" (click)=\"getUserGps(false)\"\r\n              ><img alt=\"\" class=\"back\"\r\n            /></span>\r\n            <span class=\"gpName\">{{ currentUserGrp?.userGroupName }}</span>\r\n          </div>\r\n          <local-global-board\r\n            [leaderBoards]=\"leaderBoards\"\r\n            [userInformation]=\"userInformation\"\r\n            [currentUserGrp]=\"currentUserGrp\"\r\n          ></local-global-board>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngSwitchDefault> default </ng-container>\r\n    </ng-container>\r\n  </div>\r\n</div>\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"pro-gamification-tab\",\r\n  templateUrl: \"./tab-section.component.html\",\r\n})\r\nexport class TabSectionComponent {\r\n  @Input(\"tabTitle\") title: string;\r\n  @Input() active = false;\r\n}\r\n","<div [hidden]=\"!active\" class=\"pane\">\r\n  <ng-content></ng-content>\r\n</div>\r\n","import {\r\n  AfterContentInit,\r\n  Component,\r\n  ContentChildren,\r\n  QueryList,\r\n} from \"@angular/core\";\r\nimport { TabSectionComponent } from \"../tab-section/tab-section.component\";\r\nimport { ProGamificationService } from \"../../../services/pro-gamification/pro-gamification.service\";\r\n\r\n@Component({\r\n  selector: \"pro-gamification-tabs\",\r\n  templateUrl: \"./tab-group.component.html\",\r\n  styleUrls: [\"./tab-group.component.scss\"],\r\n})\r\nexport class TabGroupComponent implements AfterContentInit {\r\n  @ContentChildren(TabSectionComponent) tabs: QueryList<TabSectionComponent>;\r\n  centered = false;\r\n  disabled = false;\r\n  unbounded = false;\r\n  radius: number;\r\n  color: string;\r\n\r\n  constructor(private tabService: ProGamificationService) {\r\n    this.tabService.tabChange$.subscribe((tabIndex) => {\r\n      if (tabIndex == 1) {\r\n        this.selectTab(this.tabs.last);\r\n      } else {\r\n        this.selectTab(this.tabs.first);\r\n      }\r\n    });\r\n  }\r\n  ngAfterContentInit() {\r\n    let activeTabs = this.tabs.filter((tab) => tab.active);\r\n\r\n    if (activeTabs.length === 0) {\r\n      this.selectTab(this.tabs.first);\r\n    }\r\n  }\r\n\r\n  selectTab(tab: any) {\r\n    this.tabs.toArray().forEach((tabs: any) => (tabs.active = false));\r\n\r\n    tab.active = true;\r\n  }\r\n}\r\n","<ul>\r\n  <li\r\n    ng-container\r\n    *ngFor=\"let tab of tabs\"\r\n    (click)=\"selectTab(tab)\"\r\n    [class.active]=\"tab.active\"\r\n    [ngClass]=\"{ active: tab.active }\"\r\n  >\r\n    <a href=\"javascript:void(0)\">{{ tab.title }}</a>\r\n  </li>\r\n</ul>\r\n<ng-content></ng-content>\r\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { LeaderBoard, Reward } from \"../../models/LeaderBoard.model\";\r\nimport { LayoutService } from \"../../services/layout/layout.service\";\r\nimport { ThemeService } from \"../../services/layout/theme.service\";\r\nimport { ProGamificationService } from \"../../services/pro-gamification/pro-gamification.service\";\r\n\r\n@Component({\r\n  selector: \"tab-activity\",\r\n  templateUrl: \"./tab-activity.component.html\",\r\n})\r\nexport class TabActivityComponent implements OnInit, OnChanges {\r\n  userName: string;\r\n  rewardsAndProgress = {};\r\n  nextReward: Reward;\r\n  progress: number;\r\n  leaderBoardUsers: LeaderBoard[];\r\n\r\n  sasToken: string;\r\n  privilegeName: string;\r\n  redeemEnabled: string;\r\n  isLoading = false;\r\n  Object = Object;\r\n  invalidUser = true;\r\n  @Output() closeActivityModal = new EventEmitter();\r\n  @Input() userId: string;\r\n  @Input() appId: string;\r\n  @Input() theme: string;\r\n  @Input() userInformation: LeaderBoard;\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private layoutService: LayoutService,\r\n    private themeService: ThemeService\r\n  ) {\r\n    this.themeService.updateTheme();\r\n  }\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.layoutService.updateLeaderBoard$.subscribe(\r\n      (isLeaderBoardUpdated: boolean) => {\r\n        if (isLeaderBoardUpdated) {\r\n          this.getLeaderBoard();\r\n          this.getUserRewards();\r\n          this.getPrivilegeName();\r\n        }\r\n      }\r\n    );\r\n  }\r\n  closePopup() {\r\n    this.closeActivityModal.emit();\r\n  }\r\n  async ngOnChanges(changes: SimpleChanges): Promise<void> {\r\n    if (changes?.userId?.currentValue && changes.appId?.currentValue) {\r\n      this.getLeaderBoard();\r\n      this.getUserRewards();\r\n      this.getPrivilegeName();\r\n      this.proGamification\r\n        .getUserInformation(this.userId, this.appId)\r\n        .subscribe((userResponse: any) => {\r\n          if (!userResponse?.data || userResponse?.errorStatusCode === 409) {\r\n            return;\r\n          }\r\n\r\n          this.userName = userResponse?.data.userName;\r\n          this.redeemEnabled = userResponse?.data.client.redemptionEnabled;\r\n        });\r\n    }\r\n  }\r\n\r\n  getUserRewards() {\r\n    this.proGamification.getUserRewards(this.userId, this.appId).subscribe(\r\n      (response: any) => {\r\n        if (\r\n          !response?.data ||\r\n          response?.errorStatusCode === 409 ||\r\n          response?.errorStatusCode === 401\r\n        ) {\r\n          this.invalidUser = true;\r\n          return;\r\n        }\r\n        this.rewardsAndProgress = response.data;\r\n        this.invalidUser = false;\r\n        this.isLoading = false;\r\n      },\r\n      () => {\r\n        this.isLoading = false;\r\n        this.invalidUser = true;\r\n      }\r\n    );\r\n  }\r\n\r\n  getPrivilegeName() {\r\n    this.proGamification.getApplicationDetail(this.appId).subscribe(\r\n      (response: any) => {\r\n        this.privilegeName = response.data.privilegeName;\r\n      },\r\n    );\r\n  }\r\n\r\n  getLeaderBoard() {\r\n    this.proGamification.getLeaderBoard(this.userId, this.appId).subscribe(\r\n      (response: any) => {\r\n        if (\r\n          !response?.data ||\r\n          response?.errorStatusCode === 409 ||\r\n          response?.errorStatusCode === 401\r\n        ) {\r\n          this.invalidUser = true;\r\n          return;\r\n        }\r\n        this.leaderBoardUsers = response.data[\"Items\"];\r\n\r\n        this.invalidUser = false;\r\n        this.isLoading = false;\r\n      },\r\n      () => {\r\n        this.isLoading = false;\r\n        this.invalidUser = true;\r\n      }\r\n    );\r\n  }\r\n\r\n  closeActivity() {\r\n    this.closeActivityModal.emit();\r\n  }\r\n}\r\n","<div class=\"activity\">\r\n  <pro-gamification-tabs>\r\n    <pro-gamification-tab tabTitle=\"Leaderboard\">\r\n      <leader-board\r\n        [leaderBoards]=\"leaderBoardUsers\"\r\n        [userInformation]=\"userInformation\"\r\n      ></leader-board>\r\n    </pro-gamification-tab>\r\n    <pro-gamification-tab [tabTitle]=\"'Achievements'\">\r\n      <acheivements-tab\r\n        [privilegeName]=\"privilegeName\"\r\n        [redeemEnabled]=\"redeemEnabled\"\r\n        [rewardsAndProgress]=\"rewardsAndProgress\"\r\n        [userInformation]=\"userInformation\"\r\n      ></acheivements-tab>\r\n    </pro-gamification-tab>\r\n  </pro-gamification-tabs>\r\n</div>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"lib-bolt\",\r\n  templateUrl: \"./bolt.component.html\",\r\n  styleUrls: [\"./bolt.component.scss\"],\r\n})\r\nexport class BoltComponent {}\r\n","<svg\r\n  id=\"Layer_2\"\r\n  data-name=\"Layer 2\"\r\n  xmlns=\"http://www.w3.org/2000/svg\"\r\n  viewBox=\"0 0 13.15 17.98\"\r\n>\r\n  <defs>\r\n    <style>\r\n      .cls-1 {\r\n        fill: #efc72e;\r\n      }\r\n\r\n      .cls-2 {\r\n        fill: #94531a;\r\n      }\r\n    </style>\r\n  </defs>\r\n  <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n    <g id=\"Group_18439\" data-name=\"Group 18439\">\r\n      <g id=\"Path_22075\" data-name=\"Path 22075\">\r\n        <path\r\n          class=\"cls-2\"\r\n          d=\"m11.55,1.5H2.93L.5,11.34h2.43l-1.2,6.14,10.92-9.29h-3.67l2.57-6.69Z\"\r\n        />\r\n        <path\r\n          class=\"cls-2\"\r\n          d=\"m1.73,17.98c-.09,0-.17-.02-.25-.07-.18-.11-.28-.32-.24-.53l1.08-5.54H.5c-.15,0-.3-.07-.39-.19-.09-.12-.13-.28-.09-.43L2.44,1.38c.05-.22.25-.38.49-.38h8.62c.17,0,.32.08.41.22.09.14.11.31.05.46l-2.31,6.01h2.94c.21,0,.4.13.47.33.07.2.01.42-.15.55L2.05,17.86c-.09.08-.21.12-.32.12Zm-.59-7.14h1.79c.15,0,.29.07.39.18.1.12.13.27.1.41l-.92,4.73,8.79-7.48h-2.31c-.17,0-.32-.08-.41-.22-.09-.14-.11-.31-.05-.46l2.31-6.01H3.32L1.14,10.84Z\"\r\n        />\r\n      </g>\r\n      <g id=\"Line_410\" data-name=\"Line 410\">\r\n        <rect class=\"cls-2\" x=\"12.15\" y=\"7.19\" width=\"1\" height=\"1\" />\r\n      </g>\r\n      <g id=\"Path_22074\" data-name=\"Path 22074\">\r\n        <path\r\n          class=\"cls-1\"\r\n          d=\"m11.55.5H2.93L.5,10.34h2.43l-1.2,6.14L12.64,7.19h-3.67L11.55.5Z\"\r\n        />\r\n        <path\r\n          class=\"cls-1\"\r\n          d=\"m1.73,16.98c-.09,0-.17-.02-.25-.07-.18-.11-.28-.32-.24-.53l1.08-5.54H.5c-.15,0-.3-.07-.39-.19-.09-.12-.13-.28-.09-.43L2.44.38c.05-.22.25-.38.49-.38h8.62c.17,0,.32.08.41.22.09.14.11.31.05.46l-2.31,6.01h2.94c.21,0,.4.13.47.33.07.2.01.42-.15.55L2.05,16.86c-.09.08-.21.12-.32.12Zm-.59-7.14h1.79c.15,0,.29.07.39.18.1.12.13.27.1.41l-.92,4.73,8.79-7.48h-2.31c-.17,0-.32-.08-.41-.22-.09-.14-.11-.31-.05-.46l2.31-6.01H3.32L1.14,9.84Z\"\r\n        />\r\n      </g>\r\n    </g>\r\n  </g>\r\n</svg>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"info-icon\",\r\n  templateUrl: \"./info-icon.component.html\",\r\n  styleUrls: [\"./info-icon.component.scss\"],\r\n})\r\nexport class InfoIconComponent {}\r\n","<svg\r\n  xmlns=\"http://www.w3.org/2000/svg\"\r\n  width=\"26.449\"\r\n  height=\"26.449\"\r\n  viewBox=\"0 0 26.449 26.449\"\r\n>\r\n  <path\r\n    id=\"info_FILL0_wght400_GRAD0_opsz48\"\r\n    d=\"M92.332-860.163h1.984V-868.1H92.332Zm.892-10.381a1.074,1.074,0,0,0,.778-.3,1.007,1.007,0,0,0,.314-.754,1.105,1.105,0,0,0-.313-.8,1.039,1.039,0,0,0-.777-.323,1.041,1.041,0,0,0-.778.323,1.1,1.1,0,0,0-.314.8,1.008,1.008,0,0,0,.313.754A1.073,1.073,0,0,0,93.224-870.544Zm.009,16.994a12.8,12.8,0,0,1-5.141-1.042,13.435,13.435,0,0,1-4.208-2.843,13.429,13.429,0,0,1-2.843-4.21A12.826,12.826,0,0,1,80-866.792a12.825,12.825,0,0,1,1.041-5.146,13.232,13.232,0,0,1,2.843-4.194,13.571,13.571,0,0,1,4.21-2.827A12.826,12.826,0,0,1,93.241-880a12.826,12.826,0,0,1,5.146,1.041,13.37,13.37,0,0,1,4.194,2.827,13.353,13.353,0,0,1,2.827,4.2,12.856,12.856,0,0,1,1.041,5.149,12.8,12.8,0,0,1-1.041,5.141,13.506,13.506,0,0,1-2.827,4.2,13.353,13.353,0,0,1-4.2,2.843A12.793,12.793,0,0,1,93.233-853.551Zm.008-1.984a10.8,10.8,0,0,0,7.951-3.29,10.879,10.879,0,0,0,3.273-7.968,10.835,10.835,0,0,0-3.267-7.951,10.838,10.838,0,0,0-7.974-3.273,10.87,10.87,0,0,0-7.951,3.267,10.811,10.811,0,0,0-3.29,7.974,10.832,10.832,0,0,0,3.29,7.951A10.852,10.852,0,0,0,93.241-855.534ZM93.225-866.775Z\"\r\n    transform=\"translate(-80 880)\"\r\n   \r\n  />\r\n</svg>\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nimport {\r\n  Component,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  SimpleChanges,\r\n  ViewContainerRef,\r\n} from \"@angular/core\";\r\n\r\nimport { LeaderBoard, Reward } from \"./models/LeaderBoard.model\";\r\nimport { Gamification } from \"./services/gamification.service\";\r\nimport { LayoutService } from \"./services/layout/layout.service\";\r\nimport { ThemeService } from \"./services/layout/theme.service\";\r\nimport { ProGamificationService } from \"./services/pro-gamification/pro-gamification.service\";\r\nimport { TokenService } from \"./services/token/token.service\";\r\nimport { PopUpService } from \"./services/pop-up.service\";\r\nimport { RewardsInfoComponent } from \"./components/rewards-info/rewards-info.component\";\r\nimport { ProfileComponent } from \"./components/avatar/profile/profile.component\";\r\n\r\n@Component({\r\n  selector: \"pro-gamification\",\r\n  templateUrl: \"./pro-gamification.component.html\",\r\n  styleUrls: [\"./pro-gamification.component.scss\"],\r\n  animations: [\r\n    trigger(\"enterAnimation\", [\r\n      transition(\":enter\", [\r\n        style({ transform: \"translateX(100%)\", opacity: 0 }),\r\n        animate(\"200ms\", style({ transform: \"translateX(0)\", opacity: 1 })),\r\n      ]),\r\n      transition(\":leave\", [\r\n        style({ transform: \"translateX(0)\", opacity: 1 }),\r\n        animate(\"200ms\", style({ transform: \"translateX(100%)\", opacity: 0 })),\r\n      ]),\r\n    ]),\r\n  ],\r\n})\r\nexport class ProGamificationComponent implements OnInit, OnChanges {\r\n  @Input() userId: string;\r\n  @Input() applicationId: string;\r\n  @Input() themeColor: string;\r\n  @Input() menuColor: string;\r\n  @Input() avatarDisabled = false;\r\n  userInformation: LeaderBoard;\r\n  leaderBoardUsers: LeaderBoard[];\r\n  userRewards: any[] = [];\r\n  nextReward: Reward;\r\n  progress: number;\r\n  showUserLeaderboard = false;\r\n  rewardsModalShown = false;\r\n  sasToken: string;\r\n  Object = Object;\r\n  invalidUser = true;\r\n  showScore = false;\r\n  showWallet = false;\r\n  imageOnError = false;\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private layoutService: LayoutService,\r\n    private themeService: ThemeService,\r\n    private gamificationService: Gamification,\r\n    private tokenService: TokenService,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private popUpservice: PopUpService\r\n  ) {}\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.themeService.updateTheme();\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.layoutService.updateLeaderBoard$.subscribe(\r\n      (isLeaderBoardUpdated: boolean) => {\r\n        if (isLeaderBoardUpdated) {\r\n          this.getLeaderBoard().then(\r\n            (result) => {},\r\n            (error) => {}\r\n          );\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  imgErrorHandler(event) {\r\n    this.imageOnError = true;\r\n    event.onerror = null;\r\n  }\r\n  async ngOnChanges(changes: SimpleChanges): Promise<void> {\r\n    if (changes?.userId?.currentValue && changes?.applicationId?.currentValue) {\r\n      this.tokenService.saveUserInStorage(this.userId, this.applicationId);\r\n      await this.gamificationService.initializeGamification().then(() => {\r\n        this.getLeaderBoard().then(\r\n          (result) => {},\r\n          (error) => {}\r\n        );\r\n      });\r\n    }\r\n    if (changes?.themeColor?.currentValue) {\r\n      this.themeService.setThemeColor(this.themeColor);\r\n      this.themeService.updateTheme();\r\n    }\r\n    if (changes?.menuColor?.currentValue) {\r\n      this.themeService.setMenuColor(this.menuColor);\r\n      this.themeService.updateMenuTheme();\r\n    }\r\n  }\r\n\r\n  async getLeaderBoard(): Promise<void> {\r\n    try {\r\n      const response = await this.proGamification\r\n        .getLeaderBoard(this.userId, this.applicationId)\r\n        .toPromise();\r\n\r\n      if (\r\n        !response[\"data\"] ||\r\n        response[\"errorStatusCode\"] === 409 ||\r\n        response[\"errorStatusCode\"] === 401\r\n      ) {\r\n        this.invalidUser = true;\r\n        return;\r\n      }\r\n\r\n      this.leaderBoardUsers = response[\"data\"][\"Items\"];\r\n\r\n      this.userInformation = this.leaderBoardUsers.find(\r\n        (user: { userId: string }) => user.userId === this.userId\r\n      );\r\n\r\n      await this.handleUserInfo();\r\n      this.invalidUser = false;\r\n    } catch (error) {\r\n      this.invalidUser = true;\r\n    }\r\n  }\r\n\r\n  async handleUserInfo() {\r\n    const userInfo = await this.proGamification\r\n      .getUserInformation(this.userId, this.applicationId)\r\n      .toPromise();\r\n    this.userInformation[\"profileImageUrl\"] =\r\n      userInfo[\"data\"][\"profileImageUrl\"];\r\n  }\r\n\r\n  // Modal PopUp display\r\n\r\n  showHideUserLeaderBoard(isToggle: boolean) {\r\n    if (isToggle) {\r\n      this.showUserLeaderboard = !this.showUserLeaderboard;\r\n\r\n      return;\r\n    }\r\n    this.showUserLeaderboard = isToggle;\r\n  }\r\n  createPrivilegeStageInfo(): void {\r\n    if (this.applicationId) {\r\n      this.popUpservice.createPrivilegeStageInfo(\r\n        this.viewContainerRef,\r\n        this.applicationId,\r\n        this.sasToken,\r\n        RewardsInfoComponent\r\n      );\r\n    }\r\n  }\r\n\r\n  viewProfile(): void {\r\n    if (this.avatarDisabled) return;\r\n    const profileData = this.userInformation;\r\n    this.popUpservice.goToProfile(\r\n      this.viewContainerRef,\r\n      profileData,\r\n      ProfileComponent\r\n    );\r\n  }\r\n}\r\n","<div class=\"menu\" *ngIf=\"!invalidUser\">\r\n  <div class=\"menu-btn\">\r\n    <info-icon (click)=\"createPrivilegeStageInfo()\"></info-icon>\r\n    <button (click)=\"showHideUserLeaderBoard(true)\">\r\n      <lib-bolt></lib-bolt><span>{{ userInformation?.score || 0 }}</span>\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"userInfo\" [title]=\"userInformation?.userName\">\r\n    <img\r\n      [src]=\"\r\n        userInformation?.profileImageUrl?.includes('assets')\r\n          ? (userInformation?.profileImageUrl | sasToken : sasToken | async)\r\n          : userInformation?.profileImageUrl\r\n      \"\r\n      [alt]=\"userInformation?.userName || 'User Avatar'\"\r\n      [ngClass]=\"{\r\n        'default-avatar':\r\n          !userInformation?.profileImageUrl || !sasToken || imageOnError\r\n      }\"\r\n      [title]=\"userInformation?.userName\"\r\n      (click)=\"viewProfile()\"\r\n      (error)=\"imgErrorHandler($event)\"\r\n    />\r\n  </div>\r\n\r\n  <div\r\n    *ngIf=\"showUserLeaderboard\"\r\n    class=\"holder score\"\r\n    (clickOutside)=\"showHideUserLeaderBoard(false)\"\r\n    [delayClickOutsideInit]=\"true\"\r\n  >\r\n    <tab-activity\r\n      *ngIf=\"showUserLeaderboard\"\r\n      [userId]=\"userId\"\r\n      [appId]=\"applicationId\"\r\n      [userInformation]=\"userInformation\"\r\n      (closeActivityModal)=\"showHideUserLeaderBoard(false)\"\r\n    ></tab-activity>\r\n  </div>\r\n\r\n  <score-notifier></score-notifier>\r\n</div>\r\n","import { NgModule } from \"@angular/core\";\r\nimport { SasTokenPipe } from \"../../pipe/sas-token.pipe\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ClickOutsideDirective } from \"../../directives/click-outside.directive\";\r\nimport { ConvertNumberWithPrefixPipe } from \"../../pipe/number-format.pipe\";\r\nimport { UtcToLocalTimePipe } from \"../../pipe/utc-to-local-time.pipe\";\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SasTokenPipe,\r\n    ClickOutsideDirective,\r\n    ConvertNumberWithPrefixPipe,\r\n    UtcToLocalTimePipe,\r\n  ],\r\n  imports: [FormsModule, ReactiveFormsModule],\r\n  exports: [\r\n    BrowserAnimationsModule,\r\n    SasTokenPipe,\r\n    UtcToLocalTimePipe,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    ClickOutsideDirective,\r\n    ConvertNumberWithPrefixPipe,\r\n  ],\r\n})\r\nexport class SharedModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { LayoutService } from \"../../services/layout/layout.service\";\r\nimport { ProGamificationService } from \"../../services/pro-gamification/pro-gamification.service\";\r\n@Component({\r\n  selector: \"lib-success-modal\",\r\n  templateUrl: \"./success-modal.component.html\",\r\n  styleUrls: [\"./success-modal.component.scss\"],\r\n})\r\nexport class SuccessModalComponent implements OnInit {\r\n  successModalShown = false;\r\n  rewardInfo: any;\r\n  sasToken: string;\r\n  constructor(\r\n    private proGamification: ProGamificationService,\r\n    private layoutService: LayoutService\r\n  ) {}\r\n\r\n  async ngOnInit(): Promise<void> {\r\n    this.sasToken = await this.proGamification.getSasToken();\r\n    this.layoutService.successModalPopUp$.subscribe(\r\n      (privilegeStageInfo: any) => {\r\n        if (privilegeStageInfo) {\r\n          this.rewardInfo = Object.assign({}, privilegeStageInfo);\r\n          this.successModalShown = true;\r\n        }\r\n      },\r\n      () => {\r\n        this.successModalShown = false;\r\n      }\r\n    );\r\n  }\r\n\r\n  hideSuccessModal() {\r\n    this.successModalShown = false;\r\n  }\r\n}\r\n","<div class=\"modal-wrap\" *ngIf=\"successModalShown\">\r\n  <div\r\n    class=\"modal-content\"\r\n    (clickOutside)=\"hideSuccessModal()\"\r\n    [delayClickOutsideInit]=\"true\"\r\n  >\r\n    <div class=\"reward-container\">\r\n      <img\r\n        [src]=\"rewardInfo.sourceImgUrl | sasToken : sasToken | async\"\r\n        alt=\"\"\r\n      />\r\n      <div class=\"appreciation\">Fabulous!</div>\r\n      <div class=\"appreciation-msg\">Collect Your {{ rewardInfo.value }}</div>\r\n      <button class=\"msg-action\" (click)=\"hideSuccessModal()\">Collect</button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"help-menu-icon\",\r\n  templateUrl: \"./help-menu.component.html\",\r\n})\r\nexport class HelpMenuComponent {}\r\n","<svg\r\n  xmlns=\"http://www.w3.org/2000/svg\"\r\n  width=\"18\"\r\n  height=\"18\"\r\n  viewBox=\"0 0 20 20\"\r\n>\r\n  <path\r\n    id=\"Path_943\"\r\n    data-name=\"Path 943\"\r\n    d=\"M11,18h2V16H11ZM12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8A8.011,8.011,0,0,1,12,20ZM12,6a4,4,0,0,0-4,4h2a2,2,0,0,1,4,0c0,2-3,1.75-3,5h2c0-2.25,3-2.5,3-5A4,4,0,0,0,12,6Z\"\r\n    transform=\"translate(-2 -2)\"\r\n  />\r\n</svg>\r\n","import { TokenService } from \"./../token/token.service\";\r\nimport { Token, TokenModel } from \"./../../enums/token.enum\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\nimport {\r\n  HttpInterceptor,\r\n  HttpEvent,\r\n  HttpRequest,\r\n  HttpHandler,\r\n  HttpErrorResponse,\r\n} from \"@angular/common/http\";\r\nimport { BehaviorSubject, EMPTY, Observable, throwError } from \"rxjs\";\r\nimport { catchError, filter, switchMap, take } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AppInterceptorService implements HttpInterceptor {\r\n  private isRefreshing = false;\r\n  private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(\r\n    null\r\n  );\r\n  userId: string;\r\n  appId: string;\r\n\r\n  private _tokenService: TokenService;\r\n\r\n  constructor(private readonly injector: Injector) {}\r\n\r\n  intercept(\r\n    httpRequest: HttpRequest<any>,\r\n    next: HttpHandler\r\n  ): Observable<HttpEvent<any>> {\r\n    let authReq = httpRequest;\r\n    this._tokenService = this.injector.get(TokenService);\r\n    const token = this._tokenService.getTokenValue(Token.ACCESS_TOKEN);\r\n    if (token !== null) {\r\n      authReq = this.addTokenHeader(httpRequest);\r\n    }\r\n\r\n    return next.handle(authReq).pipe(\r\n      catchError((error) => {\r\n        if (\r\n          error instanceof HttpErrorResponse &&\r\n          (error.status === 401 || error.status === 403)\r\n        ) {\r\n          if (!error.url.includes(\"accessToken\")) {\r\n            return this.handle401AccessTokenError(authReq, next);\r\n          }\r\n\r\n          return throwError(() => error);\r\n        }\r\n        return next.handle(authReq);\r\n      })\r\n    );\r\n  }\r\n\r\n  private handle401AccessTokenError(\r\n    request: HttpRequest<any>,\r\n    next: HttpHandler\r\n  ): Observable<HttpEvent<any>> {\r\n    if (!this.isRefreshing) {\r\n      this.isRefreshing = true;\r\n      this.refreshTokenSubject.next(null);\r\n      this._tokenService = this.injector.get(TokenService);\r\n\r\n      return this._tokenService.getToken().pipe(\r\n        switchMap((tokenResponse: TokenModel) => {\r\n          this._tokenService.setTokenValue(\r\n            Token.ACCESS_TOKEN,\r\n            tokenResponse.data.access_token\r\n          );\r\n\r\n          this.isRefreshing = false;\r\n          this.refreshTokenSubject.next(tokenResponse.data.access_token);\r\n          return next.handle(this.addTokenHeader(request));\r\n        }),\r\n        catchError((err) => {\r\n          this.isRefreshing = false;\r\n          return throwError(() => err);\r\n        })\r\n      );\r\n    } else {\r\n      return this.refreshTokenSubject.pipe(\r\n        filter((token) => token !== null),\r\n        take(1),\r\n        switchMap((token) => {\r\n          this.refreshTokenSubject.next(null);\r\n\r\n          return next.handle(this.addTokenHeader(request));\r\n        })\r\n      );\r\n    }\r\n  }\r\n\r\n  private addTokenHeader(httpRequest: HttpRequest<any>) {\r\n    let accessToken = \"\";\r\n\r\n    this._tokenService = this.injector.get(TokenService);\r\n\r\n    if (!httpRequest.headers.get(\"skip\")) {\r\n      accessToken = this._tokenService.getTokenValue(Token.ACCESS_TOKEN);\r\n    }\r\n\r\n    if (accessToken) {\r\n      return httpRequest.clone({\r\n        setHeaders: {\r\n          Authorization: `Bearer ${\r\n            httpRequest.headers.get(\"skip\") ? \"\" : accessToken\r\n          }`,\r\n        },\r\n      });\r\n    } else {\r\n      return httpRequest;\r\n    }\r\n  }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"lib-drop-down\",\r\n  templateUrl: \"./drop-down.component.html\",\r\n  styleUrls: [\"./drop-down.component.scss\"],\r\n})\r\nexport class DropDownComponent {}\r\n","<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n  <rect x=\"0\" fill=\"none\" width=\"24\" height=\"24\" />\r\n\r\n  <g>\r\n    <path d=\"M20 9l-8 8-8-8 1.414-1.414L12 14.172l6.586-6.586\" />\r\n  </g>\r\n</svg>\r\n","import {\r\n  ModuleWithProviders,\r\n  NgModule,\r\n  Optional,\r\n  SkipSelf,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ProGamificationComponent } from \"./pro-gamification.component\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { SharedModule } from \"./shared/shared/shared.module\";\r\nimport { SuccessModalComponent } from \"./components/success-modal/success-modal.component\";\r\nimport { ScoreNotificationComponent } from \"./components/toast/score-notification/score-notification.component\";\r\nimport { TabActivityComponent } from \"./components/tab-activity/tab-activity.component\";\r\nimport { AcheivementsComponent } from \"./components/tab-activity/acheivements/acheivements.component\";\r\nimport { LeaderBoardComponent } from \"./components/tab-activity/leader-board/leader-board.component\";\r\nimport { HelpMenuComponent } from \"./components/menu-icons/help-menu/help-menu.component\";\r\nimport { UserRewardsComponent } from \"./components/user-rewards/user-rewards.component\";\r\nimport { RankComponent } from \"./components/tab-activity/leader-board/rank/rank.component\";\r\nimport { ProgressBarComponent } from \"./components/tab-activity/acheivements/progress-bar/progress-bar.component\";\r\nimport { TabGroupComponent } from \"./components/tabs/tab-group/tab-group.component\";\r\nimport { TabSectionComponent } from \"./components/tabs/tab-section/tab-section.component\";\r\nimport { AppInterceptorService } from \"./services/interceptors/app-interceptor.service\";\r\nimport { ProGamificationService } from \"./services/pro-gamification/pro-gamification.service\";\r\nimport { TokenService } from \"./services/token/token.service\";\r\nimport {\r\n  FeatureHttpClient,\r\n  FEATURE_HTTP_INTERCEPTORS,\r\n} from \"./services/interceptors/feature-http-client\";\r\nimport { UserServiceConfig } from \"./enums/token.enum\";\r\nimport { CoinsComponent } from \"./components/tab-activity/acheivements/coins/coins.component\";\r\nimport { BoltComponent } from \"./components/menu-icons/bolt/bolt.component\";\r\nimport { DropDownComponent } from \"./components/menu-icons/drop-down/drop-down.component\";\r\nimport { ListRedeemableProductsComponent } from \"./components/redeem/list-redeemable-products/list-redeemable-products.component\";\r\nimport { CloseComponent } from \"./components/menu-icons/close/close.component\";\r\nimport { RedeemableProductComponent } from \"./components/redeem/redeemable-product/redeemable-product.component\";\r\nimport { BackComponent } from \"./components/menu-icons/back/back.component\";\r\nimport { BillingFormComponent } from \"./components/redeem/billing-form/billing-form.component\";\r\nimport { ListWalletComponent } from \"./components/wallet/list-wallet/list-wallet.component\";\r\nimport { WalletComponent } from \"./components/wallet/wallet/wallet.component\";\r\nimport { RedeemsComponent } from \"./components/tab-activity/acheivements/redeems/redeems.component\";\r\nimport { OrdersComponent } from \"./components/tab-activity/acheivements/orders/orders.component\";\r\nimport { ListOrderHistoryComponent } from \"./components/orders/list-order-history/list-order-history.component\";\r\nimport { RedeemConfirmationComponent } from \"./components/redeem/redeem-confirmation/redeem-confirmation.component\";\r\nimport { PopUpService } from \"./services/pop-up.service\";\r\nimport { ViewOrderHistoryComponent } from './components/orders/view-order-history/view-order-history.component';\r\nimport { RedeemFailureComponent } from './components/redeem/redeem-failure/redeem-failure.component';\r\nimport { RewardsInfoComponent } from './components/rewards-info/rewards-info.component';\r\nimport { InfoIconComponent } from './components/menu-icons/info-icon/info-icon.component';\r\nimport { ProfileComponent } from './components/avatar/profile/profile.component';\r\nimport { GalleryComponent } from './components/avatar/gallery/gallery.component';\r\nimport { LocalGlobalBoardComponent } from './components/tab-activity/leader-board/local-global-board/local-global-board.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ProGamificationComponent,\r\n    SuccessModalComponent,\r\n    ScoreNotificationComponent,\r\n    UserRewardsComponent,\r\n    TabActivityComponent,\r\n    AcheivementsComponent,\r\n    LeaderBoardComponent,\r\n    HelpMenuComponent,\r\n    RankComponent,\r\n    ProgressBarComponent,\r\n    TabGroupComponent,\r\n    TabSectionComponent,\r\n    CoinsComponent,\r\n    BoltComponent,\r\n    DropDownComponent,\r\n    ListRedeemableProductsComponent,\r\n    CloseComponent,\r\n    RedeemableProductComponent,\r\n    BackComponent,\r\n    BillingFormComponent,\r\n    ListWalletComponent,\r\n    WalletComponent,\r\n    RedeemsComponent,\r\n    OrdersComponent,\r\n    ListOrderHistoryComponent,\r\n    RedeemConfirmationComponent,\r\n    ViewOrderHistoryComponent,\r\n    RedeemFailureComponent,\r\n    RewardsInfoComponent,\r\n    InfoIconComponent,\r\n    ProfileComponent,\r\n    GalleryComponent,\r\n    LocalGlobalBoardComponent,\r\n  ],\r\n  imports: [CommonModule, HttpClientModule, SharedModule],\r\n  providers: [\r\n    TokenService,\r\n    FeatureHttpClient,\r\n    ProGamificationService,\r\n    PopUpService,\r\n    {\r\n      provide: FEATURE_HTTP_INTERCEPTORS,\r\n      useClass: AppInterceptorService,\r\n      multi: true,\r\n    },\r\n    AppInterceptorService,\r\n  ],\r\n  exports: [ProGamificationComponent, SuccessModalComponent],\r\n})\r\nexport class ProGamificationModule {\r\n  constructor(@Optional() @SkipSelf() parentModule?: ProGamificationModule) {\r\n    if (parentModule) {\r\n      throw new Error(\r\n        \"ProGamificationModule is already loaded. Import it in the AppModule only\"\r\n      );\r\n    }\r\n  }\r\n  static forRoot(\r\n    config: UserServiceConfig\r\n  ): ModuleWithProviders<ProGamificationModule> {\r\n    return {\r\n      ngModule: ProGamificationModule,\r\n      providers: [{ provide: \"UserServiceConfig\", useValue: config }],\r\n    };\r\n  }\r\n}\r\n","import { TokenService } from \"../token/token.service\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { Injectable, Injector } from \"@angular/core\";\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class AuthService {\r\n  private _tokenService: TokenService;\r\n  constructor(private injector: Injector) {}\r\n\r\n  verifyJWT(tokenName: string) {\r\n    this._tokenService = this.injector.get(TokenService);\r\n    const tokenValue = this._tokenService.getTokenValue(tokenName);\r\n    if (tokenValue) {\r\n      const clientDetails = jwt_decode(tokenValue) as any;\r\n\r\n      const validTo = clientDetails.exp;\r\n      const now = new Date().getTime();\r\n      if (validTo > now) {\r\n        return true;\r\n      } else {\r\n        return false;\r\n      }\r\n    } else return false;\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of pro-gamification\r\n */\r\n\r\nexport * from \"./lib/pro-gamification.component\";\r\nexport * from \"./lib/pro-gamification.module\";\r\nexport * from \"./lib/services/gamification.service\";\r\nexport * from \"./lib/services/Auth/auth.service\";\r\nexport * from \"./lib/components/success-modal/success-modal.component\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.FeatureHttpClient","i1.ProGamificationService","i2.ThemeService","i3.PopUpService","i4","i5.SasTokenPipe","i2.PopUpService","i4.SasTokenPipe","i3.LayoutService","i5","i6.SasTokenPipe","i2.LayoutService","i1.LayoutService","i2","i1.ThemeService","i3.SasTokenPipe","i2.ProGamificationService","i1.PopUpService","i2.UtcToLocalTimePipe","i5.ConvertNumberWithPrefixPipe","i5.BackComponent","i7.ConvertNumberWithPrefixPipe","i4.BackComponent","i6.ConvertNumberWithPrefixPipe","i4.CloseComponent","i4.ListWalletComponent","i4.UserRewardsComponent","i5.ProgressBarComponent","i6.CoinsComponent","i7.RedeemsComponent","i8.OrdersComponent","i5.ClickOutsideDirective","i6.RankComponent","i7.LocalGlobalBoardComponent","i8.SasTokenPipe","i3.ThemeService","i4.AcheivementsComponent","i5.LeaderBoardComponent","i6.TabGroupComponent","i7.TabSectionComponent","i4.Gamification","i5.TokenService","i6.PopUpService","i7","i8.ClickOutsideDirective","i9.ScoreNotificationComponent","i10.TabActivityComponent","i11.BoltComponent","i12.InfoIconComponent","i13.SasTokenPipe","i4.ClickOutsideDirective"],"mappings":"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"}