{"version":3,"sources":["./src/app/core/components/iframe-url-modal/iframe-url-modal.component.html","./src/app/pages/sign-up-landing-page/sign-up-landing-page.component.html","./src/app/core/pipes/limit-to-pipe.ts","./src/app/pages/saved-cards/saved-cards.component.html","./src/app/pages/discovery/discovery.component.ts","./src/app/pages/support/support.component.ts","./src/app/pages/my-collection/my-collection.component.html","./src/app/core/directives/checked-state.directive.ts","webpack:///crypto (ignored)?cf56","./src/app/pages/offers/offer-details/offer-details.component.ts","./src/app/core/components/star-rating/star-rating.component.ts","./src/app/pages/home/home.component.ts","./src/app/pages/home/home.component.html","./src/app/pages/import-card/import-card.component.ts","crypto (ignored)","./src/app/pages/offers/tracking-details-or-shipping-address/tracking-details-or-shipping-address.component.html","fs (ignored)","./src/app/core/components/MemberProfile/collect-card/collect-card.component.html","./src/app/pages/card-view/share-card/share-card.component.html","./src/app/core/components/multi-select-search/multi-select-search.component.ts","./src/app/core/components/password-strength-checker/password-strength-checker.component.html","canvas (ignored)","./src/app/pages/signup/signup.component.html","zlib (ignored)","./src/app/core/Services/pwa.service.ts","./src/app/core/components/pop-over/pop-over.component.ts","./src/app/pages/sold-cards/sold-cards.component.html","./src/app/core/Services/user-service.ts","http (ignored)","./src/app/pages/offers/offer-history/offer-history.component.ts","./src/app/core/components/MemberProfile/success-page/success-page.component.html","./src/app/pages/saved-cards/saved-cards.component.ts","./src/app/pages/uploaded-queue/uploaded-queue.component.ts","https (ignored)","url (ignored)","./src/app/core/components/MemberProfile/social-profiles/social-profiles.component.html","./src/app/pages/card-list-view/card-list-view.component.ts","./src/app/core/components/iframe-url-modal/iframe-url-modal.component.ts","./src/app/core/components/form-control-tabs/form-control-tabs.component.html","./src/app/pages/add-to-collection/add-to-collection.component.html","./src/app/core/material-module.ts","./src/app/pages/search/search-results/search-results.component.ts","./src/environments/environment.ts","./src/app/core/components/loading/loading.component.html","./src/app/pages/sign-up-landing-page/sign-up-landing-page.component.ts","./src/app/core/Services/redirect.service.ts","./src/app/pages/card-view/pricing-and-fees/pricing-and-fees.component.ts","./src/app/core/components/state-tax-rate-modal/state-tax-rate-modal.component.ts","./src/app/core/Services/loading.interceptor.ts","./src/app/pages/login/login.component.ts","./src/app/pages/become-merchant/become-merchant.component.html","./src/app/core/components/MemberProfile/collect-card/collect-card.component.ts","./src/app/pages/search/sort-dialog/sort-dialog.component.html","./src/app/core/components/form-control/form-control.component.html","./src/app/core/lib/encryptDecrypt.service.ts","./src/app/core/directives/mat-input-autofocus.directive.ts","./src/app/pages/card-view/card-details-view/card-details-view.component.html","./src/app/core/Services/icons.service.ts","./src/app/core/components/confirm-modal/confirm-dialog.component.html","./src/app/pages/search/search.component.html","./src/app/pages/offers/offers.component.ts","./src/app/core/lib/comma-separated-number.pipe.ts","./src/app/pages/card-view/stats-modal/stats-modal.component.ts","./src/app/pages/become-merchant/become-merchant.component.ts","./src/app/pages/edit-profile/edit-profile.component.ts","./src/app/pages/add-to-collection/add-to-collection.component.ts","./src/app/pages/profile/profile.component.html","./src/app/core/lib/constants/form-constants.ts","./src/app/pages/offers/tracking-details-or-shipping-address/tracking-details-or-shipping-address.component.ts","./src/app/core/lib/utils.ts","./src/app/core/components/form-control-tabs/form-control-tabs.component.ts","./src/app/core/lib/comma-separated-number.directive.ts","./src/app/core/Services/loading.service.ts","./src/app/pages/search/filters-dialog/filters-dialog.component.ts","./src/app/pages/my-collection/my-collection.component.ts","./src/app/core/components/intl-tel-input/intl-tel-input.component.html","./src/app/pages/action-center-modal/action-center-modal.component.ts","./src/app/core/components/password-strength-checker/password-strength-checker.component.ts","./src/app/pages/not-found/not-found.component.html","./src/app/pages/add-to-collection/summary-form/summary-form.component.html","./src/app/core/Services/navigation.service.ts","./src/app/pages/search/sort-dialog/sort-dialog.component.ts","./src/app/core/components/MemberProfile/set-bio/set-bio.component.ts","./src/app/core/guards/feature-gaurd.ts","./src/app/app.component.ts","./src/app/pages/card-view/card-view-web/card-view-web.component.ts","./src/app/pages/offers/offer-history/offer-history.component.html","./src/app/core/components/loading/loading.component.ts","./src/app/core/components/eula/eula.component.ts","./src/app/core/Services/auth-interceptor.ts","./src/app/pages/card-view/card-view.component.html","./src/app/pages/forgot-password/forgot-password.component.html","./src/app/core/components/MemberProfile/add-profile-picture/add-profile-picture.component.html","./src/app/pages/card-view/pricing-and-fees/pricing-and-fees.component.html","./src/app/core/pipes/date-ago-pipe.ts","./src/app/pages/add-to-collection/summary-form/summary-form.component.ts","./src/app/pages/offers/offer-details/offer-details.component.html","./src/app/pages/support/support.component.html","./src/app/pages/profile/profile.component.ts","./src/app/pages/card-view/share-card/share-card.component.ts","./src/app/pages/search/search.component.ts","./src/app/core/components/MemberProfile/set-bio/set-bio.component.html","./src/app/core/Services/clevertap.service.ts","./src/app/app.module.ts","./src/app/core/components/no-data/no-data.component.ts","./src/app/pages/memberProfile/memberProfile.component.html","./src/environments/index.ts","./src/app/pages/card-view/card-details-view/card-details-view.component.ts","./src/app/pages/sub-profile-cards-select-buy/exquisite-card-details/exquisite-card-details.component.ts","./src/app/core/Services/snackbar.service.ts","./src/app/core/Services/sign-up.service.ts","./src/app/core/components/stepper/stepper.component.ts","./src/app/core/components/MemberProfile/success-page/success-page.component.ts","./src/app/core/components/star-rating/star-rating.component.html","./src/app/pages/edit-profile/edit-profile.component.html","./src/app/core/components/no-data/no-data.component.html","./src/app/pages/login/login.component.html","./src/app/core/Services/branch.service.ts","./src/app/pages/discovery/discovery.component.html","./src/app/pages/import-card/import-card.component.html","./src/app/core/components/confirm-modal/confirm-dialog.component.ts","./src/app/core/components/set-alerts-modal/set-alerts-modal.component.ts","./src/app/core/Services/mix-panel.service.ts","./src/app/core/components/terms-of-use/terms-of-use.component.html","./src/app/core/components/set-alerts-modal/set-alerts-modal.component.html","./src/app/core/components/MemberProfile/social-profiles/social-profiles.component.ts","./src/app/pages/card-view/stats-modal/stats-modal.component.html","./src/app/core/Services/data-cache.service.ts","./src/app/core/lib/constants/url-constants.ts","./src/aws-exports.ts","./src/app/core/components/intl-tel-input/intl-tel-input.component.ts","./src/app/core/components/MemberProfile/genres/genres.component.ts","./src/app/pages/sub-profile-cards-select-buy/exquisite-card-details/exquisite-card-details.component.html","./src/app/pages/card-view/send-offer-modal/send-offer-modal.component.ts","./src/app/pages/forgot-password/forgot-password.component.ts","./src/app/pages/card-view/send-offer-modal/send-offer-modal.component.html","./src/app/core/lib/filetype-conversion.service.ts","./src/app/pages/offers/offers.component.html","./src/app/core/components/multi-select-search/multi-select-search.component.html","./src/app/core/Services/mat-dialog.service.ts","./src/app/core/components/MemberProfile/add-profile-picture/add-profile-picture.component.ts","./src/app/core/lib/image-compression.service.ts","./src/app/pages/signup/signup.component.ts","./src/app/core/lib/authentication.service.ts","./src/app/pages/search/search-results/search-results.component.html","./src/app/core/components/form-control/form-control.component.ts","./src/app/pages/uploaded-queue/uploaded-queue.component.html","./src/app/pages/sold-cards/sold-cards.component.ts","./src/app/core/components/eula/eula.component.html","./src/app/core/Services/admin-service.ts","./src/app/core/Services/seo-service.ts","./src/app/core/components/pop-over/pop-over.component.html","./src/app/core/components/stepper/stepper.component.html","./src/app/core/components/terms-of-use/terms-of-use.component.ts","./src/app/pages/action-center-modal/action-center-modal.component.html","./src/app/pages/sub-profile-cards-select-buy/sub-profile-cards-select-buy.component.html","./src/app/core/components/state-tax-rate-modal/state-tax-rate-modal.component.html","./src/app/core/lib/local-storage.service.ts","./src/app/pages/not-found/not-found.component.ts","./src/app/app-routing.module.ts","./src/app/core/lib/search-sort-filter.service.ts","./src/app/core/guards/auth-guard.ts","./src/app/pages/discovery/edit-favourites/edit-favourites.component.ts","./src/app/core/components/MemberProfile/genres/genres.component.html","./src/app/core/components/otp-input/otp-input.component.html","./src/app/pages/card-list-view/card-list-view.component.html","./src/app/app.worker.ts","./src/app/core/components/otp-input/otp-input.component.ts","./src/app/core/lib/constants/common-constants.ts","./src/app/pages/search/filters-dialog/filters-dialog.component.html","./src/app/core/components/scroll-pagination/scroll-pagination.component.ts","./src/app/pages/card-view/card-view.component.ts","./src/app/app.component.html","./src/app/pages/discovery/edit-favourites/edit-favourites.component.html","./src/app/pages/memberProfile/memberProfile.component.ts","./src/app/pages/sub-profile-cards-select-buy/sub-profile-cards-select-buy.component.ts","./src/app/core/components/scroll-pagination/scroll-pagination.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/pages/card-view/card-view-web/card-view-web.component.html"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["

\n \n \n {{title}}\n \n \n

\n
\n
\n \n
\n
","
\n
\n
\n \"HTML\n
\n
\n
\n

Welcome to NextGem

\n

Let's get you signed up

\n
\n\n\n
\n \n \n \n
\n
\n
\n
OR
\n
\n
\n
\n \n
\n\n \n I agree to the NextGem Privacy\n Policy , Terms\n of\n Use, and EULA\n .\n \n\n
Already have an account? Login\n Here
\n
\n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'limitTo',\n})\nexport class LimitToPipe implements PipeTransform {\n transform(value: any[], limit: number = 10): any[] {\n if (!Array.isArray(value)) {\n return [];\n }\n if (value.length <= limit) {\n return value;\n }\n const limitedItems = value.slice(0, limit);\n const remainingCount = value.length - limit;\n limitedItems.push(`+${remainingCount} more`);\n return limitedItems;\n }\n}\n","
\n
\n \n \n \n \n
\n \n \n
\n\n \n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants, ISearchSortFilter } from '@approot/core/lib/constants/common-constants';\nimport {\n includeExquisiteCardsKey,\n NextGemFormControlType,\n searchSortFilterFormData,\n} from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { SearchSortFilterService } from '@approot/core/lib/search-sort-filter.service';\nimport { getSortFieldName, removeDiscoveryFilteredItem, transformAppliedFiltersToArray } from '@approot/core/lib/utils';\nimport { DataCacheService } from '@approot/core/Services/data-cache.service';\nimport { environment } from 'src/environments';\nimport { FiltersDialogModel, FiltersDialogComponent } from '../search/filters-dialog/filters-dialog.component';\nimport { SortDialogModel, SortDialogComponent } from '../search/sort-dialog/sort-dialog.component';\nimport { EditFavouritesComponent, EditFavouritesDialogModel } from './edit-favourites/edit-favourites.component';\n\n@Component({\n selector: 'app-discovery',\n templateUrl: './discovery.component.html',\n styleUrls: ['./discovery.component.scss'],\n})\nexport class DiscoveryComponent implements OnInit {\n discoveryList: any;\n genereCards: any[] = [];\n genresMasterData: any[] = [];\n selectedGeneres: any[] = [];\n userId: any;\n currentPage = 0;\n totalPages = 0;\n pageSize = 100;\n openToOffersSortBy = 'graded';\n masterData: any;\n sampleFormData: NextGemFormControlType[] = [];\n selectedFilters!: any;\n appliedFilters: string[] = [];\n loading = true;\n isSavedSearch = false;\n activeOffersList: any[] = [];\n scoreRankData: any[] = [];\n constructor(\n private http: HttpClient,\n private localStorageService: LocalStorageService,\n private router: Router,\n private authenticationService: AuthenticationService,\n public dialog: MatDialog,\n private searchFilterService: SearchSortFilterService,\n private dataCacheService: DataCacheService,\n ) {\n try {\n this.sampleFormData = JSON.parse(JSON.stringify(searchSortFilterFormData));\n } catch (error) {\n this.sampleFormData = searchSortFilterFormData;\n }\n }\n\n async ngOnInit() {\n const result: any[] = await this.authenticationService.getScoreAndRankData();\n this.scoreRankData = result;\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n if (userDetails?.sub) {\n this.userId = userDetails?.sub;\n this.getGenreMasterData();\n\n // this.getSavedGenre();\n // this.getUserDetails();\n const _appliedFilters = this.searchFilterService.discoveryFilterState.value;\n // console.log(_appliedFilters);\n const _cacheData = this.dataCacheService.getData('discovery');\n if (_cacheData) {\n this.totalPages = _cacheData?.totalPages || 0;\n this.discoveryList = _cacheData?.discoveryList;\n this.pageSize = _cacheData?.pagesize || 100;\n this.currentPage = _cacheData?.page || 0;\n this.selectedFilters = _cacheData?.selectedFilters;\n this.isSavedSearch = _cacheData?.isSavedSearch;\n this.appliedFilters = transformAppliedFiltersToArray(this.selectedFilters);\n } else {\n if (_appliedFilters) {\n this.selectedFilters = _appliedFilters;\n this.getCollection();\n } else {\n this.getUserDetails();\n }\n }\n setTimeout(() => {\n this.fetchUsersActiveOffers();\n }, 500);\n }\n }\n isCardOffered(card: any) {\n const isOffered = this.activeOffersList.find((list: any) => list?.cardid === card?.cardid);\n return !!isOffered;\n }\n private fetchUsersActiveOffers() {\n try {\n const URL = `${environment.cardServiceDomain}/${URLConstants.USERS_ACTIVE_OFFERS_LIST}`;\n this.http.get(URL).subscribe(\n (res: any) => {\n this.activeOffersList = res?.data || [];\n },\n err => {},\n );\n } catch (error) {}\n }\n get isExquisiteCardsEnabled() {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const featuresflags: any[] = userDetails?.featuresflags || [];\n return featuresflags.find(feature => feature?.fgid == 1)?.show;\n }\n changePage(event: PageEvent) {\n this.currentPage = event.pageIndex;\n this.pageSize = event.pageSize;\n const genre = this.selectedGenreName || undefined;\n this.getCollection(event.pageIndex + 1);\n }\n getUserDetails() {\n const getDetails = async () => {\n const userDetails = await this.authenticationService.getCompleteUserDetails();\n this.isSavedSearch = !!userDetails?.discfilters;\n if (!userDetails?.username) {\n this.authenticationService.loginState.next(false);\n this.router.navigate([`update-profile/${userDetails?.idpid}`]);\n } else {\n const genre = this.selectedGenreName || 'Open to Offers';\n const initialFilters = {\n filter: {\n cardstatus: ['Open to Offers', 'For Sale'],\n estimatedvalue: this.scoreRankData.map((rank: any) => rank?.rankid),\n },\n sort: 6,\n };\n if (userDetails?.discfilters) {\n this.selectedFilters = userDetails?.discfilters;\n } else {\n this.selectedFilters = initialFilters;\n }\n // this.appliedFilters = transformAppliedFiltersToArray(this.selectedFilters);\n this.getCollection();\n }\n };\n getDetails();\n\n // const headers = {\n // 'x-nextgem-userid': userId,\n // };\n // const options = { headers: headers };\n // this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options).subscribe(\n // (res: any) => {\n // const userDetails = res.data;\n // this.isSavedSearch = !!userDetails?.discfilters;\n // if (!userDetails?.username) {\n // this.authenticationService.loginState.next(false);\n // this.router.navigate([`update-profile/${userDetails?.idpid}`]);\n // } else {\n // const genre = this.selectedGenreName || 'Open to Offers';\n // const initialFilters = {\n // filter: {\n // cardstatus: ['Open to Offers', 'For Sale'],\n // },\n // sort: 6,\n // };\n // if (userDetails?.discfilters) {\n // this.selectedFilters = userDetails?.discfilters;\n // } else {\n // this.selectedFilters = initialFilters;\n // }\n // this.getCollection(userId);\n // }\n // },\n // err => {\n // console.log(err, 'err in search');\n // },\n // );\n }\n\n async getGenreMasterData() {\n const result = await this.authenticationService.getMasterDataOfCards();\n const data = JSON.parse(JSON.stringify(result));\n this.masterData = data;\n if (data && data?.genre) {\n const genre = [...data.genre];\n this.genereCards = [...genre];\n this.genresMasterData = new Array().concat(...genre);\n this.genereCards.map(genre => ({ ...genre, isSelected: false }));\n const all = {\n isSelected: false,\n filterSelected: '/assets/images/genres/all-selected.svg',\n filterUNSelected: '/assets/images/genres/all.svg',\n name: 'All',\n };\n const graded = {\n isSelected: false,\n filterSelected: '/assets/images/genres/all-selected.svg',\n filterUNSelected: '/assets/images/genres/all.svg',\n name: 'Graded',\n };\n const favourites = {\n isSelected: false,\n filterSelected: '/assets/images/genres/favourite-active.png',\n filterUNSelected: '/assets/images/genres/favourite.svg',\n name: 'Favorites',\n };\n const editFavourites = {\n isSelected: false,\n filterSelected: '/assets/images/genres/edit.svg',\n filterUNSelected: '/assets/images/genres/edit.svg',\n name: 'Edit Favorites',\n isEdit: true,\n };\n const opentoOffers = {\n isSelected: true,\n icon: 'local_offer',\n name: 'Open to Offers',\n };\n\n const forSale = {\n isSelected: false,\n icon: 'attach_money',\n name: 'For Sale',\n };\n const pc = {\n isSelected: false,\n icon: 'person_outline',\n name: 'Personal Collection',\n };\n const watchlist = {\n isSelected: false,\n icon: 'bookmark_border',\n name: 'Watchlist',\n };\n this.genereCards.unshift(graded);\n this.genereCards.unshift(pc);\n this.genereCards.unshift(watchlist);\n this.genereCards.unshift(opentoOffers);\n this.genereCards.unshift(forSale);\n this.genereCards.unshift(all);\n this.genereCards.push(favourites);\n this.genereCards.push(editFavourites);\n }\n }\n getSavedGenre() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_PREFERNCE}`).subscribe(\n (res: any) => {\n const genre = res?.data?.genre;\n if (Array.isArray(genre) && genre?.length) {\n let selectedGeneres = [];\n for (let index = 0; index < genre.length; index++) {\n const id = genre[index];\n const cardIndex = this.genereCards.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n selectedGeneres.push(this.genereCards[cardIndex]?.name);\n }\n }\n this.selectedGeneres = selectedGeneres;\n }\n },\n error => {\n console.log('error', error);\n },\n );\n }\n get selectedGenreName() {\n return this.genereCards.find(genre => genre['isSelected'])?.name;\n }\n\n selectGenereCard = (card: any) => {\n if (card?.name !== 'Edit Favorites') {\n this.genereCards.map(genre => (genre['isSelected'] = false));\n card['isSelected'] = !card['isSelected'];\n }\n if (card?.name === 'Open to Offers') {\n this.openToOffersSortBy = 'graded';\n }\n // this.getCardsBasedOnGenre(card?.name);\n // if (card?.name === 'Edit Favorites') {\n // // this.openEditFavouritesDialog();\n // } else if (card?.name === 'All') {\n // // this.getCollection(this.userId, this.allGenreNames);\n // } else if (card?.name === 'Favorites') {\n // // this.getCollection(this.userId, this.selectedGeneres);\n // } else if (card?.name === 'WatchList') {\n // // this.getWatchlistCards();\n // } else {\n // // this.getCollection(this.userId, [card.name]);\n // }\n };\n // getCardsBasedOnGenre(name: string, page?: number) {\n // switch (name) {\n // case 'Edit Favorites':\n // this.openEditFavouritesDialog();\n // break;\n // case 'All':\n // this.getCollection(this.userId, this.allGenreNames, page);\n // break;\n // case 'Favorites':\n // this.getCollection(this.userId, this.selectedGeneres, page);\n // break;\n // case 'Watchlist':\n // this.getWatchlistCards(page);\n // break;\n // default:\n // this.getCollection(this.userId, [name], page);\n // break;\n // }\n // }\n getWatchlistCards(page?: number) {\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n 'x-nextgem-userid': this.userId,\n };\n const params = {\n page: page || 1,\n pagesize: this.pageSize,\n };\n const options: any = { headers: headers, params };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.GET_SAVED_CARDS}`, options).subscribe(\n (res: any) => {\n if (res.statusCode === 200) {\n let cards: any[] = res?.data || [];\n cards.map(card => (card['watched'] = true));\n if ((page && cards?.length) || !page) {\n this.discoveryList = cards;\n }\n }\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n saveCacheData() {\n const _cacheData = {\n totalPages: this.totalPages,\n discoveryList: this.discoveryList,\n pagesize: this.pageSize,\n page: this.currentPage,\n selectedFilters: this.selectedFilters,\n isSavedSearch: this.isSavedSearch,\n };\n this.dataCacheService.setData('discovery', _cacheData);\n }\n getCollection(page?: number) {\n this.loading = true;\n let payload: any = {\n ...this.selectedFilters,\n pagesize: this.pageSize,\n page: page || 1,\n sort: this.selectedFilters?.sort || 6,\n // genre: ['Football'],\n };\n if (this.isExquisiteCardsEnabled) {\n payload[includeExquisiteCardsKey] = this.selectedFilters?.[includeExquisiteCardsKey] ? true : false;\n }\n // if (genre?.length) {\n // payload['genre'] = genre;\n // }\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n 'x-nextgem-userid': this.userId,\n };\n const options = { headers: headers };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.DISCOVERY_VIEW}`, payload, options).subscribe(\n (res: any) => {\n const _data = res?.data;\n this.discoveryList = _data?.cards || [];\n this.totalPages = _data?.count;\n this.loading = false;\n this.searchFilterService.discoveryFilterState.next(this.selectedFilters);\n this.appliedFilters = transformAppliedFiltersToArray(this.selectedFilters);\n this.saveCacheData();\n },\n err => {\n this.loading = false;\n console.log(err, 'err in search');\n },\n );\n }\n\n showAppliedFilterLabel(id: any) {\n const isEstimatedValue = this.scoreRankData.find((score: any) => score?.rankid === id);\n return isEstimatedValue ? `Estimated Value - ${isEstimatedValue?.value}` : id;\n }\n\n get allGenreNames() {\n const filteredGenres = this.genereCards.filter(genre => genre?.id);\n let data = filteredGenres.map(obj => obj.name);\n return data;\n }\n openEditFavouritesDialog(): void {\n // const dialogData = new EditFavouritesDialogModel(this.genresMasterData);\n\n const dialogRef = this.dialog.open(EditFavouritesComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: { genresMasterData: this.genresMasterData },\n panelClass: 'edit-favourites',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.selectedGeneres = dialogResult;\n }\n });\n }\n\n get userName() {\n return this.authenticationService.userName;\n }\n\n onSelectionCard(card: any) {\n // console.log(card, 'selected card');\n const cuidAsArray = card.deeplinkurl.split('/');\n const CUID = cuidAsArray[cuidAsArray.length - 1];\n this.router.navigate([`${card?.username}/${card?.cardid}`]);\n }\n showFiltersDialog() {\n const copyOfFilters = {};\n const _copiedSource = JSON.parse(JSON.stringify(this.selectedFilters));\n let filters = Object.assign(copyOfFilters, _copiedSource);\n const sortState = filters;\n if (sortState?.[includeExquisiteCardsKey]) {\n const cardstatus = sortState['filter']?.['cardstatus'] || [];\n let _newStatus = [...cardstatus];\n if (!_newStatus.includes(includeExquisiteCardsKey)) {\n _newStatus = [...cardstatus, includeExquisiteCardsKey];\n }\n if (sortState['filter']?.['cardstatus']) {\n sortState['filter']['cardstatus'] = _newStatus;\n } else {\n const filter: any = Object.assign(\n {},\n {\n cardstatus: _newStatus,\n },\n );\n sortState['filter'] = filter;\n }\n }\n // if (sortState?.['filter']?.estimatedvalue && sortState?.['filter']?.estimatedvalue?.length) {\n // sortState['filter'].estimatedvalue = sortState['filter'].estimatedvalue.map((val: any) => val?.rankid);\n // }\n\n const SET_NAME_INDEX = this.sampleFormData.findIndex(form => form.name === 'setnames');\n const PLAYER_NAME_INDEX = this.sampleFormData.findIndex(form => form.name === 'playernames');\n const CARD_STATUS_INDEX = this.sampleFormData.findIndex(form => form.name === 'cardstatus');\n const ESTIMATED_VALUE_INDEX = this.sampleFormData.findIndex(form => form.name === 'estimatedvalue');\n\n if (CARD_STATUS_INDEX > -1) {\n let cardstatus: any[] = this.masterData?.cardstatus || [];\n const cardstatusOptions = cardstatus.map((status: any) => ({\n name: status?.name,\n value: status?.name,\n }));\n let options: any = [\n {\n name: 'Card Status',\n options: cardstatusOptions,\n },\n {\n name: 'Exquisite Cards',\n options: [{ name: 'Include Exquisite Cards', value: includeExquisiteCardsKey }],\n },\n ];\n this.sampleFormData[CARD_STATUS_INDEX]['type'] = this.isExquisiteCardsEnabled\n ? 'selectOptionGroup'\n : 'multiselectAuto';\n this.sampleFormData[CARD_STATUS_INDEX].options = this.isExquisiteCardsEnabled ? options : cardstatusOptions;\n }\n\n if (ESTIMATED_VALUE_INDEX > -1) {\n const options = this.scoreRankData.map((score: any) => ({\n name: score?.value,\n value: score?.rankid,\n }));\n this.sampleFormData[ESTIMATED_VALUE_INDEX].options = options;\n }\n if (SET_NAME_INDEX > -1) {\n this.sampleFormData[SET_NAME_INDEX]['multiple'] = true;\n this.sampleFormData[SET_NAME_INDEX]['type'] = 'autoSelectChips';\n }\n if (PLAYER_NAME_INDEX > -1) {\n this.sampleFormData[PLAYER_NAME_INDEX]['multiple'] = true;\n this.sampleFormData[PLAYER_NAME_INDEX]['type'] = 'autoSelectChips';\n }\n const dialogData = new FiltersDialogModel(\n this.sampleFormData,\n sortState,\n '',\n 'discovery',\n this.userId,\n this.isSavedSearch,\n );\n\n const dialogRef = this.dialog.open(FiltersDialogComponent, {\n data: dialogData,\n position: {\n bottom: '0px',\n top: '0px',\n right: '0px',\n },\n disableClose: true,\n hasBackdrop: false,\n panelClass: ['filter-mdoal', 'nxt-dark-modal'],\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // console.log(dialogResult);\n\n if (dialogResult?.filters) {\n // const _filters = { ...sortState, ...dialogResult };\n this.selectedFilters = dialogResult?.filters;\n // this.discoveryList = dialogResult?.data?.cards || [];\n this.totalPages = dialogResult?.data?.count;\n this.isSavedSearch = dialogResult?.isSavedSearch;\n this.currentPage = 0;\n this.searchFilterService.discoveryFilterState.next(this.selectedFilters);\n this.getCollection();\n // this.appliedFilters = transformAppliedFiltersToArray(dialogResult?.filters);\n } else {\n this.isSavedSearch = dialogResult?.isSavedSearch;\n }\n this.saveCacheData();\n });\n }\n openSortModal() {\n const sortState = this.selectedFilters;\n this.masterData['sort'] = sortState.sort || 6;\n const dialogData = new SortDialogModel(this.masterData);\n\n const dialogRef = this.dialog.open(SortDialogComponent, {\n data: dialogData,\n position: {\n bottom: '0px',\n top: '0px',\n right: '0px',\n },\n panelClass: ['filter-mdoal', 'nxt-dark-modal'],\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const _filters = { ...sortState, ...{ sort: dialogResult } };\n this.selectedFilters = _filters;\n this.getCollection(this.currentPage);\n }\n });\n }\n get sortFieldName() {\n return getSortFieldName(this.masterData?.sortoptions, this.selectedFilters?.sort);\n }\n removeFilter(filter: any) {\n this.selectedFilters = removeDiscoveryFilteredItem(filter, this.selectedFilters);\n this.getCollection(this.currentPage);\n }\n openFilters(last: boolean) {\n if (last) {\n this.showFiltersDialog();\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport {\n ConfirmDialogModel,\n ConfirmDialogComponent,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { signupStepperSampleData } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { validateAllFormFields } from '@approot/core/lib/utils';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { Auth } from 'aws-amplify';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-support',\n templateUrl: './support.component.html',\n styleUrls: ['./support.component.scss'],\n})\nexport class SupportComponent implements OnInit {\n viewType = 'menuItems';\n fieldTextType: boolean = false;\n fieldTextType1: boolean = false;\n changePasswordObj = {\n old: '',\n new: '',\n };\n passwordPattern: any[] = [];\n isSubmitted = false;\n errorMessage = '';\n genresMasterData: any[] = [];\n constactUsForm: FormGroup = new FormGroup({});\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: SupportDialogModel,\n private http: HttpClient,\n private sanitizer: DomSanitizer,\n private authenticationService: AuthenticationService,\n public dialog: MatDialog,\n public snackbarService: SnackbarService,\n public loaderService: LoaderService,\n private formBuilder: FormBuilder,\n ) {\n this.passwordPattern =\n signupStepperSampleData.find(item => item.key === 'password')?.passwordPatternCheck || [];\n }\n onConfirm(): void {\n this.dialogRef.close(true);\n }\n\n onDismiss(): void {\n this.dialogRef.close(false);\n }\n async ngOnInit() {\n await this.getGenreMasterData();\n this.contactUsFormInit();\n }\n contactUsFormInit() {\n this.constactUsForm = this.formBuilder.group({\n phone: [\n '',\n [\n Validators.pattern(/([+]?\\d{1,2}[.-\\s]?)?(\\d{3}[.-]?){2}\\d{4}/),\n Validators.minLength(7),\n Validators.maxLength(15),\n ],\n ],\n email: ['', [Validators.required, Validators.email]],\n firstname: ['', Validators.required],\n lastname: ['', Validators.required],\n message: [''],\n });\n }\n\n back() {\n this.isSubmitted = false;\n this.viewType = 'menuItems';\n this.changePasswordObj = {\n old: '',\n new: '',\n };\n this.errorMessage = '';\n this.constactUsForm.reset();\n }\n changeViewType(type: string) {\n const URL_BY_TYPE: any = {\n terms: 'https://www.nextgem.com/terms-of-use',\n privacy: 'https://www.nextgem.com/privacy',\n contact: 'https://www.nextgem.com/support',\n };\n const pdfurl = URL_BY_TYPE[type];\n if (pdfurl) {\n window.open(pdfurl, '_blank');\n } else {\n this.viewType = type;\n }\n }\n passwordPatternCheck(password: any) {\n const passwordPattern =\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-])[A-Za-z\\d!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-]{8,}$/;\n return passwordPattern.test(password);\n }\n get isOldPasswordValid() {\n return this.passwordPatternCheck(this.changePasswordObj.old);\n }\n get isNewPasswordValid() {\n return this.passwordPatternCheck(this.changePasswordObj.new);\n }\n async onChangePasswordSubmit() {\n this.isSubmitted = true;\n if (this.isOldPasswordValid && this.isNewPasswordValid) {\n try {\n this.loaderService.show();\n const user = await Auth.currentAuthenticatedUser();\n await Auth.changePassword(user, this.changePasswordObj.old, this.changePasswordObj.new);\n this.isSubmitted = false;\n const description = `Password Changed Successfully`;\n this.snackbarService.openSnackbar(description);\n this.loaderService.hide();\n this.back();\n } catch (error: any) {\n this.isSubmitted = false;\n const msg = String(error?.message).toLowerCase().includes('incorrect')\n ? 'InCorrect Old Password'\n : error?.message;\n this.errorMessage = msg;\n this.loaderService.hide();\n }\n }\n }\n onSubmitContactUs() {\n if (this.constactUsForm.valid) {\n console.log(this.constactUsForm.value);\n } else {\n validateAllFormFields(this.constactUsForm);\n }\n }\n\n toggleFieldTextType(isType1 = false) {\n if (!isType1) {\n this.fieldTextType = !this.fieldTextType;\n } else {\n this.fieldTextType1 = !this.fieldTextType1;\n }\n }\n signOut() {\n const message = `Sign Out of NextGem?`;\n const dialogData = new ConfirmDialogModel('Sign Out', message);\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.authenticationService.logout(true);\n this.onDismiss();\n }\n });\n }\n deleteAccount() {\n const message = `Deleting your account will be permanent. Your cards and profile details will no longer be available on NextGem. Are you sure you want to proceed?`;\n const dialogData = new ConfirmDialogModel('Delete Account', message);\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n const userId = this.authenticationService.userId;\n let params = { userid: userId };\n const options = { params };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.REMOVE_USER}`, options).subscribe(\n (res: any) => {\n if (res.statusCode === 200) {\n this.authenticationService.logout(true);\n this.onDismiss();\n }\n },\n err => {\n console.log(err, 'err in delete');\n },\n );\n }\n });\n }\n\n async getGenreMasterData() {\n const result = await this.authenticationService.getMasterDataOfCards();\n const data = JSON.parse(JSON.stringify(result));\n if (data && data?.genre) {\n const genre = [...data.genre];\n this.genresMasterData = new Array().concat(...genre);\n this.genresMasterData.map(genre => ({ ...genre, isSelected: false }));\n this.getSavedGenre();\n }\n }\n getSavedGenre() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_PREFERNCE}`).subscribe(\n (res: any) => {\n const genre = res?.data?.genre;\n if (Array.isArray(genre) && genre?.length) {\n for (let index = 0; index < genre.length; index++) {\n const id = genre[index];\n const cardIndex = this.genresMasterData.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genresMasterData[cardIndex]['isSelected'] =\n !this.genresMasterData[cardIndex]['isSelected'];\n }\n }\n }\n },\n error => {\n console.log('error', error);\n },\n );\n }\n selectGenereCard = (id: any) => {\n const cardIndex = this.genresMasterData.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genresMasterData[cardIndex]['isSelected'] = !this.genresMasterData[cardIndex]['isSelected'];\n }\n };\n get selectedCards(): any[] {\n let selectedGeneres: any[] = [];\n this.genresMasterData.forEach((card, index) => {\n if (card?.isSelected) {\n selectedGeneres.push(card.id);\n }\n });\n return selectedGeneres;\n }\n saveGenres() {\n const payload = {\n genre: this.selectedCards,\n displaymode: 0,\n fid: 1,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_USER_PREFERENCE}`, payload).subscribe(\n res => {\n this.back();\n },\n err => {\n console.log(err);\n },\n );\n }\n}\n\nexport class SupportDialogModel {\n constructor(public data: any) {}\n}\n","
\n \n
\n \n
\n
\n \"more\n
\n
\n
\n \"user-profile-image\"\n
\n
\n
\n

FEATURED CARD

\n
\n \n
\n
\n

{{featuredCard?.playername}}

\n

{{featuredCard?.setname}}

\n
\n
\n

Card Status

\n

{{featuredCard?.cardstatus}}

\n
\n
\n

Listing price

\n

{{featuredCard?.listingprice || ''}}

\n
\n
\n
\n
\n
\n \n \n \n \n
\n 199\" [currentPage]=\"currentPage\" [pageSize]=\"pageSize\"\n [totalPages]=\"totalPages\" (pageChanged)=\"changePage($event)\">\n \n
\n\n \n","import { Directive, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[appCheckedState]',\n})\nexport class CheckedStateDirective implements AfterViewInit {\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n const parentElement = this.el.nativeElement;\n const childElement = parentElement.querySelector('.mat-pseudo-checkbox');\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'class') {\n if (childElement.classList.contains('mat-pseudo-checkbox-checked')) {\n this.renderer.addClass(parentElement, 'checked-border');\n } else {\n this.renderer.removeClass(parentElement, 'checked-border');\n }\n }\n });\n });\n\n observer.observe(childElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n}\n","/* (ignored) */","import { trigger, state, style, transition, animate } from '@angular/animations';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, HostListener, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport {\n SendOfferDialogModel,\n SendOfferModalComponent,\n} from '@approot/pages/card-view/send-offer-modal/send-offer-modal.component';\nimport { environment } from 'src/environments';\nimport {\n TrackingDetailsOrShippingAddressModel,\n TrackingDetailsOrShippingAddressComponent,\n} from '../tracking-details-or-shipping-address/tracking-details-or-shipping-address.component';\nimport {\n BecomeMerchantComponentDialogModel,\n BecomeMerchantComponent,\n} from '../../become-merchant/become-merchant.component';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport {\n StateTaxRateDialogModel,\n StateTaxRateDialogComponent,\n} from '@approot/core/components/state-tax-rate-modal/state-tax-rate-modal.component';\nimport {\n ConfirmDialogModel,\n ConfirmDialogComponent,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n@Component({\n selector: 'app-offer-details',\n templateUrl: './offer-details.component.html',\n styleUrls: ['./offer-details.component.scss'],\n animations: [\n trigger('rotate', [\n state('start', style({ transform: 'rotateY(0deg)' })),\n state('end', style({ transform: 'rotateY(360deg)' })),\n transition('start <=> end', animate('1s ease-in-out')),\n ]),\n ],\n})\nexport class OfferDetailsComponent implements OnInit {\n offerHistory: any[] = [];\n selectedOffer: any;\n userDetails: any;\n shippingaddress: any;\n shippingvendors: any[] = [];\n actionEvent: string = '';\n counterOfferData = {\n price: undefined,\n message: '',\n };\n imageUrl: any = environment.imageURL + '/';\n thresholdValues: any[] = [];\n constructor(\n private http: HttpClient,\n private localStorageService: LocalStorageService,\n private router: Router,\n private authenticationService: AuthenticationService,\n public dialog: MatDialog,\n public snackbarService: SnackbarService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private mixpanelService: MixpanelService,\n ) {\n this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n\n @HostListener('document:visibilitychange', ['$event'])\n onVisibilityChange(event: Event): void {\n if (document.visibilityState === 'visible') {\n const offerid = this.localStorageService.getItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n // This code will execute when the tab gains focus\n // Perform your specific content refresh here\n if (offerid == this.offerId) {\n this.refreshContent();\n }\n }\n }\n\n refreshContent(): void {\n // Perform the specific content refresh here\n if (this.selectedOffer?.offerstatus !== 2) {\n // this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n this.refreshPage();\n }\n\n async ngOnInit() {\n this.getUserDetails();\n this.route.paramMap.subscribe(params => {\n const oid = this.route.snapshot.queryParams['oid'];\n const offerId = params.get('offerId') || oid;\n if (offerId) {\n this.getOfferById(offerId);\n }\n });\n this.getShippingAddress();\n this.authenticationService\n .getMasterDataOfCards()\n .then(result => {\n this.shippingvendors = result?.shippingvendors || [];\n })\n .catch(err => {});\n // const result = await this.authenticationService.getMasterDataOfCards();\n // this.shippingvendors = result?.shippingvendors || [];\n this.getThresholdValues();\n }\n getUserDetails() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe(\n (res: any) => {\n let details = res?.data;\n details['userid'] = details?.idpid;\n details['sub'] = details?.idpid;\n this.userDetails = details;\n },\n err => {},\n );\n }\n get showSendNewOffer() {\n const isSearchTabSent = this.isSentCard;\n const isRejectedStatus = this.selectedOffer?.offerstatus === 3;\n const isExpiredStatus = this.selectedOffer?.offerstatus === 7;\n const canShow = isSearchTabSent && (isRejectedStatus || isExpiredStatus);\n return canShow;\n }\n get showDismissOffer() {\n const isRejectedStatus = this.selectedOffer?.offerstatus === 3;\n const isExpiredStatus = this.selectedOffer?.offerstatus === 7;\n return isRejectedStatus || isExpiredStatus;\n }\n // get showExpiryField() {\n // const isSearchTabSent = this.searchTab === 'sent';\n // const isSearchTabReceived = this.searchTab === 'received';\n // return (!this.selectedOffer && isSearchTabSent) || (!this.selectedOffer && isSearchTabReceived);\n // }\n // get hideTimeRemainingField() {\n // const isRejectedStatus = this.selectedOffer?.offerstatus === 3;\n // const isExpiredStatus = this.selectedOffer?.offerstatus === 7;\n // return isRejectedStatus || isExpiredStatus;\n // }\n // get isOwnCard() {\n // const hasSelectedOffer = !!this.selectedOffer; // Checking if selectedOffer exists\n // const hasUserId = !!this.userDetails?.userid; // Checking if userId exists\n // const isCardOwner =\n // hasSelectedOffer && hasUserId && this.selectedOffer.cardownerid === this.userDetails?.userid;\n // return isCardOwner;\n // }\n get isSentCard() {\n return (\n this.userDetails?.username &&\n this.selectedOffer?.buyername &&\n this.userDetails?.username === this.selectedOffer?.buyername\n );\n }\n get shipmentTrackingText() {\n return (this.selectedOffer?.shippingvendorname || '') + ' ' + (this.selectedOffer?.shippingtrackingcode || '');\n }\n get showCardActions() {\n const actiontakenby = this.selectedOffer?.actiontakenby;\n const canRespond = actiontakenby !== this.userDetails?.username;\n const isCounteredStatus = this.selectedOffer?.offerstatus === 4;\n const isSentStatus = this.selectedOffer?.offerstatus === 1;\n\n const canShow = canRespond && !this.actionEvent && (isCounteredStatus || isSentStatus);\n\n return canShow;\n }\n get showShippingAddressAndTrackingDetailsForSeller() {\n const isSeller = this.selectedOffer?.cardowner === this.userDetails?.username;\n const isNoShippingtrackingurl = !this.selectedOffer?.shippingtrackingurl;\n const isShipmentPendingStatus = this.selectedOffer?.offerstatus === 5;\n return isSeller && isNoShippingtrackingurl && isShipmentPendingStatus;\n }\n actionTakenByLabel(actionBy: string) {\n const actionTakenBy = String(actionBy).toLowerCase();\n const buyerName = String(this.selectedOffer?.buyername).toLowerCase();\n const sellerName = String(this.selectedOffer?.cardowner).toLowerCase();\n if (actionTakenBy === buyerName) {\n return 'Buyer';\n }\n if (actionBy === sellerName) {\n return 'Seller';\n }\n return '';\n }\n get notesFieldLabel() {\n const actiontakenby = this.selectedOffer?.actiontakenby;\n let label = 'Notes';\n if (actiontakenby === this.selectedOffer?.cardowner) {\n label = \"Owner's Notes\";\n }\n if (actiontakenby === this.selectedOffer?.buyername) {\n label = 'Buyer Notes';\n }\n return label;\n }\n get showExpiryField() {\n const expiryShowStatus = [1, 4];\n return this.selectedOffer && expiryShowStatus.includes(this.selectedOffer?.offerstatus);\n }\n toggleFrontAndRareFaceImage(offer: any) {\n offer['isRareFace'] = !offer['isRareFace'];\n }\n cardTitle(cardDetails: any) {\n let title = cardDetails.playername + ' ' + cardDetails.year + ' ' + cardDetails.setname;\n\n if (cardDetails.variation && cardDetails.variation != '') {\n title = title + ' ' + cardDetails.variation;\n }\n\n if (cardDetails.cardnumber && cardDetails.cardnumber != '') {\n const numberWithHash = String(cardDetails.cardnumber).includes('#')\n ? ` ${cardDetails.cardnumber}`\n : ' #' + cardDetails.cardnumber;\n title = title + numberWithHash;\n }\n return cardDetails?.title;\n }\n getOfferHistory(cardid: string) {\n this.offerHistory = [];\n const URL = `${environment.cardServiceDomain}/${URLConstants.OFFER_HISTORY}`;\n const options: any = {\n params: {\n page: 1,\n pagesize: 100,\n cardid,\n },\n };\n this.http.get(URL, options).subscribe(\n (res: any) => {\n let data: any[] = res?.data?.history || [];\n this.offerHistory = data;\n // this.showOfferHistoryModal();\n },\n err => {\n console.warn(err);\n },\n );\n }\n getShippingAddress() {\n const URL = `${environment.userServiceDomain}/${URLConstants.GET_SHIPPING_ADDRESS}`;\n this.http.get(URL).subscribe(\n (res: any) => {\n this.shippingaddress = res?.data;\n },\n err => {},\n );\n }\n get offerId() {\n return this.selectedOffer?.offerid;\n }\n refreshPage() {\n if (this.offerId) {\n this.getOfferById(this.offerId);\n }\n }\n getOfferById(offerid: string) {\n const options: any = {\n params: {\n offerid: offerid,\n },\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.GET_OFFER_BY_ID}`;\n this.http.get(URL, options).subscribe(\n (res: any) => {\n if (res?.statusCode == 200) {\n this.selectedOffer = res?.data;\n this.getOfferHistory(res?.data?.cardid);\n }\n },\n err => {},\n );\n }\n addShippingAddressModal() {\n const cardDetails = {\n cardowner: '',\n cardownerid: '',\n cardid: this.selectedOffer?.cardid,\n listingprice: this.selectedOffer?.listingprice,\n buyername: this.userDetails?.username || this.userDetails?.fullname,\n offerid: this.offerId,\n };\n const dialogData = new SendOfferDialogModel(cardDetails, this.shippingaddress, true);\n\n const dialogRef = this.dialog.open(SendOfferModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'offer-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.getOfferById(this.selectedOffer.offerid);\n }\n });\n }\n openStateSelectionForTaxModal() {\n const dialogData = new StateTaxRateDialogModel(\n 'Provide Shipping State',\n 'select state for which state you want to ship this card',\n { cardid: this.selectedOffer?.cardid, offerid: this.offerId },\n );\n\n const dialogRef = this.dialog.open(StateTaxRateDialogComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'state-tax-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(paymentLink => {\n if (paymentLink) {\n console.log('link generated');\n this.localStorageService.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.offerId);\n window.open(paymentLink, '_blank');\n }\n });\n }\n buyNow() {\n const options: any = {\n params: {\n cardid: this.selectedOffer?.cardid,\n offerid: this.offerId,\n },\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.GET_PAYMENT_LINK}`;\n this.http.get(URL, options).subscribe(\n (res: any) => {\n const data = res?.data;\n const paymentLink = data?.card?.paymentlink;\n if (data?.status && paymentLink) {\n this.localStorageService.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.offerId);\n window.open(paymentLink, '_blank');\n }\n if (data?.message) {\n this.snackbarService.openSnackbar(data?.message, 'info-snackbar');\n }\n },\n err => {},\n );\n }\n onActionEventChange(eventName: string) {\n if (eventName === 'accept' || eventName === 'counter') {\n if (!this.selectedOffer?.ispurchaseactive) {\n const description =\n 'Your sellerThis card is presently ineligible for offers as it has already been approved for another user.';\n\n this.snackbarService.openSnackbar(description);\n return;\n }\n const ismerchant = this.userDetails?.merchantid;\n const onboardingurl = this.userDetails?.onboardingurl;\n const whitelistmerchant = this.userDetails.whitelistmerchant;\n const isSeller = this.selectedOffer?.cardowner === this.userDetails?.username;\n if (!ismerchant && isSeller) {\n if (whitelistmerchant) {\n const description1 = 'Your seller account is currently under review.';\n this.snackbarService.openSnackbar(description1);\n } else if (onboardingurl) {\n window.open(onboardingurl, '_blank');\n } else {\n const description = `To ${eventName} an offer on NextGem you must first sign up to Stripe connect. It’s secure, easy, and free to get started.`;\n const dialogData = new BecomeMerchantComponentDialogModel(\n onboardingurl,\n '',\n this.userDetails?.userid,\n description,\n );\n\n const dialogRef = this.dialog.open(BecomeMerchantComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.getOfferById(this.selectedOffer.offerid);\n }\n });\n }\n this.localStorageService.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.offerId);\n return;\n }\n }\n\n this.actionEvent = eventName;\n let payload: any = {\n offerid: this.offerId,\n offerstatus: undefined,\n };\n\n let statusMessage = '';\n switch (eventName) {\n case 'accept':\n payload['offerstatus'] = 2;\n statusMessage = 'Offer Accepted';\n // this.submitActionEvent(payload, statusMessage, 'accept');\n this.declineReasonModal(payload, statusMessage, eventName);\n break;\n case 'decline':\n payload['offerstatus'] = 3;\n statusMessage = 'Offer Declined';\n this.declineReasonModal(payload, statusMessage, eventName);\n break;\n case 'counter':\n break;\n\n default:\n break;\n }\n }\n submitActionEvent(payload: any, statusMessage: string, eventType: string) {\n const URL = `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_OFFER}`;\n this.http.post(URL, payload).subscribe(\n (res: any) => {\n this.snackbarService.openSnackbar(statusMessage);\n const mixpanelEventName =\n eventType === 'accept'\n ? 'accept_offer'\n : eventType === 'counter'\n ? 'counter_offer'\n : 'decline_offer';\n\n const counterofferamount = !this.isSentCard\n ? this.counterOfferData.price\n : this.selectedOffer?.counterofferamount;\n const offeramount = this.isSentCard ? this.counterOfferData.price : this.selectedOffer?.offeramount;\n let eventData: any = {\n cardid: this.selectedOffer?.cardid,\n offeramount: eventType === 'counter' ? offeramount : this.selectedOffer.price,\n buyername: this.selectedOffer?.buyername,\n offerid: this.offerId,\n offerRecieverId: this.selectedOffer?.cardownerid,\n };\n if (eventType === 'counter') {\n eventData['counterOfferPrice'] = counterofferamount;\n }\n this.mixpanelService.trackByGTM(mixpanelEventName, eventData);\n\n this.getOfferById(this.selectedOffer.offerid);\n this.actionEvent = '';\n },\n err => {\n this.actionEvent = '';\n },\n );\n }\n submitNewOffer() {\n if (!this.selectedOffer?.ispurchaseactive) {\n const description =\n 'This card is presently ineligible for offers as it has already been approved for another user.';\n this.snackbarService.openSnackbar(description);\n return;\n }\n\n let cardDetails = {\n cardowner: this.selectedOffer?.cardowner,\n cardownerid: this.selectedOffer?.cardownerid,\n cardid: this.selectedOffer?.cardid,\n listingprice: this.selectedOffer?.listingprice,\n buyername: this.userDetails?.username || this.userDetails?.fullname,\n offerid: this.offerId,\n counterofferamount: this.selectedOffer?.counterofferamount,\n title: this.selectedOffer?.title,\n frontimageofs: this.selectedOffer?.frontimageofs,\n };\n const dialogData = new SendOfferDialogModel(cardDetails, this.shippingaddress, false);\n\n const dialogRef = this.dialog.open(SendOfferModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'offer-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult?.offerid) {\n this.router.navigate([`/offer/${dialogResult.offerid}`]);\n }\n });\n }\n dismissOffer() {\n const options: any = {\n params: {\n offerid: this.offerId,\n },\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.DISMISS_CARD_OFFER}`;\n this.http.get(URL, options).subscribe(\n (res: any) => {\n const description = res?.data?.message || '';\n this.snackbarService.openSnackbar(description);\n if (res?.data?.status) {\n this.getOfferById(this.selectedOffer.offerid);\n }\n },\n err => {},\n );\n }\n submitCounterOffer() {\n const isSameAmountAsOriginal = this.isSentCard\n ? this.counterOfferData.price === this.selectedOffer?.offeramount\n : this.selectedOffer?.counterofferamount\n ? this.counterOfferData.price === this.selectedOffer?.counterofferamount\n : this.counterOfferData.price === this.selectedOffer?.offeramount;\n if (isSameAmountAsOriginal) {\n const description = 'You are not be able to send counter offer for the same price as the original offer.';\n this.snackbarService.openSnackbar(description);\n return;\n }\n // alert('submiteted');\n const counterofferamount = !this.isSentCard\n ? this.counterOfferData.price\n : this.selectedOffer?.counterofferamount;\n const offeramount = this.isSentCard ? this.counterOfferData.price : this.selectedOffer?.offeramount;\n let payload: any = {\n offerid: this.offerId,\n offerstatus: undefined,\n offermessage: this.counterOfferData.message,\n counterofferamount,\n offeramount,\n };\n payload['offerstatus'] = 4;\n if (!offeramount) {\n const description = 'Amount field cannot be left empty.';\n this.snackbarService.openSnackbar(description);\n return;\n }\n this.submitActionEvent(payload, 'Offer Counterd', 'counter');\n }\n backToOffers() {\n this.router.navigate(['/offers']);\n }\n getOfferAmount(history: any) {\n let amount;\n const buyerName = this.selectedOffer?.buyername;\n const isCounterOffer = buyerName !== history?.actiontakenby && history?.offerstatus === 4;\n const isCounterOfferAccepted =\n history?.offerstatus === 2 && history?.counterofferamount && buyerName === history?.actiontakenby;\n if (isCounterOffer || isCounterOfferAccepted) {\n amount = history?.counterofferamount;\n } else {\n amount = history?.offeramount;\n }\n return this.serviceFeeAmount(amount) + amount;\n }\n trackingDetailsOrShippingDetails(isTrackingModal: boolean) {\n const dialogData = new TrackingDetailsOrShippingAddressModel(\n this.selectedOffer,\n isTrackingModal,\n this.shippingvendors,\n );\n\n const dialogRef = this.dialog.open(TrackingDetailsOrShippingAddressComponent, {\n data: dialogData,\n position: {\n bottom: '0px',\n top: '0px',\n right: '0px',\n },\n panelClass: ['offer-tracking-or-shipping-address-modal'],\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (isTrackingModal) {\n this.getOfferById(this.selectedOffer.offerid);\n }\n }\n });\n }\n trackShippingDetails() {\n this.trackingDetailsOrShippingDetails(true);\n }\n shippingAddressDetails() {\n this.trackingDetailsOrShippingDetails(false);\n }\n declineReasonModal(payload: any, statusMessage: string, eventName: string) {\n this.actionEvent = '';\n const message = eventName === 'accept' ? 'Notes' : `Reason for Declining`;\n const confirmBtnText = eventName === 'accept' ? 'Submit' : ``;\n\n const dialogData = new ConfirmDialogModel('', message, true, '', confirmBtnText);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '500px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.actionEvent = eventName;\n payload['offermessage'] = dialogResult;\n this.submitActionEvent(payload, statusMessage, eventName);\n }\n });\n }\n getThresholdValues() {\n const _URL = `${environment.userServiceDomain}/${URLConstants.OFFER_APP_FEE_THRESHOLD_VALUES}`;\n this.http.get(_URL).subscribe(\n (res: any) => {\n this.thresholdValues = res?.data || [];\n },\n err => {},\n );\n }\n offerAmountWithServiceFee(offerOrAmount: any, isDetails = false) {\n const amount = isDetails\n ? offerOrAmount\n : this.selectedOffer?.offerstatus === 4\n ? offerOrAmount?.counterofferamount\n : offerOrAmount?.offeramount;\n const service_fee_amount = this.serviceFeeAmount(amount);\n const total = amount + service_fee_amount;\n return total;\n }\n serviceFeeAmount(_offer_price: any) {\n const IN_RANGE_VALUE = this.thresholdValues.find(\n value => _offer_price >= value.range?.min && _offer_price <= value.range?.max,\n );\n let service_fee_amount = 0;\n if (IN_RANGE_VALUE && _offer_price) {\n service_fee_amount =\n IN_RANGE_VALUE?.thresholdtype === 1\n ? (_offer_price * IN_RANGE_VALUE?.percentage) / 100\n : IN_RANGE_VALUE?.fixedamount;\n }\n return service_fee_amount;\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mat-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss'],\n encapsulation: ViewEncapsulation.Emulated,\n})\nexport class StarRatingComponent implements OnInit {\n @Input('rating') private rating: number = 3;\n @Input('starCount') private starCount: number = 4;\n @Input('color') private color: string = 'primary';\n\n ratingArr: any = [];\n\n constructor() {}\n\n ngOnInit() {\n for (let index = 0; index < this.starCount; index++) {\n this.ratingArr.push(index);\n }\n }\n\n showIcon(index: number) {\n if (this.rating >= index + 1) {\n return 'attach_money';\n } else {\n return 'attach_money';\n }\n }\n dimLabel(index: number) {\n if (this.rating < index + 1) {\n return true;\n } else {\n return false;\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, HostListener, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent implements OnInit {\n constructor(\n public dialog: MatDialog,\n private router: Router,\n private http: HttpClient,\n private authenticationService: AuthenticationService,\n public snackbarService: SnackbarService,\n private localStorageService: LocalStorageService,\n ) {\n this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n @HostListener('document:visibilitychange', ['$event'])\n onVisibilityChange(event: Event): void {\n if (document.visibilityState === 'visible') {\n const userid = this.localStorageService.getItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n // This code will execute when the tab gains focus\n // Perform your specific content refresh here\n if (userid == this.userid) {\n this.getUserDetails();\n }\n }\n }\n imageUrl: any = environment.imageURL + '/';\n memberProfilelist: any[] = [];\n forSaleCards: any[] = [];\n recentCards: any[] = [];\n myCollectionCards: any[] = [];\n savedCardsList: any[] = [];\n comepleteProfilePercentage: number = 0;\n userDetails: any = null;\n copyAction = false;\n get userid() {\n return this.authenticationService.userId;\n }\n\n profileCompleteStatus() {\n let params: any = {\n userid: this.userid,\n tourid: 1,\n };\n const options = { params: params };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.PROFILE_COMPLETE_STATUS}`, options).subscribe(\n (res: any) => {\n let data: any[] = res?.data || [];\n this.memberProfilelist = data;\n const comepleteProfileCount = data.filter((profile: any) => profile?.complete_status)?.length;\n this.comepleteProfilePercentage =\n comepleteProfileCount > 0 ? Math.round(comepleteProfileCount * 16.6666666667) : 0;\n },\n err => {},\n );\n }\n getForSaleCards() {\n let params: any = {\n views: 20,\n };\n const options = { params: params };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.FOR_SALE_CARDS}`, options).subscribe(\n (res: any) => {\n let data: any[] = res?.data || [];\n this.forSaleCards = data;\n },\n err => {},\n );\n }\n\n getRecentCards() {\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.RECENT_VIEWED_CARDS}`).subscribe(\n (res: any) => {\n let data: any[] = res?.data || [];\n this.recentCards = data;\n },\n err => {},\n );\n }\n getMyCollection() {\n const payload = {\n userid: this.userid,\n pagesize: 20,\n page: 1,\n };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.DISCOVERY_SEARCH}`, payload).subscribe(\n (res: any) => {\n let data: any[] = res?.data?.cards || [];\n this.myCollectionCards = data;\n },\n err => {},\n );\n }\n getWatchList() {\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n 'x-nextgem-userid': this.userid,\n };\n const params = {\n page: 1,\n pagesize: 20,\n shuffle: true,\n };\n const options: any = { headers: headers, params };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.GET_SAVED_CARDS}`, options).subscribe(\n (res: any) => {\n if (res.statusCode === 200) {\n let cards: any[] = res?.data || [];\n cards.map(card => (card['watched'] = true));\n this.savedCardsList = cards;\n }\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n async ngOnInit() {\n this.profileCompleteStatus();\n this.getForSaleCards();\n this.getRecentCards();\n // this.getMyCollection();\n this.getWatchList();\n // this.userDetails = await this.authenticationService.getCompleteUserDetails();\n this.getUserDetails();\n }\n getUserDetails() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe(\n (res: any) => {\n let details = res?.data;\n details['userid'] = details?.idpid;\n details['sub'] = details?.idpid;\n this.userDetails = details;\n // console.log(this.userDetails);\n },\n err => {},\n );\n }\n copyMyCollection() {\n var el: any = document.createElement('textarea');\n el.value = this.userDetails?.deeplinkurl;\n el.setAttribute('readonly', '');\n el.style = { position: 'absolute', left: '-9999px' };\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n this.copyAction = true;\n setTimeout(() => {\n this.copyAction = false;\n }, 3000);\n }\n uploadQueue() {}\n navigateToPage(path: string) {\n this.router.navigate([path]);\n }\n navigateToMemberProfile(id: number) {\n if (id === 5) {\n this.becomeASeller();\n } else {\n this.authenticationService.toggleState.next(false);\n this.router.navigate([`member-profile/${id}`]);\n }\n }\n becomeASeller() {\n if (this.userDetails?.whitelistmerchant) {\n this.snackbarService.openSnackbar('your seller account is currently under review.');\n return;\n }\n\n if (this.userDetails?.onboardingurl) {\n this.localStorageService.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.userid);\n window.open(this.userDetails.onboardingurl, '_blank');\n } else {\n // this.router.navigate()\n let payload: any = {\n userid: this.userid,\n };\n const headers = {\n 'x-nextgem-userid': this.userid,\n };\n const options = { headers: headers };\n this.http\n .post(`${environment.userServiceDomain}/${URLConstants.CREATE_MERCHANT_ACCOUNT}`, payload, options)\n .subscribe(\n (res: any) => {\n if (res?.data?.url) {\n const onboardingUrl = res?.data?.url;\n this.userDetails['onboardingurl'] = onboardingUrl;\n this.localStorageService.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.userid);\n window.open(onboardingUrl, '_blank');\n }\n },\n err => {},\n );\n }\n }\n}\n","
\n \n \n \n \n Complete Member Profile {{comepleteProfilePercentage}}%\n \n \n \n \n \n radio_button_unchecked\n check_circle_outline\n \n {{profile.featurename}}\n \n \n \n \n

SELL CARDS FASTER

\n
\n
\n
\n \"\"\n
\n

Import My Cards

\n
\n
\n
\n \"\"\n
\n Copied!\n

Share My Collection

\n
\n
\n
\n \"\"\n
\n

Become A Seller

\n
\n \n
\n

\n BUY IT NOW\n \n

\n
\n
\n \n
\n
\n No cards Found\n
\n
\n

RECENTLY VIEWED CARDS

\n
\n
\n \n
\n
\n No Recently viewed cards\n
\n
\n

\n Watchlist\n See All\n

\n\n
\n
\n \n
\n
\n No Saved Cards Found\n
\n
\n
","import { HttpClient, HttpEventType } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n ConfirmDialogComponent,\n ConfirmDialogModel,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { FileTypeConversion } from '@approot/core/lib/filetype-conversion.service';\nimport { ImageCompressionService } from '@approot/core/lib/image-compression.service';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { UserService } from '@approot/core/Services/user-service';\nimport { from, forkJoin, of } from 'rxjs';\nimport { concatMap, mergeMap, switchMap, take } from 'rxjs/operators';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-import-card',\n templateUrl: './import-card.component.html',\n styleUrls: ['./import-card.component.scss'],\n})\nexport class ImportCardComponent implements OnInit {\n @Output() importFirstCard = new EventEmitter();\n @Input() userDetails!: any;\n @Input() isFromMemberProfile = false;\n // defaultCardImage = '/assets/images/sample-import.svg';\n // selectedUserId: any = '';\n isNotificationShown = false;\n reUploadCardId: any = '';\n cardsList: any[] = [];\n loading = false;\n refreshUploadQueue = false;\n queryParamsSubscription: any;\n fileConversionInProgress = false;\n batchid: any = null;\n cardid: any = null;\n count = 0;\n startBackgoundProcessForUploadStatus = false;\n showUploadQueue = false;\n // progress: any;\n // title: string;\n progressPercentages: { [key: string]: number } = {};\n constructor(\n private mixpanelService: MixpanelService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private http: HttpClient,\n public snackbarService: SnackbarService,\n private userService: UserService,\n private _localStorgeService: LocalStorageService,\n private imageCompressor: ImageCompressionService,\n private _fileTypeConversion: FileTypeConversion,\n private authenticationService: AuthenticationService,\n private router: Router,\n public dialog: MatDialog, // public dialogRef: MatDialogRef, // @Inject(MAT_DIALOG_DATA) public data: ImportCardDialogModel,\n ) {\n this.queryParamsSubscription = this.route.queryParams.subscribe(params => {\n this.batchid = params?.['batchid'];\n this.cardid = params?.['cardid'];\n });\n }\n confirmClose(): void {\n const message = `Changes that you made may not be saved. Please confirm`;\n\n const dialogData = new ConfirmDialogModel('Cancel Import', message);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.importFirstCard.emit('collectCard');\n }\n });\n }\n onCancel() {\n this.confirmClose();\n }\n onConfirm(): void {\n // Close the dialog, return true\n // this.dialogRef.close(true);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n // this.dialogRef.close(false);\n }\n onNavigateToUploadQueue() {\n this.router.navigate(['upload-queue']);\n }\n ngOnInit(): void {\n this.addNewCards();\n const userDetails = this._localStorgeService.getParsedObject(AppConstants.USER_DATA);\n if (userDetails?.sub && !this.isFromMemberProfile) {\n this.getUserDetails(userDetails?.sub);\n }\n }\n getUserDetails(userId: string) {\n const headers = {\n 'x-nextgem-userid': userId,\n };\n const options = { headers: headers };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options).subscribe(\n (res: any) => {\n this.userDetails = res.data;\n this.userDetails['userid'] = res?.data?.idpid;\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n addNewCards() {\n this.cardsList.unshift({\n 'front-original': '',\n 'back-original': '',\n 'front-background': false,\n 'back-background': false,\n 'front-original-url': '/assets/images/sample-import.svg',\n 'back-original-url': '/assets/images/sample-import.svg',\n });\n }\n onImageError(card: any) {\n card['front-original-url'] = '/assets/images/sample-import.svg';\n }\n toggledInput(event: any) {\n // console.log(event, 'trig');\n\n const index = Number(event.index);\n if (!isNaN(index)) {\n this.cardsList[index][event.valueKey] = event.isChecked;\n }\n }\n deleteCardsGroup(index: number) {\n this.cardsList.splice(index, 1);\n }\n deleteCard(index: number) {\n this.cardsList.splice(index, 1);\n }\n get canSubmit() {\n return this.cardsList.every(card => card['front-original'] && card['back-original']);\n }\n resetAfterUpload() {\n this.loading = false;\n if (!this.isNotificationShown) {\n const description = `Uploads in the Queue are happening in the background! We'll notify you when your card is ready to be published`;\n this.snackbarService.openSnackbar(description, ['custom-snackbar', 'long-notification']);\n }\n this.isNotificationShown = true;\n // this._snackBar.open('Cards uploaded successfully', 'Ok');\n this.cardsList = [\n {\n 'front-original': '',\n 'back-original': '',\n 'front-background': false,\n 'back-background': false,\n 'front-original-url': '/assets/images/sample-import.svg',\n 'back-original-url': '/assets/images/sample-import.svg',\n },\n ];\n if (this.isFromMemberProfile) {\n this.importFirstCard.emit('imDone');\n }\n if (this.batchid) {\n this.router.navigate(['upload-queue']);\n }\n this.startBackgoundProcessForUploadStatus = true;\n this.showUploadQueue = true;\n setTimeout(() => {\n this.showUploadQueue = false;\n }, 200);\n }\n get userName() {\n return this.authenticationService.userName;\n }\n async uploadFiles() {\n const data: any = await this.userService.uploadDocumentsToBucket(\n this.cardsList,\n this.userDetails?.userid,\n this.userDetails?.fullname,\n this.userName,\n this.batchid,\n );\n const files: any[] = data.params;\n const cards = data.uploadedCards;\n if (cards) {\n this.userService.uploadedFiles.next([...cards]);\n }\n of(...files)\n .pipe(\n mergeMap(file => {\n const url = `${environment.cardServiceDomain}/${URLConstants.GENERATE_PRE_SIGNED_URL}`;\n const preSignInPayload = JSON.stringify({ cardid: file?.Key, metadata: file?.Metadata });\n const headers = { 'Content-Type': 'application/json' };\n const options = {\n headers: headers,\n };\n return this.http.post(url, preSignInPayload, options).pipe(\n mergeMap((response: any) => {\n const mergedData = { ...response, ...file };\n return of(mergedData);\n }),\n );\n }),\n )\n .subscribe(\n (result: any) => {\n const signedUrl = result?.data?.signedurl;\n\n const uploadReq = this.http.put(signedUrl, result.Body, {\n reportProgress: true,\n observe: 'events',\n });\n\n uploadReq.subscribe((event: any) => {\n const LAST_INDEX = files.length - 1;\n const isFirstFile = this.count === 0;\n const isLasttFile = this.count === LAST_INDEX;\n this.count++;\n if (isFirstFile) {\n this.resetAfterUpload();\n }\n const key = result?.Metadata?.cardid;\n if (event?.type === HttpEventType.UploadProgress) {\n // console.log('in progerss');\n\n const percentDone = Math.round((100 * event?.loaded) / event?.total);\n // this.progressPercentages[key] = percentDone;\n this.userService.progressPercentagesSubject.next({ cardid: key, [key]: percentDone });\n } else if (event?.type === HttpEventType.Response) {\n // console.log('completed');\n\n // Upload completed for a file\n this.mixpanelService.trackByGTM('card_import', {\n cardid: key,\n userid: this.userDetails?.userid,\n username: this.userName,\n });\n }\n });\n },\n err => {\n const description = `Something went wrong, please try again.`;\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n this.loading = false;\n },\n );\n }\n submitCard(): any {\n const queue = this._localStorgeService.getParsedObject('uploaded-cards');\n let queueList = queue || [];\n const INDEX = queueList.findIndex((que: any) => que.cardId === this.cardid);\n if (INDEX > -1) {\n queueList.splice(INDEX, 1);\n this._localStorgeService.setItem('uploaded-cards', queueList);\n }\n if (!this.canSubmit) {\n const description = `Both front and Back card images are required!`;\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n }\n this.loading = true;\n this.count = 0;\n this.startBackgoundProcessForUploadStatus = false;\n this.showUploadQueue = false;\n // new code\n this.uploadFiles();\n\n // old code\n // const files = this.userService.uploadDocumentsToBucket(\n // this.cardsList,\n // this.userDetails?.userid,\n // this.userDetails?.fullname,\n // this.userDetails?.username,\n // this.batchid,\n // );\n // files\n // .then(res => {\n // this.loading = false;\n // this._snackBar.open('Card uploaded successfully', 'Ok', {\n // horizontalPosition: 'end',\n // verticalPosition: 'top',\n // duration: 2000,\n // panelClass: ['green-snackbar'],\n // });\n // this.cardsList = [\n // {\n // 'front-original': '',\n // 'back-original': '',\n // 'front-background': false,\n // 'back-background': false,\n // 'front-original-url': '/assets/images/sample-import.svg',\n // 'back-original-url': '/assets/images/sample-import.svg',\n // },\n // ];\n // if (this.isFromMemberProfile) {\n // this.importFirstCard.emit('imDone');\n // }\n // if (this.batchid) {\n // this.router.navigate(['upload-queue']);\n // }\n // })\n // .catch(er => {\n // this._snackBar.open('Something went wrong, please try again.', 'Ok', {\n // horizontalPosition: 'end',\n // verticalPosition: 'top',\n // duration: 2000,\n // panelClass: ['warning-snackbar'],\n // });\n // this.loading = false;\n // console.log(er, 'err');\n // });\n }\n rotateImage(controlName: string, index: number) {\n const file = this.cardsList[index]?.[controlName];\n if (!file) {\n const description = `Please import a card.`;\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n return;\n }\n let imgElement: HTMLImageElement | any = document.getElementById(`${controlName}-${index}`);\n this.imageCompressor\n .rotate(file)\n .pipe(take(1))\n .subscribe(compressedImage => {\n this.fileChanged(compressedImage, controlName, index, true);\n let reader: any = new FileReader();\n let _this = this;\n reader.onload = function () {\n _this.cardsList[index][`${controlName}-url`] = reader.result;\n // console.log(reader.result, 'result');\n\n if (imgElement) {\n imgElement.src = reader.result;\n }\n };\n reader.readAsDataURL(compressedImage);\n });\n }\n async fileChanged(event: any, controlName: string, index: number, isRotate = false) {\n let file: any;\n if (isRotate) {\n file = event;\n } else {\n file = event.target.files[0];\n }\n if (file?.type === 'image/heif' || file?.type === 'image/heic') {\n // console.log(file, 'original');\n\n this.fileConversionInProgress = true;\n try {\n const convertedFile = await this._fileTypeConversion.heicOrHeifToJpeg(file);\n file = convertedFile;\n this.fileConversionInProgress = false;\n } catch (error) {\n this.fileConversionInProgress = false;\n }\n }\n if (!isRotate) {\n let reader1: any = new FileReader();\n reader1.readAsDataURL(file); // read file as data url\n let _this = this;\n reader1.onload = (event: any) => {\n _this.cardsList[index][`${controlName}-url`] = reader1.result; // preview image\n };\n }\n\n this.cardsList[index][controlName] = file;\n\n this.imageCompressor\n .compress(file, 500, 500)\n .pipe(take(1))\n .subscribe(compressedImage => {\n // console.log(compressedImage, 'compressed');\n this.cardsList[index][`${controlName}-imageUrl`] = compressedImage;\n // let reader: any = new FileReader();\n // let _this = this;\n // reader.onload = function () {\n // _this.cardsList[index][`${controlName}-imageUrl`] = reader.result;\n // // console.log(reader.result, 'blob');\n // };\n // reader.readAsDataURL(compressedImage);\n });\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.queryParamsSubscription) {\n this.queryParamsSubscription.unsubscribe();\n }\n }\n}\n","/* (ignored) */","

\n \n {{title}}\n \n \n

\n
\n
\n\n
\n

Name:\n

\n

\n {{shippingAddress?.name}}\n

\n
\n\n\n
\n

Address Line1:\n

\n

\n {{shippingAddress?.line1}}\n

\n
\n
\n

Address Line2:\n

\n

\n {{shippingAddress?.line2 || \"N/A\"}}\n

\n
\n
\n

City:\n\n

\n

\n {{shippingAddress?.city}}\n

\n
\n\n\n
\n

State:\n

\n

\n {{shippingAddress?.state}}\n

\n
\n
\n

Country:\n

\n

\n {{shippingAddress?.country}}\n

\n
\n
\n

Zipcode:\n\n

\n

\n {{shippingAddress?.postal_code}}\n

\n
\n\n\n
\n\n\n
\n\n
\n \n \n \n \n {{vendor.name}}\n \n \n \n
\n\n
\n \n \n \n \n
\n

\n Test Tracking Link\n

\n
\n\n\n
\n\n\n
\n \n
","/* (ignored) */","
\n \"\"\n
Click to Import your Card
\n
","
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Observable, Subscription } from 'rxjs';\nimport { startWith, map, debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'app-multi-select-search',\n templateUrl: './multi-select-search.component.html',\n styleUrls: ['./multi-select-search.component.scss'],\n})\nexport class MultiSelectSearchComponent implements OnInit {\n @ViewChild('search') searchTextBox!: ElementRef;\n @Output() onMultiSelectSearchChange = new EventEmitter();\n @Output() onMultiSelectOptionClicked = new EventEmitter();\n @Input() control: any;\n @Input() parentGroup!: FormGroup;\n selectFormControl = new FormControl();\n searchTextboxControl = new FormControl();\n selectedValues: any[] = [];\n data: any[] = [];\n formvalueSubscription: Subscription = new Subscription();\n // filteredOptions: Observable;\n constructor() {\n /**\n * Set filter event based on value changes\n */\n this.searchTextboxControl.valueChanges.pipe(debounceTime(800)).subscribe((searchTerm: string) => {\n if (searchTerm?.length > 2) {\n this.onMultiSelectSearchChange.emit({ searchTerm, control: this.control });\n }\n });\n }\n ngOnInit() {\n const controlName = this.control?.name;\n if (controlName) {\n this.formvalueSubscription = this.parentGroup.controls[controlName].valueChanges.subscribe(res => {\n if (res) {\n this.selectedValues = res;\n }\n });\n }\n }\n /**\n * Used to filter data based on search input\n */\n // private _filter(name: string): String[] {\n // const filterValue = name.toLowerCase();\n // // Set selected values to retain the selected checkbox state\n // this.setSelectedValues();\n // this.selectFormControl.patchValue(this.selectedValues);\n // let filteredList = this.data.filter(option => option.toLowerCase().indexOf(filterValue) === 0);\n // return filteredList;\n // }\n\n /**\n * Remove from selected values based on uncheck\n */\n selectionChange(event: any) {\n const value = event?.source?.value;\n if (event.isUserInput && event.source.selected == false) {\n let index = this.selectedValues.indexOf(value);\n this.selectedValues.splice(index, 1);\n } else {\n this.selectedValues.push(value);\n }\n this.onMultiSelectOptionClicked.emit({ selectedOptios: this.selectedValues, control: this.control });\n }\n\n openedChange(e: any) {\n // Set search textbox value as empty while opening selectbox\n // this.searchTextboxControl.patchValue('');\n // Focus to search textbox while clicking on selectbox\n if (e == true) {\n this.searchTextBox.nativeElement.focus();\n }\n }\n openSelectBox() {\n console.log('event');\n this.searchTextBox.nativeElement.focus();\n }\n options() {\n /**\n * Set selected values to retain the state\n */\n this.data = [...this.control?.options, ...this.data];\n let controlOptions: any[] = this.data || [];\n\n controlOptions = controlOptions.filter((opt, indx, arr) => {\n return arr.findIndex(a => a?.name === opt.name) === indx;\n });\n return controlOptions;\n }\n /**\n * Clearing search textbox value\n */\n clearSearch(event: any) {\n event.stopPropagation();\n this.searchTextboxControl.patchValue('');\n }\n\n get selectedFilters() {\n const value = this.selectedValues.slice(0, 3).toLocaleString();\n const more_count = this.selectedValues.length - 3;\n const more_text = more_count > 0 ? ` + ${more_count} others` : '';\n return this.selectedValues?.length > 2 ? `${value} ${more_text}` : this.selectedValues.toLocaleString();\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.formvalueSubscription) {\n this.formvalueSubscription.unsubscribe();\n }\n }\n}\n","
\n
\n \n \n \n \n {{fieldTextType ? 'visibility_off' : 'visibility'}}\n \n \n
\n {{step?.helpText}}\n
\n
\n \n {{item.icon}}\n \n {{item.label}}\n
\n
\n
","/* (ignored) */","
\n \n \n \n
","/* (ignored) */","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PwaService {\n promptEvent: any;\n\n constructor() {}\n\n setPromptEvent(event: any): void {\n this.promptEvent = event;\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-pop-over',\n templateUrl: './pop-over.component.html',\n styleUrls: ['./pop-over.component.scss'],\n})\nexport class PopOverComponent implements OnInit {\n description: string;\n btnText: string;\n routerpath: string | boolean;\n isError: boolean;\n link: string | undefined;\n constructor(\n private router: Router,\n public snackBarRef: MatSnackBarRef,\n @Inject(MAT_SNACK_BAR_DATA) public data: PopOverDataModel,\n ) {\n this.description = data.description;\n this.btnText = data.btnText;\n this.routerpath = data.routerpath;\n this.isError = data.isError;\n this.link = data.link;\n }\n\n ngOnInit(): void {}\n closeSnackBar() {\n this.snackBarRef.dismiss();\n if (this.routerpath) {\n this.router.navigate([this.routerpath]);\n }\n if (this.link) {\n window.open(this.link, '_blank');\n }\n }\n}\nexport class PopOverDataModel {\n constructor(\n public description: string,\n public btnText: string,\n public routerpath: string | boolean,\n public isError: boolean,\n public link?: string,\n ) {}\n}\n","
\n
\n \n \n \n \n
\n \n \n
\n\n \n","import { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { HttpClient } from '@angular/common/http';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { Injectable } from '@angular/core';\n// import * as AWS from 'aws-sdk';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { IUploadProgress, IUserFilter } from '../lib/constants/common-constants';\n// import {AWS} from 'aws-sdk';\nimport * as AWS from 'aws-sdk';\n// import * as S3 from 'aws-sdk/clients/s3';\nimport { environment } from 'src/environments/environment';\nimport { v4 as uuidv4 } from 'uuid';\nimport { EncryptDecryptService } from '../lib/encryptDecrypt.service';\nimport { retry } from 'rxjs/operators';\n\n@Injectable()\nexport class UserService {\n filterState: BehaviorSubject;\n filterStateObservable: Observable;\n progressPercentagesSubject: Subject = new Subject();\n offersSeenUnseenStatus: BehaviorSubject = new BehaviorSubject(null);\n uploadedFiles: BehaviorSubject;\n uploadedFilesObservable: Observable;\n constructor(\n private _localStorgeService: LocalStorageService,\n private _encryptDecryptService: EncryptDecryptService,\n private http: HttpClient,\n ) {\n this.filterState = new BehaviorSubject({ searchBy: 'memberName', searchText: '' });\n this.filterStateObservable = this.filterState.asObservable();\n this.uploadedFiles = new BehaviorSubject([]);\n this.uploadedFilesObservable = this.uploadedFiles.asObservable();\n }\n get getProgressPercentages(): Observable {\n return this.progressPercentagesSubject.asObservable();\n }\n\n async getS3SignUrl(url: string, paylaod: any) {\n const headers = { 'Content-Type': 'application/json' };\n const options = {\n headers: headers,\n };\n const response: any = await this.http.post(url, paylaod, options).toPromise();\n return response.data.signedurl;\n }\n async pushProfilePhotoToS3(params: any) {\n const { Key, Body, Metadata } = params;\n const url = `${environment.cardServiceDomain}/${URLConstants.GENERATE_PRE_SIGNED_URL}`;\n const preSignInPayload = JSON.stringify({ cardid: Key, metadata: Metadata });\n const presignedUrl = await this.getS3SignUrl(url, preSignInPayload);\n const headers = { 'Content-Type': Body.type };\n const options = {\n headers: headers,\n };\n return this.http.put(`${presignedUrl}`, Body).toPromise();\n }\n async preUploadUpdateStatus(params: any, isReUpload = null) {\n const { bkbackground, ftbackground, Metadata } = params;\n const payload = {\n userid: Metadata.userid,\n cardid: Metadata.cardid,\n batchid: Metadata.batchid,\n bkpath: '',\n ftpath: '',\n bkstatus: 3,\n ftstatus: 3,\n processstatus: isReUpload ? 2 : 1,\n ftbackground: ftbackground,\n bkbackground: bkbackground,\n uploadtype: 1,\n };\n const headers = { 'x-nextgem-userid': Metadata.userid };\n const options = {\n headers: headers,\n };\n return this.http\n .post(`${environment.cardServiceDomain}/${URLConstants.PRE_UPLOAD_CARDS_PROCESS}`, payload, options)\n .pipe(retry(3))\n .toPromise();\n }\n async uploadDocumentsToBucket(cards: any[] = [], userId = '', fullName = '', userName = '', batchId = null) {\n const BATCH_ID = batchId ? batchId : uuidv4();\n let params: any = [];\n let uploadedCards: any = [];\n let latestUploadCards: any = [];\n const encryptedData = this._localStorgeService.getParsedObject('uploaded-cards');\n uploadedCards = encryptedData || [];\n cards.forEach((card: any, i) => {\n const FOLDER_NAME = uuidv4();\n const file = card?.['front-original'];\n const frontParamsObj = {\n Key: `${FOLDER_NAME}/front-original`,\n Body: file,\n imgUrl: card['front-original-imageUrl'],\n // flip: false,\n Metadata: {\n userid: userId,\n batchid: BATCH_ID,\n cardid: FOLDER_NAME,\n background: String(card['front-background']),\n cardtype: '1',\n pricechecker: '0',\n },\n };\n params.push(frontParamsObj);\n const backfile = card?.['back-original'];\n const backParamsObj = {\n Key: `${FOLDER_NAME}/back-original`,\n Body: backfile,\n imgUrl: card['back-original-imageUrl'],\n // flip: false,\n Metadata: {\n userid: userId,\n batchid: BATCH_ID,\n cardid: FOLDER_NAME,\n background: String(card['back-background']),\n cardtype: '1',\n pricechecker: '0',\n },\n };\n params.push(backParamsObj);\n const obj = {\n backImg: card['back-original-imageUrl'],\n frontImg: card['front-original-imageUrl'],\n // flip: false,\n userId,\n cardId: FOLDER_NAME,\n fullName,\n userName,\n batchid: BATCH_ID,\n };\n\n // let uploadedCards = encryptedData ? this._encryptDecryptService.decryptUsingAES256(encryptedData) : [];\n\n uploadedCards.push(obj);\n latestUploadCards.push(obj);\n // const encryptCardsData = this._encryptDecryptService.encryptUsingAES256(obj.backImg);\n // console.log(encryptCardsData, 'encryptCardsData');\n });\n this._localStorgeService.setItem('uploaded-cards', uploadedCards);\n let dataToPreUploadProcess = { ...params[0] };\n dataToPreUploadProcess['bkbackground'] = cards[0]['back-background'];\n dataToPreUploadProcess['ftbackground'] = cards[0]['front-background'];\n const preUpload = await this.preUploadUpdateStatus(dataToPreUploadProcess, batchId);\n\n // console.log(params, 'params');\n return { params, uploadedCards: latestUploadCards };\n // return Promise.all(params.map((param: any) => param));\n // return Promise.all(params.map(async (param: any) => await this.pushProfilePhotoToS3(param)));\n // return Promise.all(params.map((param: any) => s3.upload(param).promise()));\n }\n}\n","/* (ignored) */","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-offer-history',\n templateUrl: './offer-history.component.html',\n styleUrls: ['./offer-history.component.scss'],\n})\nexport class OfferHistoryComponent implements OnInit {\n offerHistory: any[];\n buyerName: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: OfferHistoryModel,\n ) {\n this.offerHistory = data.offerHistory;\n this.buyerName = data.buyerName;\n }\n getOfferAmount(history: any) {\n const isCounterOffer = this.buyerName !== history?.actiontakenby && history?.offerstatus === 4;\n const isCounterOfferAccepted =\n history?.offerstatus === 2 && history?.counterofferamount && this.buyerName === history?.actiontakenby;\n if (isCounterOffer || isCounterOfferAccepted) {\n return history?.counterofferamount;\n } else {\n return history?.offeramount;\n }\n }\n ngOnInit(): void {}\n}\nexport class OfferHistoryModel {\n constructor(public offerHistory: any[], public buyerName: string) {}\n}\n","
\n
\n

Set Up Your Member Profile

\n

\n Looking good, {{userDetails?.username}}!\n

\n

\n Your Member Profile is now set up\n

\n
\n\n
\n
\n \"\"\n \"\"\n
\n \n
\n

Here is your collection link

\n

my.nextgem.com/{{userDetails?.username}} file_copy

\n \n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-saved-cards',\n templateUrl: './saved-cards.component.html',\n styleUrls: ['./saved-cards.component.scss'],\n})\nexport class SavedCardsComponent implements OnInit {\n @Input() secondaryUserId!: string | null;\n @Input() secondaryUserName!: string | null;\n public savedCardsList: Array = [];\n totalPages: any;\n pageSize: number = 200;\n currentPage: number = 0;\n constructor(\n private http: HttpClient,\n private router: Router,\n private authenticationService: AuthenticationService,\n ) {}\n\n get userId() {\n return this.authenticationService.userId;\n }\n\n ngOnInit(): void {\n const userid = this.secondaryUserId || this.userId;\n this.getUserSavedCards(userid);\n }\n changePage(event: PageEvent) {\n const pageIndex = event.pageIndex;\n this.currentPage = pageIndex;\n const userid = this.secondaryUserId || this.userId;\n this.getUserSavedCards(userid, pageIndex + 1);\n }\n getUserSavedCards(userid: any, page?: number) {\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n 'x-nextgem-userid': userid,\n };\n const params = {\n page: page || 1,\n pagesize: this.pageSize,\n };\n const options: any = { headers: headers, params };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.GET_SAVED_CARDS}`, options).subscribe(\n (res: any) => {\n if (res.statusCode === 200) {\n let cards: any[] = res?.data || [];\n cards.map(card => (card['watched'] = true));\n this.savedCardsList = cards;\n this.totalPages = res?.data?.[0]?.totalcount;\n }\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n get userName() {\n return this.authenticationService.userName;\n }\n\n onSelectionCard(card: any) {\n const username = this.secondaryUserName || this.userName;\n this.router.navigate([`${username}/${card?.cardid}`]);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { environment } from 'src/environments/environment';\n// import { AddToCollectionComponent, AddToCollectionDialogModel } from './add-to-collection/add-to-collection.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n ConfirmDialogModel,\n ConfirmDialogComponent,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { toLowerCaseWords } from '@approot/core/lib/utils';\nimport { trigger, state, style, transition, animate, keyframes } from '@angular/animations';\nimport { AppConstants, IUploadProgress } from '@approot/core/lib/constants/common-constants';\nimport { Subscription } from 'rxjs';\nimport { UserService } from '@approot/core/Services/user-service';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-uploaded-queue',\n templateUrl: './uploaded-queue.component.html',\n styleUrls: ['./uploaded-queue.component.scss'],\n animations: [\n // trigger('flipAnimation', [\n // state('front', style({ transform: 'scaleX(-1)' })),\n // state('back', style({ transform: 'scaleX(1)' })),\n // transition('front => back', animate('1000ms ease-out')),\n // transition('back => front', animate('1000ms ease-out')),\n // ]),\n trigger('flipAnimation', [\n state(\n 'front',\n style({\n transform: 'rotateY(0deg)',\n }),\n ),\n state(\n 'back',\n style({\n transform: 'rotateY(0deg)',\n }),\n ),\n transition('front <=> back', [\n animate(\n '1000ms ease',\n keyframes([\n style({\n transform: 'rotateY(360deg)',\n }),\n // style({\n // transform: 'rotateY(270deg)',\n // }),\n style({\n transform: 'rotateY(180deg)',\n }),\n // style({\n // transform: 'rotateY(90deg)',\n // }),\n style({\n transform: 'rotateY(0deg)',\n }),\n ]),\n ),\n ]),\n ]),\n ],\n})\nexport class UploadedQueueComponent implements OnInit {\n queueList: any = [];\n interval: any;\n restartTimerInterval: any;\n refreshTime: number = 60;\n imageUrl: any = environment.imageURL + '/';\n queueData: any[] = [];\n selectedUserId: any;\n progressPercentages: IUploadProgress = {} as IUploadProgress;\n progressSubscription: Subscription = new Subscription();\n uploadFilesSubscription: Subscription = new Subscription();\n userDetails: any;\n uploadFiles: any[] = [];\n constructor(\n private _localStorgeService: LocalStorageService,\n private http: HttpClient,\n private sanitizer: DomSanitizer,\n public dialog: MatDialog,\n public router: Router,\n public snackbarService: SnackbarService,\n private route: ActivatedRoute,\n private userService: UserService,\n private authenticationService: AuthenticationService,\n ) {\n const queue = this._localStorgeService.getParsedObject('uploaded-cards');\n this.queueList = queue || [];\n\n const userDetails = this._localStorgeService.getParsedObject(AppConstants.USER_DATA);\n if (userDetails?.sub) {\n this.selectedUserId = userDetails?.sub;\n this.getUserDetails(userDetails?.sub);\n }\n }\n get userName() {\n return this.authenticationService.userName;\n }\n removeLocalImagesOnStatusCompleted(cardId: string) {\n const INDEX = this.queueList.findIndex((que: any) => que.cardId === cardId);\n if (INDEX > -1) {\n this.queueList.splice(INDEX, 1);\n this._localStorgeService.setItem('uploaded-cards', this.queueList);\n }\n const UPLOAD_FILE_INDEX = this.uploadFiles.findIndex((que: any) => que.cardId === cardId);\n if (UPLOAD_FILE_INDEX > -1) {\n this.uploadFiles.splice(UPLOAD_FILE_INDEX, 1);\n }\n }\n onImgError(card: any, key: string) {\n card[key] = 'assets/images/card-placeholder.png';\n card['error'] = true;\n }\n getUsersQueue() {\n const headers = {\n userid: this.selectedUserId,\n };\n const options = { params: headers };\n const payload = {\n userid: this.selectedUserId,\n };\n\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.USER_CARDS_UPLOAD_STATUS}`, options).subscribe(\n (res: any) => {\n this.queueData = res.data.map((element: any) => this.processQueueElement(element));\n this.startRefreshTimer();\n },\n err => {\n console.error(err); // Add error handling logic if needed\n },\n );\n }\n\n processQueueElement(element: any): any {\n const queObject = this.queueList.find((que: any) => que.cardId === element.cardid);\n\n const backImg = element?.backimages?.perspectivecorrected\n ? this.imageUrl + element.cardid + element.backimages.perspectivecorrected\n : this.sanitizer.bypassSecurityTrustUrl(queObject?.backImg);\n\n const frontImg = element?.frontimages?.perspectivecorrected\n ? this.imageUrl + element.cardid + element.frontimages.perspectivecorrected\n : this.sanitizer.bypassSecurityTrustUrl(queObject?.frontImg);\n\n const isOcrProcessed = element?.bkstatus === 4 && element?.ftstatus === 4;\n const isCompleted = element?.processstatus === 'completed';\n\n const status = isCompleted ? (isOcrProcessed ? element.processstatus : 'processing') : element.processstatus;\n\n const queue = {\n ...element,\n backImg,\n frontImg,\n status,\n cardid: element.cardid,\n batchid: element.batchid || queObject?.batchid,\n userName: this.userName,\n fullName: this.userName,\n flip: false,\n };\n\n if (isCompleted) {\n this.removeLocalImagesOnStatusCompleted(element.cardid);\n }\n\n const UPLOAD_FILE_INDEX = this.uploadFiles.findIndex((que: any) => que.cardId === element.cardid);\n if (UPLOAD_FILE_INDEX > -1) {\n this.uploadFiles.splice(UPLOAD_FILE_INDEX, 1);\n }\n\n return queue;\n }\n\n getQueuedCardsStatus() {\n this.getUsersQueue();\n }\n percentageValue(cardid: string) {\n return this.progressPercentages?.[cardid];\n }\n flipCard(card: any) {\n card['flip'] = !card['flip'];\n }\n // get inprogressQueue() {\n // return this.uploadFiles.filter(queue => this.progressPercentages?.[queue?.cardId] !== 100);\n // }\n get showInProgressHeader() {\n const inProgressCards = this.queueData.filter(card => card.status !== 'completed').length > 0;\n const uploadedCards = this.uploadFiles.length > 0;\n return inProgressCards || uploadedCards;\n }\n get completedQueue() {\n return this.queueData.filter(queue => queue?.status === 'completed');\n }\n get inProgressQueue() {\n return this.queueData.filter(queue => queue?.status !== 'completed');\n }\n showUploadedQueueDate(cardId: string) {\n return this.uploadFiles.find(queue => queue?.cardId === cardId)?.cardId ? false : true;\n }\n openAddToCollectionDialog(row: any): void {\n this.router.navigate([`add-card/${row.cardid}`]);\n }\n deleteCardFromList(cardid: string, isReUpload = false) {\n const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n 'x-nextgem-userid': this.selectedUserId,\n };\n const body = {\n cardid,\n status: 14,\n };\n const options = { headers: headers };\n this.http\n .post(`${environment.cardServiceDomain}/${URLConstants.DELETE_CARD_FROM_QUEUE}`, body, options)\n .subscribe(\n res => {\n const INDEX = this.queueList.findIndex((que: any) => que.cardId === cardid);\n if (INDEX > -1) {\n this.queueList.splice(INDEX, 1);\n this._localStorgeService.setItem('uploaded-cards', this.queueList);\n }\n const QUE_DATA_INDEX = this.queueData.findIndex((que: any) => que.cardid === cardid);\n if (QUE_DATA_INDEX > -1) {\n this.queueData.splice(QUE_DATA_INDEX, 1);\n }\n if (!isReUpload) {\n this.restartQueueStatusFetch();\n const description = `Card deleted successfully`;\n this.snackbarService.openSnackbar(description);\n }\n },\n err => {},\n );\n }\n deleteConfirmDialog(row: any): void {\n // console.log(row, 'row');\n\n const message = `Are you sure want to delete the card?, Please confirm`;\n\n const dialogData = new ConfirmDialogModel('Delete Card', message);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.deleteCardFromList(row.cardid);\n }\n });\n }\n reUploadCardConfirmDialog(row: any): void {\n // console.log(row, 'row');\n\n const message = `Cancel this upload and try again?`;\n\n const dialogData = new ConfirmDialogModel('Retry', message);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.deleteCardFromList(row.cardid, true);\n this.router.navigate([`import-card`], {\n queryParams: { cardid: row?.cardid, batchid: row?.batchid },\n });\n }\n });\n }\n get reRefreshTimeLabel() {\n const time = this.refreshTime < 10 ? `0${this.refreshTime}` : this.refreshTime;\n return this.refreshTime === 60 ? '01:00 Mins' : `00:${time} Mins`;\n }\n clearRefreshTimer() {\n if (this.restartTimerInterval) {\n clearInterval(this.restartTimerInterval);\n }\n this.refreshTime = 60;\n }\n startRefreshTimer() {\n this.clearRefreshTimer();\n this.restartTimerInterval = setInterval(() => {\n this.refreshTime = this.refreshTime === 1 ? 0 : this.refreshTime - 1;\n }, 1000);\n }\n startQueueStatusFetch() {\n this.getQueuedCardsStatus();\n this.interval = setInterval(() => {\n this.getQueuedCardsStatus();\n // this.clearRefreshTimer();\n }, 60 * 1000);\n }\n clearQueueInterval() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n this.clearRefreshTimer();\n }\n restartQueueStatusFetch() {\n this.clearQueueInterval();\n this.startQueueStatusFetch();\n }\n ngOnInit(): void {\n this.startQueueStatusFetch();\n this.uploadFilesSubscription = this.userService.uploadedFilesObservable.subscribe(files => {\n this.uploadFiles = files;\n });\n this.progressSubscription = this.userService.getProgressPercentages.subscribe(\n (progressPercentages: IUploadProgress) => {\n this.progressPercentages = { ...this.progressPercentages, ...progressPercentages };\n this.uploadFiles = this.uploadFiles.filter(queue => {\n const canremove = this.progressPercentages?.[queue?.cardId] !== 100;\n if (!canremove) {\n this.restartQueueStatusFetch();\n }\n return canremove;\n });\n // console.log(this.uploadFiles);\n },\n );\n }\n\n getUserDetails(userId: string) {\n const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n 'x-nextgem-userid': userId,\n };\n const options = { headers: headers };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options).subscribe(\n (res: any) => {\n this.userDetails = res.data;\n this.userDetails['userid'] = res?.data?.idpid;\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n\n ngOnDestroy(): void {\n this.clearQueueInterval();\n if (this.progressSubscription) {\n this.progressSubscription.unsubscribe();\n }\n if (this.uploadFilesSubscription) {\n this.uploadFilesSubscription.unsubscribe();\n }\n }\n}\n","/* (ignored) */","/* (ignored) */","
\n
\n
\n \n \n \n {{media.label}}\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-card-list-view',\n templateUrl: './card-list-view.component.html',\n styleUrls: ['./card-list-view.component.scss'],\n})\nexport class CardListViewComponent implements OnInit {\n @Input() cardsViewType!: string;\n @Input() isFromPage!: string;\n @Input() cardDetails!: any;\n @Output() selectedCard = new EventEmitter();\n imageUrl: any = environment.imageURL + '/';\n profileUrl = environment.profileURL;\n // userDetails: any;\n constructor(\n private viewContainerRef: ViewContainerRef,\n private authnService: AuthenticationService,\n private httpClient: HttpClient,\n public snackbarService: SnackbarService,\n private _mixpanelService: MixpanelService,\n ) {}\n\n getProfileImg(userid: string) {\n return `${this.profileUrl}/${userid}`;\n }\n\n async ngOnInit() {\n // this.userDetails = await this.authnService.getCompleteUserDetails();\n }\n get cardImage() {\n const img_path = this.cardDetails?.frontimagesthumb\n ? this.cardDetails?.frontimagesthumb?.perspectivecorrectedthumbnail\n : this.cardDetails?.frontimage;\n const imgUrl = this.imageUrl + this.cardDetails?.cardid + img_path;\n return imgUrl;\n }\n async hypeUnHype() {\n const userDetails = this.authnService.userState.getValue();\n const paylaod = {\n userid: userDetails?.userid,\n cardid: this.cardDetails?.cardid,\n userfullname: userDetails?.fullname,\n username: userDetails?.username,\n status: !this.cardDetails?.hypestatus,\n };\n const url = `${environment.cardServiceDomain}/${URLConstants.HYPE_A_CARD}`;\n const res = await this.httpClient.post(url, paylaod).toPromise();\n if (res) {\n const description = `Card ${this.cardDetails.hypestatus ? 'Un' : ''} Hyped`;\n this.snackbarService.openSnackbar(description);\n if (!this.cardDetails.hypestatus) {\n this._mixpanelService.trackByGTM('hyped_card', {\n cardid: this.cardDetails?.cardid,\n userid: userDetails?.userid,\n });\n this.cardDetails.hypes += 1;\n } else {\n this.cardDetails.hypes -= 1;\n }\n this.cardDetails.hypestatus = !this.cardDetails?.hypestatus;\n }\n }\n async SaveOrUnSaveCard() {\n if (this.cardDetails?.watched) {\n this.removeWatchedOrSavedCard();\n } else {\n this.saveOrAddToWatchListCard();\n }\n }\n get userID() {\n const user_details = this.authnService.userState.getValue();\n return user_details?.userid;\n }\n async saveOrAddToWatchListCard() {\n const userDetails = this.authnService.userState.getValue();\n\n const paylaod = {\n userid: userDetails?.userid,\n cardid: this.cardDetails?.cardid,\n userfullname: userDetails?.fullname,\n username: userDetails?.username,\n };\n const url = `${environment.cardServiceDomain}/${URLConstants.WATCH_OR_SAVE_CARD}`;\n const res = await this.httpClient.post(url, paylaod).toPromise();\n if (res) {\n this._mixpanelService.trackByGTM('added_to_watchlist', {\n cardid: this.cardDetails?.cardid,\n userid: userDetails?.userid,\n });\n this.cardDetails.watched = true;\n const description = `Card added to watchlist`;\n this.snackbarService.openSnackbar(description);\n this.cardDetails.watches += 1;\n }\n }\n async removeWatchedOrSavedCard() {\n const userDetails = this.authnService.userState.getValue();\n const url = `${environment.cardServiceDomain}/${URLConstants.REMOVE_WATCH_OR_SAVED_CARD}/${this.cardDetails?.cardid}`;\n const res = await this.httpClient.get(url).toPromise();\n if (res) {\n this.cardDetails.watched = false;\n const description = `Card removed from watchlist`;\n this.snackbarService.openSnackbar(description);\n this.cardDetails.watches -= 1;\n }\n }\n onSelectionCard() {\n this.selectedCard.emit(this.cardDetails);\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-iframe-url-modal',\n templateUrl: './iframe-url-modal.component.html',\n styleUrls: ['./iframe-url-modal.component.scss'],\n})\nexport class IframeUrlModalComponent implements OnInit {\n pdfUrl!: SafeResourceUrl;\n title: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: IframeUrlDialogModel,\n private sanitizer: DomSanitizer,\n ) {\n this.pdfUrl = this.sanitizer.bypassSecurityTrustResourceUrl(data.pdfUrl);\n this.title = data.title;\n }\n onConfirm(): void {\n this.dialogRef.close(true);\n }\n\n onDismiss(): void {\n this.dialogRef.close(false);\n }\n ngOnInit(): void {}\n}\nexport class IframeUrlDialogModel {\n constructor(public pdfUrl: string, public title: string) {}\n}\n","
\n
\n \n \n {{option.name}}\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
","
\n \n \n
","import { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\n@NgModule({\n exports: [\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n ScrollingModule,\n ],\n providers: [],\n})\nexport class MaterialModule {}\n","import { Component, OnInit, Output, EventEmitter, Input, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport {\n ConfirmDialogModel,\n ConfirmDialogComponent,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport {\n includeExquisiteCardsKey,\n NextGemFormControlType,\n searchSortFilterFormData,\n} from '@approot/core/lib/constants/form-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { SearchSortFilterService } from '@approot/core/lib/search-sort-filter.service';\nimport { isObjectEmpty } from '@approot/core/lib/utils';\nimport { DataCacheService } from '@approot/core/Services/data-cache.service';\nimport { get } from 'js-cookie';\nimport { type } from 'os';\nimport { environment } from 'src/environments';\nimport { FiltersDialogModel, FiltersDialogComponent } from '../filters-dialog/filters-dialog.component';\nimport { SortDialogModel, SortDialogComponent } from '../sort-dialog/sort-dialog.component';\n\n@Component({\n selector: 'app-search-results',\n templateUrl: './search-results.component.html',\n styleUrls: ['./search-results.component.scss'],\n})\nexport class SearchResultsComponent implements OnInit {\n @Input() isSavedSearch: any = null;\n @Input() savedSearchCards: any[] = [];\n @Input() recentSearch: any[] = [];\n @Output() viewAllType: EventEmitter = new EventEmitter();\n @Output() onBackEmit: EventEmitter = new EventEmitter();\n @Output() actionEmit: EventEmitter = new EventEmitter();\n @Input() viewAllTypeFromSearch: string = '';\n @Input() searchText: string = '';\n @Input() searchResults: any = null;\n @Input() masterData: any = null;\n imageUrl: any = environment.imageURL + '/';\n currentPage = 0;\n pageSize = 20;\n profileUrl = environment.profileURL;\n sampleFormData: NextGemFormControlType[] = [];\n cardsViewType = 'grid';\n @ViewChild(MatMenuTrigger, { static: true }) menuTrigger!: MatMenuTrigger;\n selectedTab = 'saved';\n scoreRankData: any[] = [];\n constructor(\n private _router: Router,\n private authenticationService: AuthenticationService,\n public dialog: MatDialog,\n private searchFilterService: SearchSortFilterService,\n private dataCacheService: DataCacheService,\n private localStorageService: LocalStorageService,\n ) {\n this.currentPage = this.searchResults?.currentPage || 0;\n this.pageSize = this.searchResults?.pageSize || 20;\n this.sampleFormData = searchSortFilterFormData;\n }\n get showClearFilters() {\n const {\n filter,\n estimatedprice,\n listingprice,\n [includeExquisiteCardsKey]: includeExquisiteCards,\n } = this.searchFilterService.searchSortFilterState.getValue() || {};\n\n const onlyFilters = { filter, estimatedprice, listingprice };\n const isFiltersEmpty = isObjectEmpty(onlyFilters);\n\n return isFiltersEmpty && !includeExquisiteCards;\n }\n async ngOnInit() {\n const result: any[] = await this.authenticationService.getScoreAndRankData();\n this.scoreRankData = result;\n }\n get isExquisiteCardsEnabled() {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const featuresflags: any[] = userDetails?.featuresflags || [];\n return featuresflags.find(feature => feature?.fgid == 1)?.show;\n }\n closeSaveMenu() {\n if (this.menuTrigger?.menuOpened) {\n this.menuTrigger.closeMenu();\n }\n }\n showSavedRecentSearch() {\n this.closeSaveMenu();\n this.actionEmit.emit({ type: 'showSavedRecentSearch' });\n }\n onBack() {\n const isFirstView = this.viewAllTypeFromSearch === '';\n this.onBackEmit.emit(isFirstView);\n }\n onRecentSearch(text: string) {\n this.closeSaveMenu();\n this.actionEmit.emit({ type: 'selectRecentSearch', data: text });\n }\n onSaveSearchApplyFilters(item: any) {\n this.closeSaveMenu();\n this.actionEmit.emit({ type: 'selectSavedSearch', data: item });\n }\n removeSavedSearch(item: any, index: number) {\n this.closeSaveMenu();\n this.actionEmit.emit({ type: 'deleteSavedSearch', data: { item, index } });\n }\n updateSearchState(searchText: string) {\n this.currentPage = 0;\n this.searchFilterService.searchTextState.next(searchText);\n }\n emitViewAllType(type: string, page: number, pageSize: number) {\n this.viewAllType.emit({ type, page, pageSize });\n }\n viewAll(type: string) {\n this.currentPage = 0;\n if (this.isExquisiteCardsEnabled) {\n let sortState = { ...this.searchFilterService.searchSortFilterState.value };\n sortState[includeExquisiteCardsKey] = true;\n this.searchFilterService.searchSortFilterState.next(sortState);\n }\n this.emitViewAllType(type, 1, this.pageSize);\n }\n getProfileImg(userid: string) {\n return `${this.profileUrl}/${userid}`;\n }\n get userName() {\n return this.authenticationService.userName;\n }\n changePage(event: PageEvent) {\n this.pageSize = event.pageSize;\n this.currentPage = event.pageIndex;\n\n this.emitViewAllType(this.viewAllTypeFromSearch, event.pageIndex + 1, event.pageSize);\n }\n setCacheData() {\n const _filters = this.searchFilterService.searchSortFilterState.value;\n const _data = {\n res: this.searchResults,\n pageSize: this.pageSize,\n currentPage: this.currentPage,\n viewAll: this.viewAllTypeFromSearch,\n searchText: this.searchText,\n filters: _filters,\n };\n this.dataCacheService.setData('search', _data);\n }\n onSelectionCard(card: any) {\n this.setCacheData();\n this._router.navigate([`${this.userName}/${card?.cardid}`]);\n }\n onSelectionMember(user: any) {\n this.setCacheData();\n this._router.navigate([`profile/${user?.username}/${user?.userid}`]);\n }\n showFiltersDialog() {\n const sortState = { ...this.searchFilterService.searchSortFilterState.value };\n if (!sortState['filter']) {\n sortState['filter'] = {\n playernames: [],\n setnames: [],\n genres: [],\n graders: [],\n overallgrades: [],\n years: [],\n tags: [],\n cardstatus: [],\n estimatedvalue: [],\n };\n }\n if (sortState?.[includeExquisiteCardsKey]) {\n const cardstatus = sortState['filter']?.['cardstatus'] || [];\n let _newStatus = [...cardstatus];\n if (!_newStatus.includes(includeExquisiteCardsKey)) {\n _newStatus = [...cardstatus, includeExquisiteCardsKey];\n }\n if (sortState['filter']?.['cardstatus']) {\n sortState['filter']['cardstatus'] = _newStatus;\n } else {\n const filter: any = Object.assign(\n {},\n {\n cardstatus: _newStatus,\n },\n );\n sortState['filter'] = filter;\n }\n }\n if (!sortState?.['filter']?.estimatedvalue || !sortState?.['filter']?.estimatedvalue?.length) {\n sortState['filter'].estimatedvalue = this.scoreRankData.map((rank: any) => rank?.rankid);\n }\n const dialogData = new FiltersDialogModel(this.sampleFormData, sortState, this.searchText, 'search');\n\n const dialogRef = this.dialog.open(FiltersDialogComponent, {\n data: dialogData,\n position: {\n bottom: '0px',\n top: '0px',\n right: '0px',\n },\n panelClass: ['filter-mdoal', 'nxt-dark-modal'],\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.searchFilterService.searchSortFilterState.next({ ...sortState, ...dialogResult });\n this.emitViewAllType('cards', 1, this.pageSize);\n }\n });\n }\n clearFilters() {\n const filters = this.searchFilterService.emptyFilters;\n this.searchFilterService.searchSortFilterState.next(filters);\n this.emitViewAllType('cards', 1, this.pageSize);\n }\n openFilterModal() {\n const PLAYER_NAME_INDEX = this.sampleFormData.findIndex(form => form.name === 'playernames');\n const SET_NAME_INDEX = this.sampleFormData.findIndex(form => form.name === 'setnames');\n const CARD_STATUS_INDEX = this.sampleFormData.findIndex(form => form.name === 'cardstatus');\n const ESTIMATED_VALUE_INDEX = this.sampleFormData.findIndex(form => form.name === 'estimatedvalue');\n if (CARD_STATUS_INDEX > -1) {\n let cardstatus: any[] = this.masterData?.cardstatus || [];\n const cardstatusOptions = cardstatus.map((status: any) => ({\n name: status?.name,\n value: status?.name,\n }));\n let options: any = [\n {\n name: 'Card Status',\n options: cardstatusOptions,\n },\n {\n name: 'Exquisite Cards',\n options: [{ name: 'Include Exquisite Cards', value: includeExquisiteCardsKey }],\n },\n ];\n this.sampleFormData[CARD_STATUS_INDEX]['type'] = this.isExquisiteCardsEnabled\n ? 'selectOptionGroup'\n : 'multiselectAuto';\n this.sampleFormData[CARD_STATUS_INDEX].options = this.isExquisiteCardsEnabled ? options : cardstatusOptions;\n }\n if (ESTIMATED_VALUE_INDEX > -1) {\n const options = this.scoreRankData.map((score: any) => ({\n name: score?.value,\n value: score?.rankid,\n }));\n this.sampleFormData[ESTIMATED_VALUE_INDEX].options = options;\n }\n const playerReq: any = this.searchFilterService.getPlayerNamesApi({\n keyword: this.searchText,\n type: 1,\n data: 1,\n });\n const setNameReq: any = this.searchFilterService.getPlayerNamesApi({\n keyword: this.searchText,\n type: 2,\n data: 1,\n });\n Promise.all([playerReq, setNameReq]).then(([playerResult, setNameResult]) => {\n let playerNames = playerResult?.data || [];\n let setNames = setNameResult?.data || [];\n if (PLAYER_NAME_INDEX > -1) {\n this.sampleFormData[PLAYER_NAME_INDEX].options = playerNames.map((name: any) => ({\n name,\n value: name,\n }));\n }\n if (SET_NAME_INDEX > -1) {\n this.sampleFormData[SET_NAME_INDEX].options = setNames.map((name: any) => ({\n name,\n value: name,\n }));\n }\n this.showFiltersDialog();\n });\n }\n openSortModal() {\n const sortState = { ...this.searchFilterService.searchSortFilterState.value };\n this.masterData['sort'] = sortState.sort || 2;\n const dialogData = new SortDialogModel(this.masterData);\n\n const dialogRef = this.dialog.open(SortDialogComponent, {\n data: dialogData,\n position: {\n bottom: '0px',\n top: '0px',\n right: '0px',\n },\n panelClass: ['filter-mdoal', 'nxt-dark-modal'],\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.searchFilterService.searchSortFilterState.next({ ...sortState, ...{ sort: dialogResult } });\n this.emitViewAllType('cards', 1, this.pageSize);\n }\n });\n }\n toggleListViewGridView(type: string) {\n this.cardsViewType = type;\n }\n saveTheSearch() {\n if (this.isSavedSearch) {\n this.actionEmit.emit({ type: 'unSavedSearch', data: this.isSavedSearch });\n } else {\n const message = `Name Your Search`;\n\n const dialogData = new ConfirmDialogModel('Save Search', message, true);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.searchFilterService.saveSearchResultsApi(this.searchText, dialogResult).subscribe(\n (res: any) => {\n this.actionEmit.emit({ type: 'isSearchSaved', data: res?.data?.id });\n },\n err => {},\n );\n }\n });\n }\n }\n get viewEmptyText() {\n return `No matches found for '${this.searchText}' in ${this.viewAllTypeFromSearch}`;\n }\n}\n","export const environment = {\n webToken: '%!ng4cc355T0k3n@123%!^123590abcd',\n adminToken: 'DgImxNGgs+qvBRRyY6vSwgszdfiq0TJ/',\n environment: 'prod',\n cardServiceDomain: 'https://cs.nextgem.com',\n userServiceDomain: 'https://us.nextgem.com',\n actioncenterServiceDomain: 'https://ac.nextgem.com',\n production: true,\n branchKey: 'key_live_cn4Abp9Xk4XpwImWBCjVGhgnuuoKRIE6',\n profileURL: 'https://pi.nextgem.com',\n imageURL: 'https://img.nextgem.com',\n deploymentType: 'PRODUCTION',\n domainName: 'nextgem.com',\n baseURL: '',\n AES_URL_KEY: 'n3#tg3m!@!3nc$y3(pt3d&*!^39j3yq1',\n AES_URL_IV: 'n#$eF%x$Yt$UGFem'\n};\n","
\n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { Auth } from 'aws-amplify';\nimport { CognitoHostedUIIdentityProvider } from '@aws-amplify/auth';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-sign-up-landing-page',\n templateUrl: './sign-up-landing-page.component.html',\n styleUrls: ['./sign-up-landing-page.component.scss'],\n})\nexport class SignUpLandingPageComponent implements OnInit {\n agreeTermsAndConditions = false;\n routerParamsSubscription: Subscription = new Subscription();\n constructor(\n private router: Router,\n private localStorageService: LocalStorageService,\n public loaderService: LoaderService,\n private authenticationService: AuthenticationService,\n public snackbarService: SnackbarService,\n public dialog: MatDialog,\n private route: ActivatedRoute,\n ) {\n this.routerParamsSubscription = this.route.queryParams.subscribe(params => {\n if (params?.path) {\n const decodedPathName = decodeURIComponent(params?.path);\n this.localStorageService.setItem('path_name', decodedPathName);\n }\n });\n }\n\n ngOnInit(): void {\n this.updateSignInStatus();\n }\n login() {\n this.router.navigate(['login']);\n }\n\n updateSignInStatus() {\n this.loaderService.show();\n // Check if user is signed in and retrieve the customProvider value\n Auth.currentAuthenticatedUser()\n .then(user => {\n let userDetails = { ...user?.attributes };\n userDetails['userid'] = user?.sub;\n this.authenticationService.userState.next(userDetails);\n this.authenticationService.loginState.next(true);\n this.localStorageService.setItem(AppConstants.USER_DATA, userDetails);\n this.router.navigate(['discovery']);\n // this.loaderService.hide();\n })\n .catch(error => {\n console.error('Failed to retrieve user info', error);\n this.loaderService.hide();\n });\n }\n\n loginWithGoogle() {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Google })\n .then(res => {\n console.log(res, 'Successfully signed in with Google');\n this.updateSignInStatus();\n })\n .catch(error => {\n console.error('Failed to sign in with Google', error);\n });\n }\n loginWithFacebook() {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Facebook })\n .then(res => {\n console.log(res, 'Successfully signed in with Facebook');\n this.updateSignInStatus();\n })\n .catch(error => {\n console.error('Failed to sign in with Facebook', error);\n });\n }\n loginWithApple() {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Apple })\n .then(res => {\n console.log(res, 'Successfully signed in with Apple');\n this.updateSignInStatus();\n })\n .catch(error => {\n console.error('Failed to sign in with Apple', error);\n });\n }\n openTermsAndPrivacyPolicy(type: string, event: Event) {\n event.preventDefault();\n event.stopPropagation();\n const URL_BY_TYPE: any = {\n terms: 'https://www.nextgem.com/terms-of-use',\n privacy: 'https://www.nextgem.com/privacy',\n eula: 'https://www.nextgem.com/terms-of-use',\n };\n const TITLE_BY_TYPE: any = {\n terms: 'Terms of Use',\n privacy: 'Privacy Policy',\n eula: 'EULA',\n };\n const pdfurl = URL_BY_TYPE[type];\n window.open(pdfurl, '_blank');\n // const dialogData = new IframeUrlDialogModel(pdfurl, TITLE_BY_TYPE[type]);\n // const dialogRef = this.dialog.open(IframeUrlModalComponent, {\n // width: '30%',\n // height: '100%',\n // position: {\n // bottom: '0',\n // top: '0',\n // right: '0',\n // },\n // data: dialogData,\n // panelClass: 'pdf-mdoal',\n // });\n\n // dialogRef.afterClosed().subscribe(() => {\n // console.log('The dialog was closed');\n // });\n }\n signUp(type: string) {\n if (!this.agreeTermsAndConditions) {\n this.snackbarService.openSnackbar('Please Accept Terms and conditions');\n return;\n }\n switch (type) {\n case 'email':\n this.router.navigate(['signup']);\n break;\n case 'google':\n this.loginWithGoogle();\n break;\n case 'facebook':\n this.loginWithFacebook();\n break;\n case 'apple':\n this.loginWithApple();\n break;\n default:\n break;\n }\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.routerParamsSubscription) {\n this.routerParamsSubscription.unsubscribe();\n }\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Auth } from 'aws-amplify';\nimport * as Cookies from 'js-cookie';\nimport { environment } from 'src/environments';\nimport { AuthenticationService } from '../lib/authentication.service';\nimport { AppConstants } from '../lib/constants/common-constants';\nimport { LocalStorageService } from '../lib/local-storage.service';\nimport { appDomainName } from '../lib/utils';\nimport { LoaderService } from './loading.service';\nimport { MixpanelService } from './mix-panel.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RedirectService {\n worker!: Worker;\n constructor(\n public loaderService: LoaderService,\n private authenticationService: AuthenticationService,\n private localStorageService: LocalStorageService,\n private mixpanelService: MixpanelService,\n private router: Router,\n ) { }\n async updateSignInStatus() {\n console.log('check user details ::appcomponent::');\n this.loaderService.show();\n // Check if user is signed in and retrieve the customProvider value\n Auth.currentAuthenticatedUser()\n .then(async user => {\n console.log('fetched ::app component::');\n this.getLoginStateAndFetchUserDetails(true);\n this.authenticationService.loginState.next(true);\n this.loaderService.hide();\n })\n .catch(error => {\n console.error('Failed to retrieve user info ::app component::', error);\n this.loaderService.hide();\n });\n }\n private get domainName() {\n return appDomainName();\n }\n\n private async getLoginStateAndFetchUserDetails(res: boolean) {\n const isSignUpInProgress = this.localStorageService.getItem(AppConstants.SIGN_UP_INPROGRESS);\n\n if (isSignUpInProgress) {\n // this.isLoggedIn = false;\n this.authenticationService.loginState.next(false);\n const userDetails = this.authenticationService.getUserInformation();\n if (userDetails?.userid && !userDetails?.otpverified) {\n const ID = userDetails?.username === '' || userDetails?.username === null ? 0 : 2;\n this.router.navigate([`update-profile/${userDetails?.userid}/${ID}`]);\n }\n }\n const DOMAIN_NAME = this.domainName;\n if (res) {\n await this.authenticationService.getCompleteUserDetails();\n this.authenticationService.loginState.next(true);\n const sessionExpirationTime = 1000 * 60;\n const expirationDate = new Date(new Date().getTime() + sessionExpirationTime * 1000);\n Cookies.set(AppConstants.IS_APP_LOGGED_IN, 'true', { domain: DOMAIN_NAME, expires: expirationDate });\n } else {\n this.authenticationService.loginState.next(false);\n Cookies.remove(AppConstants.IS_APP_LOGGED_IN, { domain: DOMAIN_NAME });\n }\n }\n}\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-pricing-and-fees',\n templateUrl: './pricing-and-fees.component.html',\n styleUrls: ['./pricing-and-fees.component.scss'],\n})\nexport class PricingAndFeesComponent implements OnInit {\n @Output() closeInlineModalEvent: EventEmitter = new EventEmitter(false);\n inlineModalType = 'Pricing & Fees';\n pdfUrl!: SafeResourceUrl;\n shippingPdfUrl!: SafeResourceUrl;\n pricing_and_fees_url!: SafeResourceUrl;\n constructor(private sanitizer: DomSanitizer) {\n this.pdfUrl = this.sanitizer.bypassSecurityTrustResourceUrl('https://help.nextgem.com/help');\n this.shippingPdfUrl = this.sanitizer.bypassSecurityTrustResourceUrl('https://help.nextgem.com/help/shipping');\n this.pricing_and_fees_url = this.sanitizer.bypassSecurityTrustResourceUrl(\n 'https://help.nextgem.com/help/tag/Fees',\n );\n }\n openInlineModal(type: string) {\n this.inlineModalType = type;\n this.closeInlineModalEvent.emit(type);\n }\n closeInlineModal() {\n const _type = this.inlineModalType === 'Pricing & Fees' ? '' : 'Pricing & Fees';\n this.inlineModalType = _type;\n this.closeInlineModalEvent.emit(_type);\n }\n ngOnInit(): void {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'state-tax-dialog',\n templateUrl: './state-tax-rate-modal.component.html',\n styleUrls: ['./state-tax-rate-modal.component.scss'],\n})\nexport class StateTaxRateDialogComponent implements OnInit {\n title: string;\n message: string;\n offerData: any;\n temp_list: any[] = [];\n stateList: any[] = [];\n searchInput: string = '';\n selectedState: string = '';\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: StateTaxRateDialogModel,\n public _snackBar: MatSnackBar,\n private http: HttpClient,\n ) {\n // Update view with given values\n this.title = data.title;\n this.message = data.message;\n this.offerData = data.offerData;\n try {\n this.temp_list = JSON.parse(JSON.stringify(stateData));\n this.stateList = stateData;\n } catch (error) {}\n }\n\n ngOnInit() {}\n\n onConfirm(link: string): void {\n // Close the dialog, return true\n this.dialogRef.close(link);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n selectAutoSuggestOption(option: any) {\n this.selectedState = option.state;\n this.searchInput = '';\n console.log(option, 'option');\n }\n onBlurAutoSelection() {\n // this.searchInput = '';\n }\n search(e: string) {\n const val = e.toLowerCase();\n const temp = this.temp_list.filter((x: any) => {\n if (x['state'].toLowerCase().indexOf(val) !== -1 || !val) {\n return x;\n }\n });\n this.stateList = temp;\n }\n onSubmit() {\n if (this.selectedState) {\n const options: any = {\n params: {\n cardid: this.offerData?.cardid,\n offerid: this.offerData.offerid,\n state: this.selectedState,\n },\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.GET_PAYMENT_LINK}`;\n this.http.get(URL, options).subscribe(\n (res: any) => {\n const data = res?.data;\n const paymentLink = data?.card?.paymentlink;\n\n if (data?.message) {\n this._snackBar.open(data?.message, 'Ok', {\n horizontalPosition: 'end',\n verticalPosition: 'bottom',\n duration: 3000,\n panelClass: ['info-snackbar'],\n });\n }\n if (data?.status && paymentLink) {\n this.onConfirm(paymentLink);\n }\n },\n err => {},\n );\n }\n }\n}\nconst stateData = [\n {\n state: 'Alabama',\n tax_rate: '4%',\n },\n {\n state: 'Alaska',\n tax_rate: '0%',\n },\n {\n state: 'Arizona',\n tax_rate: '5.6%',\n },\n {\n state: 'Arkansas',\n tax_rate: '6.5%',\n },\n {\n state: 'California',\n tax_rate: '7.25%',\n },\n {\n state: 'Colorado',\n tax_rate: '2.9%',\n },\n {\n state: 'Connecticut',\n tax_rate: '6.35%',\n },\n {\n state: 'Delaware',\n tax_rate: '',\n },\n {\n state: 'District of Columbia',\n tax_rate: '5.75%',\n },\n {\n state: 'Florida',\n tax_rate: '6%',\n },\n {\n state: 'Georgia',\n tax_rate: '4%',\n },\n {\n state: 'Hawaii',\n tax_rate: '4%',\n },\n {\n state: 'Idaho',\n tax_rate: '6%',\n },\n {\n state: 'Illinois',\n tax_rate: '6.25%',\n },\n {\n state: 'Indiana',\n tax_rate: '7%',\n },\n {\n state: 'Iowa',\n tax_rate: '6%',\n },\n {\n state: 'Kansas',\n tax_rate: '6.5%',\n },\n {\n state: 'Kentucky',\n tax_rate: '6%',\n },\n {\n state: 'Louisiana',\n tax_rate: '4.45%',\n },\n {\n state: 'Maine',\n tax_rate: '5.5%',\n },\n {\n state: 'Maryland',\n tax_rate: '6%',\n },\n {\n state: 'Massachusetts',\n tax_rate: '6.25%',\n },\n {\n state: 'Michigan',\n tax_rate: '6%',\n },\n {\n state: 'Minnesota',\n tax_rate: '6.875%',\n },\n {\n state: 'Mississippi',\n tax_rate: '7%',\n },\n {\n state: 'Missouri',\n tax_rate: '4.225%',\n },\n {\n state: 'Montana',\n tax_rate: '0%',\n },\n {\n state: 'Nebraska',\n tax_rate: '5.5%',\n },\n {\n state: 'Nevada',\n tax_rate: '6.85%',\n },\n {\n state: 'New Hampshire',\n tax_rate: '0%',\n },\n {\n state: 'New Jersey',\n tax_rate: '6.625%',\n },\n {\n state: 'New Mexico',\n tax_rate: '5.125%',\n },\n {\n state: 'New York',\n tax_rate: '4%',\n },\n {\n state: 'North Carolina',\n tax_rate: '4.75%',\n },\n {\n state: 'North Dakota',\n tax_rate: '5%',\n },\n {\n state: 'Ohio',\n tax_rate: '5.75%',\n },\n {\n state: 'Oklahoma',\n tax_rate: '4.5%',\n },\n {\n state: 'Oregon',\n tax_rate: '0%',\n },\n {\n state: 'Pennsylvania',\n tax_rate: '6%',\n },\n {\n state: 'Puerto Rico',\n tax_rate: '11.5%',\n },\n {\n state: 'Rhode Island',\n tax_rate: '7%',\n },\n {\n state: 'South Carolina',\n tax_rate: '6%',\n },\n {\n state: 'South Dakota',\n tax_rate: '4.2%',\n },\n {\n state: 'Tennessee',\n tax_rate: '7%',\n },\n {\n state: 'Texas',\n tax_rate: '6.25%',\n },\n {\n state: 'Utah',\n tax_rate: '4.85%',\n },\n {\n state: 'Vermont',\n tax_rate: '6%',\n },\n {\n state: 'Virginia',\n tax_rate: '5.3%',\n },\n {\n state: 'Washington',\n tax_rate: '6.5%',\n },\n {\n state: 'West Virginia',\n tax_rate: '6%',\n },\n {\n state: 'Wisconsin',\n tax_rate: '5%',\n },\n {\n state: 'Wyoming',\n tax_rate: '4%',\n },\n];\n/**\n * Class to represent confirm dialog model.\n *\n * It has been kept here to keep it as part of shared component.\n */\nexport class StateTaxRateDialogModel {\n constructor(public title: string, public message: string, public offerData: any) {}\n}\n","import { URLConstants } from './../lib/constants/url-constants';\nimport { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { LoaderService } from './loading.service';\nimport { canShowLoader } from '../lib/utils';\n\n@Injectable()\nexport class LoaderInterceptor implements HttpInterceptor {\n constructor(public loaderService: LoaderService) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n if (!canShowLoader(req.url)) {\n this.loaderService.show();\n }\n // console.log(req.url);\n\n if (req.url.includes('clevertap_sw.js')) {\n req = req.clone({\n setHeaders: {\n 'Content-Type': `application/javascript`,\n },\n });\n }\n // this.loaderService.show();\n return next.handle(req).pipe(finalize(() => this.loaderService.hide()));\n }\n}\n","import { Subscription } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Auth } from 'aws-amplify';\nimport { CognitoHostedUIIdentityProvider } from '@aws-amplify/auth';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport * as Cookies from 'js-cookie';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n loginForm: FormGroup = new FormGroup({});\n fieldTextType: boolean = false;\n errorMessage: string = '';\n routerParamsSubscription: Subscription = new Subscription();\n constructor(\n private authenticationService: AuthenticationService,\n private formBuilder: FormBuilder,\n public _snackBar: MatSnackBar,\n private router: Router,\n public loaderService: LoaderService,\n private localStorageService: LocalStorageService,\n private http: HttpClient,\n private route: ActivatedRoute,\n private mixpanelService: MixpanelService,\n ) {\n this.localStorageService.removeItem(AppConstants.SIGN_UP_INPROGRESS);\n this.routerParamsSubscription = this.route.queryParams.subscribe(params => {\n if (params?.path) {\n const decodedPathName = decodeURIComponent(params?.path);\n this.localStorageService.setItem('path_name', decodedPathName);\n console.log(decodedPathName);\n }\n });\n }\n\n ngOnInit(): void {\n // this.authenticationService.logout(true);\n\n this.updateSignInStatus('');\n this.loginForm = this.formBuilder.group({\n username: ['', Validators.required],\n password: ['', Validators.required],\n });\n }\n trackLoginEvent(UserData: any, type: string) {\n this.mixpanelService.trackByGTM('Sign_in', {\n email: UserData?.email,\n loginType: type,\n user_id: UserData?.userid,\n name: UserData?.username,\n });\n }\n toggleFieldTextType() {\n this.fieldTextType = !this.fieldTextType;\n }\n redirectToDiscoveryOrSelectedCardsView() {\n const params = Cookies.get('params');\n const decodedPathName = this.localStorageService.getItem('path_name');\n const decodedPathNameWithOutSlash =\n String(decodedPathName).charAt(0) === '/' ? String(decodedPathName).substring(1) : decodedPathName;\n const path = decodedPathNameWithOutSlash ? decodedPathNameWithOutSlash : 'discovery';\n // this.localStorageService.removeItem('path_name');\n console.log(path, 'path name');\n if (params) {\n const queryParams = new URLSearchParams(params);\n const paramsData: any = {};\n\n queryParams.forEach((value, key) => {\n paramsData[key] = value;\n });\n this.router.navigate([path], { queryParams: paramsData });\n } else {\n this.router.navigate([path]);\n }\n }\n updateSignInStatus(type: string) {\n console.log('check user details in login');\n this.loaderService.show();\n // setTimeout(async () => {\n // const userinfo = await Auth.currentUserInfo();\n // console.log(userinfo, Auth, 'user info');\n // }, 2000);\n // Check if user is signed in and retrieve the customProvider value\n Auth.currentAuthenticatedUser()\n .then(user => {\n console.log('user details fetched :: login ::');\n let userDetails = { ...user?.attributes };\n userDetails['userid'] = user?.sub;\n if (type !== '') {\n this.trackLoginEvent(userDetails, type);\n }\n // this.authenticationService.userState.next(userDetails);\n this.authenticationService.loginState.next(true);\n this.localStorageService.setItem(AppConstants.USER_DATA, userDetails);\n this.redirectToDiscoveryOrSelectedCardsView();\n // this.loaderService.hide();\n })\n .catch(error => {\n console.error('Failed to retrieve user info :: login ::', error);\n this.loaderService.hide();\n });\n }\n\n get f() {\n return this.loginForm.controls;\n }\n signUp() {\n this.router.navigate(['signup-landing']);\n }\n onSubmit() {\n this.organicLogin();\n }\n organicLogin() {\n if (this.loginForm.invalid) {\n return;\n }\n this.loaderService.show();\n const userName = this.f.username.value;\n const password = this.f.password.value;\n this.authenticationService\n .login({ userName, password })\n .then((res: any) => {\n this.mixpanelService.trackByGTM('Sign_in', {\n email: userName,\n loginType: 'usernameOrEmail',\n name: userName,\n });\n // this.router.navigate(['discovery']);\n this.authenticationService.loginState.next(true);\n this.redirectToDiscoveryOrSelectedCardsView();\n this.loaderService.hide();\n })\n .catch(error => {\n this.errorMessage = String(error?.message).toLowerCase().includes('exist')\n ? 'User does not exist'\n : error?.message;\n this.loaderService.hide();\n });\n }\n loginWithGoogle() {\n console.log('login with google ::login::');\n\n this.loaderService.show();\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Google })\n .then(res => {\n this.loaderService.hide();\n console.log(res, 'Successfully signed in with Google ::login::');\n this.updateSignInStatus('Google');\n })\n .catch(error => {\n this.loaderService.hide();\n console.error('Failed to sign in with Google ::login::', error);\n });\n }\n loginWithFacebook() {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Facebook })\n .then(res => {\n // console.log(res, 'Successfully signed in with Facebook');\n this.updateSignInStatus('Facebook');\n })\n .catch(error => {\n console.error('Failed to sign in with Facebook', error);\n });\n }\n loginWithApple() {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Apple })\n .then(res => {\n // console.log(res, 'Successfully signed in with Apple');\n this.updateSignInStatus('Apple');\n })\n .catch(error => {\n console.error('Failed to sign in with Apple', error);\n });\n }\n forgotPassword() {\n this.router.navigate(['forgot-password']);\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.routerParamsSubscription) {\n this.routerParamsSubscription.unsubscribe();\n }\n }\n}\n","

\n \n

\n\n
\n
\n
\n

\n {{description}}\n

\n
\n
\n

\n Click the button below to initiate the process. This will prompt you to provide your\n details and submit\n them. Once this process is complete, you will successfully become a merchant.\n

\n Click\n Here!\n
\n
\n
\n\n
\n \n \n
","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-collect-card',\n templateUrl: './collect-card.component.html',\n styleUrls: ['./collect-card.component.scss'],\n})\nexport class CollectCardComponent implements OnInit {\n @Input() userDetails!: any;\n @Output() importFirstCard = new EventEmitter();\n screenName = 'collectCard';\n constructor(public dialog: MatDialog) {}\n\n ngOnInit(): void {}\n importCard() {\n this.importFirstCard.emit('importCard');\n // this.screenName = 'importCard';\n // const title = `Import My Cards`;\n\n // const dialogData = new ImportCardDialogModel(title, this.userDetails);\n\n // const dialogRef = this.dialog.open(ImportCardComponent, {\n // data: dialogData,\n // width: '50vw',\n // panelClass: 'import-card-modal',\n // });\n\n // dialogRef.afterClosed().subscribe(dialogResult => {});\n }\n}\n","

\n \n Sort\n \n \n

\n\n
\n \n \n {{option.name}}\n \n \n
\n\n
\n \n
","
\n \n \n
\n \n
\n
\n \n \n \n \n
\n
\n

\n \n {{control.label}}\n

\n
\n
\n \n \n \n \n\n
\n \n {{option.name}}\n \n
\n
\n
\n \n\n \n
\n\n
\n \n \n \n \n {{option.name}}\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n {{control.label}}\n
\n
\n \n \n \n {{option.name}}\n \n
\n
\n \n \n \n None\n \n {{option.name}}\n \n \n \n
\n
\n \n
\n \n
\n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n\n \n \n\n \n \n \n \n \n \n {{ topping }}\n \n \n \n \n {{option.name}}\n \n \n \n
\n
\n \n \n \n \n \n \n {{ topping }}\n \n \n \n \n \n {{option.name}}\n \n \n \n \n
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EncryptDecryptService {\n AES_URL_KEY = environment.AES_URL_KEY;\n AES_URL_IV = environment.AES_URL_IV;\n constructor() {}\n\n /**\n * Function to encrypt a given text using AES-256-CBC algorithm\n * @param {string} request - The text to encrypt\n * @returns {string} - The encrypted text in hex format\n */\n\n encryptUsingAES256(request: any): any {\n if (!this.AES_URL_KEY || !this.AES_URL_IV) return;\n const key = CryptoJS.enc.Utf8.parse(this.AES_URL_KEY);\n const iv = CryptoJS.enc.Utf8.parse(this.AES_URL_IV);\n\n const encrypted = CryptoJS.AES.encrypt(request, key, {\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7,\n });\n\n return encrypted.ciphertext.toString(CryptoJS.enc.Hex);\n }\n /**\n * Function to decrypt a given encrypted text using AES-256-CBC algorithm\n * @param {string} encryptedText - The encrypted text in hex format\n * @returns {string} - The decrypted plain text\n */\n decryptUsingAES256(encryptedText: any): any {\n if (!this.AES_URL_KEY || !this.AES_URL_IV) return;\n const key = CryptoJS.enc.Utf8.parse(this.AES_URL_KEY);\n const iv = CryptoJS.enc.Utf8.parse(this.AES_URL_IV);\n\n const encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedText);\n const encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);\n\n const decrypted = CryptoJS.AES.decrypt(encryptedBase64Str, key, {\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7,\n });\n\n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n}\n","import { Directive, OnInit } from '@angular/core';\nimport { MatInput } from '@angular/material/input';\n\n@Directive({\n selector: '[matInputAutofocus]',\n})\nexport class AutofocusDirective implements OnInit {\n constructor(private matInput: MatInput) {}\n\n ngOnInit() {\n setTimeout(() => this.matInput.focus());\n }\n}\n","
\n
\n
\n

\n \n local_offer\n \n \n {{offerBannerLabel}}\n \n

\n
\n
\n
\n

{{cardDetails?.title}}

\n Pricing & Fees\n info\n \n
\n\n \n
\n \n \n \n \n\n
\n
\n\n
\n\n
\n \n
\n \n \n
\n\n \n
\n
\n \n
\n
\n\n \n This card is made available for request by submitting a non-binding offer to our sourcing team.\n Learn about our card sourcing\n program\n \n
\n \n {{option.name}}\n \n \n
\n
\n
\n
Card Story
\n
{{cardDetails?.story || '-'}}
\n
\n
\n
Condition \n PRIVATE\n
\n
\n {{condition}}
\n
\n
\n
Tags
\n
\n {{tag}}\n
\n
-
\n
\n
\n
More like this card
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
Owner Info
\n
\n
\n
\n
\n
\n
\n \n
\n

{{cardDetails?.username}}

\n
\n

Member since {{cardDetails?.registerdate}}

\n
\n
\n \n Go to\n profile > \n \n\n \n Go to\n profile > \n \n\n
\n
\n \n \n\n\n
\n\n
\n
\n \n \n \n \n
\n
\n
\n
Genre
\n

{{cardDetails?.genre || '-'}}

\n
\n
\n
League
\n

{{cardDetails?.league || '-'}}

\n
\n
\n
Player
\n

{{cardDetails?.playername || '-'}}

\n
\n
\n
\n
\n
Grader
\n

{{cardDetails?.grader || '-'}}

\n
\n
\n
Autographed
\n

{{cardDetails?.autographed ? 'Yes' : 'No'}}\n

\n
\n
\n
\n Certification #\n
\n

{{cardDetails?.certno || '-'}}\n

\n
\n\n
\n
\n
\n
Card Era
\n

{{cardDetails?.era || '-'}}

\n
\n\n
\n
Card Material
\n

{{cardDetails?.material || '-'}}

\n
\n
\n
Card Highlights
\n

{{i+1 + '. '\n + hList}}

\n

-

\n
\n
\n
\n
\n
Serial Number
\n

{{cardDetails?.serialno || '-'}}

\n
\n
\n
Estimated Value
\n

\n \n \n

\n
\n
\n
\n
\n
","import { DomSanitizer } from '@angular/platform-browser';\nimport { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { ICons } from '../lib/constants/common-constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n constructor(private matIconRegistry: MatIconRegistry, private sanitizer: DomSanitizer) {}\n registerIcons() {\n this.load(ICons, '/assets/images');\n }\n private load(icons: any, url: string): void {\n Object.keys(icons).forEach((icon: any) => {\n this.matIconRegistry.addSvgIcon(\n icon,\n this.sanitizer.bypassSecurityTrustResourceUrl(`${url}/${icons[icon]}.svg`),\n );\n });\n }\n}\n","

\n {{title}}\n

\n\n
\n

{{message}}

\n
\n \n \n \n
\n
\n\n
\n \n \n
","\n\n\n
\n \n \n
\n\n
\n\n\n \n

Trending List

\n
\n {{item.name}}\n
\n
\n\n \n
\n \n Recent Search\n \n Saved Search\n \n \n
\n
\n

\n {{item}}\n

\n
\n
\n
\n
\n

{{item?.name}} {{item?.newcardscount}}\n

\n {{item?.searchtext}}\n
\n
\n \n close\n
\n
\n
\n
\n\n\n
\n","import { Subject, Subscription } from 'rxjs';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n IframeUrlDialogModel,\n IframeUrlModalComponent,\n} from '@approot/core/components/iframe-url-modal/iframe-url-modal.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\n// import { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { UserService } from '@approot/core/Services/user-service';\nimport { environment } from 'src/environments';\nimport { DataCacheService } from '@approot/core/Services/data-cache.service';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n// import {\n// BecomeMerchantComponentDialogModel,\n// BecomeMerchantComponent,\n// } from '../become-merchant/become-merchant.component';\n// import {\n// SendOfferDialogModel,\n// SendOfferModalComponent,\n// } from '../card-view/send-offer-modal/send-offer-modal.component';\n// import { OfferHistoryModel, OfferHistoryComponent } from './offer-history/offer-history.component';\n\n@Component({\n selector: 'app-offers',\n templateUrl: './offers.component.html',\n styleUrls: ['./offers.component.scss'],\n animations: [\n trigger('rotate', [\n state('start', style({ transform: 'rotateY(0deg)' })),\n state('end', style({ transform: 'rotateY(360deg)' })),\n transition('start <=> end', animate('1s ease-in-out')),\n ]),\n ],\n})\nexport class OffersComponent implements OnInit {\n @ViewChild('scrollTarget') scrollTargetRef!: ElementRef;\n // @ViewChild('myTemplate') customTemplate!: TemplateRef;\n pdfSrc = 'https://help.nextgem.com/help';\n offersData: any[] = [];\n userId: any;\n currentPage = 0;\n totalPages!: number;\n pageSize = 20;\n imageUrl: any = environment.imageURL + '/';\n statusList = ['All', 'Offer Pending', 'Offer Countered', 'Offer Declined', 'Payment Pending', 'Completed'];\n statusTiles: any[] = [];\n offersListType = 1;\n actionTiles = [\n { name: 'Accept', isSelected: false },\n { name: 'Reject', isSelected: false },\n ];\n cardofferstatus: any[] = [];\n actionEvent: string = '';\n searchTab: string = 'all';\n tabList = [\n { name: 'All', id: 1, value: 'all' },\n { name: 'Sent', id: 2, value: 'sent' },\n { name: 'Received', id: 3, value: 'received' },\n { name: 'Accepted', id: 4, value: 'accepted' },\n { name: 'Completed', id: 5, value: 'completed' },\n { name: 'Cancelled', id: 6, value: 'cancelled' },\n { name: 'Declined', id: 7, value: 'declined' },\n ];\n counterOfferData = {\n price: undefined,\n message: '',\n };\n offerHistory: any = [];\n userDetails: any;\n lozengesList: any = [];\n sellingLozengesList = [\n { name: 'Add My Cards', id: 1, selected: false },\n { name: 'Setup Stripe Payments', id: 2, selected: false },\n { name: 'Visit our Help Center', id: 3, selected: false },\n ];\n seenUnseenSubscription!: Subscription;\n offerStatusSeenUnseenData: any;\n updateSeenUnSeenStatus = false;\n searchTextForModel: string | undefined = undefined;\n searchCardsState = new Subject();\n thresholdValues: any[] = [];\n constructor(\n private http: HttpClient,\n private localStorageService: LocalStorageService,\n private router: Router,\n private authenticationService: AuthenticationService,\n public dialog: MatDialog,\n public _snackBar: MatSnackBar,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private mixpanelService: MixpanelService,\n private userService: UserService,\n private dataCacheService: DataCacheService,\n ) {\n this.statusTiles = this.statusList.map(status => ({ name: status, isSelected: false }));\n if (this.statusTiles?.[0]) {\n this.statusTiles[0]['isSelected'] = true;\n }\n const status = this.route.snapshot.paramMap.get('status');\n if (status) {\n this.searchTab = status;\n }\n\n // this.pdfSrc = this.sanitizer.bypassSecurityTrustResourceUrl('./assets/pdfs/NextGem_FAQ.pdf');\n }\n\n async ngOnInit() {\n const result = await this.authenticationService.getMasterDataOfCards();\n this.cardofferstatus = result?.cardofferstatus || [];\n const _cacheData = this.dataCacheService.getData('offers');\n\n if (_cacheData) {\n this.totalPages = _cacheData?.totalPages || 0;\n this.pageSize = _cacheData?.pagesize || 20;\n this.currentPage = _cacheData?.page || 0;\n this.offersListType = _cacheData?.offersListType;\n this.searchTab = _cacheData?.searchTab;\n this.offersData = _cacheData?.offersData;\n this.userDetails = _cacheData?.userDetails;\n this.lozengesList = _cacheData?.lozengesList;\n } else {\n this.getOfferDataBasedOnStatus(true);\n this.getTrendingList();\n this.getUserDetails();\n }\n this.seenUnseenSubscription = this.userService.offersSeenUnseenStatus.subscribe(res => {\n this.offerStatusSeenUnseenData = res?.data;\n this.updateSeenUnSeenStatus = res?.type === 'get';\n });\n this.searchCardsState.pipe(debounceTime(500), distinctUntilChanged()).subscribe(searchText => {\n if (searchText !== undefined) {\n this.getOfferDataBasedOnStatus();\n }\n });\n this.getThresholdValues();\n }\n updateSearchState(searchText: string) {\n if (searchText === 'clear') {\n this.searchTextForModel = '';\n }\n this.searchCardsState.next(searchText);\n }\n saveCacheData() {\n const _cacheData = {\n totalPages: this.totalPages,\n offersListType: this.offersListType,\n pagesize: this.pageSize,\n page: this.currentPage,\n searchTab: this.searchTab,\n offersData: this.offersData,\n userDetails: this.userDetails,\n lozengesList: this.lozengesList,\n };\n this.dataCacheService.setData('offers', _cacheData);\n }\n getTrendingList() {\n const URL = `${environment.cardServiceDomain}/${URLConstants.TRRENDING_LIST}`;\n const options: any = {\n params: {\n trendinglist: 2,\n },\n };\n this.http.get(URL, options).subscribe(\n (res: any) => {\n let lozengesList: any[] = res?.data || [];\n lozengesList.map((lozenge, index) => ({ ...lozenge, isSelected: false }));\n this.lozengesList = lozengesList;\n },\n err => {},\n );\n }\n sellingLozengesByUserDetails(data: any) {\n let details = data;\n details['userid'] = details?.idpid;\n details['sub'] = details?.idpid;\n this.userId = details?.idpid;\n this.userDetails = details;\n if (details?.merchantid) {\n this.sellingLozengesList = this.sellingLozengesList.filter(lozenge => lozenge.id !== 2);\n }\n }\n getUserDetails() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe(\n (res: any) => {\n this.sellingLozengesByUserDetails(res?.data);\n // console.log(this.userDetails);\n },\n err => {},\n );\n }\n\n refreshPage() {\n this.getOfferDataBasedOnStatus();\n }\n updateSeenStatus() {\n /**updating the status as seen based on the tab type */\n if (this.offerStatusSeenUnseenData?.buy || this.offerStatusSeenUnseenData?.sell) {\n const response = this.offerStatusSeenUnseenData;\n const _url = `${environment.cardServiceDomain}/${URLConstants.UPDATE_UN_SEEN_OFFER_STATUS}`;\n let payload: any = {};\n if (this.offersListType == 1 && response?.buy === 1) {\n payload['buy'] = 0;\n this.offerStatusSeenUnseenData.buy = 0;\n } else if (this.offersListType == 2 && response?.sell === 1) {\n payload['sell'] = 0;\n this.offerStatusSeenUnseenData.sell = 0;\n }\n this.http.post(_url, payload).subscribe(res => {\n this.userService.offersSeenUnseenStatus.next({ data: this.offerStatusSeenUnseenData, type: 'update' });\n });\n }\n }\n getOfferDataBasedOnStatus(isOnLoad = false) {\n // const URL = this.urlBasedOnStatus;\n const URL = `${environment.cardServiceDomain}/${URLConstants.GET_ALL_OFFERS_BY_ID}`;\n const type = this.getTypeByStatus;\n const options: any = {\n params: {\n page: this.currentPage + 1,\n pagesize: this.pageSize,\n tabtype: this.offersListType,\n searchterm: this.searchTextForModel || '',\n type,\n },\n };\n this.http.get(URL, options).subscribe(\n (res: any) => {\n let data: any[] = res?.data?.offers || [];\n const totalCount = res?.data?.totalcount?.count;\n this.totalPages = !isNaN(totalCount) ? Number(totalCount) : 0;\n this.offersData = data.map((offer, index) => ({ ...offer, isSelected: false, isRareFace: false }));\n if (!isOnLoad) {\n this.updateSeenStatus();\n }\n this.saveCacheData();\n if (this.updateSeenUnSeenStatus) {\n this.updateSeenUnSeenStatus = false;\n this.updateSeenStatus();\n }\n },\n err => {\n console.warn(err);\n },\n );\n }\n get buyUnseenOffers() {\n return this.offerStatusSeenUnseenData?.buy == 1;\n }\n get sellUnseenOffers() {\n return this.offerStatusSeenUnseenData?.sell == 1;\n }\n selectTab(tab: any) {\n this.searchTab = tab.value;\n this.onTabChange();\n }\n stopParentEvent(event: Event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n toggleFrontAndRareFaceImage(offer: any, event: Event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n offer['isRareFace'] = !offer['isRareFace'];\n }\n get getTypeByStatus() {\n return this.tabList.find(tab => tab?.value === this.searchTab)?.id || 1;\n }\n get urlBasedOnStatus() {\n const urlMap: any = {\n received: URLConstants.GET_RECIEVED_OFFERS,\n sent: URLConstants.GET_SENT_OFFERS,\n completed: URLConstants.GET_COMPLETED_OPPFERS,\n accepted: URLConstants.GET_ACCEPETED_OPPFERS,\n };\n\n return `${environment.cardServiceDomain}/${urlMap[this.searchTab] || null}`;\n }\n onFilterOptionSelect(filterValue: string) {\n this.searchTab = filterValue;\n this.onTabChange();\n }\n onTabChange(fromPagination = false) {\n this.offersData = [];\n if (!fromPagination) {\n this.currentPage = 0;\n }\n this.getOfferDataBasedOnStatus();\n\n // switch (this.searchTab) {\n // case 'received':\n // this.getOfferDataBasedOnStatus();\n // break;\n // case 'sent':\n // this.getOfferDataBasedOnStatus();\n // break;\n // case 'completed':\n // this.getOfferDataBasedOnStatus();\n // break;\n // case 'accepted':\n // this.getOfferDataBasedOnStatus();\n // break;\n\n // default:\n // break;\n // }\n }\n onOffersListTypeChange() {\n this.onTabChange();\n }\n changePage(event: PageEvent) {\n this.pageSize = event.pageSize;\n this.currentPage = event.pageIndex;\n this.onTabChange(true);\n }\n\n selectStatusTile(status: any) {\n this.statusTiles.map(status => (status['isSelected'] = false));\n status['isSelected'] = true;\n }\n selectAnOfferCard(card: any) {\n this.router.navigate([`/offer/${card.offerid}`]);\n }\n\n cardTitle(cardDetails: any) {\n let title = cardDetails.playername + ' ' + cardDetails.year + ' ' + cardDetails.setname;\n\n if (cardDetails.variation && cardDetails.variation != '') {\n title = title + ' ' + cardDetails.variation;\n }\n\n if (cardDetails.cardnumber && cardDetails.cardnumber != '') {\n const numberWithHash = String(cardDetails.cardnumber).includes('#')\n ? ` ${cardDetails.cardnumber}`\n : ' #' + cardDetails.cardnumber;\n title = title + numberWithHash;\n }\n return cardDetails?.title;\n }\n\n showExpirylabel(selectedOffer: any) {\n const expiryShowStatus = [1, 4];\n const isSearchTabCompleted = this.searchTab === 'completed';\n return selectedOffer && expiryShowStatus.includes(selectedOffer?.offerstatus) && !isSearchTabCompleted;\n }\n\n openTrackingLink(event: Event, shippingtrackingurl: string) {\n event.preventDefault();\n event.stopPropagation();\n window.open(shippingtrackingurl, '_blank');\n }\n lozengesSelect(item: any) {\n try {\n const queryData = JSON.stringify(item);\n this.router.navigate([`/search`], { queryParams: { data: queryData } });\n } catch (error) {}\n }\n sellingLozengesSelect(id: number) {\n switch (id) {\n case 1:\n this.router.navigate(['/import-card']);\n break;\n case 2:\n break;\n case 3:\n this.openFAQ();\n break;\n\n default:\n break;\n }\n }\n openFAQ(url?: string) {\n const pdfUrl = url || this.pdfSrc;\n const dialogData = new IframeUrlDialogModel(pdfUrl, \"FAQ's\");\n const dialogRef = this.dialog.open(IframeUrlModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'pdf-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(() => {\n console.log('The dialog was closed');\n });\n }\n notesFieldLabel(selectedOffer: any) {\n const actiontakenby = selectedOffer?.actiontakenby;\n let label = 'Notes';\n if (actiontakenby === selectedOffer?.cardowner) {\n label = \"Owner's Notes\";\n }\n if (actiontakenby === selectedOffer?.buyername) {\n label = 'Buyer Notes';\n }\n return label;\n }\n getThresholdValues() {\n const _URL = `${environment.userServiceDomain}/${URLConstants.OFFER_APP_FEE_THRESHOLD_VALUES}`;\n this.http.get(_URL).subscribe(\n (res: any) => {\n this.thresholdValues = res?.data || [];\n },\n err => {},\n );\n }\n offerAmountWithServiceFee(offerOrAmount: any) {\n const service_fee_amount = this.serviceFeeAmount(offerOrAmount);\n const total = offerOrAmount + service_fee_amount;\n return total;\n }\n serviceFeeAmount(_offer_price: any) {\n const IN_RANGE_VALUE = this.thresholdValues.find(\n value => _offer_price >= value.range?.min && _offer_price <= value.range?.max,\n );\n let service_fee_amount = 0;\n if (IN_RANGE_VALUE && _offer_price) {\n service_fee_amount =\n IN_RANGE_VALUE?.thresholdtype === 1\n ? (_offer_price * IN_RANGE_VALUE?.percentage) / 100\n : IN_RANGE_VALUE?.fixedamount;\n }\n return service_fee_amount;\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.seenUnseenSubscription) {\n this.seenUnseenSubscription.unsubscribe();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'commaSeparatedNumber',\n})\nexport class CommaSeparatedNumberPipe implements PipeTransform {\n transform(value: number): string {\n return value?.toLocaleString() || '';\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PageEvent } from '@angular/material/paginator';\nimport { getStatsUrl, statsListUrlHandlersType } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { BehaviorSubject, Observable, fromEvent, forkJoin } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-stats-modal',\n templateUrl: './stats-modal.component.html',\n styleUrls: ['./stats-modal.component.scss'],\n})\nexport class StatsModalComponent implements OnInit {\n statsData: any;\n title: string;\n count: number;\n statsName: statsListUrlHandlersType;\n type: string | undefined;\n userDetails: any;\n cardid: string;\n profileUrl = environment.profileURL;\n page = 1;\n obsArray: BehaviorSubject = new BehaviorSubject([]);\n items$: Observable = this.obsArray.asObservable();\n currentPage: number = 0;\n pageSize: number = 20;\n constructor(\n private httpClient: HttpClient,\n private elementRef: ElementRef,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: StatsDialogModel,\n private __mixpanelService_sub: MixpanelService,\n ) {\n this.statsData = data.statsData;\n this.title = data.title;\n this.statsName = data.statsName;\n this.cardid = data.cardid;\n this.count = data.count;\n this.userDetails = data.userDetails;\n this.type = data.type;\n }\n onConfirm(): void {\n this.dialogRef.close(true);\n }\n followMember(stats: any) {\n if (this.type === 'follower' && stats.status) {\n return;\n }\n const PAYLOAD: any = {\n userid: stats?.userid,\n userfullname: stats?.fullname || '',\n username: stats?.username || '',\n status: !stats.status,\n };\n this.httpClient\n .post(`${environment.userServiceDomain}/${URLConstants.FOLLOW_UNFOLLOW_MEMBER}`, PAYLOAD)\n .subscribe(\n res => {\n if (!stats['status']) {\n this.__mixpanelService_sub.trackByGTM('followed_user', {\n followerid: this.userDetails?.userid,\n userid: stats?.userid,\n });\n }\n stats['status'] = !stats['status'];\n },\n err => {},\n );\n }\n onDismiss(): void {\n this.dialogRef.close(false);\n }\n getProfileImg(userid: string) {\n return `${this.profileUrl}/${userid}`;\n }\n getWatchByOrShareByOrViewedByList(page: number) {\n // const content = document.querySelector('.scroll-container');\n // const scroll$ = fromEvent(content!, 'scroll').pipe(\n // map(() => {\n // return content!.scrollTop;\n // }),\n // );\n // scroll$.subscribe(scrollPos => {\n // let limit = content!.scrollHeight - content!.clientHeight;\n // if (limit - scrollPos < 5) {\n // this.currentPage += 1;\n const url = getStatsUrl(this.statsName);\n const payload: any = {\n cardid: this.cardid,\n page: page,\n pageSize: this.pageSize,\n };\n this.httpClient.post(url, payload).subscribe((res: any) => {\n const data = res?.data || [];\n this.statsData = data;\n });\n // }\n // });\n }\n private getHypedList(page: number) {\n // const content = document.querySelector('.scroll-container');\n // const scroll$ = fromEvent(content!, 'scroll').pipe(\n // map(() => {\n // return content!.scrollTop;\n // }),\n // );\n // scroll$.subscribe(scrollPos => {\n // let limit = content!.scrollHeight - content!.clientHeight;\n // if (limit - scrollPos < 5) {\n // this.currentPage += 1;\n const url = `${environment.cardServiceDomain}/${URLConstants.CARD_HYPED_LIST}/${this.cardid}`;\n const payload: any = {\n page: page,\n pageSize: this.pageSize,\n };\n this.httpClient.get(url, { params: payload }).subscribe((res: any) => {\n const data = res?.data || [];\n this.statsData = data;\n });\n // }\n // });\n }\n getFollowingUsers(page: number) {\n // console.log('scroll');\n\n // const content = document.querySelector('.scroll-container');\n // const scroll$ = fromEvent(content!, 'scroll').pipe(\n // map(() => {\n // return content!.scrollTop;\n // }),\n // );\n // scroll$.subscribe(scrollPos => {\n // let limit = content!.scrollHeight - content!.clientHeight;\n // console.log(limit, scrollPos);\n\n // if (limit - scrollPos < 5) {\n // this.currentPage += 1;\n const url = `${environment.userServiceDomain}/${URLConstants.FOLLOWING_LIST}/${page}`;\n\n this.httpClient.get(url).subscribe((res: any) => {\n const data = res?.data || [];\n this.statsData = data;\n });\n // }\n // });\n }\n getFollowerUsers(page: number) {\n // console.log('scroll');\n // const content = document.querySelector('.scroll-container');\n // const scroll$ = fromEvent(content!, 'scroll').pipe(\n // map(() => {\n // return content!.scrollTop;\n // }),\n // );\n // scroll$.subscribe(scrollPos => {\n // let limit = content!.scrollHeight - content!.clientHeight;\n // if (limit - scrollPos < 5) {\n // this.currentPage += 1;\n const url = `${environment.userServiceDomain}/${URLConstants.FOLLOWER_LIST}`;\n const paylaod = {\n userid: this.userDetails?.userid,\n page: page,\n pageSize: this.pageSize,\n };\n this.httpClient.post(url, paylaod).subscribe((res: any) => {\n const data = res?.data || [];\n this.statsData = data;\n });\n // }\n // });\n }\n changePage(event: PageEvent) {\n this.currentPage = event.pageIndex;\n const page = event.pageIndex + 1;\n if (this.type === 'follower') {\n this.getFollowerUsers(page);\n } else if (this.type === 'following') {\n this.getFollowingUsers(page);\n } else {\n if (this.statsName === 'hypedList') {\n this.getHypedList(page);\n } else {\n this.getWatchByOrShareByOrViewedByList(page);\n }\n }\n }\n ngOnInit(): void {\n // if (this.type === 'follower') {\n // this.getFollowerUsers();\n // } else if (this.type === 'following') {\n // this.getFollowingUsers();\n // } else {\n // if (this.statsName === 'hypedList') {\n // this.getHypedList();\n // } else {\n // this.getWatchByOrShareByOrViewedByList();\n // }\n // }\n }\n}\nexport class StatsDialogModel {\n constructor(\n public statsData: any,\n public title: string,\n public statsName: statsListUrlHandlersType,\n public cardid: string,\n public count: number,\n public userDetails: any,\n public type?: string,\n ) {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-become-merchant',\n templateUrl: './become-merchant.component.html',\n styleUrls: ['./become-merchant.component.scss'],\n})\nexport class BecomeMerchantComponent implements OnInit {\n userDetails: any;\n userid: string;\n onboardingUrl: any;\n subprofileid: string;\n description: string;\n constructor(\n private http: HttpClient,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: BecomeMerchantComponentDialogModel,\n ) {\n this.onboardingUrl = data.onboardingUrl;\n this.userid = data.userid;\n this.subprofileid = data.subprofileid;\n this.description = data.description;\n }\n onDismiss() {\n this.dialogRef.close(false);\n }\n ngOnInit(): void {\n // this.getUserDetails();\n }\n getUserDetails() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe(\n (res: any) => {\n this.onboardingUrl = res?.data?.onboardingurl;\n },\n err => {},\n );\n }\n openstripeOnBoardingLink() {\n window.open(this.onboardingUrl, '_blank');\n this.dialogRef.close(true);\n }\n createMerchantAccount() {\n let payload: any = {\n userid: this.userid,\n };\n if (this.subprofileid) {\n payload = {\n subprofileid: this.subprofileid,\n issubprofile: true,\n };\n }\n const headers = {\n 'x-nextgem-userid': this.userid,\n };\n const options = this.subprofileid ? {} : { headers: headers };\n this.http\n .post(`${environment.userServiceDomain}/${URLConstants.CREATE_MERCHANT_ACCOUNT}`, payload, options)\n .subscribe(\n (res: any) => {\n if (res?.data?.url) {\n this.onboardingUrl = res?.data?.url;\n window.open(res?.data?.url, '_blank');\n this.dialogRef.close(false);\n }\n },\n err => {},\n );\n }\n}\n\nexport class BecomeMerchantComponentDialogModel {\n constructor(\n public onboardingUrl: string,\n public subprofileid: string,\n public userid: string,\n public description: string,\n ) {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { UserService } from '@approot/core/Services/user-service';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { statsListUrlHandlersType } from '@approot/core/lib/constants/common-constants';\nimport { StatsDialogModel, StatsModalComponent } from '../card-view/stats-modal/stats-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { copyInputMessage } from '@approot/core/lib/utils';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-edit-profile',\n templateUrl: './edit-profile.component.html',\n styleUrls: ['./edit-profile.component.scss'],\n})\nexport class EditProfileComponent implements OnInit {\n @Input() secondaryUserId!: string | null;\n public userDetails: any = {};\n public socialLinks: Array = [];\n public isEditEnabled: boolean = false;\n public updateUsername: any = { isUpdateEnabled: false, userName: '' };\n public updateUserbio: any = { isUpdateEnabled: false, userBio: '' };\n public socialProfilesList: any;\n public updatedSocialLinks: any = { socialmediaid: 0, username: '' };\n public isShareClicked: boolean = false;\n public isFollowingUser: boolean = false;\n constructor(\n private authenticationService: AuthenticationService,\n private http: HttpClient,\n public snackbarService: SnackbarService,\n private _userService: UserService,\n private sanitizer: DomSanitizer,\n private mixpanelService: MixpanelService,\n public _dialog: MatDialog,\n ) { }\n\n async ngOnInit() {\n await this.getUserDetails();\n }\n getSecondaryUserDetails() {\n this.http\n .get(`${environment.userServiceDomain}/${URLConstants.SECONDARY_USER_DETAILS}/${this.secondaryUserId}`)\n .subscribe((res: any) => {\n this.patchUserData(res?.data);\n this.getFollowerStatus(res?.data?.idpid);\n });\n }\n async getUserDetails() {\n if (this.secondaryUserId) {\n this.getSecondaryUserDetails();\n } else {\n let userDetails = await this.authenticationService.getCompleteUserDetails();\n this.patchUserData(userDetails);\n }\n this.getSocialMediaDetails();\n this.getProfileCount();\n }\n getFollowerStatus(userid: string) {\n this.http\n .post(`${environment.userServiceDomain}/${URLConstants.GET_FOLLOWER_STATUS}`, {\n userid,\n })\n .subscribe((res: any) => {\n this.isFollowingUser = res?.data?.status;\n });\n }\n get UserID() {\n return this.authenticationService.userId;\n }\n patchUserData(userDetails: any) {\n if (userDetails) {\n const timestamp = Date.now();\n userDetails['imgUrl'] = `${environment.profileURL}/${userDetails?.idpid}?version=${timestamp}`;\n this.updateUserbio.userBio = userDetails.bio;\n this.updateUsername.userName = userDetails.fullname;\n this.userDetails = userDetails;\n }\n }\n getProfileCount() {\n const params = {\n userid: this.secondaryUserId || this.userDetails?.idpid,\n };\n const options = { params: params };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_PROFILE_COUNTS}`, options).subscribe(\n (res: any) => {\n if (res?.statusCode === 200) {\n const profilesCount = res?.data;\n this.userDetails['collectioncount'] = profilesCount?.collectioncount;\n this.userDetails['followingcount'] = profilesCount?.followingcount;\n this.userDetails['followerscount'] = profilesCount?.followerscount;\n }\n },\n err => {\n console.log(err);\n },\n );\n }\n getSocialMediaTypes() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_SOCIAL_MEDIA_DATA}`).subscribe(\n (res: any) => {\n const profilesLength = res?.data?.length;\n if (res?.statusCode === 200 && profilesLength) {\n this.socialProfilesList = res.data;\n }\n },\n err => {\n console.log(err);\n },\n );\n }\n\n getSocialLabel(socialid: any) {\n const socialLink = this.socialProfilesList.find((link: any) => link.socialid === socialid);\n return socialLink.label;\n }\n\n onShareClick() {\n // this.isShareClicked = !this.isShareClicked;\n try {\n navigator.share({\n title: `${this.userDetails.username} NextGem Profile`,\n text: this.userDetails.deeplinkurl,\n url: this.userDetails.deeplinkurl,\n });\n } catch (err) {\n // alert(JSON.stringify(navigator.userAgent));\n copyInputMessage(this.userDetails.deeplinkurl);\n const description = `Profile Link Copied`;\n this.snackbarService.openSnackbar(description);\n }\n }\n\n getSocialMediaDetails() {\n const params = {\n userid: this.secondaryUserId || this.userDetails?.idpid,\n };\n const options = { params: params };\n\n this.http\n .get(`${environment.userServiceDomain}/${URLConstants.GET_SAVED_SOCIAL_MEDIA_DATA}`, options)\n .subscribe(\n (res: any) => {\n if (res?.statusCode == 200) {\n this.socialLinks = res?.data?.links;\n }\n },\n err => {\n console.log(err);\n },\n );\n }\n\n disableRowItem(socialId: any) {\n const getselectedRowIndex = this.socialLinks.find((row, i) => row.socialmediaid === socialId);\n return getselectedRowIndex ? true : false;\n }\n\n openSocialMedia(socialLink: any) {\n if (socialLink.media_url) {\n window.open(socialLink.media_url);\n }\n }\n\n addSocialLink() {\n if (this.updatedSocialLinks.socialmediaid > 0 && this.updatedSocialLinks.username) {\n this.socialLinks.push(this.updatedSocialLinks);\n this.updatedSocialLinks = { socialmediaid: 0, username: '' };\n }\n }\n\n removeSocialLink(socialLink: any) {\n const removeIndex = this.socialLinks.findIndex((link, i) => link.socialmediaid === socialLink.socialmediaid);\n this.socialLinks.splice(removeIndex, 1);\n }\n\n async updateSocialLinks() {\n try {\n const socialLinksResponse = await this.http\n .post(`${environment.userServiceDomain}/${URLConstants.SAVE_SOCIAL_MEDIA_DATA}`, {\n links: this.socialLinks,\n fid: 3,\n })\n .toPromise();\n for (let index = 0; index < this.socialLinks.length; index++) {\n const element = this.socialLinks[index];\n this.mixpanelService.trackByGTM('social_media', {\n socialHandleName: element?.label,\n socialHandleUserName: element?.username,\n username: this.userDetails?.username,\n });\n }\n } catch (error) { }\n }\n\n async onEditClicked(onSave?: boolean) {\n if (onSave) {\n await this.updateSocialLinks();\n await this.getUserDetails();\n this.updatedSocialLinks = { socialmediaid: 0, username: '' };\n }\n this.isEditEnabled = !this.isEditEnabled;\n if (this.isEditEnabled) {\n this.getSocialMediaTypes();\n }\n }\n\n async onFileInputChange(event: any) {\n const file = event.target.files[0];\n const url = URL.createObjectURL(file);\n this.userDetails['imgUrl'] = this.sanitizer.bypassSecurityTrustUrl(url);\n const requestUrl = `${environment.userServiceDomain}/${URLConstants.GENERATE_PRE_SIGNED_URL}`;\n const preSignInPayload = JSON.stringify({ userid: this.userDetails?.idpid });\n const signed_url = await this._userService.getS3SignUrl(requestUrl, preSignInPayload);\n this.http.put(signed_url, file).subscribe(\n (res: any) => {\n const description = `Profile Image Updated`;\n this.snackbarService.openSnackbar(description);\n // this.getUserDetails(this.selectedUserId);\n },\n err => { },\n );\n }\n\n onInputEditEnaled(inputObj: any, isSaveClicked?: boolean) {\n if (isSaveClicked && inputObj) {\n if (inputObj.userName && this.userDetails.fullname !== inputObj.userName) {\n // update user full name\n this.updateUserName(inputObj.userName);\n this.userDetails.fullname = inputObj.userName;\n }\n if (inputObj.userBio && this.userDetails.bio !== inputObj.userBio) {\n // update user bio\n this.updateUserBio(inputObj.userBio);\n this.userDetails.bio = inputObj.userBio;\n }\n }\n inputObj.isUpdateEnabled = !inputObj.isUpdateEnabled;\n }\n\n updateUserName(userName: string) {\n const headers = {\n 'x-nextgem-userid': this.userDetails?.idpid,\n };\n const options = { headers: headers };\n const payload = {\n fullname: userName,\n userid: this.userDetails?.idpid,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER_NAME}`, payload).subscribe(\n (res: any) => {\n console.log(res);\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n\n updateUserBio(bio: string) {\n const payload = {\n bio,\n fid: 4,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`, payload).subscribe(\n res => {\n console.log(res);\n },\n err => {\n console.log(err);\n },\n );\n }\n async getStatsData(type: string) {\n if (type === 'follower') {\n const url = `${environment.userServiceDomain}/${URLConstants.FOLLOWER_LIST}`;\n const paylaod = {\n userid: this.secondaryUserId || this.userDetails?.userid,\n page: 1,\n pageSize: 20,\n };\n const result: any = await this.http.post(url, paylaod).toPromise();\n return result?.data;\n } else {\n const url1 = `${environment.userServiceDomain}/${URLConstants.FOLLOWING_LIST}/${1}`;\n const result1: any = await this.http.get(url1).toPromise();\n return result1?.data;\n }\n }\n async followOrFollowingList(type: string, count: number, label: string) {\n let data: any = await this.getStatsData(type);\n this.openStatsDialog(data, 'hypedList', label, count, type);\n }\n openStatsDialog(data: any, statName: statsListUrlHandlersType, label: string, count: number, type: string) {\n this.userDetails['userid'] = this.secondaryUserId || this.userDetails?.userid;\n const dialogData = new StatsDialogModel(data, label, statName, '', count, this.userDetails, type);\n\n const dialogRef = this._dialog.open(StatsModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'stats-modal',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n }\n });\n }\n followMember() {\n const PAYLOAD: any = {\n userid: this.secondaryUserId,\n userfullname: this.userDetails?.fullname || '',\n username: this.userDetails?.username || '',\n status: !this.isFollowingUser,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.FOLLOW_UNFOLLOW_MEMBER}`, PAYLOAD).subscribe(\n res => {\n if (!this.isFollowingUser) {\n this.mixpanelService.trackByGTM('followed_user', {\n followerid: this.UserID,\n userid: this.secondaryUserId,\n });\n }\n this.isFollowingUser = !this.isFollowingUser;\n },\n err => { },\n );\n }\n exportProfile() {\n\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.PROFILE_EXPORT}`).subscribe(\n (res: any) => {\n const fallbackMessage = 'An email with the export options will be sent to you shortly. Please download your assets from the links provided in the email.';\n const description = res?.data?.message || fallbackMessage;\n this.snackbarService.openSnackbar(description, ['custom-snackbar', 'long-notification'], 0);\n this.mixpanelService.trackByGTM('export_requested', {\n userid: this.secondaryUserId || this.userDetails?.userid,\n username: this.userDetails?.username\n });\n },\n err => { },\n );\n };\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments/environment';\nimport { convertToNumber, toLowerCaseWords, toUpperCase, truncateText } from '@approot/core/lib/utils';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { NavigationService } from '@approot/core/Services/navigation.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { Location } from '@angular/common';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n BecomeMerchantComponentDialogModel,\n BecomeMerchantComponent,\n} from '../become-merchant/become-merchant.component';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-add-to-collection',\n templateUrl: './add-to-collection.component.html',\n styleUrls: ['./add-to-collection.component.scss'],\n})\nexport class AddToCollectionComponent implements OnInit {\n title: string = '';\n cardDetails: any;\n formValues: any = {};\n isUpdate: boolean = false;\n dialogRef: any;\n imageUrl: any = environment.imageURL + '/';\n queueList: any = [];\n isUserMerchant: boolean = false;\n constructor(\n private http: HttpClient,\n private route: ActivatedRoute,\n private authenticationService: AuthenticationService,\n private snackbarService: SnackbarService,\n private navigation: NavigationService,\n private sanitizer: DomSanitizer,\n private _localStorgeService: LocalStorageService,\n private router: Router,\n private _location: Location,\n private mixpanelService: MixpanelService,\n public dialog: MatDialog,\n ) {\n const queue = this._localStorgeService.getParsedObject('uploaded-cards');\n this.queueList = queue || [];\n }\n\n get userId() {\n return this.authenticationService.userId;\n }\n\n get user_name() {\n return this.authenticationService.userName;\n }\n\n ngOnInit() {\n const id = this.route.snapshot.paramMap.get('cardId');\n const userInfo = this.authenticationService.getUserInformation();\n this.title = this.user_name || userInfo?.username;\n this.isUserMerchant = !!userInfo?.merchantid;\n this.isUpdate = this.router?.url.includes('update-card') ? true : false;\n // console.log(this.isUpdate, 'is update');\n if (!this.title || !this.isUserMerchant) {\n this.getUserDetails();\n }\n\n if (id && this.isUpdate) {\n this.getCardDetails(id);\n } else {\n this.getUsersQueue(id);\n }\n // const id = this.route.snapshot.paramMap.get('cardId');\n // console.log(id, 'cardId');\n // if (id) {\n // this.isUpdate = true;\n // }\n }\n goBackOrNavigate() {\n const locationState: any = this._location.getState();\n if (locationState && locationState['navigationId'] === 1) {\n // There are no previous history entries, navigate to discovery page\n this.router.navigate(['discovery']);\n } else {\n // There are previous history entries, go back\n this._location.back();\n }\n }\n getUserDetails() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe((res: any) => {\n this.title = res?.data?.username;\n this.isUserMerchant = !!res?.data?.merchantid;\n });\n // this.http\n // .get(`${environment.userServiceDomain}/${URLConstants.SECONDARY_USER_DETAILS}/${this.userId}`)\n // .subscribe((res: any) => {\n // this.title = res?.data?.username;\n // });\n }\n\n getUsersQueue(card_id: any) {\n const headers = {\n userid: this.userId,\n };\n const options = { params: headers };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.USER_CARDS_UPLOAD_STATUS}`, options).subscribe(\n (res: any) => {\n const response = res.data;\n const element = response.find((card: any, index: number) => card.cardid === card_id);\n this.patchCardDetails(element);\n },\n err => {},\n );\n }\n patchCardDetails(data: any): void {\n if (Object.keys(data).length > 0) {\n this.cardDetails = data;\n this.cardDetails.overallgrade = this.cardDetails.overallgrade\n ? parseFloat(this.cardDetails.overallgrade)\n : undefined;\n this.cardDetails.cardhighlights = this.parseHighlights(this.cardDetails.cardhighlights);\n this.cardDetails.title = this.generateTitle(this.cardDetails);\n this.cardDetails.urltitle = this.generateUrlTitle(this.cardDetails.title);\n\n if (this.cardDetails.cardnumber) {\n this.cardDetails.title += ` #${this.cardDetails.cardnumber}`;\n }\n }\n\n this.cardDetails.cardList = data.collectionList?.length ? this.processCollectionList(data.collectionList) : [];\n\n if (Array.isArray(this.cardDetails.cardhighlights)) {\n this.assignHighlights(this.cardDetails.cardhighlights);\n }\n\n this.cardDetails.frontImg = `${this.imageUrl}${this.cardDetails.cardid}${this.cardDetails.frontimages?.perspectivecorrected}`;\n this.cardDetails.backImg = `${this.imageUrl}${this.cardDetails.cardid}${this.cardDetails.backimages?.perspectivecorrected}`;\n\n this.processRawCardOCR();\n }\n\n private parseHighlights(highlights: string | null): string[] {\n if (highlights == null) return [];\n return highlights.split(',').filter((el: string) => el.trim() !== '');\n }\n\n private generateTitle(cardDetails: any): string {\n return `${cardDetails.playername} ${cardDetails.year} ${cardDetails.setname}`;\n }\n\n private generateUrlTitle(title: string): string {\n return encodeURIComponent(\n title.replace(/\\s+/g, '-').replace(/null/g, '').replace(/-+/g, '-').replace(/-$/g, ''),\n );\n }\n\n private processCollectionList(collectionList: any[]): any[] {\n return collectionList.map(card => {\n card.urlplayername = card.playername.replace(/\\s+/g, '-');\n if (!card.title) {\n card.title = `${card.playername} ${card.year} ${card.setname} ${card.variation}`;\n }\n card.urltitle = this.generateUrlTitle(card.title);\n return card;\n });\n }\n\n private assignHighlights(highlights: string[]): void {\n [this.cardDetails.cardhighlights, this.cardDetails.cardhighlight2, this.cardDetails.cardhighlight3] =\n highlights;\n }\n\n private processRawCardOCR(): void {\n if (!this.cardDetails.rawcardocr) return;\n\n const rawCardOCR = this.cardDetails.rawcardocr;\n const defaultCardStatus = this.isUserMerchant ? 'Open to Offers' : 'Personal Collection';\n\n rawCardOCR.grader = [this.cardDetails.imagetype];\n rawCardOCR.genre = [this.cardDetails.rawcardocr.genre?.[0]?.toLowerCase() ?? ''];\n rawCardOCR.cardstatus = [this.cardDetails.cardstatus ?? defaultCardStatus];\n rawCardOCR.cardtype = [this.cardDetails.rawcardocr.cardtype?.[0] ?? true];\n rawCardOCR.autographed = [this.cardDetails.rawcardocr.autographed?.[0] ?? false];\n\n const scores = this.cardDetails.rawcardocr.scores?.[0];\n rawCardOCR.centering = [scores?.centering ? this.convertToNumber(scores.centering) : undefined];\n rawCardOCR.corners = [scores?.corners ? this.convertToNumber(scores.corners) : undefined];\n rawCardOCR.edges = [scores?.edges ? this.convertToNumber(scores.edges) : undefined];\n rawCardOCR.surface = [scores?.surface ? this.convertToNumber(scores.surface) : undefined];\n }\n\n private convertToNumber(value: any): number | undefined {\n const number = parseFloat(value);\n return isNaN(number) ? undefined : number;\n }\n\n async getCardDetails(cardId: string) {\n let urlStructure: any = `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_DETAILS}/${cardId}`;\n const headers = {\n 'x-nextgem-userid': this.userId,\n };\n const options = { params: { p: 'mc' } };\n\n try {\n const res: any = await this.http.get(urlStructure, options).toPromise();\n this.patchCardDetails(res?.data);\n } catch (e) {\n console.log(e, 'err in get card details');\n }\n }\n\n // async getSimilarInterestMembers(cardid: string) {\n // const userDetails = await this.authenticationService.getCompleteUserDetails();\n // this.cardDetails['merchantid'] = userDetails?.merchantid || '';\n // const payload = {\n // cardid: cardid,\n // pagesize: 20,\n // page: 1,\n // };\n // this.http.post(`${environment.cardServiceDomain}/${URLConstants.SIMILAR_INTEREST_MEMBERS}`, payload).subscribe(\n // (res: any) => {\n // this.cardDetails['similarMembers'] = res?.data || [];\n // },\n // err => {},\n // );\n // }\n getSimilarCards(cardid: string, playername: string) {\n const payload = {\n cardid: cardid,\n pagesize: 20,\n page: 1,\n // playername,\n };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.SIMILAR_CARDS}`, payload).subscribe(\n (res: any) => {\n this.cardDetails['similarCards'] = res?.data || [];\n },\n err => {},\n );\n }\n onNextStepEmitter(event: any) {\n const data = event.data;\n this.formValues[event.dataKey] = data;\n // if (event.current === 2) {\n // this.onConfirm();\n // } else {\n // this.currentTabIndex = event.current;\n // }\n\n const cardStatus = (data?.cardstatus || '').toLowerCase();\n const initialCardStatus = (this.cardDetails?.cardstatus || '').toLowerCase();\n const isStatusUpdated = initialCardStatus !== cardStatus;\n\n if (isStatusUpdated && ['for sale', 'open to offers'].includes(cardStatus) && !this.cardDetails?.merchantid) {\n // const isSubprofile = !!this.cardDetails?.subprofileid;\n\n if (this.cardDetails?.whitelistmerchant) {\n this.snackbarService.openSnackbar('Your seller account is currently under review.');\n return;\n }\n\n this.checkMerchantAccountStatus(\n cardStatus,\n this.cardDetails?.subprofileid,\n this.cardDetails?.stripeonboardingurl,\n false,\n );\n } else {\n this.onConfirm();\n }\n }\n onCardStatusChangeEmitter(cardStatus: string) {\n const currentcardStatus = (cardStatus || '').toLowerCase();\n if (['for sale', 'open to offers'].includes(currentcardStatus) && !this.isUserMerchant) {\n // const isSubprofile = !!this.cardDetails?.subprofileid;\n\n if (this.cardDetails?.whitelistmerchant) {\n this.snackbarService.openSnackbar('Your seller account is currently under review.');\n return;\n }\n\n this.checkMerchantAccountStatus(\n cardStatus,\n this.cardDetails?.subprofileid,\n this.cardDetails?.stripeonboardingurl,\n true,\n );\n }\n }\n get userName() {\n return truncateText(this.title, 21);\n }\n addToCollection(payload: any, options: any) {\n this.http\n .post(\n // `${environment.cardServiceDomain}/${URLConstants.ADD_TO_COLLECTION}/${this.cardDetails.cardid}`,\n `${environment.cardServiceDomain}/${URLConstants.ADD_TO_COLLECTION}`,\n payload,\n options,\n )\n .subscribe((res: any) => {\n // console.log(res, 'search results');\n // Close the dialog, return true\n // this.dialogRef.close(true);\n const description = `Card added to ${this.title}'s Collection`;\n this.snackbarService.openSnackbar(description);\n const INDEX = this.queueList.findIndex((que: any) => que.cardId === payload.cardid);\n if (INDEX > -1) {\n this.queueList.splice(INDEX, 1);\n this._localStorgeService.setItem('uploaded-cards', this.queueList);\n }\n this.mixpanelService.trackByGTM('card_import_published', {\n cardid: this.cardDetails.cardid,\n userid: this.cardDetails?.userid,\n username: this.userName,\n UploadedFrom: 'Imported',\n });\n this.goBackOrNavigate();\n });\n }\n updateCollection(payload: any, options: any) {\n this.http\n .post(\n `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_DETAILS}/${this.cardDetails.cardid}`,\n payload,\n options,\n )\n .subscribe((res: any) => {\n // console.log(res, 'search results');\n // Close the dialog, return true\n // this.dialogRef.close(true);\n this.snackbarService.openSnackbar('Card updated successfully');\n if (this.cardDetails?.cardstatus !== payload?.cardstatus) {\n this.mixpanelService.trackByGTM('card_status', {\n cardid: this.cardDetails.cardid,\n userid: this.cardDetails?.userid,\n cardStatus: payload?.cardstatus,\n });\n }\n this.goBackOrNavigate();\n });\n }\n checkMerchantAccountStatus(\n cardStatus: string,\n subprofileid: string,\n onboardingUrl: string,\n isStatusChange: boolean,\n ) {\n // const url = `${environment.userServiceDomain}/${\n // isSubprofile ? URLConstants.GET_SUB_PROFILE_DATA : URLConstants.GET_USER_BY_ID\n // }`;\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe((res: any) => {\n if (res?.data?.merchantid) {\n if (!isStatusChange) {\n this.onConfirm();\n }\n } else {\n const dialogData = new BecomeMerchantComponentDialogModel(\n onboardingUrl,\n subprofileid,\n this.cardDetails?.userid,\n `To become a seller on NextGem you must first sign up with Stripe Connect. It’s secure, easy, and free to\n get\n started.`,\n );\n\n const dialogRef = this.dialog.open(BecomeMerchantComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n window.location.reload();\n }\n });\n }\n });\n }\n onConfirm(): void {\n let payload = { ...this.formValues?.advanced, ...this.formValues?.summary };\n\n if (payload?.grader !== 'BGS') {\n const { centering, corners, edges, surface, ...payloadWithoutSubGrades } = payload;\n payload = payloadWithoutSubGrades;\n }\n\n if (payload?.cardstatus !== 'For Sale') {\n payload['listingprice'] = null;\n payload['shippingprice'] = null;\n } else {\n if (!payload['listingprice']) {\n this.snackbarService.openSnackbar('Listing price cannot be empty.');\n return;\n }\n }\n\n payload['cardid'] = this.cardDetails.cardid;\n payload['username'] = this.title;\n payload['playername'] = payload['playername']?.toUpperCase();\n payload['setname'] = payload['setname']?.toUpperCase();\n payload['set'] = payload['setname']; // Redundant as payload['setname'] is already uppercase\n payload['variation'] = payload['variation']?.toUpperCase();\n payload['cardnumber'] = payload['cardnumber']?.toUpperCase();\n\n const highlightsAsArray = [\n payload['cardhighlights'] || '',\n payload['cardhighlight2'] || '',\n payload['cardhighlight3'] || '',\n ];\n const validStrings = highlightsAsArray.filter(str => typeof str === 'string' && str.trim() !== '');\n payload['cardhighlights'] = validStrings.join(',');\n delete payload['cardhighlight2'];\n delete payload['cardhighlight3'];\n\n const headers = {\n 'x-nextgem-userid': this.cardDetails.userid,\n };\n const options = { headers };\n\n if (this.isUpdate) {\n this.updateCollection(payload, options);\n } else {\n this.addToCollection(payload, options);\n }\n }\n\n onDismissEmitter(event: any): void {\n this.goBackOrNavigate();\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n const byId: HTMLElement | null = document.getElementById('nxtHeader');\n const nxtBodyContainer: HTMLElement | null = document.getElementById('nxtBodyContainer');\n if (byId) {\n byId.classList.remove('d-none');\n }\n if (nxtBodyContainer) {\n nxtBodyContainer.classList.remove('h-100');\n }\n }\n ngAfterViewInit(): void {\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n const byId: HTMLElement | null = document.getElementById('nxtHeader');\n const nxtBodyContainer: HTMLElement | null = document.getElementById('nxtBodyContainer');\n if (window.innerWidth < 991) {\n if (byId) {\n byId.classList.add('d-none');\n }\n if (nxtBodyContainer) {\n nxtBodyContainer.classList.add('h-100');\n }\n }\n }\n}\n","
\n
\n
\n \n
\n
\n \n \n
\n \n \n search\n \n \n \n \n
\n \n \n
\n \n
\n \n \n search\n \n \n \n \n
\n \n
\n \n \n \n \n \n
\n \n \n search\n \n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n
","import { Validators } from '@angular/forms';\n\ntype inputType =\n | 'text'\n | 'select'\n | 'textArea'\n | 'radio'\n | 'toggle'\n | 'price'\n | 'autoSelect'\n | 'multiselectAuto'\n | 'number'\n | 'percentage'\n | 'tabs'\n | 'addLink'\n | 'subGrade'\n | 'listingprice'\n | 'autoSelectChips'\n | 'checkbox'\n | 'selectOptionGroup'\n | 'multiSelectionList';\nconst tags = [\n { name: 'Base Set', value: 'Base Set' },\n { name: 'Insert', value: 'Insert' },\n { name: 'Multi Player', value: 'Multi-Player' },\n { name: 'Parallel', value: 'Parallel' },\n { name: 'Parallel Insert', value: 'Parallel Insert' },\n { name: 'Printing Plate', value: 'Printing Plate' },\n { name: 'Rookie', value: 'Rookie' },\n { name: 'Serial#', value: 'Serial#' },\n { name: 'Short-Print', value: 'Short-Print' },\n { name: 'Cut Signature Auto', value: 'Cut Signature Auto' },\n { name: 'On Card Auto', value: 'On Card Auto' },\n { name: 'Label / Sticker Auto', value: 'Label / Sticker Auto' },\n];\nconst cardMaterial = ['Acetate', 'Aluminum', 'Card Stock', 'Metal', 'Paper', 'Paperboard', 'Plastic'];\nexport const hearAboutNextGem = [\n { name: 'Twitter', value: 'Twitter', id: 1 },\n { name: 'Instagram', value: 'Instagram', id: 2 },\n { name: 'App Store', value: 'App Store', id: 3 },\n { name: 'Friends/family', value: 'Friends/family', id: 4 },\n { name: 'Facebook', value: 'Facebook', id: 5 },\n { name: 'Card Show', value: 'Card Show', id: 6 },\n { name: 'Google Search', value: 'Google Search', id: 7 },\n { name: 'Tik Tok', value: 'Tik Tok', id: 8 },\n { name: 'News/article/blog', value: 'News/article/blog', id: 9 },\n { name: 'Youtube', value: 'Youtube', id: 10 },\n { name: 'Other', value: 'Other', id: 0 },\n];\nexport const collectionValues = [\n {\n id: 1,\n mincost: 0,\n maxcost: 10,\n name: 'Up to $10K',\n value: 'Up to $10K',\n },\n {\n id: 2,\n mincost: 10,\n maxcost: 50,\n name: '$10K-$50K',\n value: '$10K-$50K',\n },\n {\n id: 3,\n mincost: 50,\n maxcost: 100,\n name: '$50K-$100K',\n value: '$50K-$100K',\n },\n {\n id: 4,\n mincost: 100,\n maxcost: 500,\n name: '$100K-$500K',\n value: '$100K-$500K',\n },\n {\n id: 5,\n mincost: 500,\n maxcost: 0,\n name: 'Over $500K',\n value: 'Over $500K',\n },\n {\n id: 6,\n mincost: 0,\n maxcost: 0,\n name: 'Prefer not to say',\n value: 'Prefer not to say',\n },\n];\nexport const tabOption = [\n { name: 'Card Info', value: 'cardInfo' },\n // { name: 'Trade', value: 'trade' },\n { name: 'Insights', value: 'insights' },\n];\nconst overalGrade = (isSub: boolean = false): (string | number)[] => {\n let grades = [];\n for (let index = 1; index < 11; index++) {\n grades.unshift(index);\n if (index !== 10) {\n grades.unshift(index + 0.5);\n }\n }\n if (!isSub) {\n grades.push('Authentic');\n }\n return grades;\n};\n\nconst getLabelValue = (options: any[]): selectOptions[] => {\n return options.map(option => {\n return { name: option, value: option };\n });\n};\nconst getCardYearOptions = () => {\n const STARTING_YEAR = 1879;\n const ENDING_YEAR = new Date().getFullYear();\n const length = ENDING_YEAR - STARTING_YEAR;\n let years: selectOptions[] = [];\n for (let index = 1; index < length + 1; index++) {\n const currentYear = STARTING_YEAR + index;\n years.unshift({ value: `${currentYear}`, name: `${currentYear}` });\n }\n return years;\n};\nexport interface NextGemFormControlType {\n label: string;\n type: inputType;\n name: string;\n options?: selectOptions[];\n placeholder?: string;\n pattern: any[];\n chipText?: string;\n searchPayload?: any;\n autoSuggetionSelected?: boolean;\n labelExtraToggle?: boolean;\n inputClassName?: string;\n socialSignUp?: boolean;\n [key: string]: any;\n}\ninterface selectOptions {\n value: string | number | boolean;\n name: string | number;\n disabled?: boolean;\n [key: string]: any;\n}\n\nexport const addToCollectionSummaryFormData: NextGemFormControlType[] = [\n {\n type: 'select',\n name: 'cardstatus',\n label: 'Card Status',\n prefillKeyName: 'cardstatus',\n pattern: [''],\n options: [\n {\n name: 'Open To Offers',\n value: 'Open To Offers',\n },\n {\n name: 'Personal Collection',\n value: 'Personal Collection',\n },\n {\n name: 'For Sale',\n value: 'For Sale',\n },\n ],\n },\n {\n type: 'listingprice',\n name: 'listingprice',\n prefillKeyName: 'listingprice',\n label: 'Listing Price [*]',\n pattern: [''],\n },\n {\n type: 'listingprice',\n name: 'shippingprice',\n prefillKeyName: 'shippingprice',\n label: 'Shipping Price',\n pattern: [''],\n },\n // {\n // type: 'listingprice',\n // name: 'shippingprice',\n // prefillKeyName: 'shippingprice',\n // label: 'Shipping Price',\n // pattern: [''],\n // },\n {\n type: 'autoSelect',\n name: 'playername',\n inputClassName: 'inputUppercase',\n prefillKeyName: 'playername',\n label: 'Name [*]',\n pattern: ['', Validators.required],\n options: [],\n searchKey: 'pn',\n searchPayload: { pn: '' },\n autoSuggetionSelected: false,\n },\n {\n type: 'text',\n name: 'year',\n label: 'Card Year [*]',\n prefillKeyName: 'year',\n pattern: ['', Validators.required],\n },\n {\n type: 'autoSelect',\n name: 'setname',\n prefillKeyName: 'set',\n inputClassName: 'inputUppercase',\n label: 'Set [*]',\n pattern: ['', Validators.required],\n options: [],\n searchKey: 'sn',\n searchPayload: { sn: '' },\n autoSuggetionSelected: false,\n },\n {\n type: 'select',\n name: 'genre',\n label: 'Genre [*]',\n prefillKeyName: 'genre',\n pattern: ['', Validators.required],\n options: [\n {\n name: 'Football',\n value: 'Football',\n },\n {\n name: 'Basketball',\n value: 'Basketball',\n },\n {\n name: 'Baseball',\n value: 'Baseball',\n },\n {\n name: 'Hockey',\n value: 'Hockey',\n },\n {\n name: 'Pokemon',\n value: 'Pokemon',\n },\n {\n name: 'Soccer',\n value: 'Soccer',\n },\n {\n name: 'UFC',\n value: 'UFC',\n },\n {\n name: 'Others',\n value: 'Others',\n },\n ],\n },\n {\n type: 'text',\n name: 'variation',\n inputClassName: 'inputUppercase',\n label: 'Variation',\n prefillKeyName: 'variation',\n pattern: [''],\n },\n {\n type: 'text',\n name: 'cardnumber',\n prefillKeyName: 'cardno',\n inputClassName: 'inputUppercase',\n label: 'Card #',\n pattern: [''],\n },\n {\n type: 'select',\n name: 'grader', // map with imagetype key from response\n label: 'Grader',\n prefillKeyName: 'grader',\n pattern: [''],\n options: [\n {\n name: 'PSA',\n value: 'PSA',\n },\n {\n name: 'SGC',\n value: 'SGC',\n },\n {\n name: 'BGS',\n value: 'BGS',\n },\n {\n name: 'Other',\n value: 'Other',\n },\n {\n name: 'Ungraded',\n value: 'Ungraded',\n },\n ],\n },\n\n // sub grades ---------\n {\n type: 'subGrade',\n label: 'Centering',\n name: 'centering',\n prefillKeyName: 'centering',\n pattern: [''],\n isSubGrade: true,\n className: 'col-12 col-md-6 ',\n options: getLabelValue(overalGrade(true)),\n },\n {\n type: 'subGrade',\n label: 'Corners',\n name: 'corners',\n prefillKeyName: 'corners',\n pattern: [''],\n isSubGrade: true,\n className: 'col-12 col-md-6',\n options: getLabelValue(overalGrade(true)),\n },\n {\n type: 'subGrade',\n label: 'Edges',\n name: 'edges',\n prefillKeyName: 'edges',\n pattern: [''],\n isSubGrade: true,\n className: 'col-12 col-md-6',\n options: getLabelValue(overalGrade(true)),\n },\n {\n type: 'subGrade',\n label: 'Surface',\n name: 'surface',\n prefillKeyName: 'surface',\n pattern: [''],\n isSubGrade: true,\n className: 'col-12 col-md-6',\n options: getLabelValue(overalGrade(true)),\n },\n // -------\n {\n type: 'select',\n name: 'overallgrade', // map with overall key from response\n label: 'Overal Grade',\n prefillKeyName: 'overall',\n pattern: [''],\n options: getLabelValue(overalGrade()),\n },\n {\n type: 'text',\n label: 'Serial Number',\n name: 'serialno',\n prefillKeyName: 'slno',\n pattern: [''],\n },\n {\n type: 'text',\n label: 'Certification #',\n name: 'certno',\n prefillKeyName: 'certno',\n pattern: [''],\n chipText: 'PUBLIC',\n },\n {\n type: 'toggle',\n label: 'Feature this card',\n name: 'featured',\n prefillKeyName: 'featured',\n pattern: [''],\n },\n {\n type: 'price',\n name: 'purchaseprice',\n prefillKeyName: 'purchaseprice',\n label: 'Purchase Price',\n chipText: 'PRIVATE',\n pattern: [''],\n },\n {\n type: 'price',\n name: 'estimatedprice',\n prefillKeyName: 'estimatedprice',\n label: 'Estimated Card Value',\n chipText: 'PRIVATE',\n pattern: [''],\n },\n // {\n // type: 'text',\n // name: 'links',\n // label: 'Youtube Link',\n // prefillKeyName: 'links',\n // pattern: ['', Validators.required],\n // },\n];\nconst cardInfoTabItems: NextGemFormControlType[] = [\n {\n type: 'multiselectAuto',\n label: 'Tags',\n prefillKeyName: 'tags',\n name: 'tags', // value is array of strings\n pattern: [''],\n options: tags,\n searchText: '',\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n\n {\n type: 'addLink',\n prefillKeyName: '',\n name: 'links',\n label: 'Youtube',\n links: [\n {\n name: 'title',\n prefillKeyName: 'title',\n type: 'text',\n pattern: [''],\n },\n {\n name: 'link',\n prefillKeyName: 'link',\n type: 'text',\n pattern: [''],\n },\n {\n name: 'socialid',\n prefillKeyName: 'socialid',\n type: 'text',\n pattern: ['3'],\n },\n ],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n pattern: ['', Validators.required],\n },\n {\n type: 'textArea',\n name: 'story',\n prefillKeyName: 'story',\n label: 'Card Story',\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n pattern: [''],\n },\n {\n type: 'select',\n name: 'material',\n label: 'Card Material',\n prefillKeyName: 'material',\n pattern: [''],\n options: getLabelValue(cardMaterial),\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'select',\n name: 'autographed',\n prefillKeyName: 'autographed',\n label: 'Autographed',\n pattern: [''],\n options: [\n {\n name: 'Yes',\n value: true,\n },\n {\n name: 'No',\n value: false,\n },\n ],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n\n {\n type: 'text',\n name: 'cardhighlights', // all highlights should be concatinated with comma seperated\n label: 'Card Highlights 1',\n prefillKeyName: 'cardhighlights',\n labelExtraToggle: true,\n isHighlightsPrivate: false,\n canToggleHighlights: true,\n chipText: 'PUBLIC',\n pattern: [''],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'text',\n name: 'cardhighlight2',\n prefillKeyName: 'cardhighlight2',\n label: 'Card Highlights 2',\n isHighlightsPrivate: false,\n canToggleHighlights: true,\n chipText: 'PUBLIC',\n pattern: [''],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'text',\n name: 'cardhighlight3',\n prefillKeyName: 'cardhighlight3',\n label: 'Card Highlights 3',\n canToggleHighlights: true,\n isHighlightsPrivate: false,\n chipText: 'PUBLIC',\n pattern: [''],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'textArea',\n name: 'acquirefrom',\n prefillKeyName: 'acquirefrom',\n label: 'Where did you acquire this card from?',\n chipText: 'PRIVATE',\n pattern: [''],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'textArea',\n prefillKeyName: 'description',\n name: 'description', // no key found to map\n label: 'Condition',\n chipText: 'PRIVATE',\n pattern: [''],\n parentTab: 'cardInfo',\n parentTabGroup: 'cardInfoTab',\n },\n\n {\n type: 'radio',\n label: 'User Name',\n name: 'cardtype',\n prefillKeyName: 'cardtype',\n pattern: [''],\n options: [\n {\n name: 'Public',\n value: true,\n },\n {\n name: 'Anonymous',\n value: false,\n },\n ],\n parentTab: 'trade',\n parentTabGroup: 'cardInfoTab',\n },\n {\n type: 'text',\n name: 'league',\n label: 'League',\n prefillKeyName: 'league',\n parentTab: 'insights',\n parentTabGroup: 'cardInfoTab',\n pattern: [''],\n },\n {\n type: 'text',\n name: 'team',\n label: 'Team',\n prefillKeyName: 'team',\n parentTabGroup: 'cardInfoTab',\n parentTab: 'insights',\n pattern: [''],\n },\n {\n type: 'text',\n name: 'era',\n label: 'Card Era',\n prefillKeyName: 'era',\n parentTabGroup: 'cardInfoTab',\n parentTab: 'insights',\n pattern: [''],\n },\n];\nexport const addToCollectionAdvancedFormData: NextGemFormControlType[] = [\n {\n type: 'tabs',\n name: 'cardInfoTab',\n label: '',\n prefillKeyName: '',\n options: tabOption,\n pattern: [''],\n value: 'cardInfo',\n items: cardInfoTabItems,\n },\n // {\n // type: 'text',\n // name: 'league',\n // label: 'League',\n // prefillKeyName: 'league',\n // parentTab: 'cardInfo',\n // parentTabGroup: 'cardInfoTab',\n // pattern: [''],\n // },\n // {\n // type: 'text',\n // name: 'team',\n // label: 'Team',\n // prefillKeyName: 'team',\n // parentTabGroup: 'cardInfoTab',\n // parentTab: 'trade',\n // pattern: [''],\n // },\n // {\n // type: 'text',\n // name: 'era',\n // label: 'Card Era',\n // prefillKeyName: 'era',\n // parentTabGroup: 'cardInfoTab',\n // parentTab: 'insights',\n // pattern: [''],\n // },\n\n // {\n // type: 'addLink',\n // prefillKeyName: '',\n // name: 'link',\n // label: 'Link 1',\n // pattern: [''],\n // links: [''],\n // },\n];\n\nexport const signupStepperSampleData = [\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Make sure to pick something unique and memorable',\n inputLabel: 'Username',\n inputType: 'text',\n buttonText: 'Next',\n validations: {\n pattern: /^\\S*$/,\n errorMessage: '',\n },\n key: 'username',\n username: '',\n step: 0,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n\n {\n headerText: 'Create Your Account',\n subHeaderText: 'What’s your email address',\n subHeaderText1: '',\n helpText:\n 'NextGem is a tight community of card collectors. We maintain a high standard of conduct so that our members can get the most out of NextGem.',\n eulaText: 'Please read and agree to our EULA in order to proceed.',\n agreeTermsAndConditions: false,\n inputLabel: 'Email',\n inputType: 'email',\n buttonText: 'Next',\n validations: {\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n errorMessage: '',\n },\n key: 'email',\n email: '',\n step: 0,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: false,\n },\n\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Create a Password',\n inputLabel: 'Password',\n inputType: 'password',\n buttonText: 'Next',\n validations: {\n pattern: '',\n errorMessage: '',\n },\n key: 'password',\n password: '',\n passwordPatternCheck: [\n { regex: /^.{8,}$/, label: ' 8 characters', isValid: false, icon: 'check' },\n { regex: /^(?=.*[A-Z])/g, label: 'Uppercase ', isValid: false, icon: 'check' },\n { regex: /^(?=.*[a-z])/g, label: 'Lowercase ', isValid: false, icon: 'check' },\n { regex: /^(?=.*[!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-])/g, label: 'Symbol', isValid: false, icon: 'check' },\n { regex: /^(?=.*\\d)/g, label: 'Numeric', isValid: false, icon: 'check' },\n ],\n helpText: 'Your password must contain:',\n step: 0,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: false,\n },\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Check your email!',\n subHeaderText1: 'Please, confirm your NextGem account using the confirmation email sent to ',\n inputLabel: 'Username',\n inputType: 'verifyEmail',\n validations: {\n pattern: '',\n errorMessage: '',\n },\n key: 'verified',\n verified: true,\n buttonText: 'Next',\n step: 0,\n formType: 'Registration',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Resend Email',\n socialSignUp: false,\n },\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Make sure to pick something memorable',\n inputLabel: 'Full Name',\n inputType: 'text',\n buttonText: 'Next',\n validations: {\n pattern: '',\n errorMessage: '',\n },\n key: 'fullname',\n fullname: '',\n step: 1,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Please verify your phone number',\n subHeaderText1: 'This builds trust within our member community',\n inputLabel: 'phone',\n inputType: 'verifyPhone',\n buttonText: 'Next',\n validations: {\n pattern: '',\n errorMessage: '',\n },\n key: 'phone',\n phone: '',\n step: 2,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n {\n headerText: 'Create Your Account',\n subHeaderText: 'Please verify your phone number',\n subHeaderText1: 'Enter the verification code we sent you via phone',\n inputType: 'otp',\n buttonText: 'Next',\n validations: {\n pattern: /^\\d{6}$/,\n errorMessage: '',\n },\n key: 'otp',\n otp: '',\n step: 2,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n {\n // headerText: '',\n headerText: 'How did you hear about NextGem?',\n // subHeaderText1: '',\n inputType: 'radio',\n buttonText: 'Next',\n key: 'howyouhearaboutnextgem',\n howyouhearaboutnextgem: 'Twitter',\n options: hearAboutNextGem,\n step: 2,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n {\n headerText: 'What is your estimated collection value?',\n inputType: 'radio',\n buttonText: 'Next',\n key: 'collectionvalue',\n collectionvalue: 'Up to $10K',\n options: collectionValues,\n step: 2,\n formType: 'Registration',\n isSecondaryButtonEnabled: false,\n secondaryButtonText: '',\n socialSignUp: true,\n },\n {\n headerText: 'Great Job!',\n subHeaderText: 'Let’s personalize your experience so you can: ',\n inputLabel: 'Username',\n inputType: 'greatJob',\n validations: {\n pattern: '',\n errorMessage: '',\n },\n key: 'verified',\n verified: true,\n buttonText: 'Set Up Member Profile',\n step: 3,\n socialSignUp: true,\n },\n];\n\nexport const MemberProfileForms = [\n {\n headerText: 'Set Up Your Member Profile',\n subHeaderText: \"Pick the genres you're most interested in\",\n // inputLabel: 'Username0',\n // inputType: 'text',\n buttonText: 'Next',\n // validations: {\n // pattern: '',\n // errorMessage: '',\n // },\n key: 'genres',\n genres: '',\n step: 0,\n formType: 'MemberProfile',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Maybe Later',\n stepperName: 'Pick Your Genres',\n },\n {\n headerText: 'Set Up Your Member Profile',\n subHeaderText:\n 'Add your profile links across social media so other Members can easily find your cards and connect!',\n // inputLabel: 'Username1',\n // inputType: 'text',\n buttonText: 'Next',\n // validations: {\n // pattern: '',\n // errorMessage: '',\n // },\n key: 'socialProfiles',\n socialProfiles: '',\n step: 1,\n formType: 'MemberProfile',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Maybe Later',\n stepperName: 'Add Social Profiles',\n },\n {\n headerText: 'Set Up Your Member Profile',\n subHeaderText:\n \"Creating a biography tell the community who you collect and what players, sets and genres you're in to\",\n // inputLabel: 'Username2',\n // inputType: 'text',\n buttonText: 'Next',\n // validations: {\n // pattern: '',\n // errorMessage: '',\n // },\n key: 'biography',\n biography: '',\n step: 2,\n formType: 'MemberProfile',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Maybe Later',\n stepperName: 'Set Up Your Bio',\n },\n {\n headerText: 'Set Up Your Member Profile',\n subHeaderText: 'Upload your profile image here',\n // inputLabel: 'Username3',\n // inputType: 'text',\n buttonText: 'Next',\n // validations: {\n // pattern: '',\n // errorMessage: '',\n // },\n key: 'profilePic',\n profilePic: '',\n step: 3,\n formType: 'MemberProfile',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Maybe Later',\n stepperName: 'Add Profile Picture',\n },\n {\n headerText: 'Set Up Your Member Profile',\n subHeaderText: 'Our community wants to see what you collect! Share your first card and build your network!',\n // inputLabel: 'Username4',\n // inputType: 'text',\n buttonText: 'Next',\n // validations: {\n // pattern: '',\n // errorMessage: '',\n // },\n key: 'cardPic',\n // cardPic: '',\n step: 4,\n formType: 'MemberProfile',\n isSecondaryButtonEnabled: true,\n secondaryButtonText: 'Maybe Later',\n stepperName: 'List Your First Card',\n },\n];\nexport const searchSortFilterFormData: NextGemFormControlType[] = [\n {\n type: 'multiselectAuto',\n name: 'genres',\n label: 'Genre',\n prefillKeyName: 'genres',\n pattern: [''],\n options: [\n {\n name: 'Football',\n value: 'Football',\n },\n {\n name: 'Basketball',\n value: 'Basketball',\n },\n {\n name: 'Baseball',\n value: 'Baseball',\n },\n {\n name: 'Hockey',\n value: 'Hockey',\n },\n {\n name: 'Pokemon',\n value: 'Pokemon',\n },\n {\n name: 'Soccer',\n value: 'Soccer',\n },\n {\n name: 'UFC',\n value: 'UFC',\n },\n {\n name: 'Others',\n value: 'Others',\n },\n ],\n },\n {\n type: 'multiselectAuto',\n name: 'playernames',\n inputClassName: 'inputUppercase',\n prefillKeyName: 'playernames',\n label: 'Name',\n pattern: [''],\n options: [],\n searchKey: 'pn',\n searchPayload: { pn: '' },\n autoSuggetionSelected: false,\n },\n {\n type: 'multiselectAuto',\n name: 'setnames',\n prefillKeyName: 'setnames',\n inputClassName: 'inputUppercase',\n label: 'Set',\n pattern: [''],\n options: [],\n searchKey: 'sn',\n searchPayload: { sn: '' },\n autoSuggetionSelected: false,\n },\n {\n type: 'multiselectAuto',\n name: 'overallgrades', // map with overall key from response\n label: 'Overal Grade',\n prefillKeyName: 'overallgrades',\n pattern: [''],\n options: getLabelValue(overalGrade()),\n },\n {\n type: 'multiselectAuto',\n name: 'graders', // map with imagetype key from response\n label: 'Grader',\n prefillKeyName: 'graders',\n pattern: [''],\n options: [\n {\n name: 'PSA',\n value: 'PSA',\n },\n {\n name: 'SGC',\n value: 'SGC',\n },\n {\n name: 'BGS',\n value: 'BGS',\n },\n {\n name: 'Other',\n value: 'Other',\n },\n {\n name: 'Ungraded',\n value: 'Ungraded',\n },\n ],\n },\n {\n type: 'multiselectAuto',\n name: 'years',\n label: 'Card Year',\n prefillKeyName: 'years',\n options: getCardYearOptions(),\n pattern: [''],\n },\n\n {\n type: 'multiselectAuto',\n label: 'Tags',\n prefillKeyName: 'tags',\n name: 'tags', // value is array of strings\n pattern: [''],\n options: tags,\n searchText: '',\n },\n\n {\n type: 'selectOptionGroup',\n name: 'cardstatus',\n label: 'Card Status',\n prefillKeyName: 'cardstatus',\n pattern: [''],\n options: [\n {\n name: 'Open To Offers',\n value: 'Open To Offers',\n },\n {\n name: 'Personal Collection',\n value: 'Personal Collection',\n },\n {\n name: 'For Sale',\n value: 'For Sale',\n },\n ],\n },\n {\n type: 'multiSelectionList',\n name: 'estimatedvalue',\n label: 'Estimated Value',\n prefillKeyName: 'estimatedvalue',\n pattern: [''],\n options: [],\n },\n];\nexport const includeExquisiteCardsKey: string = 'includeexquisitecards';\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-tracking-details-or-shipping-address',\n templateUrl: './tracking-details-or-shipping-address.component.html',\n styleUrls: ['./tracking-details-or-shipping-address.component.scss'],\n})\nexport class TrackingDetailsOrShippingAddressComponent implements OnInit {\n title = 'Shipping Address Details';\n trackingDetailsForm: FormGroup = new FormGroup({});\n isTrackingModal: boolean;\n shippingvendors: any[];\n offerDetails: any;\n shippingAddress: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: TrackingDetailsOrShippingAddressModel,\n private httpClient: HttpClient,\n private formBuilder: FormBuilder,\n ) {\n this.isTrackingModal = data.isTrackingModal;\n this.offerDetails = data.offerDetails;\n this.shippingvendors = data.shippingvendors;\n this.shippingAddress = data.offerDetails?.shippingaddress;\n }\n\n ngOnInit(): void {\n this.trackingDetailsForm = this.formBuilder.group({\n shippingvendorid: ['', Validators.required],\n shippingtrackingcode: ['', Validators.required],\n });\n if (this.isTrackingModal) {\n this.title = 'Shipment Tracking Details';\n this.trackingDetailsForm.patchValue({\n shippingvendorid: this.offerDetails?.shippingvendorid,\n shippingtrackingcode: this.offerDetails?.shippingtrackingcode,\n });\n }\n }\n updateTrackingDetails() {\n if (this.trackingDetailsForm.invalid) {\n this.trackingDetailsForm.markAllAsTouched();\n } else {\n const trackingDetails = this.trackingDetailsForm.getRawValue();\n const payload = {\n offerid: this.offerDetails?.offerid,\n shippmentdelivered: 2,\n ...trackingDetails,\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.UPDATE_OFFER}`;\n this.httpClient.post(URL, payload).subscribe(\n res => {\n this.onConfirm();\n },\n err => {\n console.warn(err);\n },\n );\n }\n }\n testLink() {\n const trackingDetails = this.trackingDetailsForm.getRawValue();\n const vendorUrl = this.shippingvendors.find(vendor => vendor?.id === trackingDetails?.shippingvendorid)?.url;\n const url_ = String(vendorUrl).replace(/{shippingtrackingcode}/g, trackingDetails?.shippingtrackingcode);\n window.open(url_, '_blank');\n }\n onConfirm(): void {\n this.dialogRef.close(true);\n }\n}\n\nexport class TrackingDetailsOrShippingAddressModel {\n constructor(public offerDetails: any, public isTrackingModal: boolean, public shippingvendors: any[]) {}\n}\n","import { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { Auth } from 'aws-amplify';\nimport { environment } from 'src/environments';\nimport { ignoreLoaderUrls } from './constants/common-constants';\nimport { includeExquisiteCardsKey } from './constants/form-constants';\n\nexport const validateAllFormFields = (formGroup: FormGroup | FormArray) => {\n if (formGroup instanceof FormGroup) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup || control instanceof FormArray) {\n validateAllFormFields(control);\n }\n });\n } else if (formGroup instanceof FormArray) {\n formGroup.controls.forEach(control => {\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup || control instanceof FormArray) {\n validateAllFormFields(control);\n }\n });\n }\n};\n\n// export const replaceCommaWithSpaceInString = (value: string = ''): string | false => {\n// if ((typeof value !== 'undefined' || value !== null) && value) {\n// return value.replace(/\\,/g, '');\n// }\n// return false;\n// };\nexport const toUpperCase = (str: string): string => {\n if (str && typeof str === 'string') {\n return str.toUpperCase();\n }\n return '';\n};\nexport const capitalizeWords = (str: string): string => {\n if (str && typeof str === 'string') {\n let words = str.split(' '); // Split string into array of words\n for (let i = 0; i < words.length; i++) {\n words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1).toLowerCase(); // Capitalize first letter of each word\n }\n return words.join(' '); // Join words back into a string\n }\n return '';\n};\n\nexport const toLowerCaseWords = (str: string): string => {\n if (str && typeof str === 'string') {\n let words = str.toLowerCase();\n return words;\n }\n return '';\n};\n\nexport const calculatePercentage = (price: number, percentage: number): number => {\n if (isNaN(price) || isNaN(percentage)) return 0;\n return (price * percentage) / 100;\n};\nexport const canShowLoader = (url: string) => {\n return ignoreLoaderUrls.findIndex(ignoredUrl => url.includes(ignoredUrl)) > -1;\n};\nexport const truncateText = (text: string, maxLength: number) => {\n return text?.length > maxLength ? text.slice(0, maxLength) + '...' : text;\n};\n\nexport const isObjectEmpty = (obj: any): boolean => {\n // Check if the object is null or undefined\n if (obj === null || obj === undefined) {\n return true;\n }\n\n // Check if the object has any own properties\n if (Object.keys(obj).length === 0) {\n return true;\n }\n\n // Recursively check each property of the object\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n const value = obj[key];\n\n // Recursively check nested objects or arrays\n if (typeof value === 'object' && !Array.isArray(value)) {\n if (!isObjectEmpty(value)) {\n return false;\n }\n } else if (Array.isArray(value)) {\n if (value.length > 0) {\n return false;\n }\n } else {\n // Check non-object and non-array values\n if (value !== '' && value !== null && value !== undefined) {\n return false;\n }\n }\n }\n }\n\n // All properties checked and no non-empty values found\n return true;\n};\n\nexport const copyInputMessage = (value: any) => {\n var el: any = document.createElement('textarea');\n el.value = value;\n el.setAttribute('readonly', '');\n el.style = { position: 'absolute', left: '-9999px' };\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n};\n\nexport const convertToNumber = (value: any) => {\n // Use the isNaN function to check if the value is not a number.\n if (!isNaN(value)) {\n // If it's a valid number, convert it to a number using the Number() constructor.\n return Number(value);\n } else {\n // If it's not a number, return the original value or handle it as needed.\n return value;\n }\n};\nexport const appDomainName = () => {\n const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n );\n const DOMAIN_NAME = environment.domainName || 'nextgem.com';\n const domain = isLocalhost ? 'localhost' : DOMAIN_NAME;\n return domain;\n};\nconst prependkeysToDiscoveryFilters = ['overallgrades', 'playernames', 'setnames', 'tags', 'graders'];\nexport function transformAppliedFiltersToArray(inputObject: any) {\n const resultArray = [];\n\n // Helper function to flatten arrays and add prepend key if needed\n function flattenAndPrepend(array: any[] = [], key: string) {\n array.forEach(item => {\n if (Array.isArray(item)) {\n flattenAndPrepend(item, key);\n } else if (item) {\n if (prependkeysToDiscoveryFilters.includes(key)) {\n resultArray.push(`${key} - ${item}`);\n } else {\n resultArray.push(item);\n }\n }\n });\n }\n\n // Flatten and add prepend key if needed for each key in filter object\n for (const key in inputObject.filter) {\n const _filterKey = inputObject?.filter[key] || [];\n flattenAndPrepend(_filterKey, key);\n }\n\n // Add estimatedprice and listingprice\n if (inputObject?.estimatedprice?.min && inputObject?.estimatedprice?.max) {\n resultArray.push(`estimatedprice - ${inputObject.estimatedprice.min}-${inputObject.estimatedprice.max}`);\n }\n if (inputObject?.listingprice?.min && inputObject?.listingprice?.max) {\n resultArray.push(`listingprice - ${inputObject.listingprice.min}-${inputObject.listingprice.max}`);\n }\n // for including exquisite cards\n if (inputObject?.[includeExquisiteCardsKey]) {\n resultArray.push('Include Exquisite Cards');\n }\n return resultArray;\n}\nexport function getSortFieldName(sortoptions: any[] = [], sortValue: any = 2) {\n return sortoptions.find(s => s?.id === sortValue)?.name;\n}\nexport function removeDiscoveryFilteredItem(item: string, inputObject: any) {\n for (const key in inputObject.filter) {\n if (key !== 'listingprice' && key !== 'estimatedprice') {\n const _filterKey = inputObject?.filter[key] || [];\n const _removed_prefix_item = prependkeysToDiscoveryFilters.includes(key)\n ? String(item).replace(`${key} - `, '')\n : item;\n const index = _filterKey.indexOf(_removed_prefix_item);\n if (index !== -1) {\n inputObject.filter[key].splice(index, 1);\n }\n }\n }\n // If the removed item is part of estimatedprice or listingprice, remove the entire key\n const estimatedprice = `estimatedprice - ${inputObject?.estimatedprice?.min}-${inputObject?.estimatedprice?.max}`;\n const listingprice = `listingprice - ${inputObject?.listingprice?.min}-${inputObject?.listingprice?.max}`;\n if (estimatedprice === item) {\n delete inputObject.estimatedprice;\n }\n if (listingprice === item) {\n delete inputObject.listingprice;\n }\n // for including exquisite cards\n if (inputObject?.[includeExquisiteCardsKey]) {\n delete inputObject[includeExquisiteCardsKey];\n }\n return inputObject;\n}\nexport const removeExquisiteCardsFromStatusList = (filter: any) => {\n try {\n const copyOfFilters = {};\n const _copiedSource = JSON.parse(JSON.stringify(filter));\n let filters = Object.assign(copyOfFilters, _copiedSource);\n\n let _cardstatus: string[] = filters?.cardstatus || [];\n const EXQUISITE_CARDS_INDEX = _cardstatus.indexOf(includeExquisiteCardsKey);\n let include_exquisite: boolean;\n if (EXQUISITE_CARDS_INDEX > -1) {\n _cardstatus.splice(EXQUISITE_CARDS_INDEX, 1);\n include_exquisite = true;\n } else {\n include_exquisite = false;\n }\n filters.cardstatus = _cardstatus;\n return { filter: filters, include_exquisite };\n } catch (error) {\n return { filter, include_exquisite: false };\n }\n};\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { NextGemFormControlType } from '@approot/core/lib/constants/form-constants';\n\n@Component({\n selector: 'app-form-control-tabs',\n templateUrl: './form-control-tabs.component.html',\n styleUrls: ['./form-control-tabs.component.scss'],\n})\nexport class FormControlTabsComponent implements OnInit {\n @Input() sampleFormData!: NextGemFormControlType[];\n @Input() parentGroup!: FormGroup;\n @Input() control!: any;\n constructor() {}\n get cardInfoItems() {\n const items: any[] = this.control?.items || [];\n return items.filter(item => item?.parentTab === 'cardInfo');\n }\n get tradeItems() {\n const items: any[] = this.control?.items || [];\n return items.filter(item => item?.parentTab === 'trade');\n }\n get insightItems() {\n const items: any[] = this.control?.items || [];\n return items.filter(item => item?.parentTab === 'insights');\n }\n ngOnInit(): void {}\n}\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appCommaSeparatedNumber]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CommaSeparatedNumberDirective,\n multi: true,\n },\n ],\n})\nexport class CommaSeparatedNumberDirective implements ControlValueAccessor {\n // private innerValue: any;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('input', ['$event.target.value']) onInput(value: string): void {\n const numericValue = parseFloat(value.replace(/[^0-9]/g, ''));\n if (!isNaN(numericValue)) {\n this.writeValue(numericValue);\n this.onChangeCallback(numericValue);\n } else {\n // If the input is not a valid number, do not update the value or invoke callbacks\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatWithCommas(''));\n }\n }\n\n writeValue(value: any): void {\n // this.innerValue = value;\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatWithCommas(value));\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {}\n\n private onChangeCallback: (_: any) => void = () => {};\n\n private formatWithCommas(value: any): string {\n return value?.toLocaleString() || '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class LoaderService {\n isLoading = new Subject();\n\n show() {\n this.isLoading.next(true);\n }\n\n hide() {\n this.isLoading.next(false);\n }\n}\n","import { debounceTime, skip, startWith } from 'rxjs/operators';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { includeExquisiteCardsKey, NextGemFormControlType } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { SearchSortFilterService } from '@approot/core/lib/search-sort-filter.service';\nimport { removeExquisiteCardsFromStatusList, transformAppliedFiltersToArray } from '@approot/core/lib/utils';\nimport { combineLatest, Subscription } from 'rxjs';\nimport { environment } from 'src/environments';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\n\n@Component({\n selector: 'app-filters-dialog',\n templateUrl: './filters-dialog.component.html',\n styleUrls: ['./filters-dialog.component.scss'],\n})\nexport class FiltersDialogComponent implements OnInit {\n searchKey: string;\n sortOrFilterData: any;\n sourcePage: string;\n userId: string | undefined;\n sampleFormData: NextGemFormControlType[] = [];\n filterFormGroup: FormGroup = new FormGroup({});\n listingPriceForm: FormGroup = new FormGroup({});\n estimatedPriceForm: FormGroup = new FormGroup({});\n isFiltersReady = false;\n isSavedSearch = false;\n totalCount!: number;\n discoveryList!: any[];\n scoreRankData: any[] = [];\n hasFiltersApplied = false;\n listenerOnValueChangesFromDiscoveryFiltersSubscription!: Subscription;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: FiltersDialogModel,\n private formBuilder: FormBuilder,\n private _searchSortFilterService: SearchSortFilterService,\n public _snackBar: MatSnackBar,\n private http: HttpClient,\n private _router: Router,\n private route: ActivatedRoute,\n private authenticationService: AuthenticationService,\n ) {\n this.searchKey = data.searchKey;\n this.sampleFormData = data.sampleFormData;\n this.sortOrFilterData = data.sortOrFilterData;\n this.isSavedSearch = data.isSavedSearch || false;\n this.listingPriceForm = this.formBuilder.group({\n min: [undefined],\n max: [undefined],\n });\n this.estimatedPriceForm = this.formBuilder.group({\n min: [undefined],\n max: [undefined],\n });\n this.sourcePage = data.sourcePage;\n this.userId = data?.userId;\n }\n get listingPriceHasRangeError() {\n const minValue = this.listingPriceForm.get('min')?.value;\n const maxValue = this.listingPriceForm.get('max')?.value;\n if (minValue !== '' && maxValue !== '' && minValue > maxValue) {\n return true;\n }\n return null;\n }\n get estimatedPriceHasRangeError() {\n const minValue = this.estimatedPriceForm.get('min')?.value;\n const maxValue = this.estimatedPriceForm.get('max')?.value;\n if (minValue !== '' && maxValue !== '' && minValue > maxValue) {\n return true;\n }\n return null;\n }\n get hasExquisiteCardStatus() {\n const exists =\n this.sampleFormData\n .find(data => data?.name === 'cardstatus')\n ?.options?.some(opt => opt.value === includeExquisiteCardsKey) || false;\n return exists;\n }\n patchInititalValues(sampleFormData: any[], formGroupItems: any) {\n for (let index = 0; index < sampleFormData.length; index++) {\n const element = sampleFormData[index];\n const filters = this.sortOrFilterData?.filter;\n const value = filters?.[element?.prefillKeyName] || undefined;\n let pattern = element.pattern;\n pattern[0] = value;\n formGroupItems[element.name] = pattern;\n }\n }\n getFiltersCount(values: any) {\n let payload: any = {\n ...values,\n pagesize: 20,\n page: 1,\n sort: 6,\n count: true,\n };\n // if (genre?.length) {\n // payload['genre'] = genre;\n // }\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n 'x-nextgem-userid': this.userId,\n };\n const options: any = { headers: headers };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.DISCOVERY_VIEW}`, payload, options).subscribe(\n (res: any) => {\n const _data = res?.data;\n this.discoveryList = _data?.cards || [];\n this.totalCount = _data?.count;\n this.hasFiltersApplied = true;\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n listenerOnValueChangesFromDiscoveryFilters() {\n // Combine the valueChanges observables of all form groups\n const estimatedForm$ = this.estimatedPriceForm.valueChanges.pipe(\n startWith(this.estimatedPriceForm.value),\n debounceTime(800),\n );\n const listingPriceForm$ = this.listingPriceForm.valueChanges.pipe(\n startWith(this.listingPriceForm.value),\n debounceTime(800),\n );\n const filterForm$ = this.filterFormGroup.valueChanges.pipe(startWith(this.filterFormGroup.value));\n this.listenerOnValueChangesFromDiscoveryFiltersSubscription = combineLatest([\n estimatedForm$,\n listingPriceForm$,\n filterForm$,\n ])\n .pipe(skip(1))\n .subscribe(([estimatedprice, listingprice, filter]) => {\n // Handle value changes of all form groups\n const isFiltersInValid = this.filterFormGroup.invalid;\n\n if (\n this.listingPriceHasRangeError ||\n this.estimatedPriceHasRangeError ||\n isFiltersInValid ||\n !this.appliedFiltersCount\n ) {\n console.log('in valid');\n } else {\n console.log('valid');\n const _updated_filter = removeExquisiteCardsFromStatusList(filter);\n const FILTER_VALUE = _updated_filter.filter;\n const values = {\n filter: FILTER_VALUE,\n [includeExquisiteCardsKey]: _updated_filter?.include_exquisite,\n estimatedprice,\n listingprice,\n };\n // this.updateQueryParams(values);\n this.getFiltersCount(values);\n }\n });\n }\n getScoreFromId(id: any) {\n return this.scoreRankData.find(score => score?.rankid === id)?.score;\n }\n\n // updateQueryParams(values: any) {\n // let queryParams = `?listingprice=$${values.listingprice.min}-$${values.listingprice.max}`;\n // queryParams += `&estimatedprice=$${values.estimatedprice.min}-$${values.estimatedprice.max}`;\n // queryParams += `&genres=${values.filter.genres ? values.filter.genres.join(',') : ''}`;\n // queryParams += `&playernames=${\n // values.filter.playernames\n // ? values.filter.playernames.map((name: any) => encodeURIComponent(name)).join(',')\n // : ''\n // }`;\n // queryParams += `&setnames=${\n // values.filter.setnames ? values.filter.setnames.map((name: any) => encodeURIComponent(name)).join(',') : ''\n // }`;\n // queryParams += `&overallgrades=${values.filter.overallgrades ? values.filter.overallgrades.join(',') : ''}`;\n // queryParams += `&graders=${values.filter.graders ? values.filter.graders.join(',') : ''}`;\n // queryParams += `&years=${values.filter.years ? values.filter.years.join(',') : ''}`;\n // queryParams += `&tags=${values.filter.tags ? values.filter.tags.join(',') : ''}`;\n // queryParams += `&cardstatus=${values.filter.cardstatus ? values.filter.cardstatus.join(',') : ''}`;\n\n // // Navigating to the URL\n // this._router.navigate([], {\n // relativeTo: this.route,\n // queryParams: { queryParams },\n // queryParamsHandling: 'merge',\n // });\n // }\n async ngOnInit() {\n let formGroupItems: any = {};\n this.patchInititalValues(this.sampleFormData, formGroupItems);\n this.filterFormGroup = this.formBuilder.group(formGroupItems);\n const estimatedprice = this.sortOrFilterData?.estimatedprice;\n const listingprice = this.sortOrFilterData?.listingprice;\n this.listingPriceForm.patchValue(listingprice);\n this.estimatedPriceForm.patchValue(estimatedprice);\n this.isFiltersReady = true;\n if (this.sourcePage === 'discovery') {\n this.listenerOnValueChangesFromDiscoveryFilters();\n }\n const result: any[] = await this.authenticationService.getScoreAndRankData();\n this.scoreRankData = result;\n }\n get selectedFilters() {\n const filter = this.filterFormGroup.getRawValue();\n const _updated_filter = removeExquisiteCardsFromStatusList(filter);\n const estimatedprice = this.estimatedPriceForm.getRawValue();\n const listingprice = this.listingPriceForm.getRawValue();\n\n const FILTER_VALUE = _updated_filter.filter;\n const values = {\n filter: FILTER_VALUE,\n estimatedprice,\n [includeExquisiteCardsKey]: _updated_filter?.include_exquisite,\n listingprice,\n };\n return values;\n }\n onConfirm(): void {\n if (!this.appliedFiltersCount) {\n this._snackBar.open('Please select filters', 'Ok', {\n horizontalPosition: 'end',\n verticalPosition: 'top',\n duration: 3000,\n panelClass: ['info-snackbar'],\n });\n return;\n }\n const isFiltersInValid = this.filterFormGroup.invalid;\n\n if (this.listingPriceHasRangeError || this.estimatedPriceHasRangeError || isFiltersInValid) {\n } else {\n if (this.sourcePage === 'discovery') {\n if (this.hasFiltersApplied) {\n this.dialogRef.close({\n filters: this.selectedFilters,\n isSavedSearch: this.isSavedSearch,\n data: { cards: this.discoveryList, count: this.totalCount },\n });\n } else {\n this.dialogRef.close({ isSavedSearch: this.isSavedSearch });\n }\n } else {\n this.dialogRef.close(this.selectedFilters);\n }\n }\n }\n\n onDismiss(): void {\n if (this.sourcePage === 'discovery') {\n if (this.hasFiltersApplied) {\n this.dialogRef.close({\n filters: this.selectedFilters,\n isSavedSearch: this.isSavedSearch,\n data: { cards: this.discoveryList, count: this.totalCount },\n });\n } else {\n this.dialogRef.close({ isSavedSearch: this.isSavedSearch });\n }\n } else {\n this.dialogRef.close(false);\n }\n }\n get appliedFiltersCount() {\n return transformAppliedFiltersToArray(this.selectedFilters)?.length;\n }\n clearAll() {\n this.totalCount = 0;\n this.hasFiltersApplied = false;\n this.filterFormGroup.reset();\n this.estimatedPriceForm.reset();\n this.listingPriceForm.reset();\n }\n saveTheFilter() {\n if (!this.appliedFiltersCount) {\n this._snackBar.open('Please select filters', 'Ok', {\n horizontalPosition: 'end',\n verticalPosition: 'top',\n duration: 3000,\n panelClass: ['info-snackbar'],\n });\n return;\n }\n const payload = {\n discfilters: this.isSavedSearch ? null : this.selectedFilters,\n };\n const _URL = `${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`;\n this.http.post(_URL, payload).subscribe(\n res => {\n this._snackBar.open(`Filters ${this.isSavedSearch ? 'un' : ''}saved successfully`, 'Ok', {\n horizontalPosition: 'end',\n verticalPosition: 'top',\n duration: 3000,\n panelClass: ['info-snackbar'],\n });\n this.isSavedSearch = !this.isSavedSearch;\n },\n err => {},\n );\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.listenerOnValueChangesFromDiscoveryFiltersSubscription) {\n this.listenerOnValueChangesFromDiscoveryFiltersSubscription.unsubscribe();\n }\n }\n}\nexport class FiltersDialogModel {\n constructor(\n public sampleFormData: any,\n public sortOrFilterData: any,\n public searchKey: string,\n public sourcePage: string,\n public userId?: string | undefined,\n public isSavedSearch?: boolean,\n ) {}\n}\n","import { Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { environment } from 'src/environments';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'app-my-collection',\n templateUrl: './my-collection.component.html',\n styleUrls: ['./my-collection.component.scss'],\n})\nexport class MyCollectionComponent implements OnInit {\n @Input() searchEvent!: any;\n @Input() secondaryUserId!: string | null;\n @Input() secondaryUserName!: string | null;\n collectionList: any = [];\n featuredCard: any;\n imageUrl: any = environment.imageURL + '/';\n totalPages: any;\n pageSize: number = 200;\n currentPage: number = 0;\n userId: any;\n hideFeaturedCard = false;\n constructor(\n private http: HttpClient,\n private localStorageService: LocalStorageService,\n private router: Router,\n private authenticationService: AuthenticationService,\n ) {}\n\n ngOnInit(): void {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const userid = this.secondaryUserId || userDetails?.sub;\n if (userid) {\n this.userId = userid;\n const searchText = this.searchEvent?.text;\n this.getMyCollection(userid, 1, searchText);\n this.getFeatureCardDetails(userid);\n }\n }\n ngOnChanges(changes: any): void {\n if (changes?.searchEvent) {\n const searchText = changes?.searchEvent?.currentValue?.text || '';\n const isClear = changes?.searchEvent?.currentValue?.clear || false;\n if (!changes?.searchEvent?.firstChange) {\n this.hideFeaturedCard = searchText === '' ? false : true;\n this.currentPage = 0;\n this.getMyCollection(this.userId, 1, searchText);\n }\n }\n }\n\n getMyCollection(userid: string, page?: number, searchText: string = '') {\n const payload = {\n userid: userid,\n pagesize: this.pageSize,\n page: page || 1,\n keyword: searchText,\n };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.DISCOVERY_SEARCH}`, payload).subscribe(\n (res: any) => {\n let data: any[] = res?.data?.cards || [];\n this.collectionList = data;\n this.totalPages = res?.data?.totalcount;\n },\n err => {},\n );\n }\n changePage(event: PageEvent) {\n const pageIndex = event.pageIndex;\n this.currentPage = pageIndex;\n this.getMyCollection(this.userId, pageIndex + 1);\n }\n getFeatureCardDetails(userid: string) {\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n };\n const options = { headers: headers };\n this.http\n .get(`${environment.cardServiceDomain}/${URLConstants.GET_FEATURE_CARDS}/${userid}`, options)\n .subscribe(\n (res: any) => {\n if (res.statusCode === 200) {\n this.featuredCard = res.data && res.data.length ? res.data[0] : null;\n }\n },\n err => {\n console.log(err, 'err in get feature card');\n },\n );\n }\n get userName() {\n return this.authenticationService.userName;\n }\n\n onSelectionCard(card: any) {\n const username = this.secondaryUserName || this.userName;\n // const cuidAsArray = card.deeplinkurl.split('/');\n // const CUID = cuidAsArray[cuidAsArray.length - 1];\n this.router.navigate([`${username}/${card?.cardid}`]);\n }\n}\n","
\n \n \n \n \n Note: Please select your country code and enter your phone number.\n \n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport {\n IframeUrlDialogModel,\n IframeUrlModalComponent,\n} from '@approot/core/components/iframe-url-modal/iframe-url-modal.component';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-action-center-modal',\n templateUrl: './action-center-modal.component.html',\n styleUrls: ['./action-center-modal.component.scss'],\n})\nexport class ActionCenterModalComponent implements OnInit {\n notifications: any[] = [];\n imageUrl: any = environment.imageURL + '/';\n currentPage = 0;\n totalPages = 100000;\n pageSize = 20;\n showPagination = false;\n notificationtype = 1;\n constructor(\n private http: HttpClient,\n private router: Router,\n public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ActionCenterModalComponentDialog,\n ) {}\n\n ngOnInit(): void {\n this.fetchNotifications();\n }\n fetchNotifications(page?: number) {\n const URL = `${environment.actioncenterServiceDomain}/${URLConstants.GET_NOTIFICATIONS}`;\n const options: any = {\n params: {\n page: page || 1,\n pagesize: this.pageSize,\n notificationtype: this.notificationtype,\n },\n };\n this.http.get(URL, options).subscribe((res: any) => {\n this.notifications = res?.data?.events;\n this.showPagination = !page && !this.notifications?.length ? false : true;\n });\n }\n get forSaleTabNotifications() {\n // 7:cardstatus change,10:offers,11:Shipping Tracking details updated\n const FOR_SALE_EVENT_IDS = [7, 10, 11];\n return this.notifications.filter((notification: any) => FOR_SALE_EVENT_IDS.includes(notification?.eventid));\n }\n navToPage(page: string, id: any) {\n this.router.navigate([`/offer/${id}`]);\n this.dialogRef.close();\n }\n changePage(event: PageEvent) {\n this.currentPage = event.pageIndex;\n this.fetchNotifications(event.pageIndex + 1);\n }\n openHelp() {\n const pdfUrl = 'https://help.nextgem.com/help';\n const dialogData = new IframeUrlDialogModel(pdfUrl, 'Help');\n const dialogRef = this.dialog.open(IframeUrlModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'pdf-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(() => {\n console.log('The dialog was closed');\n });\n }\n deleteAll() {\n const URL = `${environment.actioncenterServiceDomain}/${URLConstants.DELETE_ACTION_CENTER_ITEM}`;\n const payload: any = {\n notificationtype: this.notificationtype,\n };\n this.http.post(URL, payload).subscribe((res: any) => {\n if (res?.statusCode === 200) {\n this.notifications = [];\n this.showPagination = false;\n }\n });\n }\n deleteItem(item: any, index: number) {\n const URL = `${environment.actioncenterServiceDomain}/${URLConstants.DELETE_ACTION_CENTER_ITEM}`;\n const payload: any = {\n id: item?.id,\n };\n this.http.post(URL, payload).subscribe((res: any) => {\n if (res?.statusCode === 200) {\n this.notifications.splice(index, 1);\n }\n });\n }\n}\nexport class ActionCenterModalComponentDialog {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-password-strength-checker',\n templateUrl: './password-strength-checker.component.html',\n styleUrls: ['./password-strength-checker.component.scss'],\n})\nexport class PasswordStrengthCheckerComponent implements OnInit {\n @Input() step!: any;\n fieldTextType: boolean = false;\n constructor() {}\n onInputChange(value: string, patterns: any[]) {\n patterns.forEach(pattern => {\n if (pattern.regex.test(value)) {\n pattern.isValid = true;\n } else {\n pattern.isValid = false;\n }\n });\n }\n toggleFieldTextType() {\n this.fieldTextType = !this.fieldTextType;\n }\n ngOnInit(): void {}\n}\n","
\n

Error: 404 Page Not Found

\n

404

\n

Sorry, the page you are looking for can not be accessed
Please check the URL

\n
\n ","\n\n\n\n
\n
\n
\n
\n
\n \"\"\n
\n
\n \"\"\n
\n
\n \n
\n \n
\n
\n
\n

{{cardDetails?.title}}

\n
\n \n \n
\n
\n\n
\n \n \n \n
\n","import { Injectable } from \"@angular/core\";\nimport { Location } from \"@angular/common\";\nimport { Router, NavigationEnd } from \"@angular/router\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class NavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n back(): void {\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl(\"/\");\n }\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-sort-dialog',\n templateUrl: './sort-dialog.component.html',\n styleUrls: ['./sort-dialog.component.scss'],\n})\nexport class SortDialogComponent implements OnInit {\n masterdata: any;\n selectedSort: any;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: SortDialogModel,\n ) {\n this.masterdata = data.masterdata;\n this.selectedSort = data.masterdata?.sort;\n }\n\n ngOnInit(): void {}\n onConfirm(): void {\n this.dialogRef.close(this.selectedSort);\n }\n\n onDismiss(): void {\n this.dialogRef.close(false);\n }\n}\nexport class SortDialogModel {\n constructor(public masterdata: any) {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-set-bio',\n templateUrl: './set-bio.component.html',\n styleUrls: ['./set-bio.component.scss'],\n})\nexport class SetBioComponent implements OnInit {\n @Input() step: any;\n @Input() userDetails!: any;\n constructor(private http: HttpClient) {}\n\n ngOnInit(): void {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`).subscribe(\n (res: any) => {\n // console.log(res);\n this.step[this.step?.key] = res.data?.bio;\n },\n err => {\n console.log(err);\n },\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\nimport { AppConstants } from '../lib/constants/common-constants';\nimport { LocalStorageService } from '../lib/local-storage.service';\nimport { environment } from 'src/environments';\n\n@Injectable()\nexport class FeatureGuard implements CanActivate {\n constructor(private _router: Router, private localStorageService: LocalStorageService) {}\n redirectToCardsdomainName(canViewOnCards: boolean = false) {\n if (canViewOnCards) {\n const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n );\n const subDomainSuffix = environment.deploymentType === 'PRODUCTION' ? '' : `-${environment.environment}`;\n const webReduxWebsiteDomainName = `cards${subDomainSuffix}.${environment.domainName || 'nextgem.com'}`;\n const domain = isLocalhost ? 'http://localhost:4200' : `https://${webReduxWebsiteDomainName}`;\n\n const pathName = location.pathname;\n const search_str = window.location.search;\n const urlWithQueryParam = pathName !== '/' ? `${domain}/${pathName}` : `${domain}`;\n window.location.href = urlWithQueryParam + search_str;\n } else {\n this._router.navigate(['/login']);\n }\n }\n\n canActivate(route: ActivatedRouteSnapshot): any {\n const _userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const isSignUpInProgress = this.localStorageService.getItem(AppConstants.SIGN_UP_INPROGRESS);\n const isLoggedIn = !!_userDetails;\n const featuresflags: any[] = _userDetails?.featuresflags || [];\n // console.log(featuresflags);\n\n const exquisite_cards_view = featuresflags.find(feature => feature?.fgid == 1)?.show;\n if (isLoggedIn && !isSignUpInProgress && exquisite_cards_view) {\n return true;\n }\n this.redirectToCardsdomainName(route?.data?.canViewOnCards);\n return false;\n }\n}\n","import { Component, HostListener } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { combineLatest, Subject, Subscription } from 'rxjs';\nimport { AuthenticationService } from './core/lib/authentication.service';\nimport { AppConstants, navPages } from './core/lib/constants/common-constants';\nimport { LocalStorageService } from './core/lib/local-storage.service';\nimport * as Cookies from 'js-cookie';\nimport { environment } from 'src/environments';\nimport { LoaderService } from './core/Services/loading.service';\nimport { MixpanelService } from './core/Services/mix-panel.service';\nimport { Title } from '@angular/platform-browser';\nimport { PwaService } from './core/Services/pwa.service';\nimport { CleverTapService } from './core/Services/clevertap.service';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { UserService } from './core/Services/user-service';\nimport { appDomainName } from './core/lib/utils';\nimport { DataCacheService } from './core/Services/data-cache.service';\nimport { MatDialogService } from './core/Services/mat-dialog.service';\ndeclare var window: Window & typeof globalThis & { dataLayer: any[]; ReactNativeWebView: any; };\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent {\n // isNativeApp = false;\n isNativeApp$ = new Subject();\n loggedInUserAttributes$ = new Subject();\n title = 'nextgem-web-app';\n getScreenWidth: any;\n isLoggedIn = false;\n canShowHeader = false;\n isOpened = false;\n navItems = navPages;\n private toggleSideNavSubscription!: Subscription;\n routerParamsSubscription: Subscription = new Subscription();\n worker!: Worker;\n isNewNotification: boolean = false;\n isNewOffer = false;\n seenUnseenSubscription: Subscription;\n isTermsAndConditionsOpened = false;\n termsAccepted = false;\n isPageLoaded = false;\n private destroy$ = new Subject();\n @HostListener('window:resize', ['$event']) onWindowResize() {\n this.getScreenWidth = window.innerWidth;\n }\n\n constructor(\n private authenticationService: AuthenticationService,\n private router: Router,\n private localStorageService: LocalStorageService,\n public dialog: MatDialog,\n public loaderService: LoaderService,\n private route: ActivatedRoute,\n private mixpanelService: MixpanelService,\n private titleService: Title,\n public Pwa: PwaService,\n // private leanplumService: LeanplumService,\n private clevertapService: CleverTapService,\n private userService: UserService,\n private dataCacheService: DataCacheService,\n private matDialogService: MatDialogService,\n ) {\n // window.dataLayer = window.dataLayer || [];\n this.clevertapService.init();\n\n this.routerParamsSubscription = this.route.queryParams.subscribe(params => {\n if (params?.path) {\n const decodedPathName = decodeURIComponent(params?.path);\n this.localStorageService.setItem('path_name', decodedPathName);\n console.log(decodedPathName);\n }\n });\n\n this.seenUnseenSubscription = this.userService.offersSeenUnseenStatus.subscribe(res => {\n const data = res?.data;\n this.isNewOffer = data?.buy || data?.sell;\n });\n\n // this.iconService.registerIcons();\n this.getScreenWidth = window.innerWidth;\n this.authenticationService.loginStateObservable.subscribe(async res => {\n this.isLoggedIn = res;\n if (res && !this.isPageLoaded) {\n this.isPageLoaded = true;\n this.getMasterDataAndUserDetails();\n }\n });\n const combinedObservables$ = combineLatest([this.isNativeApp$, this.loggedInUserAttributes$]);\n // Subscribe to the combined observables and perform action when both emit true\n combinedObservables$.subscribe(([isNativeWrapper, userAttr]) => {\n if (isNativeWrapper && userAttr) {\n if (window?.ReactNativeWebView) {\n console.log('native user login');\n const postData = { type: 'LOGIN', data: userAttr };\n const message = JSON.stringify(postData);\n window.ReactNativeWebView.postMessage(message);\n }\n } else {\n console.log(' web login');\n this.clevertapService.onUserLogin(userAttr, userAttr?.Identity);\n }\n });\n\n this.toggleSideNavSubscription = this.authenticationService.toggleStateObservable.subscribe(res => {\n this.isOpened = res;\n });\n\n window.addEventListener('beforeinstallprompt', e => {\n this.Pwa.setPromptEvent(e);\n });\n\n if (window?.ReactNativeWebView?.injectedObjectJson()) {\n const injectedData = JSON.parse(window.ReactNativeWebView.injectedObjectJson());\n this.isNativeApp$.next(injectedData?.isNativeApp);\n console.log(injectedData?.isNativeApp, 'on window load native app');\n this.navItems = this.navItems.filter(nav => nav.id !== 8);\n } else {\n this.isNativeApp$.next(false);\n }\n }\n @HostListener('document:visibilitychange', ['$event'])\n onVisibilityChange(event: Event): void {\n if (document.visibilityState === 'visible') {\n // This code will execute when the tab gains focus\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n if (!userDetails?.tandc && this.isLoggedIn && !this.termsAccepted) {\n this.openTermsOfuseModal();\n }\n }\n }\n installPwa(): void {\n if (this.Pwa.promptEvent) {\n this.Pwa.promptEvent.prompt();\n }\n }\n\n get domainName() {\n return appDomainName();\n }\n\n toggleSideNav() {\n this.authenticationService.toggleSideNav(false);\n }\n onBackdropClick() {\n this.authenticationService.toggleState.next(false);\n }\n closeSidenav() {\n if (this.getScreenWidth < 991) {\n this.dataCacheService.setInitialData();\n this.onBackdropClick();\n }\n }\n\n async ngOnInit(): Promise {\n console.log('on in it');\n window.dataLayer.push({ event: 'web_app_init' });\n this.getScreenWidth = window.innerWidth;\n const result = await this.authenticationService.getScoreAndRankData();\n }\n async getActionCenterWebWorkerInit(userid: string) {\n if (typeof Worker !== 'undefined') {\n this.worker = new Worker('./app.worker', { type: 'module' });\n const headers = { 'x-nextgem-token': environment.adminToken, 'x-nextgem-userid': userid };\n const postData = JSON.stringify({ command: 'start', headers });\n this.worker.postMessage(postData);\n this.worker.onmessage = ({ data }) => {\n if (data?.type === 'notification') {\n this.isNewNotification = data?.data;\n }\n if (data?.type === 'offer_status') {\n // console.log(data);\n this.userService.offersSeenUnseenStatus.next({ data: data?.data, type: 'get' });\n }\n };\n } else {\n // Web Workers are not supported in this environment.\n // You should add a fallback so that your program still executes correctly.\n }\n }\n openActionCenterNotification() {\n this.matDialogService\n .openActionCenterNotification()\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogResult => {\n this.isNewNotification = false;\n if (dialogResult) {\n // Handle the dialog result if needed\n }\n });\n }\n async getMasterDataAndUserDetails() {\n try {\n const res = await this.authenticationService.getCompleteUserDetails();\n if (res) {\n const decodedPathName = this.localStorageService.getItem('path_name');\n if (res?.userid && !res?.otpverified) {\n this.isLoggedIn = false;\n this.authenticationService.loginState.next(false);\n const ID = res?.username === '' || res?.username === null ? 0 : 2;\n this.router.navigate([`update-profile/${res?.userid}/${ID}`]);\n } else {\n this.localStorageService.removeItem('path_name');\n this.isLoggedIn = true;\n }\n this.authenticationService.userState.next(res);\n this.localStorageService.setItem(AppConstants.USER_DATA, res);\n this.titleService.setTitle(`NextGem: ${res?.username || res?.fullname}`);\n const attributes = {\n source: 'Nextgem Web App',\n name: res?.fullname || res?.username,\n email: res?.email,\n phone: res?.phone,\n Identity: res?.userid,\n };\n this.loggedInUserAttributes$.next(attributes);\n // this.clevertapService.onUserLogin(attributes, res?.userid);\n // this.leanplumService.start(attributes, res?.userid);\n\n\n\n const featuresflags: any[] = res?.featuresflags || [];\n const exquisite_cards_view = featuresflags.find(feature => feature?.fgid == 1)?.show;\n const isExquisiteCardsListed = this.navItems.findIndex(nav => nav.id === 8) > -1;\n if (exquisite_cards_view && !isExquisiteCardsListed) {\n this.navItems.push({\n path: '/exquisite-cards',\n name: 'Exquisite Cards',\n icon: 'insert_drive_file',\n id: 8,\n });\n }\n if (decodedPathName) {\n const params = Cookies.get('params');\n if (params) {\n const queryParams = new URLSearchParams(params);\n const paramsData: any = {};\n\n queryParams.forEach((value, key) => {\n paramsData[key] = value;\n });\n this.router.navigate([decodedPathName], { queryParams: paramsData });\n } else {\n this.router.navigate([decodedPathName], { skipLocationChange: false });\n }\n }\n await this.getActionCenterWebWorkerInit(res?.userid);\n this.mixpanelService.init(res);\n this.loaderService.hide();\n // this.branchService.initializeBranch();\n if (!res?.tandc && this.isLoggedIn) {\n setTimeout(async () => {\n if (!this.isTermsAndConditionsOpened && !this.termsAccepted) {\n await this.openTermsOfuseModal();\n }\n this.isTermsAndConditionsOpened = true;\n }, 5000);\n }\n }\n const masterdata = await this.authenticationService.getMasterDataOfCards();\n } catch (error) {\n const keys = Object.keys(localStorage);\n const userNamekey: string =\n keys.find(key => key.startsWith('CognitoIdentityServiceProvider.') && key.endsWith('.LastAuthUser')) ||\n '';\n const U_Name = this.localStorageService.getItem(userNamekey);\n this.localStorageService.setItem(AppConstants.USER_NAME, U_Name);\n }\n }\n openSupportModel() {\n this.matDialogService\n .openSupportModel()\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogResult => {\n if (dialogResult) {\n }\n });\n }\n async openTermsOfuseModal() {\n this.matDialogService\n .openTermsOfuseModal()\n .pipe(takeUntil(this.destroy$))\n .subscribe(dialogResult => {\n if (dialogResult) {\n this.termsAccepted = true;\n }\n });\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.toggleSideNavSubscription) {\n this.toggleSideNavSubscription.unsubscribe();\n }\n if (this.routerParamsSubscription) {\n this.routerParamsSubscription.unsubscribe();\n }\n if (this.worker) {\n this.worker.terminate();\n }\n if (this.seenUnseenSubscription) {\n this.seenUnseenSubscription.unsubscribe();\n }\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Component, ElementRef, Input, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\n\ninterface cardDetails {\n text: string;\n title: string;\n}\n\n@Component({\n selector: 'app-card-view-web',\n templateUrl: './card-view-web.component.html',\n styleUrls: ['./card-view-web.component.scss'],\n animations: [\n trigger('slideInOut', [\n transition(':enter', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-in', style({ transform: 'translateX(0%)' })),\n ]),\n transition(':leave', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n ]),\n ],\n})\nexport class CardViewWebComponent implements OnInit {\n @Input() cardDetails: any;\n @ViewChild('widgetsContent', { static: false })\n widgetsContent: ElementRef | any;\n @Input() source: string | any;\n @Output() setCard: EventEmitter = new EventEmitter();\n @Output() copyInputMessage: EventEmitter = new EventEmitter();\n @Output() eventToParent: EventEmitter = new EventEmitter();\n isImageExpanded: boolean = false;\n isShareClicked: boolean = false;\n _userDetails: any;\n\n constructor(private authenticationService: AuthenticationService, private router: Router) {}\n\n async ngOnInit() {\n this._userDetails = await this.authenticationService.getCompleteUserDetails();\n }\n sendEventToparent(eventType: string) {\n this.eventToParent.emit(eventType);\n }\n openFullImage() {\n this.isImageExpanded = !this.isImageExpanded;\n }\n\n scrollLeft() {\n this.widgetsContent.nativeElement.scrollLeft -= 300;\n\n let scrollLeft = this.widgetsContent.nativeElement.scrollLeft;\n\n if (scrollLeft < 300) {\n this.cardDetails.slideLeftArrow = false;\n this.cardDetails.slideRightArrow = true;\n } else {\n this.cardDetails.slideLeftArrow = true;\n this.cardDetails.slideRightArrow = true;\n }\n }\n\n scrollRight() {\n this.widgetsContent.nativeElement.scrollLeft += 300;\n\n let offsetWidth = this.widgetsContent.nativeElement.offsetWidth;\n let scrollLeft = this.widgetsContent.nativeElement.scrollLeft;\n let scrollWidth = this.widgetsContent.nativeElement.scrollWidth;\n\n if (scrollWidth - (offsetWidth + scrollLeft) < 300) {\n this.cardDetails.slideLeftArrow = true;\n this.cardDetails.slideRightArrow = false;\n } else {\n this.cardDetails.slideLeftArrow = true;\n this.cardDetails.slideRightArrow = true;\n }\n }\n\n scrollCollectionLeft() {\n let leftScroll: any = document.getElementById('collectionScroll');\n leftScroll.scrollLeft -= 1000;\n }\n\n scrollCollectionRight() {\n let rightScroll: any = document.getElementById('collectionScroll');\n rightScroll.scrollLeft += 1000;\n }\n\n selCardDetails(cid: any) {\n this.setCard.emit(cid);\n }\n\n viewImage(tagIndx: any) {\n let sliderTag = document.getElementsByClassName('desk slider-img');\n for (var i: any = 0; i < sliderTag.length; i++) {\n sliderTag[i].classList.remove('card-active');\n if (i == tagIndx) {\n sliderTag[i].classList.add('card-active');\n }\n }\n\n this.cardDetails.presentImageIndx = tagIndx;\n }\n\n copyMessage(value: any) {\n this.copyInputMessage.emit(value);\n }\n\n isShareViewEnabled() {\n this.isShareClicked = !this.isShareClicked;\n }\n\n magnify(zoom: any) {\n let img: any = document.getElementById('myimage');\n let result: any = document.getElementById('myresult');\n let cx: any;\n let cy: any;\n\n /*create magnifier glass:*/\n let glass: any = document.createElement('DIV');\n glass.setAttribute('class', 'img-magnifier-glass');\n\n /*insert magnifier glass:*/\n img.parentElement.insertBefore(glass, img);\n result.style.backgroundImage = \"url('\" + img.src + \"')\";\n result.style.backgroundRepeat = 'no-repeat';\n result.style.backgroundSize = img.offsetWidth * zoom + 'px ' + img.offsetHeight * zoom + 'px';\n cx = 2;\n cy = 2;\n\n /*execute a function when someone moves the magnifier glass over the image:*/\n glass.addEventListener('mousemove', moveMagnifier);\n img.addEventListener('mousemove', moveMagnifier);\n glass.addEventListener('touchmove', moveMagnifier);\n img.addEventListener('touchmove', moveMagnifier);\n glass.addEventListener('touchenter', moveMagnifier);\n img.addEventListener('touchenter', moveMagnifier);\n glass.addEventListener('mouseenter', mouseenter);\n img.addEventListener('mouseenter', mouseenter);\n glass.addEventListener('mouseleave', removeMagnifier);\n img.addEventListener('mouseleave', removeMagnifier);\n glass.addEventListener('touchleave', removeMagnifier);\n img.addEventListener('touchleave', removeMagnifier);\n\n function moveMagnifier(e: any) {\n var pos, x, y;\n /* Prevent any other actions that may occur when moving over the image */\n e.preventDefault();\n /* Get the cursor's x and y positions: */\n pos = getCursorPos(e);\n /* Calculate the position of the lens: */\n x = pos.x - glass.offsetWidth / 2;\n y = pos.y - glass.offsetHeight / 2;\n /* Prevent the lens from being positioned outside the image: */\n if (x > img.width - glass.offsetWidth) {\n x = img.width - glass.offsetWidth;\n }\n if (x < 0) {\n x = 0;\n }\n if (y > img.height - glass.offsetHeight) {\n y = img.height - glass.offsetHeight;\n }\n if (y < 0) {\n y = 0;\n }\n /* Set the position of the lens: */\n glass.style.left = x + 'px';\n glass.style.right = y + 'px';\n glass.style.top = y + 'px';\n glass.style.bottom = x + 'px';\n /* Display what the lens \"sees\": */\n result.style.backgroundPosition = '-' + x * cx + 'px -' + y * cy + 'px';\n }\n\n function mouseenter(e: any) {\n result.style.backgroundImage = \"url('\" + img.src + \"')\";\n result.style.backgroundSize = img.width * cx + 'px ' + img.height * cy + 'px';\n result.style.display = 'block';\n }\n\n function removeMagnifier(e: any) {\n var none = '';\n glass.style.backgroundImage = \"url('\" + none + \"')\";\n result.style.backgroundImage = \"url('\" + none + \"')\";\n result.style.display = 'none';\n }\n\n function getCursorPos(e: any) {\n var a,\n x = 0,\n y = 0;\n e = e || window.event;\n /*get the x and y positions of the image:*/\n a = img.getBoundingClientRect();\n /*calculate the cursor's x and y coordinates, relative to the image:*/\n x = e.pageX - a.left;\n y = e.pageY - a.top;\n /*consider any page scrolling:*/\n x = x - window.pageXOffset;\n y = y - window.pageYOffset;\n return { x: x, y: y };\n }\n }\n\n get userName() {\n return this.authenticationService.userName;\n }\n\n get userId() {\n return this.authenticationService.userId;\n }\n\n onEditCardClicked() {\n const cardId = this.cardDetails.cardid;\n this.router.navigate([`update-card/${cardId}`]);\n }\n\n onImgError(event: any) {\n event.target.src = this.cardDetails['sendOfferPlaceholderImage'];\n }\n}\n","

\n \n Offer History\n \n \n

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DateOffer StatusOffer AmountNotesAction Taken By
{{history?.createdAt | date : 'dd-MM-YYYY'}}{{history?.offerstatuslabel}}\n \n ${{getOfferAmount(history) |\n commaSeparatedNumber}}\n {{history?.notes}}{{history?.actiontakenby}}
\n
\n \n \n \n
\n
","import { Component } from '@angular/core';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss'],\n})\nexport class LoadingComponent {\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n isLoading: Subject = this.loaderService.isLoading;\n\n constructor(private loaderService: LoaderService) {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-eula',\n templateUrl: './eula.component.html',\n styleUrls: ['./eula.component.scss'],\n})\nexport class EulaComponent implements OnInit {\n constructor(public dialogRef: MatDialogRef) {}\n\n ngOnInit() {}\n\n onConfirm(): void {\n // Close the dialog, return true\n this.dialogRef.close(true);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, from, Observable, throwError } from 'rxjs';\nimport { catchError, filter, finalize, switchMap, take } from 'rxjs/operators';\nimport { AuthenticationService } from '../lib/authentication.service';\nimport { AppConstants, HttpStatusCode } from '../lib/constants/common-constants';\nimport { LocalStorageService } from '../lib/local-storage.service';\nimport { Auth, Hub } from 'aws-amplify';\nimport { LoaderService } from './loading.service';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n private refreshingInProgress: boolean = false;\n private accessTokenSubject: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(\n private localStorageService: LocalStorageService,\n private _authService: AuthenticationService,\n private _authenticationService: AuthenticationService,\n private __loaderService: LoaderService,\n ) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n let accessToken = '';\n return from(Auth.currentSession()).pipe(\n switchMap(session => {\n accessToken = session.getIdToken().getJwtToken();\n if (accessToken && !req.url.includes('amazonaws')) {\n req = req.clone({\n setHeaders: {\n Authorization: `Bearer ${accessToken}`,\n // 'x-nextgem-usertype': '2',\n },\n });\n }\n if (req.url.includes('clevertap_sw.js')) {\n req = req.clone({\n setHeaders: {\n 'Content-Type': `application/javascript`,\n },\n });\n }\n // req = req.clone({\n // setHeaders: {\n // Authorization: `Bearer ${accessToken}`,\n // },\n // });\n return next.handle(req).pipe(\n catchError((err: any) => {\n this.__loaderService.hide();\n // in case of 401 http error\n if (err instanceof HttpErrorResponse && err.status === HttpStatusCode.UN_AUTHORIZED_ACCESS) {\n // get refresh tokens\n const refreshToken = this.localStorageService.getItem(AppConstants.REFRESH_TOKEN);\n\n // if there are tokens then send refresh token request\n if (refreshToken && accessToken) {\n return this.refreshToken(req, next);\n }\n\n // otherwise logout and redirect to login page\n return this.logoutAndRedirect(err);\n }\n\n // in case of 403 http error (refresh token failed)\n if (err instanceof HttpErrorResponse && err.status === HttpStatusCode.GATEWAY_TIME_OUT) {\n // logout and redirect to login page\n return this.logoutAndRedirect(err);\n }\n // if error has status neither 401 nor 403 then just return this error\n return throwError(err);\n }),\n );\n }),\n catchError(error => {\n return next.handle(req);\n // handle session not found error\n // return throwError(error);\n }),\n );\n }\n\n private addAuthorizationHeader(request: HttpRequest, token: string): HttpRequest {\n if (token) {\n return request.clone({\n setHeaders: { Authorization: `Bearer ${token}` },\n });\n }\n\n return request;\n }\n\n private logoutAndRedirect(err: HttpErrorResponse): Observable> {\n this._authenticationService.logout(true);\n return throwError(err);\n }\n\n private refreshToken(request: HttpRequest, next: HttpHandler): Observable> {\n if (!this.refreshingInProgress) {\n console.warn('refresh in not progress');\n this.refreshingInProgress = true;\n this.accessTokenSubject.next(null);\n\n return this._authService.refreshToken().pipe(\n switchMap((res: any) => {\n this.refreshingInProgress = false;\n this.accessTokenSubject.next(res.Token);\n // repeat failed request with new token\n return next.handle(this.addAuthorizationHeader(request, res.Token));\n }),\n finalize(() => {\n this.refreshingInProgress = false;\n }),\n );\n } else {\n console.warn('refresh in progress');\n // wait while getting new token\n return this.accessTokenSubject.pipe(\n filter(token => token !== null),\n take(1),\n switchMap(token => {\n // repeat failed request with new token\n return next.handle(this.addAuthorizationHeader(request, token));\n }),\n );\n }\n }\n}\n","\n\n
\n
\n \n \n \n \n \n \n\n \n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \"\"\n \"\"\n\n \n
\n
\n \n \n \n
\n
\n \n \"\"\n \"\"\n\n \n
\n
\n
\n
\n\n
\n \n
\n \n

Comps

\n
\n\n \n\n
\n \n

Share

\n
\n
\n \n \n

Watch

\n
\n
\n\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n \n
\n
","
\n
\n \"HTML\n
\n
\n
\n \n
\n
\n keyboard_backspace\n
\n

Forgot Password

\n

Change Password

\n
\n
\n
\n
\n \n \n Note: You cannot change the password for\n a social sign-in account. If you signed in using your social media account\n (e.g., Google or Facebook)\n
\n

{{errorMessage}}

\n \n
\n \n
\n
\n \n \n \n \n {{fieldTextType2 ? 'visibility_off' : 'visibility'}}\n \n \n
\n \n
Code is\n required.
\n
\n
\n \n \n \n \n {{fieldTextType ? 'visibility_off' : 'visibility'}}\n \n \n
\n \n
Password is\n required.
\n
\n
\n
Your password must contain atleast:
\n
\n {{item.label}}\n
\n
\n
\n
\n
\n \n \n \n \n {{fieldTextType1 ? 'visibility_off' : 'visibility'}}\n \n \n
\n
\n Passwords do not match.\n
\n

{{errorMessage}}

\n

\n \n

\n \n \n\n \n","
\n \"Cinque\n \n \n \n \n
\n ","
\n

{{inlineModalType}}

\n \n close\n \n
\n
\n

Purchase Protection

\n

\n This offer is non-binding and expires in 3 days. If the seller accepts this offer, you will be notified to\n submit your\n payment. Learn More\n

\n

\n Buy with confidence. We hold your payment for a certain period of time in order for you to verify your\n purchase. Learn More\n

\n

Fees

\n

\n Learn More about fees and taxes.\n

\n

Shipping

\n

\n Shipping is not included.Learn More\n

\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'dateAgo',\n pure: true,\n})\nexport class DateAgoPipe implements PipeTransform {\n transform(value: any, args?: any): any {\n if (value) {\n const seconds = Math.floor((Date.now() - new Date(value).getTime()) / 1000);\n let interval = Math.floor(seconds / 31536000); // years\n\n if (interval >= 1) {\n return interval === 1 ? '1 year ago' : interval + ' years ago';\n }\n\n interval = Math.floor(seconds / 2592000); // months\n if (interval >= 1) {\n return interval === 1 ? '1 month ago' : interval + ' months ago';\n }\n\n interval = Math.floor(seconds / 86400); // days\n if (interval >= 1) {\n return interval === 1 ? '1 day ago' : interval + ' days ago';\n }\n\n interval = Math.floor(seconds / 3600); // hours\n if (interval >= 1) {\n return interval === 1 ? '1 hour ago' : interval + ' hours ago';\n }\n\n interval = Math.floor(seconds / 60); // minutes\n if (interval >= 1) {\n return interval === 1 ? '1 minute ago' : interval + ' minutes ago';\n }\n\n return 'Just now';\n }\n return value;\n }\n}\n","import { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport {\n NextGemFormControlType,\n addToCollectionSummaryFormData,\n addToCollectionAdvancedFormData,\n} from '@approot/core/lib/constants/form-constants';\nimport { validateAllFormFields } from '@approot/core/lib/utils';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-summary-form',\n templateUrl: './summary-form.component.html',\n styleUrls: ['./summary-form.component.scss'],\n animations: [\n trigger('flipState', [\n state(\n 'active',\n style({\n transform: 'rotateY(180deg)',\n }),\n ),\n state(\n 'inactive',\n style({\n transform: 'rotateY(0)',\n }),\n ),\n transition('active => inactive', animate('500ms ease-out')),\n transition('inactive => active', animate('500ms ease-in')),\n ]),\n ],\n})\nexport class SummaryFormComponent implements OnChanges {\n @Input() isUpdate!: boolean;\n @Input() cardDetails!: any;\n @Output() onNextStepEmitter = new EventEmitter();\n @Output() onCardStatusChangeEmitter = new EventEmitter();\n @Output() onDismissEmitter = new EventEmitter();\n sampleFormData: NextGemFormControlType[] = [];\n summaryForm: FormGroup = new FormGroup({});\n flip: string = 'inactive';\n isReadyToEdit = false;\n constructor(\n private formBuilder: FormBuilder,\n private snackbarService: SnackbarService,\n private authService: AuthenticationService,\n ) {\n this.sampleFormData = [...addToCollectionSummaryFormData, ...addToCollectionAdvancedFormData];\n }\n onNextStep() {\n // console.log(this.summaryForm.value);\n\n if (this.summaryForm.valid) {\n let values = { current: 1, dataKey: 'summary', data: this.summaryForm.getRawValue() };\n // values.data['links'] = [values.data['links']];\n\n this.onNextStepEmitter.emit(values);\n } else {\n validateAllFormFields(this.summaryForm);\n const description = `Please fill in the required fields highlighted with a red border and submit`;\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n }\n }\n onDismiss() {\n this.onDismissEmitter.emit(true);\n }\n async ngOnInit() {\n let sampleFormDataClone = this.sampleFormData;\n const masterdata = await this.authService.getMasterDataOfCards();\n const CARD_STATUS_INDEX = sampleFormDataClone.findIndex(form => form.name === 'cardstatus');\n if (CARD_STATUS_INDEX > -1) {\n let cardstatus: any[] = masterdata?.cardstatus || [];\n const SALE_PENDING_STATUS_INDEX = cardstatus.findIndex(\n (status: any) => String(status?.name).toLowerCase() === 'sales pending',\n );\n if (SALE_PENDING_STATUS_INDEX > -1) {\n cardstatus.splice(SALE_PENDING_STATUS_INDEX, 1);\n }\n sampleFormDataClone[CARD_STATUS_INDEX].options = cardstatus.map((status: any) => ({\n name: status?.name,\n value: status?.name,\n disabled: String(status?.name).toLowerCase() === 'sales pending' ? true : false,\n }));\n }\n const GENRE_INDEX = sampleFormDataClone.findIndex(form => form.name === 'genre');\n if (GENRE_INDEX > -1) {\n let cardstatus = masterdata?.genre || [];\n sampleFormDataClone[GENRE_INDEX].options = cardstatus.map((status: any) => ({\n name: status?.name,\n value: status?.name,\n disabled: false,\n }));\n }\n const TAGS_INDEX = sampleFormDataClone.findIndex(form => form.name === 'tags');\n if (TAGS_INDEX > -1) {\n let cardstatus = masterdata?.tags || [];\n sampleFormDataClone[TAGS_INDEX].options = cardstatus.map((status: any) => ({\n name: status?.name,\n value: status?.name,\n disabled: false,\n }));\n }\n this.sampleFormData = sampleFormDataClone;\n // console.log(sampleFormDataClone);\n\n this.updateFormData();\n }\n updateFormData() {\n // let formGroupItems: any = {};\n // for (let index = 0; index < this.sampleFormData.length; index++) {\n // const element = this.sampleFormData[index];\n // const value = this.isUpdate\n // ? this.cardDetails?.[element.name] !== null\n // ? this.cardDetails?.[element.name]\n // : undefined\n // : this.cardDetails?.rawcardocr?.[element?.prefillKeyName]?.[0] || undefined;\n // let pattern = element.pattern;\n // pattern[0] = value;\n // formGroupItems[element.name] = pattern;\n // }\n // this.summaryForm = this.formBuilder.group(formGroupItems);\n this.summaryForm = this.buildFormGroup(this.sampleFormData);\n // console.log(this.summaryForm, 'summary form');\n\n this.isReadyToEdit = true;\n this.summaryForm.controls['cardstatus'].valueChanges.subscribe(res => {\n this.onCardStatusChangeEmitter.emit(res);\n });\n }\n toggleFlip() {\n this.flip = this.flip == 'inactive' ? 'active' : 'inactive';\n }\n getPatternAndValue(element: any) {\n const value = this.isUpdate\n ? this.cardDetails?.[element.name] !== null\n ? this.cardDetails?.[element.name]\n : undefined\n : this.cardDetails?.rawcardocr?.[element?.prefillKeyName]?.[0] || undefined;\n let pattern = element.pattern;\n pattern[0] = value;\n return pattern;\n }\n patchValues(formGroupConfig: any, dataArray: any) {\n if (Array.isArray(dataArray)) {\n dataArray.forEach(element => {\n if (element.type === 'addLink') {\n formGroupConfig[element.name] = this.buildFormArray(element.links);\n } else if (element.type === 'tabs') {\n this.patchValues(formGroupConfig, element.items);\n } else {\n formGroupConfig[element.name] = this.getPatternAndValue(element);\n }\n\n if (element?.canToggleHighlights) {\n formGroupConfig['highlightsstatus'] = !this.isUpdate ? [false] : this.cardDetails?.highlightsstatus;\n }\n });\n } else {\n formGroupConfig[dataArray.name] = this.getPatternAndValue(dataArray);\n }\n }\n buildFormGroup(dataArray: any): FormGroup {\n const formGroupConfig: any = {};\n this.patchValues(formGroupConfig, dataArray);\n\n return this.formBuilder.group(formGroupConfig);\n }\n\n buildFormArray(dataArray: any[]): FormArray {\n let formGroupConfig: any = {};\n const links = this.cardDetails?.links?.[0];\n if (this.isUpdate && links) {\n formGroupConfig = links;\n } else {\n dataArray.forEach(dataObj => {\n formGroupConfig[dataObj.name] =\n dataObj.name === 'socialid' ? Number(dataObj.pattern[0]) : this.getPatternAndValue(dataObj);\n });\n }\n return this.formBuilder.array([this.formBuilder.group(formGroupConfig)]);\n }\n\n ngOnChanges() {\n // this.updateFormData();\n }\n}\n","
\n

\n \n keyboard_backspace\n \n \n Offers Details\n \n

\n
\n \n replay\n \n
\n \n \n\n \n

\n \n {{cardTitle(selectedOffer)}}\n \n\n

\n
\n\n
\n

Deal Status:\n\n

\n

\n \n {{selectedOffer.offerstatuslabel}}\n \n

\n
\n
\n

Offer Made On:\n\n

\n

\n {{selectedOffer?.offermadedate}}\n

\n
\n \n
\n

Expires In:\n

\n

\n {{selectedOffer?.expiry}}\n

\n
\n \n \n \n \n \n
\n

{{notesFieldLabel}}:\n

\n

\n {{selectedOffer?.offermessage}}\n

\n
\n
\n

Tracking URL:\n

\n

\n {{shipmentTrackingText}}\n

\n
\n
\n

\n edit\n Shipment Tracking Details\n

\n
\n
\n

\n Shipping Address\n arrow_right\n

\n
\n
\n\n\n
\n Awaiting Approval\n
\n\n\n \n\n
\n Congratulations - You Made a Deal! Watch your e-mail for payment details.\n
\n \n \n \n\n\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n\n
\n
\n \n \n \n \n\n
\n\n \n \n
\n
\n
\n\n\n \n
\n
\n

\n \n Offer History\n \n

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DateOffer StatusOffer AmountNotesAction Taken By
{{history?.createdAt | date : 'MM/dd/YYYY,hh:mm a'}}\n {{history?.offerstatuslabel}}\n \n ${{getOfferAmount(history) |\n commaSeparatedNumber}}\n {{history?.notes}}{{actionTakenByLabel(history?.actiontakenby)}}
\n
\n \n \n \n
\n
\n
\n
\n
","
\n
\n

Support

\n \n
\n
\n
\n
    \n
  • Change Password
  • \n
  • Contact Us
  • \n
  • Help
  • \n
  • Content Preferences
  • \n
  • \n Terms of Use &\n Privacy Policy\n \n
  • \n
  • Delete Account
  • \n
\n
    \n
  • Sign Out
  • \n
  • Delete Account
  • \n
\n
\n
\n
\n
\n
\n keyboard_backspace\n
\n

Change Password

\n
\n
\n\n
\n \n \n \n {{fieldTextType ? 'visibility_off' : 'visibility'}}\n \n \n
\n
\n \n \n \n {{fieldTextType1 ? 'visibility_off' : 'visibility'}}\n \n \n
\n
\n
Your password must contain atleast:
\n
\n {{item.label}}\n
\n
\n
\n {{errorMessage}}\n
\n \n
\n
\n
\n
\n
\n keyboard_backspace\n
\n

Contact Us

\n
\n
\n
\n \n
\n \n
\n
\n\n
\n
\n
\n keyboard_backspace\n
\n

Content preferences

\n
\n
\n
\n
\n
    \n
  • \n
    \n
    \n \n
    \n {{card.name}}\n
    \n
  • \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n keyboard_backspace\n
\n

Terms of Use

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n keyboard_backspace\n
\n

Privacy Policy

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n keyboard_backspace\n
\n

Help

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { environment } from 'src/environments';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n})\nexport class ProfileComponent implements OnInit {\n secondaryUserId: string | null = null;\n secondaryUserName: string | null = null;\n isloading = false;\n searchTextForModel: string = '';\n searchCardsState = new Subject();\n searchEvent: any = undefined;\n selectedTab = 0;\n isSecondaryUserNotFound = false;\n constructor(private route: ActivatedRoute, private _http: HttpClient) {}\n\n ngOnInit(): void {\n this.secondaryUserId = this.route.snapshot.paramMap.get('userid');\n this.secondaryUserName = this.route.snapshot.paramMap.get('username');\n const userNameOnly = this.route.snapshot.paramMap.get('userNameOnly');\n if (userNameOnly) {\n this.isloading = true;\n this._http\n .get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_NAME}/${userNameOnly}`)\n .subscribe(\n (res: any) => {\n this.isloading = res?.data?.userid ? false : true;\n this.secondaryUserId = res?.data?.userid;\n this.secondaryUserName = userNameOnly;\n this.isSecondaryUserNotFound = res?.data?.userid ? false : true;\n },\n err => {\n this.isloading = true;\n this.isSecondaryUserNotFound = true;\n },\n );\n }\n\n this.searchCardsState.pipe(debounceTime(500), distinctUntilChanged()).subscribe(searchText => {\n if (searchText === 'clear') {\n this.searchTextForModel = '';\n this.searchEvent = { text: '', id: uuidv4(), clear: true };\n } else if (searchText !== undefined) {\n this.searchEvent = { text: searchText, id: uuidv4() };\n }\n });\n }\n onTabClick(event: any) {\n this.selectedTab = event?.index;\n if (event?.index === 2) {\n this.searchTextForModel = '';\n this.updateSearchState('');\n }\n }\n updateSearchState(searchText: string) {\n this.searchCardsState.next(searchText);\n }\n onInputClick(event: Event): void {\n // Prevent the event from propagating to the tab header\n event.stopPropagation();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-share-card',\n templateUrl: './share-card.component.html',\n styleUrls: ['./share-card.component.scss']\n})\nexport class ShareCardComponent implements OnInit {\n @Input() cardDetails: any;\n @Output() isShareViewEnabled: EventEmitter = new EventEmitter();\n\n frontImg: string = '';\n backImg: string = '';\n imageUrl: any = environment.imageURL + '/';\n imageArray: Array = [];\n\n constructor() { }\n\n ngOnInit(): void {\n this.backImg = this.imageUrl + this.cardDetails?.cardid + this.cardDetails?.backimages?.perspectivecorrected;\n this.frontImg = this.imageUrl + this.cardDetails?.cardid + this.cardDetails?.frontimages?.perspectivecorrected;\n\n this.imageArray = [\n [\n {\n imageSrc: [{ src: this.frontImg, class: '' }],\n classNames: ''\n },\n {\n imageSrc: [{ src: this.frontImg, class: 'rotate-270' }],\n classNames: ''\n },\n {\n imageSrc: [{ src: this.frontImg, class: 'rotate-270' }, { src: this.backImg, class: 'rotate-90' }],\n classNames: ''\n }\n ], [\n {\n imageSrc: [{ src: this.frontImg, class: '' }, { src: this.backImg, class: '' }],\n classNames: ''\n },\n {\n imageSrc: [{ src: this.frontImg, class: '' }, { src: this.backImg, class: 'rotate-270' }],\n classNames: ''\n },\n {\n imageSrc: [{ src: this.frontImg, class: 'rotate-270' }, { src: this.backImg, class: '' }],\n classNames: ''\n }\n ]\n ];\n }\n\n onClose() {\n this.isShareViewEnabled.emit();\n }\n\n}\n\n","import { environment } from 'src/environments/environment';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, first, take } from 'rxjs/operators';\nimport { SearchSortFilterService } from '@approot/core/lib/search-sort-filter.service';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants, ISearchSortFilter } from '@approot/core/lib/constants/common-constants';\nimport { isObjectEmpty } from '@approot/core/lib/utils';\nimport { ActivatedRoute } from '@angular/router';\nimport { DataCacheService } from '@approot/core/Services/data-cache.service';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { includeExquisiteCardsKey } from '@approot/core/lib/constants/form-constants';\ntype IviewAllType = 'members' | 'cards' | '';\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss'],\n})\nexport class SearchComponent implements OnInit {\n trendingList: any[] = [];\n searchTab: string = 'recent';\n searchText: string = '';\n searchTextForModel: string = '';\n searchTextSubscripttion: Subscription = new Subscription();\n recentSearchSubscripttion: Subscription = new Subscription();\n searchSortFilterStateSubscripttion: Subscription = new Subscription();\n viewAllType: IviewAllType = '';\n searchResults: any = null;\n savedSearchCards: any[] = [];\n masterData: any = null;\n recentSearch: string[] = [];\n currentPage = 0;\n pageSize = 20;\n searchSortFilterState = {} as ISearchSortFilter;\n showSavedRecentSearch = false;\n isSavedSearch = null;\n private queryParamsSubscription: Subscription = new Subscription();\n constructor(\n private http: HttpClient,\n private searchSortFilterService: SearchSortFilterService,\n private authenticationService: AuthenticationService,\n private route: ActivatedRoute,\n private dataCacheService: DataCacheService,\n private localStorageService: LocalStorageService,\n ) {}\n\n ngOnInit(): void {\n this.getTrendingList();\n this.getSavedSearchCards();\n this.searchTextSubscripttion = this.searchSortFilterService.searchTextState\n .pipe(debounceTime(800), distinctUntilChanged())\n .subscribe(searchText => {\n this.searchText = searchText;\n this.currentPage = 0;\n this.applySearchFilter();\n });\n this.recentSearchSubscripttion = this.searchSortFilterService.recentSearch.subscribe((res: string[]) => {\n this.recentSearch = res;\n });\n this.searchSortFilterStateSubscripttion = this.searchSortFilterService.searchSortFilterState\n .pipe(take(1))\n .subscribe(filters => {\n this.searchSortFilterState = filters;\n });\n // const searchInput = this.route.snapshot.paramMap.get('searchInput');\n this.queryParamsSubscription = this.route.queryParams.subscribe(params => {\n if (params?.data) {\n const data = JSON.parse(params.data);\n this.selectTrendingList(data, true);\n } else {\n let activeParams = params;\n // console.log(JSON.parse(params.param));\n if (params?.param) {\n activeParams = params?.param;\n }\n const _isparams = Object.values(activeParams).length;\n if (_isparams) {\n let filterState: any = this.searchSortFilterService.getFilterValueFromQueryParams(\n activeParams,\n this.masterData?.sortoptions,\n );\n this.selectTrendingList(filterState, true);\n }\n }\n if (!params || (typeof params === 'object' && !Object.keys(params)?.length)) {\n const _cacheData = this.dataCacheService.getData('search');\n // console.log('search for the saved page', _cacheData);\n if (_cacheData) {\n this.searchResults = _cacheData?.res;\n this.currentPage = _cacheData?.currentPage;\n this.pageSize = _cacheData?.pageSize;\n this.viewAllType = _cacheData?.viewAll;\n this.searchText = _cacheData?.searchText;\n this.searchResults['currentPage'] = _cacheData?.currentPage;\n this.searchResults['pageSize'] = _cacheData?.pageSize;\n if (_cacheData?.filters) {\n this.searchSortFilterService.searchSortFilterState.next(_cacheData?.filters);\n }\n }\n }\n });\n // if (searchInput) {\n // this.searchSortFilterService.searchTextState.next(searchInput);\n // }\n }\n actionEmitFromSearch(event: any) {\n switch (event?.type) {\n case 'deleteSavedSearch':\n this.removeSavedSearch(event?.data?.item, event?.data?.index);\n break;\n case 'selectSavedSearch':\n this.onSaveSearchApplyFilters(event?.data);\n break;\n case 'selectRecentSearch':\n this.onRecentSearch(event?.data);\n break;\n case 'savedSearchUpdated':\n this.getSavedSearchCards();\n break;\n case 'showSavedRecentSearch':\n this.searchResults = null;\n this.showSavedRecentSearch = true;\n this.viewAllType = '';\n this.searchText = '';\n this.searchTextForModel = '';\n break;\n case 'unSavedSearch':\n this.isSavedSearch = null;\n this.removeSavedSearch({ id: event?.data });\n this.getSavedSearchCards();\n break;\n case 'isSearchSaved':\n this.isSavedSearch = event?.data;\n break;\n default:\n break;\n }\n }\n updateSearchState(searchText: string) {\n this.currentPage = 0;\n if (searchText === '') {\n }\n this.searchSortFilterService.searchTextState.next(searchText);\n }\n globalSearch() {\n this.searchSortFilterService.globalSearchApi(this.searchText).subscribe((res: any) => {\n let data = res?.data;\n data['currentPage'] = 0;\n this.searchResults = { ...data };\n this.viewAllType = '';\n });\n }\n get isExquisiteCardsEnabled() {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const featuresflags: any[] = userDetails?.featuresflags || [];\n return featuresflags.find(feature => feature?.fgid == 1)?.show;\n }\n applySearchFilter() {\n if (this.viewAllType === 'cards') {\n const payload: any = this.searchSortFilterService.getfilterPayload(\n {\n keyword: this.searchText,\n page: 1,\n pagesize: this.pageSize,\n },\n this.isExquisiteCardsEnabled,\n );\n this.discoverySearchCards(payload);\n } else if (this.viewAllType === 'members') {\n this.viewAll({ type: 'members', page: 1, pagesize: this.pageSize });\n } else {\n this.globalSearch();\n }\n let recentSearchList = [...this.recentSearch];\n recentSearchList.push(this.searchText);\n recentSearchList = recentSearchList.filter((item, index, arr) => arr.indexOf(item) === index);\n this.searchSortFilterService.recentSearch.next(recentSearchList);\n }\n // view all type from search results either cards or members\n viewAll(event: any) {\n const type = event?.type;\n const page = event.page;\n this.pageSize = event?.pageSize || 20;\n if (type === 'cards') {\n const payload: any = this.searchSortFilterService.getfilterPayload(\n {\n keyword: this.searchText,\n page,\n pagesize: this.pageSize,\n },\n this.isExquisiteCardsEnabled,\n );\n this.discoverySearchCards(payload);\n } else if (type === 'members') {\n this.searchSortFilterService\n .globalSearchApi(this.searchText, 'users', page, this.pageSize)\n .subscribe((res: any) => {\n this.viewAllType = type;\n let data = res?.data;\n data['currentPage'] = page - 1;\n this.searchResults = { ...data };\n });\n }\n }\n onRecentSearch(searchText: string) {\n this.showSavedRecentSearch = false;\n this.searchText = searchText;\n this.applySearchFilter();\n }\n onSaveSearchApplyFilters(filters: any) {\n this.showSavedRecentSearch = false;\n let filtersfromSave: any = this.searchSortFilterService.getfilterPayload(filters, this.isExquisiteCardsEnabled);\n this.searchText = filtersfromSave.keyword;\n this.searchSortFilterService.searchSortFilterState.next(filtersfromSave);\n // filtersfromSave['updatedAt'] = filters?.updatedAt;\n const additionalKeys = {\n savedsearchid: filters?.id,\n newcardscount: filters?.newcardscount,\n updatedAt: filters?.updatedAt,\n };\n if (filters?.newcardscount > 0) {\n filtersfromSave = { ...filtersfromSave, ...additionalKeys };\n }\n this.discoverySearchCards(filtersfromSave);\n this.isSavedSearch = filters?.id;\n }\n removeSavedSearch(filter: any, index?: number) {\n const URL = `${environment.cardServiceDomain}/${URLConstants.REMOVE_SEARCH_HISTORY}/${filter?.id}`;\n this.http.get(URL).subscribe(res => {\n if (index) {\n this.savedSearchCards.splice(index, 1);\n }\n });\n }\n onBack(isInitialView: boolean) {\n this.viewAllType = '';\n this.searchResults = null;\n this.getSavedSearchCards();\n this.showSavedRecentSearch = false;\n this.isSavedSearch = null;\n if (!isInitialView) {\n this.globalSearch();\n } else {\n this.searchText = '';\n this.searchTextForModel = '';\n }\n\n this.searchSortFilterService.clearFilters();\n }\n async getTrendingList() {\n const URL = `${environment.cardServiceDomain}/${URLConstants.TRRENDING_LIST}`;\n this.http.get(URL).subscribe((res: any) => {\n this.trendingList = res?.data;\n });\n const result = await this.authenticationService.getMasterDataOfCards();\n this.masterData = result;\n }\n selectTrendingList(item: any, isFromParams = false) {\n this.trendingList.map(list => (list['selected'] = false));\n if (!isFromParams) {\n item['selected'] = true;\n }\n this.searchText = item?.keyword;\n const payload: any = this.searchSortFilterService.searchPayload(item);\n this.searchSortFilterService.searchSortFilterState.next({ ...payload });\n this.discoverySearchCards(payload);\n }\n discoverySearchCards(payload: any) {\n const statusList = ['Open to Trade', 'For Sale', 'Open to Offers'];\n if (statusList.includes(payload?.keyword)) {\n payload['cardstatus'] = payload?.keyword;\n payload['keyword'] = '';\n }\n this.searchSortFilterService.discoverySearchCardsApi(payload).subscribe((res: any) => {\n let data = res?.data;\n const currentPage = payload?.page - 1;\n data['currentPage'] = !isNaN(currentPage) ? currentPage : 0;\n this.searchResults = { ...data };\n this.viewAllType = 'cards';\n this.trendingList.map(list => (list['selected'] = false));\n });\n }\n getSavedSearchCards() {\n this.searchSortFilterService.getSavedSearchCardsApi().subscribe((res: any) => {\n this.savedSearchCards = res?.data;\n });\n }\n onInputFocusBlur(isFocus: boolean) {}\n ngOnDestroy(): void {\n if (this.searchTextSubscripttion) {\n this.searchTextSubscripttion.unsubscribe();\n }\n if (this.recentSearchSubscripttion) {\n this.recentSearchSubscripttion.unsubscribe();\n }\n if (this.searchSortFilterStateSubscripttion) {\n this.searchSortFilterStateSubscripttion.unsubscribe();\n }\n if (this.queryParamsSubscription) {\n this.queryParamsSubscription.unsubscribe();\n }\n this.searchSortFilterService.clearFilters();\n }\n}\n","
\n

Write your Bio!

\n \n \n What players do you collect? What's some of your favorite sets and teams?\n \n \n
","// import clevertap from 'clevertap-web-sdk';\nimport { Injectable } from '@angular/core';\nimport * as clevertap from 'clevertap-web-sdk';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CleverTapService {\n constructor() {}\n\n init(): void {\n clevertap.init('848-47K-996Z');\n\n clevertap.notifications.push({\n titleText: 'Would you like to receive Push Notifications?',\n bodyText: 'We promise to only send you relevant content and give you updates on your transactions',\n okButtonText: 'Yes',\n rejectButtonText: 'No',\n okButtonColor: 'black',\n });\n }\n start(attributes: any, userid: string): void {}\n\n /**\n * Maintaining Multiple User Profiles on the Same Device using OnUserLogin\n * If multiple users on the same device use your app, you can use the clevertap.onUserLogin method\n * to assign them each a unique profile to track them separately.\n */\n onUserLogin(attributes: any, userid: string) {\n // with the exception of one of Identity, Email, or FBID\n // each of the following fields is optional\n\n clevertap.onUserLogin.push({\n Site: {\n Name: attributes.name, // String\n Identity: userid, // String or number\n Email: attributes.email, // Email address of the user\n Phone: attributes.phone, // Phone (with the country code)\n // Gender: 'M', // Can be either M or F\n DOB: new Date(), // Date of Birth. Date object\n // optional fields. controls whether the user will be sent email, push etc.\n 'MSG-email': true, // Disable email notifications\n 'MSG-push': true, // Enable push notifications\n 'MSG-sms': true, // Enable sms notifications\n 'MSG-whatsapp': true, // Enable WhatsApp notifications\n },\n });\n // console.log(clevertap.profile, 'profile');\n }\n}\n","import { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { SignUpService } from '@approot/core/Services/sign-up.service';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { SearchComponent } from './pages/search/search.component';\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\nimport { MaterialModule } from './core/material-module';\nimport { LoginComponent } from './pages/login/login.component';\nimport { AuthInterceptor } from './core/Services/auth-interceptor';\nimport { SignupComponent } from './pages/signup/signup.component';\nimport { StepperComponent } from './core/components/stepper/stepper.component';\nimport { LoaderInterceptor } from './core/Services/loading.interceptor';\nimport { LoadingComponent } from './core/components/loading/loading.component';\nimport { LoaderService } from './core/Services/loading.service';\nimport { PasswordStrengthCheckerComponent } from './core/components/password-strength-checker/password-strength-checker.component';\nimport { EulaComponent } from './core/components/eula/eula.component';\nimport { IntlTelInputComponent } from './core/components/intl-tel-input/intl-tel-input.component';\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\nimport { MemberProfileComponent } from './pages/memberProfile/memberProfile.component';\nimport { GenresComponent } from './core/components/MemberProfile/genres/genres.component';\nimport { SocialProfilesComponent } from './core/components/MemberProfile/social-profiles/social-profiles.component';\nimport { SetBioComponent } from './core/components/MemberProfile/set-bio/set-bio.component';\nimport { AddProfilePictureComponent } from './core/components/MemberProfile/add-profile-picture/add-profile-picture.component';\nimport { CollectCardComponent } from './core/components/MemberProfile/collect-card/collect-card.component';\nimport { OtpInputComponent } from './core/components/otp-input/otp-input.component';\nimport { AuthGuard } from './core/guards/auth-guard';\nimport { SignUpLandingPageComponent } from './pages/sign-up-landing-page/sign-up-landing-page.component';\nimport { UserService } from './core/Services/user-service';\nimport { LocalStorageService } from './core/lib/local-storage.service';\nimport { ImportCardComponent } from './pages/import-card/import-card.component';\nimport { ConfirmDialogComponent } from './core/components/confirm-modal/confirm-dialog.component';\nimport { SuccessPageComponent } from './core/components/MemberProfile/success-page/success-page.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { UploadedQueueComponent } from './pages/uploaded-queue/uploaded-queue.component';\nimport { AddToCollectionComponent } from './pages/add-to-collection/add-to-collection.component';\nimport { AdvancedFormComponent } from './pages/add-to-collection/advanced-form/advanced-form.component';\nimport { SummaryFormComponent } from './pages/add-to-collection/summary-form/summary-form.component';\nimport { FormControlComponent } from './core/components/form-control/form-control.component';\nimport { NoDataComponent } from './core/components/no-data/no-data.component';\nimport { FileTypeConversion } from './core/lib/filetype-conversion.service';\nimport { DiscoveryComponent } from './pages/discovery/discovery.component';\nimport { FilterByUploadProgressPipe } from './core/pipes/filter-by-upload-progress.pipe';\nimport { PopOverComponent } from './core/components/pop-over/pop-over.component';\nimport { CardListViewComponent } from './pages/card-list-view/card-list-view.component';\nimport { MyCollectionComponent } from './pages/my-collection/my-collection.component';\nimport { IconService } from './core/Services/icons.service';\nimport { CardDetailsComponent } from './pages/card-view/card-details-view/card-details-view.component';\nimport { CardViewWebComponent } from './pages/card-view/card-view-web/card-view-web.component';\nimport { CardViewComponent } from './pages/card-view/card-view.component';\nimport { SeoService } from './core/Services/seo-service';\nimport { EditFavouritesComponent } from './pages/discovery/edit-favourites/edit-favourites.component';\nimport { StatsModalComponent } from './pages/card-view/stats-modal/stats-modal.component';\nimport { SetAlertsModalComponent } from './core/components/set-alerts-modal/set-alerts-modal.component';\nimport { DateAgoPipe } from './core/pipes/date-ago-pipe';\nimport { NavigationService } from './core/Services/navigation.service';\nimport { ShareCardComponent } from './pages/card-view/share-card/share-card.component';\nimport { ProfileComponent } from './pages/profile/profile.component';\nimport { EditProfileComponent } from './pages/edit-profile/edit-profile.component';\nimport { SavedCardsComponent } from './pages/saved-cards/saved-cards.component';\nimport { SoldCardsComponent } from './pages/sold-cards/sold-cards.component';\nimport { SearchResultsComponent } from './pages/search/search-results/search-results.component';\nimport { FiltersDialogComponent } from './pages/search/filters-dialog/filters-dialog.component';\nimport { SortDialogComponent } from './pages/search/sort-dialog/sort-dialog.component';\nimport { FormControlTabsComponent } from './core/components/form-control-tabs/form-control-tabs.component';\nimport { ScrollPaginationComponent } from './core/components/scroll-pagination/scroll-pagination.component';\nimport { MixpanelService } from './core/Services/mix-panel.service';\nimport { ForgotPasswordComponent } from './pages/forgot-password/forgot-password.component';\nimport { ServiceWorkerModule } from '@angular/service-worker';\nimport { environment } from '../environments/environment';\n// import { LeanplumService } from './core/Services/leanplum.service';\nimport { SupportComponent } from './pages/support/support.component';\nimport { OffersComponent } from './pages/offers/offers.component';\nimport { SendOfferModalComponent } from './pages/card-view/send-offer-modal/send-offer-modal.component';\nimport { OfferHistoryComponent } from './pages/offers/offer-history/offer-history.component';\nimport { CommaSeparatedNumberDirective } from './core/lib/comma-separated-number.directive';\nimport { CommaSeparatedNumberPipe } from './core/lib/comma-separated-number.pipe';\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\nimport { BecomeMerchantComponent } from './pages/become-merchant/become-merchant.component';\nimport { AutofocusDirective } from './core/directives/mat-input-autofocus.directive';\nimport { OfferDetailsComponent } from './pages/offers/offer-details/offer-details.component';\nimport { ActionCenterModalComponent } from './pages/action-center-modal/action-center-modal.component';\nimport { IframeUrlModalComponent } from './core/components/iframe-url-modal/iframe-url-modal.component';\nimport { TrackingDetailsOrShippingAddressComponent } from './pages/offers/tracking-details-or-shipping-address/tracking-details-or-shipping-address.component';\nimport { branchInitializer, BranchService } from './core/Services/branch.service';\nimport { StateTaxRateDialogComponent } from './core/components/state-tax-rate-modal/state-tax-rate-modal.component';\nimport { SubProfileCardsSelectBuyComponent } from './pages/sub-profile-cards-select-buy/sub-profile-cards-select-buy.component';\nimport { FeatureGuard } from './core/guards/feature-gaurd';\nimport { ExquisiteCardDetailsComponent } from './pages/sub-profile-cards-select-buy/exquisite-card-details/exquisite-card-details.component';\nimport { MultiSelectSearchComponent } from './core/components/multi-select-search/multi-select-search.component';\nimport { LimitToPipe } from './core/pipes/limit-to-pipe';\nimport { TermsOfUseComponent } from './core/components/terms-of-use/terms-of-use.component';\nimport { PricingAndFeesComponent } from './pages/card-view/pricing-and-fees/pricing-and-fees.component';\nimport { EncryptDecryptService } from './core/lib/encryptDecrypt.service';\nimport { DataCacheService } from './core/Services/data-cache.service';\nimport { RedirectService } from './core/Services/redirect.service';\nimport { MatDialogService } from './core/Services/mat-dialog.service';\nimport { CheckedStateDirective } from './core/directives/checked-state.directive';\nimport { StarRatingComponent } from './core/components/star-rating/star-rating.component';\n@NgModule({\n declarations: [\n AppComponent,\n SearchComponent,\n NotFoundComponent,\n LoginComponent,\n SignupComponent,\n StepperComponent,\n LoadingComponent,\n PasswordStrengthCheckerComponent,\n EulaComponent,\n IntlTelInputComponent,\n MemberProfileComponent,\n GenresComponent,\n SocialProfilesComponent,\n SetBioComponent,\n AddProfilePictureComponent,\n CollectCardComponent,\n OtpInputComponent,\n SignUpLandingPageComponent,\n ImportCardComponent,\n ConfirmDialogComponent,\n SuccessPageComponent,\n HomeComponent,\n UploadedQueueComponent,\n AddToCollectionComponent,\n SummaryFormComponent,\n AdvancedFormComponent,\n FormControlComponent,\n NoDataComponent,\n DiscoveryComponent,\n FilterByUploadProgressPipe,\n PopOverComponent,\n CardListViewComponent,\n MyCollectionComponent,\n CardViewComponent,\n CardViewWebComponent,\n CardDetailsComponent,\n EditFavouritesComponent,\n StatsModalComponent,\n SetAlertsModalComponent,\n DateAgoPipe,\n ShareCardComponent,\n ProfileComponent,\n EditProfileComponent,\n SavedCardsComponent,\n SoldCardsComponent,\n SearchResultsComponent,\n FiltersDialogComponent,\n SortDialogComponent,\n FormControlTabsComponent,\n ScrollPaginationComponent,\n ForgotPasswordComponent,\n SupportComponent,\n OffersComponent,\n SendOfferModalComponent,\n OfferHistoryComponent,\n CommaSeparatedNumberDirective,\n CommaSeparatedNumberPipe,\n BecomeMerchantComponent,\n AutofocusDirective,\n OfferDetailsComponent,\n ActionCenterModalComponent,\n IframeUrlModalComponent,\n TrackingDetailsOrShippingAddressComponent,\n StateTaxRateDialogComponent,\n SubProfileCardsSelectBuyComponent,\n ExquisiteCardDetailsComponent,\n MultiSelectSearchComponent,\n LimitToPipe,\n TermsOfUseComponent,\n PricingAndFeesComponent,\n CheckedStateDirective,\n StarRatingComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n BrowserAnimationsModule,\n ReactiveFormsModule,\n FormsModule,\n MaterialModule,\n NgxIntlTelInputModule,\n ServiceWorkerModule.register('clevertap_sw.js', {\n enabled: environment.production,\n // Register the ServiceWorker as soon as the app is stable\n // or after 30 seconds (whichever comes first).\n registrationStrategy: 'registerWhenStable:30000',\n }),\n PdfViewerModule,\n ],\n entryComponents: [\n EulaComponent,\n ConfirmDialogComponent,\n PopOverComponent,\n EditFavouritesComponent,\n StatsModalComponent,\n SetAlertsModalComponent,\n SortDialogComponent,\n FiltersDialogComponent,\n SupportComponent,\n SendOfferModalComponent,\n OfferHistoryComponent,\n BecomeMerchantComponent,\n ActionCenterModalComponent,\n IframeUrlModalComponent,\n TrackingDetailsOrShippingAddressComponent,\n StateTaxRateDialogComponent,\n TermsOfUseComponent,\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },\n SignUpService,\n LoaderService,\n AuthGuard,\n FeatureGuard,\n UserService,\n LocalStorageService,\n FileTypeConversion,\n IconService,\n SeoService,\n NavigationService,\n MixpanelService,\n // LeanplumService,\n EncryptDecryptService,\n BranchService,\n {\n provide: APP_INITIALIZER,\n useFactory: branchInitializer,\n deps: [BranchService],\n multi: true,\n },\n DataCacheService,\n RedirectService,\n MatDialogService,\n SnackbarService,\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-no-data',\n templateUrl: './no-data.component.html',\n styleUrls: ['./no-data.component.scss'],\n})\nexport class NoDataComponent implements OnInit {\n @Input() message!: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n\n \n \n
\n \n

{{isUpdate ? 'Update Your Member Profile' : step?.headerText }}

\n

\n {{step?.subHeaderText}}\n

\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
\n \n \n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n\n\n\n
\n
\n
\n\n
","export * from './environment';\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit, EventEmitter, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n ConfirmDialogModel,\n ConfirmDialogComponent,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport {\n IframeUrlDialogModel,\n IframeUrlModalComponent,\n} from '@approot/core/components/iframe-url-modal/iframe-url-modal.component';\nimport {\n StateTaxRateDialogComponent,\n StateTaxRateDialogModel,\n} from '@approot/core/components/state-tax-rate-modal/state-tax-rate-modal.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport {\n AppConstants,\n getStatsUrl,\n statsListUrlHandlers,\n statsListUrlHandlersType,\n} from '@approot/core/lib/constants/common-constants';\nimport { tabOption } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { environment } from 'src/environments';\nimport { StatsDialogModel, StatsModalComponent } from '../stats-modal/stats-modal.component';\n\n@Component({\n selector: 'app-card-details-view',\n templateUrl: './card-details-view.component.html',\n styleUrls: ['./card-details-view.component.scss'],\n animations: [],\n})\nexport class CardDetailsComponent implements OnInit {\n @Input() cardDetails: any;\n @Output() copyMessage: EventEmitter = new EventEmitter();\n @Output() eventToParent: EventEmitter = new EventEmitter();\n copyAction: boolean = false;\n tabOptions = tabOption;\n selectedTab = 'cardInfo';\n profileUrl = environment.profileURL;\n imageUrl: any = environment.imageURL + '/';\n _userDetails: any;\n inlineModalType = '';\n @ViewChild('secondDialog', { static: true }) secondDialog!: TemplateRef;\n checked: boolean = false;\n starCount: number = 4;\n constructor(\n public _dialog: MatDialog,\n private _http: HttpClient,\n private _authenticationService: AuthenticationService,\n private sub_mixpanelService: MixpanelService,\n public snackbarService: SnackbarService,\n private localStorageServiceClone: LocalStorageService,\n ) {}\n get showSendNewOffer() {\n const isRejectedStatus = this.cardDetails?.offer?.offerstatus === 3;\n const isExpiredStatus = this.cardDetails?.offer?.offerstatus === 7;\n const sendNewOffer = isRejectedStatus || isExpiredStatus;\n // return true;\n return sendNewOffer;\n }\n get offerBannerLabel() {\n return this.cardDetails?.offer?.offerstatus === 3\n ? \"Your offer wasn't accepted. Would you like to make a new offer?\"\n : this.cardDetails?.offer?.offerstatus === 7\n ? 'Your offer was expired. Would you like to make a new offer?'\n : this.cardDetails?.offer?.offerstatus === 2\n ? 'Congratulations - You Made a Deal! Watch your e-mail for payment details.'\n : '';\n }\n get rankLabelCount() {\n const rankKeys: any = {\n bronze: 1,\n silver: 2,\n gold: 3,\n platinum: 4,\n };\n const rank: any = String(this.cardDetails?.rank).toLowerCase();\n return rankKeys?.[rank] || 0;\n }\n get sendOrViewOfferLabel() {\n return this.cardDetails?.disableofferbutton || this.showSendNewOffer\n ? 'View Offer Details'\n : this.cardDetails?.imagesourcetype == 1\n ? 'Request this Card'\n : 'Make an Offer';\n }\n async ngOnInit() {\n this._userDetails = await this._authenticationService.getCompleteUserDetails();\n this.checked = this.cardDetails?.ofs === 'of' ? true : false;\n }\n showDescriptionAsArray(description: any) {\n if (typeof description === 'string') {\n return description?.split('\\n');\n }\n return ['-'];\n }\n copyInput(value: string, type: string) {\n if (type == 'url') {\n // Copy Page URL\n this.copyMessage.emit(value);\n } else {\n // Copy NextGem ID\n this.copyMessage.emit(value);\n this.copyAction = true;\n setTimeout(() => {\n this.copyAction = false;\n }, 3000);\n }\n }\n buyNow() {\n if (!this.cardDetails?.ispurchaseactive) {\n const description =\n 'This card is presently ineligible for offers as it has already been approved for another user.';\n this.snackbarService.openSnackbar(description);\n return;\n }\n // const paymentlink = this.cardDetails?.paymentlink;\n // if (paymentlink) {\n // this.localStorageServiceClone.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.cardDetails?.cardid);\n // const checkout_link = `${paymentlink}?client_reference_id=${this._userDetails?.userid}`;\n // window.open(checkout_link, '_blank');\n // }\n const options: any = {\n cardid: this.cardDetails?.cardid,\n buyerid: this._userDetails?.userid,\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.GENERATE_BUY_NOW_LINK}`;\n this._http.post(URL, options).subscribe(\n (res: any) => {\n const data = res?.data;\n const paymentLink = data?.paymentlink;\n if (data?.status && paymentLink) {\n this.localStorageServiceClone.setItem(\n AppConstants.IS_VISIBILITY_CHANGE_ID,\n this.cardDetails?.cardid,\n );\n window.open(paymentLink, '_blank');\n }\n if (data?.message) {\n this.snackbarService.openSnackbar(data?.message, 'info-snackbar');\n }\n },\n err => {},\n );\n }\n openStateSelectionForTaxModal() {\n const dialogData = new StateTaxRateDialogModel(\n 'Select Shipping State',\n 'Please choose the state to which you would like to ship this card.',\n { cardid: this.cardDetails.cardid },\n );\n\n const dialogRef = this._dialog.open(StateTaxRateDialogComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'state-tax-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(paymentlink => {\n if (paymentlink) {\n console.log('link generated');\n this.localStorageServiceClone.setItem(AppConstants.IS_VISIBILITY_CHANGE_ID, this.cardDetails?.cardid);\n window.open(`${paymentlink}?client_reference_id=${this._userDetails?.userid}`, '_blank');\n }\n });\n }\n openFAQ() {\n const pdfUrl = 'https://help.nextgem.com/help/tag/Card%20Sourcing';\n const dialogData = new IframeUrlDialogModel(pdfUrl, 'Card Sourcing');\n const dialogRef = this._dialog.open(IframeUrlModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'pdf-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(() => {\n console.log('The dialog was closed');\n });\n }\n followMember(stats: any) {\n // const status = !!stats['follow'];\n const PAYLOAD: any = {\n userid: stats?.userid,\n userfullname: stats?.fullname || '',\n username: stats?.username || '',\n status: !stats.status,\n };\n this._http.post(`${environment.userServiceDomain}/${URLConstants.FOLLOW_UNFOLLOW_MEMBER}`, PAYLOAD).subscribe(\n res => {\n if (!stats['status']) {\n this.sub_mixpanelService.trackByGTM('followed_user', {\n followerid: this._userDetails?.userid,\n userid: stats?.userid,\n });\n }\n stats['status'] = !stats['status'];\n },\n err => {},\n );\n }\n share() {\n this.cardDetails.sharePopup = !this.cardDetails.sharePopup;\n }\n getProfileImg(userid: string) {\n return `${this.profileUrl}/${userid}`;\n }\n getCardImage(cardid: string, img: string) {\n return `${this.imageUrl}${cardid}${img}`;\n }\n\n async openWatchByOrShareByOrViewedByDialog(statName: statsListUrlHandlersType, label: string, count: number) {\n const data = await this.getWatchByOrShareByOrViewedByList(statName);\n this.openStatsDialog(data, statName, label, count);\n }\n openStatsDialog(data: any, statName: statsListUrlHandlersType, label: string, count: number) {\n const dialogData = new StatsDialogModel(\n data,\n label,\n statName,\n this.cardDetails?.cardid,\n count,\n this._userDetails,\n );\n\n const dialogRef = this._dialog.open(StatsModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'stats-modal',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n }\n });\n }\n async getWatchByOrShareByOrViewedByList(statName: statsListUrlHandlersType) {\n const payload = {\n cardid: this.cardDetails?.cardid,\n page: 1,\n pageSize: 20,\n };\n const url = getStatsUrl(statName);\n const result: any = await this._http.post(url, payload).toPromise();\n return result?.data;\n }\n async getHypedList(label: string, count: number) {\n const payload: any = {\n page: 1,\n pageSize: 20,\n };\n const url = `${environment.cardServiceDomain}/${URLConstants.CARD_HYPED_LIST}/${this.cardDetails?.cardid}`;\n const result: any = await this._http.get(url, { params: payload }).toPromise();\n this.openStatsDialog(result?.data, 'hypedList', label, count);\n }\n\n isBuyNowEnabled(): boolean {\n const userDetails = this._userDetails;\n const cardDetails = this.cardDetails;\n if (\n userDetails?.userid !== cardDetails?.userid &&\n cardDetails?.cardstatus === 'For Sale'\n // cardDetails?.paymentlink\n ) {\n return true;\n }\n return false;\n }\n iconByStatus(cardstatus: string) {\n const status = String(cardstatus).toLowerCase();\n switch (status) {\n case 'for sale':\n case 'sold':\n return 'attach_money';\n case 'personal collection':\n return 'person_outline';\n case 'open to offers':\n return 'local_offer';\n default:\n return 'local_offer';\n }\n }\n sendEventToparent(eventType: string) {\n this.eventToParent.emit(eventType);\n }\n showStatusLabel(status: string) {\n const cardstatus = String(status).toLowerCase();\n return cardstatus !== 'open to offers' && cardstatus !== 'for sale';\n }\n showSendOfferButton(status: string) {\n const cardstatus = String(status).toLowerCase();\n const isNotSelfCard = this._userDetails?.userid !== this.cardDetails?.userid;\n const isEligibleStatusForMakeOffer = cardstatus == 'open to offers' || cardstatus == 'for sale';\n return isNotSelfCard && isEligibleStatusForMakeOffer;\n }\n openInlineModal(type: string) {\n this.inlineModalType = type;\n this._dialog.open(this.secondDialog, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n panelClass: ['stats-modal', 'pdf-modal'],\n });\n }\n closeInlineModalEvent(type: string) {\n this.inlineModalType = type;\n if (!type) {\n this._dialog.closeAll();\n }\n }\n get isOwnCard() {\n return this._userDetails?.userid === this.cardDetails?.userid;\n }\n onCertificationToggle(event: any) {\n // console.log(event, 'event');\n event.source.checked = !!this.checked;\n const PUBLIC_OR_PRIVATE_TEXT = this.checked\n ? `Are you sure want to turn off? Only you will be able to view the certification # and barcode.`\n : `Are you want to turn on? Turning on the toggle will hide the Certification # and barcode.`;\n\n const dialogData = new ConfirmDialogModel('', PUBLIC_OR_PRIVATE_TEXT);\n const dialogRef = this._dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n dialogRef.afterClosed().subscribe(response => {\n if (response) {\n this.checked = !this.checked;\n this.eventToParent.emit('toggle_cert');\n }\n });\n }\n}\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport {\n addToCollectionAdvancedFormData,\n addToCollectionSummaryFormData,\n NextGemFormControlType,\n} from '@approot/core/lib/constants/form-constants';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-exquisite-card-details',\n templateUrl: './exquisite-card-details.component.html',\n styleUrls: ['./exquisite-card-details.component.scss'],\n animations: [\n trigger('flipState', [\n state(\n 'active',\n style({\n transform: 'rotateY(180deg)',\n }),\n ),\n state(\n 'inactive',\n style({\n transform: 'rotateY(0)',\n }),\n ),\n transition('active => inactive', animate('500ms ease-out')),\n transition('inactive => active', animate('500ms ease-in')),\n ]),\n ],\n})\nexport class ExquisiteCardDetailsComponent implements OnInit {\n selectedcardDetails: any;\n imageUrl: any = environment.imageURL;\n masterData: any;\n flip: string = 'inactive';\n sampleFormData: NextGemFormControlType[] = [];\n constructor(\n private http: HttpClient,\n private route: ActivatedRoute,\n private authenticationService: AuthenticationService,\n public snackbarService: SnackbarService,\n private router: Router,\n ) {\n this.sampleFormData = [...addToCollectionSummaryFormData, ...addToCollectionAdvancedFormData];\n }\n\n async ngOnInit() {\n const removedList = ['listingprice', 'shippingprice', 'featured', 'purchaseprice', 'estimatedprice'];\n this.sampleFormData = this.sampleFormData.filter(data => !removedList.includes(data?.name));\n this.masterData = await this.authenticationService.getMasterDataOfCards();\n this.route.paramMap.subscribe(params => {\n const cardid = params.get('cardid');\n if (cardid) {\n this.getCardDetails(cardid);\n }\n });\n }\n copyFile(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n var el: any = document.createElement('textarea');\n el.value = this.selectedcardDetails?.reffilename;\n el.setAttribute('readonly', '');\n el.style = { position: 'absolute', left: '-9999px' };\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n\n const description = `File Name Copied`;\n this.snackbarService.openSnackbar(description);\n }\n getCardDetails(cardid: string) {\n const url = `${environment.cardServiceDomain}/${URLConstants.SUB_PROFILE_CARD_DETAILS}`;\n const params = {\n cardid: cardid,\n };\n const options: any = { params: params };\n this.http.get(url, options).subscribe(\n (res: any) => {\n const data = res?.data;\n let placeholderImages: any[] = this.masterData?.placeholder || [];\n const rawPath = placeholderImages.find(img => img?.type === 'Raw')?.path;\n const slabPath = placeholderImages.find(img => img?.type === 'Slab')?.path;\n let collectionData = data;\n\n if (collectionData?.overallgrade && !isNaN(collectionData?.overallgrade)) {\n collectionData['overallgrade'] = Number(collectionData?.overallgrade);\n }\n\n collectionData['frontImg'] =\n this.imageUrl +\n '/' +\n collectionData?.cardid +\n collectionData?.frontimagesthumb?.perspectivecorrectedthumbnail;\n\n if (collectionData?.frontbackimage === 1) {\n collectionData['backImg'] =\n collectionData?.cardtype === 'slab'\n ? 'https://img.nextgem.com' + slabPath\n : 'https://img.nextgem.com' + rawPath;\n } else {\n collectionData['backImg'] =\n this.imageUrl +\n '/' +\n collectionData?.cardid +\n collectionData?.backimagesthumb?.perspectivecorrectedthumbnail;\n }\n this.selectedcardDetails = collectionData;\n },\n err => {},\n );\n }\n get title() {\n const selectedcardDetails = this.selectedcardDetails;\n if (!selectedcardDetails) return '';\n let title = selectedcardDetails.playername + ' ' + selectedcardDetails.year + ' ' + selectedcardDetails.setname;\n\n if (selectedcardDetails.variation && selectedcardDetails.variation != '') {\n title = title + ' ' + selectedcardDetails.variation;\n }\n\n if (selectedcardDetails.cardnumber && selectedcardDetails.cardnumber != '') {\n const numberWithHash = String(selectedcardDetails.cardnumber).includes('#')\n ? ` ${selectedcardDetails.cardnumber}`\n : ' #' + selectedcardDetails.cardnumber;\n title = title + numberWithHash;\n }\n return title;\n }\n back() {\n this.router.navigateByUrl('/exquisite-cards');\n }\n toggleFlip() {\n this.flip = this.flip == 'inactive' ? 'active' : 'inactive';\n }\n // get formFieldValue()\n}\n","// snackbar.service.ts\nimport { PopOverComponent } from '@approot/core/components/pop-over/pop-over.component';\nimport { Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarService {\n constructor(private snackBar: MatSnackBar) { }\n\n openSnackbar(description: string, className: string | string[] = 'custom-snackbar', duration: number = -1) {\n const config: MatSnackBarConfig = {\n duration: duration === -1 ? 5000 : duration,\n horizontalPosition: 'end',\n verticalPosition: 'top',\n panelClass: className,\n };\n\n this.snackBar.openFromComponent(PopOverComponent, {\n data: { description, btnText: 'Ok' },\n ...config,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Auth } from 'aws-amplify';\n\n@Injectable()\nexport class SignUpService {\n getUserConfirmationStatus = (userName: string, password: string) =>\n new Promise(async (resolve, reject) => {\n try {\n const usernameOrSignInOpts = { username: userName, password: password };\n const user = await Auth.signIn(usernameOrSignInOpts);\n let userDetails = { ...user?.attributes };\n userDetails['username'] = user?.username;\n resolve(userDetails);\n } catch (error: any) {\n const message = error?.message ? String(error?.message) : '';\n if (message.toLowerCase() === 'user is not confirmed') {\n resolve(false);\n } else {\n reject(error);\n }\n }\n });\n signUp(userName: string, password: string, email: string) {\n return Auth.signUp({\n username: userName,\n password: password,\n attributes: {\n email: email,\n },\n });\n }\n nextStepMethodName() {}\n}\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { EulaComponent } from '../eula/eula.component';\nimport * as Cookies from 'js-cookie';\n\n@Component({\n selector: 'app-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n})\nexport class StepperComponent implements OnInit {\n @Input() stepsData!: any;\n @Input() step!: any;\n @Input() currentStep!: number;\n @Input() currentIndex!: number;\n @Input() NumberOfSteps: any;\n @Output() onNextStep = new EventEmitter();\n @Output() onSecondaryButtonClick = new EventEmitter();\n @Output() onPreviousStep = new EventEmitter();\n @Output() onResendPhoneOtp = new EventEmitter();\n @Output() resendVerificationMail = new EventEmitter();\n steps: number[] = [];\n constructor(\n public dialog: MatDialog,\n private router: Router,\n private authenticationService: AuthenticationService,\n private localStorageService: LocalStorageService,\n ) {\n this.steps = Array.isArray(this.stepsData) ? new Array(Number(this.stepsData?.length)).fill(1) : [];\n }\n\n ngOnInit(): void { }\n nextStep() {\n this.onNextStep.emit(this.currentIndex + 1);\n }\n onSecondaryButtonClicked() {\n this.onSecondaryButtonClick.emit(true);\n }\n resendPhoneOtp() {\n this.onResendPhoneOtp.emit(true);\n }\n resendEmailVerificationLink() {\n this.resendVerificationMail.emit(true);\n }\n removeSignUpInProgress() {\n this.localStorageService.removeItem(AppConstants.SIGN_UP_INPROGRESS);\n }\n async login() {\n await this.authenticationService.logout(true);\n }\n eulaModal(event: MouseEvent): void {\n event.preventDefault();\n const dialogRef = this.dialog.open(EulaComponent, {\n // width: '50%',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => { });\n }\n async back() {\n if (this.currentIndex !== 0) {\n this.onPreviousStep.emit(this.currentIndex - 1);\n } else {\n await this.authenticationService.logout(true);\n }\n }\n navigateToCardsOrHome() {\n const decodedPathName = this.localStorageService.getItem('path_name');\n if (decodedPathName) {\n const params = Cookies.get('params');\n if (params) {\n const queryParams = new URLSearchParams(params);\n const paramsData: any = {};\n queryParams.forEach((value, key) => {\n paramsData[key] = value;\n });\n this.router.navigate([decodedPathName], { queryParams: paramsData });\n } else {\n this.router.navigate([decodedPathName], { skipLocationChange: false });\n }\n this.localStorageService.removeItem('path_name');\n } else {\n this.router.navigate(['discovery']);\n }\n }\n async mayBeLater() {\n this.removeSignUpInProgress();\n await this.authenticationService.getCompleteUserDetails(true);\n this.authenticationService.loginState.next(false);\n this.authenticationService.loginState.next(true);\n this.navigateToCardsOrHome();\n }\n get disableSubmit() {\n const pattern = this.step?.validations?.pattern || '';\n const regEx = new RegExp(pattern);\n if (pattern) {\n return !regEx.test(this.step?.[this.step?.key]);\n }\n if (!this.step?.[this.step?.key]) {\n return true;\n }\n return false;\n }\n get showLoginWithAnotherUserBtn() {\n const stepNumber = this.step?.step;\n return stepNumber === 1 || stepNumber === 2;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-success-page',\n templateUrl: './success-page.component.html',\n styleUrls: ['./success-page.component.scss'],\n})\nexport class SuccessPageComponent implements OnInit {\n @Input() userDetails!: any;\n profileURL = environment.profileURL;\n constructor() {}\n\n ngOnInit(): void {}\n copyInputMessage() {\n const value = `my.nextgem.com/${this.userDetails?.username}`;\n var el: any = document.createElement('textarea');\n el.value = value;\n el.setAttribute('readonly', '');\n el.style = { position: 'absolute', left: '-9999px' };\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n }\n}\n","","
\n
\n \n
\n
\n
\n
\n \n \n
\n \"profile_image\"\n\n
\n
\n
\n \n
\n

\n {{userDetails?.fullname}}

\n
\n \n done\n clear\n
\n
\n \n
\n

{{userDetails?.bio}}

\n \n
\n
\n \n done\n clear\n
\n \n
\n \n \n {{media.label}}\n \n \n
\n
\n
\n
\n \"instagram\"\n\n \"instagram\"\n\n \"instagram\"\n\n \"instagram\"\n\n \"instagram\"\n\n \"instagram\"\n\n

{{link.username}}

\n clear\n \n
\n
\n
\n
0\" class=\"add-social-media-wrapper\">\n
\n \n
\n done\n
\n\n\n
\n
\n
\n \n
\n
    \n
  • \"share\n

    Share with link

    \n
  • \n
  • \"twitter\"\n

    Twitter

    \n
  • \n
  • \"instagram\"\n

    Instagram

    \n
  • \n
  • \"youtube\"\n

    YouTube

    \n
  • \n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n

{{userDetails?.collectioncount || '0'}} Cards

\n
\n \n
\n
\n \n \n
\n
","
\n \n

{{message}}

\n
","
\n
\n \"HTML\n
\n
\n
\n

Welcome to NextGem

\n

Let's get you signed in

\n
\n
\n
\n \n \n
\n
\n \n \n \n \n {{fieldTextType ? 'visibility_off' : 'visibility'}}\n \n \n
\n

{{errorMessage}}

\n

\n \n

\n \n
Don't have an account? Sign up here
\n
\n
\n
\n
OR
\n
\n
\n
\n \n \n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as branch from 'branch-sdk';\nimport { environment } from 'src/environments';\nimport { RedirectService } from './redirect.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BranchService {\n constructor(private router: Router, private redirectService: RedirectService) {}\n initializeBranch(): Promise {\n const branchKey = environment.branchKey;\n branch.init(branchKey, undefined, (err, data) => {\n console.log('**** INITIALIZING BRANCH........ ********', data);\n\n // console.log(err, data);\n });\n return new Promise(async (resolve, reject) => {\n await this.redirectService.updateSignInStatus();\n branch.init(branchKey, undefined, (err, data) => {\n if (!err) {\n const branchData = data?.data_parsed;\n if (branchData) {\n this.redirectBasedOnBranchData(branchData);\n }\n resolve(true);\n } else {\n reject(err);\n }\n });\n });\n }\n redirectBasedOnBranchData(branchData: any): void {\n // Extract parameters from Branch link\n const nav_to: any = !isNaN(branchData.nav_to) ? Number(branchData.nav_to) : branchData.nav_to;\n const canonical_identifier = branchData?.$canonical_identifier;\n const desktop_url = branchData?.$desktop_url;\n const is_offer_page = String(desktop_url).includes('oid') && !nav_to;\n let offer_id;\n if (desktop_url) {\n const urlParams = new URLSearchParams(window.location.search);\n offer_id = urlParams.get('oid');\n }\n\n let internal_link: any;\n switch (nav_to) {\n case 2:\n case 'invite_via_link':\n internal_link = `/profile/${branchData?.invite_creator_user_name}/${canonical_identifier}`;\n break;\n case 0:\n internal_link = `/cards/${canonical_identifier}`;\n break;\n case 1:\n case 3:\n case 4:\n internal_link = '/profile';\n break;\n case 5:\n internal_link = '/home';\n break;\n case 6:\n internal_link = `/offer${offer_id}`;\n break;\n default:\n break;\n }\n if (is_offer_page) {\n internal_link = `/offer/${offer_id}`;\n }\n if (internal_link) {\n this.router.navigateByUrl(internal_link);\n }\n }\n}\n\nexport function branchInitializer(branchService: BranchService): () => Promise {\n return () => branchService.initializeBranch();\n}\n","
\n
\n
\n \n \n\n
\n \n \n
    \n
  • \n {{showAppliedFilterLabel(filter)}}\n \n close\n \n
  • \n
\n
\n
\n \n \n {{totalPages}} results\n \n
\n
\n
\n \n \n \n Offer\n made\n \n \n \n\n
\n
\n \n \n \n \n
\n\n\n\n\n\n
\n
\n \n \n
\n
","
\n
\n

\n \n Import My Cards\n \n \n Go to Queue\n keyboard_arrow_right\n \n

\n\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
Choose Image
\n
\n \n \n rotate_90_degrees_ccw\n \n \n
\n
Front
\n Remove Background\n
\n
\n
\n
\n
Choose Image
\n
\n \n \n rotate_90_degrees_ccw\n \n \n
\n
Back
\n Remove Background\n
\n
\n \n
\n
\n Converting uploaded file to jpeg format is InProgress...\n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class ConfirmDialogComponent implements OnInit {\n title: string;\n message: string;\n cancelButtonText;\n okButtonText;\n hasConfirmText: boolean = false;\n confirmText: string = '';\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ConfirmDialogModel,\n ) {\n // Update view with given values\n this.title = data.title;\n this.message = data.message;\n this.cancelButtonText = data.cancelButtonText;\n this.okButtonText = data.okButtonText;\n this.hasConfirmText = data?.hasConfirmText || false;\n }\n\n ngOnInit() {}\n\n onConfirm(): void {\n // Close the dialog, return true\n const confirmData = this.hasConfirmText ? this.confirmText : true;\n this.dialogRef.close(confirmData);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n}\n\n/**\n * Class to represent confirm dialog model.\n *\n * It has been kept here to keep it as part of shared component.\n */\nexport class ConfirmDialogModel {\n constructor(\n public title: string,\n public message: string,\n public hasConfirmText?: boolean,\n public cancelButtonText?: string,\n public okButtonText?: string,\n ) {}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-set-alerts-modal',\n templateUrl: './set-alerts-modal.component.html',\n styleUrls: ['./set-alerts-modal.component.scss'],\n})\nexport class SetAlertsModalComponent implements OnInit {\n title: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: SetAlertsDialogModel,\n ) {\n this.title = data.title;\n }\n saveAlerts() {}\n ngOnInit(): void {}\n}\nexport class SetAlertsDialogModel {\n constructor(public title: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport * as mixpanel from 'mixpanel-browser';\nimport { AppConstants, MixPanelEventTypes } from '../lib/constants/common-constants';\nimport { LocalStorageService } from '../lib/local-storage.service';\nimport * as clevertap from 'clevertap-web-sdk';\nimport { environment } from 'src/environments';\ndeclare var window: Window & typeof globalThis & { dataLayer: any[]; ReactNativeWebView: any };\n@Injectable({\n providedIn: 'root',\n})\nexport class MixpanelService {\n constructor(private localStorageService: LocalStorageService) {}\n /**\n * Initialize mixpanel.\n *\n * @param {string} userToken\n * @memberof MixpanelService\n */\n init(userData: any): void {\n // console.log(mixpanel, 'mix panel start');\n // QA = 3011d5669c1eed986ee792dd4603b7c0\n // Prod = 75c187639d97e59435cded41bb942849\n const TOKEN =\n environment.environment === 'env-qa'\n ? '3011d5669c1eed986ee792dd4603b7c0'\n : '75c187639d97e59435cded41bb942849';\n // console.log(TOKEN);\n\n mixpanel.init(TOKEN, {\n // debug: true,\n // track_pageview: true,\n persistence: 'localStorage',\n });\n mixpanel.people.set({\n $email: userData?.email,\n $first_name: userData?.fullname || userData?.username,\n $CleverTap_user_id: userData?.sub,\n userName: userData?.username,\n // Add more properties as needed\n });\n mixpanel.identify(userData?.sub);\n // console.log(mixpanel, 'mix panel');\n }\n\n /**\n * Push new action to mixpanel.\n *\n * @param {MixPanelEventTypes} id Name of the action to track.\n * @param {*} [action={}] Actions object with custom properties.\n * @memberof MixpanelService\n */\n track(id: MixPanelEventTypes, action: any = {}): void {\n mixpanel.track(id, action);\n }\n trackByGTM(id: MixPanelEventTypes, action: any = {}): void {\n const userData: any = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n action['source'] = 'NextGem Web App';\n action['user_email'] = userData?.email;\n action['user_first_name'] = userData?.fullname || userData?.username;\n action['user_property_username'] = userData?.username;\n window.dataLayer.push({\n event: 'web_app_init',\n mixpanel_event: id,\n mixpanel_properties: action,\n });\n const date_of_event = new Date();\n const injectedData = window?.ReactNativeWebView?.injectedObjectJson();\n if (injectedData) {\n try {\n const parsedData = JSON.parse(injectedData);\n if (parsedData?.isNativeApp) {\n const postData = {\n type: 'CT_EVENT',\n data: { id, action },\n };\n const message = JSON.stringify(postData);\n window.ReactNativeWebView.postMessage(message);\n }\n } catch (error) {}\n } else {\n clevertap.event.push(id, { ...action, Date: date_of_event });\n }\n }\n}\n","\n
\n

\n Updated Terms of Use\n

\n

\n Please agree to the NextGem Privacy\n Policy , Terms\n of\n Use, and EULA\n in order to continue using the service.\n

\n
\n \n
\n
","
\n

{{title}}

\n \n
\n
\n
\n

Alert me when

\n

\n Card Status Changes\n

\n

\n Price Changes\n

\n

Remind of this card in

\n

\n 1 day\n

\n

\n 1 week\n

\n

\n 1 month\n

\n
\n
\n
\n \n \n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { ISocialProfile } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-social-profiles',\n templateUrl: './social-profiles.component.html',\n styleUrls: ['./social-profiles.component.scss'],\n})\nexport class SocialProfilesComponent implements OnInit {\n @Input() step!: any;\n @Input() userDetails!: any;\n public socialMediaLists: ISocialProfile[] = [];\n socialProfilesList: any[] = [];\n private NUMBER_OF_SOCIAL_PROFILES = 3;\n\n constructor(private http: HttpClient) {}\n\n getSocialMediaTypes() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_SOCIAL_MEDIA_DATA}`).subscribe(\n (res: any) => {\n const profilesLength = res?.data?.length;\n if (res?.statusCode === 200 && profilesLength) {\n this.socialProfilesList = res.data;\n }\n },\n err => {\n console.log(err);\n },\n );\n }\n addDefaultSocialLinks(length: number) {\n for (let index = 0; index < length; index++) {\n const sampleLink = {\n socialmediaid: 0,\n username: '',\n };\n this.socialMediaLists.push(sampleLink);\n }\n }\n getSavedSocialMediaDetails() {\n const params = {\n userid: this.userDetails?.idpid,\n };\n const options = { params: params };\n\n this.http\n .get(`${environment.userServiceDomain}/${URLConstants.GET_SAVED_SOCIAL_MEDIA_DATA}`, options)\n .subscribe(\n (res: any) => {\n if (res?.statusCode == 200) {\n if (res?.data?.links?.length) {\n const requiredNumberOfLinks = this.NUMBER_OF_SOCIAL_PROFILES - res?.data?.links?.length;\n this.socialMediaLists = res?.data?.links;\n if (requiredNumberOfLinks !== 0) {\n this.addDefaultSocialLinks(requiredNumberOfLinks);\n }\n for (let index = 0; index < this.socialMediaLists.length; index++) {\n const element = this.socialMediaLists[index];\n this.onSocialIdOrUserNameChange(element);\n }\n } else {\n this.addDefaultSocialLinks(this.NUMBER_OF_SOCIAL_PROFILES);\n }\n }\n },\n err => {\n console.log(err);\n },\n );\n }\n ngOnInit(): void {\n this.getSocialMediaTypes();\n this.getSavedSocialMediaDetails();\n }\n\n onSocialIdOrUserNameChange(link: any) {\n // Check if the social media ID is valid (greater than 0).\n const isSocialIdValid = link.socialmediaid > 0;\n\n // Check if the username is a non-empty string.\n const isUserNameValid = typeof link.username === 'string' && link.username.length > 0;\n\n // Determine overall validity based on the conditions.\n const isValid = (isSocialIdValid && isUserNameValid) || (!isSocialIdValid && !isUserNameValid);\n\n const validSocialMediaLists = this.socialMediaLists.filter(list => list.socialmediaid && list.username);\n this.step['socialProfiles'] = isValid ? validSocialMediaLists : '';\n }\n disableRowItem = (index: number, socialmediaid: any) => {\n if (socialmediaid === 0) return false;\n const getselectedRowIndex = this.socialMediaLists.find(\n (row, i) => i !== index && row.socialmediaid === socialmediaid,\n );\n return getselectedRowIndex ? true : false;\n };\n}\n","
\n
\n

{{title}} - ({{count}})

\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \"\"\n \"\"\n
\n \n
\n
\n \n
\n
\n
\n 19\" [currentPage]=\"currentPage\" [pageSize]=\"20\" [totalPages]=\"count\"\n (pageChanged)=\"changePage($event)\">\n \n \n
\n
","import { Injectable } from '@angular/core';\n\ntype cacheType = 'offers' | 'search' | 'discovery';\n@Injectable({\n providedIn: 'root',\n})\nexport class DataCacheService {\n private dataCacheMap: Map = new Map();\n\n constructor() {\n this.setInitialData();\n }\n setInitialData() {\n this.dataCacheMap.set('offers', null);\n this.dataCacheMap.set('search', null);\n this.dataCacheMap.set('discovery', null);\n }\n setData(type: cacheType, data: any): void {\n if (this.dataCacheMap.has(type)) {\n this.dataCacheMap.set(type, data);\n } else {\n throw new Error(`Data type ${type} is not supported.`);\n }\n }\n\n getData(type: cacheType): any {\n if (this.dataCacheMap.has(type)) {\n return this.dataCacheMap.get(type) as any;\n } else {\n return null;\n }\n }\n}\n","export enum URLConstants {\n LOGIN = 'login',\n ADMIN_LOGOUT = 'logout',\n SEARCH_USER = 'user/search',\n getCards = '/assets/sample-data/cards.json',\n REMOVE_USER = 'user/remove',\n UPDATE_USER = 'update/user/details',\n SEND_OTP_TO_PHONE = 'otp/send',\n VERIFY_OTP = 'otp/submit',\n GET_USER_BY_NAME = 'profile',\n UPDATE_USER_NAME = 'user/update',\n FOLLOWER_LIST = 'follower/list',\n FOLLOWING_LIST = 'following/list', // append page number\n SIMILAR_INTEREST_MEMBERS = 'get/similar/members',\n SIMILAR_CARDS = 'get/similar/cards',\n USER_CHECK = 'usercheck',\n ADD_USER = '',\n GET_USER_BY_ID = 'user',\n DISCOVERY_SEARCH = 'discoversearch',\n CARDS_COLLECTION = 'cards/collection/1',\n PRE_UPLOAD_CARDS_PROCESS = 'app/data',\n CARDS_UPLOAD_STATUS = 'multicardprocessor',\n USER_CARDS_UPLOAD_STATUS = 'user/multicardprocessor',\n DELETE_CARD_FROM_QUEUE = 'cardprocessor/update', // cardid status =14\n SUGGEST_PLAYER_NAME_OR_SETNAME = 'es/suggest',\n ADD_TO_COLLECTION = 'cards',\n CARD_DETAILS = 'carddetails/web/card',\n UPDATE_CARD_DETAILS = 'carddetails',\n CREATE_PAYMENT_LINK = 'create/product/paymentlink',\n UPDATE_SOLD_STATUS = 'update/soldstatus', // APPEND NG NUMBER\n DELETE_CARD = 'card/delete',\n GENERATE_PRE_SIGNED_URL = 'get/signedurl',\n GET_CARDS_MASTER_DATA = 'cards/masterdata',\n GET_USER_PREFERNCE = 'userpreference/details',\n SAVE_USER_PREFERENCE = 'userpreference/update',\n GET_SOCIAL_MEDIA_DATA = 'master/getsocialmedia',\n GET_SAVED_SOCIAL_MEDIA_DATA = 'user/getsocialmedia',\n SAVE_SOCIAL_MEDIA_DATA = 'setupaccount/usersocialmedia',\n SAVE_FEATURE_STATUS = 'save/feature/status',\n DISCOVERY_VIEW = 'discovery/view',\n CARD_WATCH_LIST = 'card/get/watchedlist',\n CARD_VIEWED_LIST = 'card/get/viewedlist',\n CARD_SHARED_LIST = 'card/get/sharedlist',\n CARD_HYPED_LIST = 'hypelist',\n PROFILE_COMPLETE_STATUS = 'get/feature/status',\n HYPE_A_CARD = 'hype',\n WATCH_OR_SAVE_CARD = 'watchlistcard/add',\n REMOVE_WATCH_OR_SAVED_CARD = 'watchlistcard/delete', // pass cardrid as route params\n FOLLOW_UNFOLLOW_MEMBER = 'follower/update',\n GET_FOLLOWER_STATUS = 'follower/status',\n FOR_SALE_CARDS = 'get/forsalecards', // APPEND views=20\n RECENT_VIEWED_CARDS = 'recentcards',\n GET_FEATURE_CARDS = 'featuredcard',\n GET_SAVED_CARDS = 'watchlistcard/view',\n GET_SOLD_CARDS = 'get/soldcards',\n GET_PROFILE_COUNTS = 'get/profile/counts',\n SECONDARY_USER_DETAILS = 'userdetails', // pass userid as route params\n TRRENDING_LIST = 'all/trendinglist',\n TRENDING_LIST_CARDS = 'get/trendingcards',\n GLOBAL_SEARCH = 'es/cards/suggest',\n SEARCH_HISTORY = 'cards/searchhistory',\n REMOVE_SEARCH_HISTORY = 'cards/searchhistory/delete', // APPEND ID AS ROUTE PARAMS\n GET_SENT_OFFERS = 'get/card/sent/offers',\n GET_RECIEVED_OFFERS = 'get/card/received/offers',\n GET_COMPLETED_OPPFERS = 'get/completed/offers',\n GET_ACCEPETED_OPPFERS = 'get/card/accepted/offers',\n SEND_AN_OFFER = 'send/card/offer',\n UPDATE_CARD_OFFER = 'update/card/offer',\n DISMISS_CARD_OFFER = 'delete/offer', // Send \"offerid\" in query params\n OFFER_HISTORY = 'get/offer/history/card',\n GET_SHIPPING_ADDRESS = 'get/shipping/address',\n GET_OFFER_BY_ID = 'get/card/offer/by/id',\n UPDATE_OFFER = 'update/card/offer',\n CREATE_MERCHANT_ACCOUNT = 'create/express/merchant',\n GET_SUB_PROFILE_DATA = 'get/sub/profile',\n GET_PAYMENT_LINK = 'get/paymentlink', // append cardid\n GET_BELL_STATUS = 'bellstatus',\n GET_NOTIFICATIONS = 'actios',\n DELETE_ACTION_CENTER_ITEM = 'deleteaction',\n GET_ALL_OFFERS_BY_ID = 'get/offers/user',\n GET_UN_SEEN_OFFER_STATUS = 'get/unseenoffer',\n UPDATE_UN_SEEN_OFFER_STATUS = 'update/unseenoffer',\n GET_UN_VERIFIED_SUB_PROFILE_CARDS = 'get/unverified/subprofile/cards',\n SUB_PROFILE_CARD_DETAILS = 'get/subprofile/carddetails',\n GENERATE_BUY_NOW_LINK = 'gen/paylink',\n OFFER_APP_FEE_THRESHOLD_VALUES = 'get/appfee/thresholdvalues',\n USERS_ACTIVE_OFFERS_LIST = 'get/users/cardoffers/list',\n GET_SCORE_RANK_LIST = 'get/rank/list',\n PROFILE_EXPORT = 'export'\n}\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n aws_project_region: 'us-east-1',\n aws_cognito_identity_pool_id: 'us-east-1:b4840e84-f0e6-4d8f-a46a-03e398e5b960',\n aws_cognito_region: 'us-east-1',\n aws_user_pools_id: 'us-east-1_Gx1T49JdI',\n aws_user_pools_web_client_id: '67rbrclhqimt1m9tma8jet853m',\n oauth: {\n domain: 'nxt-gem-env-prod.auth.us-east-1.amazoncognito.com',\n scope: ['aws.cognito.signin.user.admin', 'email', 'openid', 'phone', 'profile'],\n redirectSignIn: 'http://localhost:4400,https://app.nextgem.com',\n redirectSignOut: 'http://localhost:4400,https://app.nextgem.com',\n responseType: 'code',\n },\n federationTarget: 'COGNITO_USER_POOLS',\n aws_cognito_username_attributes: [],\n aws_cognito_social_providers: ['FACEBOOK', 'GOOGLE', 'APPLE'],\n aws_cognito_signup_attributes: [],\n aws_cognito_mfa_configuration: 'OPTIONAL',\n aws_cognito_mfa_types: ['TOTP'],\n aws_cognito_password_protection_settings: {\n passwordPolicyMinLength: 8,\n passwordPolicyCharacters: ['REQUIRES_LOWERCASE', 'REQUIRES_UPPERCASE', 'REQUIRES_NUMBERS', 'REQUIRES_SYMBOLS'],\n },\n aws_cognito_verification_mechanisms: ['EMAIL'],\n};\n\nexport default awsmobile;\n","import { Component, OnInit, Input } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { SearchCountryField, CountryISO, PhoneNumberFormat } from 'ngx-intl-tel-input';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n@Component({\n selector: 'app-intl-tel-input',\n templateUrl: './intl-tel-input.component.html',\n styleUrls: ['./intl-tel-input.component.scss'],\n})\nexport class IntlTelInputComponent implements OnInit {\n @Input() step!: any;\n private readonly destroy$ = new Subject();\n phone = new FormControl(undefined, [Validators.required]);\n separateDialCode = true;\n SearchCountryField = SearchCountryField;\n CountryISO = CountryISO;\n PhoneNumberFormat = PhoneNumberFormat;\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\n constructor() {}\n\n ngOnInit(): void {\n this.phone.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(phone => {\n if (this.phone.valid) {\n this.step['phone'] = phone;\n } else {\n this.step['phone'] = '';\n }\n console.log(this.step['phone'], 'this.step[');\n });\n }\n changePreferredCountries() {\n this.preferredCountries = [\n CountryISO.India,\n CountryISO.Canada,\n CountryISO.UnitedStates,\n CountryISO.UnitedKingdom,\n ];\n }\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { genresCards } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-genres',\n templateUrl: './genres.component.html',\n styleUrls: ['./genres.component.scss'],\n})\nexport class GenresComponent implements OnInit {\n @Input() step: any;\n @Input() userDetails!: any;\n public genereCards: Array = [...genresCards];\n\n constructor(private http: HttpClient, private _authenticationService: AuthenticationService) {}\n\n async getGenreMasterData() {\n const result = await this._authenticationService.getMasterDataOfCards();\n const data = JSON.parse(JSON.stringify(result));\n if (data && data?.genre) {\n this.genereCards = data.genre;\n this.genereCards.map(genre => ({ ...genre, isSelected: false }));\n }\n }\n getSavedGenre() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_PREFERNCE}`).subscribe(\n (res: any) => {\n const genre = res?.data?.genre;\n if (Array.isArray(genre) && genre?.length) {\n for (let index = 0; index < genre.length; index++) {\n const id = genre[index];\n const cardIndex = this.genereCards.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genereCards[cardIndex]['isSelected'] = !this.genereCards[cardIndex]['isSelected'];\n }\n }\n this.getSelectedCards(this.genereCards);\n }\n },\n error => {\n console.log('error', error);\n },\n );\n }\n ngOnInit(): void {\n this.getGenreMasterData();\n\n // setTimeout(() => {\n this.getSavedGenre();\n // }, 50);\n }\n\n selectGenereCard = (id: any) => {\n const cardIndex = this.genereCards.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genereCards[cardIndex]['isSelected'] = !this.genereCards[cardIndex]['isSelected'];\n }\n this.getSelectedCards(this.genereCards);\n };\n\n getSelectedCards = (cards: Array) => {\n let selectedGeneres: any[] = [];\n cards.forEach((card, index) => {\n if (card?.isSelected) {\n selectedGeneres.push(card.id);\n }\n });\n this.step[this.step.key] = selectedGeneres.length ? selectedGeneres : '';\n };\n}\n","
\n
\n

\n \n keyboard_backspace\n \n {{ title }}\n

\n
\n
\n
\n
\n
\n
\n \"\"\n

File Name:\n {{selectedcardDetails?.reffilename}}\n \n file_copy\n \n

\n
\n
\n \"\"\n

File Name:\n {{selectedcardDetails?.reffilename}}\n \n file_copy\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n\n
\n
\n
\n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { SearchCountryField, CountryISO, PhoneNumberFormat } from 'ngx-intl-tel-input';\nimport { environment } from 'src/environments';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-send-offer-modal',\n templateUrl: './send-offer-modal.component.html',\n styleUrls: ['./send-offer-modal.component.scss'],\n})\nexport class SendOfferModalComponent implements OnInit {\n // offerData: any;\n cardDetails: any;\n sendOfferData = { price: null, message: '' };\n shippingAddressForm: FormGroup = new FormGroup({});\n shippingAddress: any;\n isShippingAddressModal: boolean;\n title = 'Make an Offer';\n isReviewOffer = false;\n // telephone data variables start\n separateDialCode = true;\n SearchCountryField = SearchCountryField;\n CountryISO = CountryISO;\n PhoneNumberFormat = PhoneNumberFormat;\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\n selectedCountryISO = '';\n imageUrl: any = environment.imageURL + '/';\n inlineModalType = '';\n\n thresholdValues: any[] = [];\n service_fee_amount: number = 0;\n // @ViewChild('phoneEle') phoneEle: any;\n //end\n constructor(\n private httpClient: HttpClient,\n private elementRef: ElementRef,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: SendOfferDialogModel,\n public snackbarService: SnackbarService,\n private formBuilder: FormBuilder,\n private copy_mixpanelService: MixpanelService,\n ) {\n this.cardDetails = data.cardDetails;\n this.shippingAddress = data.shippingAddress;\n this.isShippingAddressModal = data.isShippingAddressModal;\n if (data.isShippingAddressModal) {\n this.title = 'Shipping Address';\n }\n }\n get cardImage() {\n const img_path = this.cardDetails?.frontimagesthumb\n ? this.cardDetails?.frontimagesthumb?.perspectivecorrectedthumbnail\n : this.cardDetails?.frontimage;\n const imagePathBySourcePage = this.cardDetails?.offerid ? this.cardDetails?.frontimageofs : img_path;\n const imgUrl = this.imageUrl + this.cardDetails?.cardid + imagePathBySourcePage;\n return imgUrl;\n }\n onConfirm(data: any): void {\n const offerdata = data || true;\n this.dialogRef.close(offerdata);\n }\n\n ngOnInit(): void {\n this.shippingAddressForm = this.formBuilder.group({\n name: ['', Validators.required],\n phone: ['', Validators.required],\n street: ['', Validators.required],\n city: ['', Validators.required],\n state: ['', Validators.required],\n country: ['', Validators.required],\n zipcode: ['', Validators.required],\n });\n this.shippingAddressForm.patchValue(this.shippingAddress);\n const _URL = `${environment.userServiceDomain}/${URLConstants.OFFER_APP_FEE_THRESHOLD_VALUES}`;\n this.httpClient.get(_URL).subscribe(\n (res: any) => {\n this.thresholdValues = res?.data || [];\n },\n err => {},\n );\n }\n sendForReview(isRevivew = false) {\n this.isReviewOffer = isRevivew;\n if (isRevivew) {\n if (!this.sendOfferData?.price) {\n return;\n }\n const _offer_price = this.sendOfferData?.price || 0;\n const IN_RANGE_VALUE = this.thresholdValues.find(\n value => _offer_price >= value.range?.min && _offer_price <= value.range?.max,\n );\n\n if (IN_RANGE_VALUE && _offer_price) {\n this.service_fee_amount =\n IN_RANGE_VALUE?.thresholdtype === 1\n ? (_offer_price * IN_RANGE_VALUE?.percentage) / 100\n : IN_RANGE_VALUE?.fixedamount;\n } else {\n this.service_fee_amount = 0;\n }\n this.title = 'Review Offer';\n } else {\n this.sendOffer();\n }\n }\n editOffer() {\n this.isReviewOffer = false;\n }\n openInlineModal(type: string) {\n this.inlineModalType = type;\n }\n closeInlineModalEvent(type: string) {\n this.inlineModalType = type;\n }\n sendOffer() {\n // if (!this.sendOfferData?.price || this.shippingAddressForm.invalid) {\n // this.shippingAddressForm.markAllAsTouched();\n // return;\n // }\n const ownerId = this.cardDetails?.userid || this.cardDetails?.cardownerid;\n const ownerName = this.cardDetails?.username || this.cardDetails?.cardowner;\n let payload: any = {\n cardowner: ownerName,\n cardownerid: ownerId,\n cardid: this.cardDetails?.cardid,\n listingprice: this.cardDetails?.listingprice,\n offeramount: this.sendOfferData.price,\n offermessage: this.sendOfferData.message,\n // shippingaddress: this.shippingAddressForm.getRawValue(),\n };\n if (this.cardDetails?.offerid) {\n payload['refofferid'] = this.cardDetails?.offerid;\n }\n if (this.service_fee_amount) {\n payload['servicefee'] = this.service_fee_amount;\n }\n const URL = `${environment.cardServiceDomain}/${URLConstants.SEND_AN_OFFER}`;\n this.httpClient.post(URL, payload).subscribe(\n (res: any) => {\n const eventName = this.cardDetails?.offerid ? 'sent_re_offer' : 'sent_offer';\n this.copy_mixpanelService.trackByGTM(eventName, {\n cardid: this.cardDetails?.cardid,\n offeramount: this.sendOfferData.price,\n buyername: this.cardDetails?.buyername,\n listingprice: this.cardDetails?.listingprice,\n offerid: res?.data?.offerid,\n offerRecieverId: ownerId,\n });\n const description = `Offer Sent Successfully`;\n this.snackbarService.openSnackbar(description);\n this.onConfirm(res?.data);\n },\n err => {\n console.warn(err);\n },\n );\n }\n saveShippingAddress() {\n if (this.shippingAddressForm.invalid) {\n this.shippingAddressForm.markAllAsTouched();\n return;\n }\n const payload = {\n offerid: this.cardDetails?.offerid,\n shippingaddress: this.shippingAddressForm.getRawValue(),\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.UPDATE_OFFER}`;\n this.httpClient.post(URL, payload).subscribe(\n (res: any) => {\n const description = `Shipping Address added Successfully`;\n this.snackbarService.openSnackbar(description);\n this.onConfirm(true);\n },\n err => {\n console.warn(err);\n },\n );\n }\n // get showServiceFees() {\n // return this.sendOfferData?.price && this.sendOfferData?.price < 250;\n // }\n}\nexport class SendOfferDialogModel {\n constructor(public cardDetails: any, public shippingAddress: any, public isShippingAddressModal: boolean) {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { signupStepperSampleData } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { validateAllFormFields } from '@approot/core/lib/utils';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { Auth } from 'aws-amplify';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss'],\n})\nexport class ForgotPasswordComponent implements OnInit {\n errorMessage = '';\n emailControl: FormControl = new FormControl('', [Validators.required, Validators.email]);\n resetPasswordForm: FormGroup = new FormGroup({});\n showResetPasswordScreen = false;\n fieldTextType: boolean = false;\n fieldTextType1: boolean = false;\n fieldTextType2: boolean = false;\n passwordPatternCheck: any[] = [];\n constructor(\n public snackbarService: SnackbarService,\n public loaderService: LoaderService,\n private formBuilder: FormBuilder,\n private router: Router,\n private http: HttpClient,\n ) {\n this.passwordPatternCheck =\n signupStepperSampleData.find(item => item.key === 'password')?.passwordPatternCheck || [];\n }\n\n ngOnInit(): void {\n this.resetPasswordForm = this.formBuilder.group(\n {\n verificationCode: ['', Validators.required],\n password: ['', [Validators.required], this.passwordPatternValidator()],\n confirmPassword: ['', Validators.required],\n },\n { validator: this.passwordMatchValidator },\n );\n }\n\n passwordPatternValidator() {\n return (control: AbstractControl): Promise => {\n const password = control.value;\n const passwordPattern =\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-])[A-Za-z\\d!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-]{8,}$/;\n\n if (!passwordPattern.test(password)) {\n return Promise.resolve({ invalidPassword: true });\n }\n\n return Promise.resolve(null);\n };\n }\n\n passwordMatchValidator(group: FormGroup): null | { mismatch: true } {\n const password = group.get('password')?.value;\n const confirmPassword = group.get('confirmPassword')?.value;\n return password === confirmPassword ? null : { mismatch: true };\n }\n\n toggleFieldTextType(isType1 = false) {\n if (!isType1) {\n this.fieldTextType = !this.fieldTextType;\n } else {\n this.fieldTextType1 = !this.fieldTextType1;\n }\n }\n toggleFieldCodeTextType() {\n this.fieldTextType2 = !this.fieldTextType2;\n }\n\n back() {\n if (this.showResetPasswordScreen) {\n this.resetPasswordForm.reset();\n this.showResetPasswordScreen = false;\n } else {\n this.router.navigate(['/login']);\n }\n }\n\n async onSubmitEmail() {\n if (this.emailControl.valid) {\n this.loaderService.show();\n const emailValue = this.emailControl.value;\n this.http\n .post(`${environment.userServiceDomain}/${URLConstants.USER_CHECK}`, { email: emailValue })\n .subscribe(\n async (res: any) => {\n const userName = res?.data?.user_name;\n try {\n await Auth.forgotPassword(userName);\n // The user should receive a verification code in their email.\n const description = `A verification code has been sent to ${emailValue}`;\n this.snackbarService.openSnackbar(description);\n this.showResetPasswordScreen = true;\n this.errorMessage = '';\n this.loaderService.hide();\n } catch (error: any) {\n this.loaderService.hide();\n this.errorMessage = `Please verify the entered email/username to access your NextGem Account.`;\n }\n },\n err => {\n this.errorMessage = `Please verify the entered email/username to access your NextGem Account.`;\n },\n );\n } else {\n this.emailControl.markAsTouched();\n const required = this.emailControl.hasError('required');\n const invalid = this.emailControl.hasError('email');\n if (required) {\n this.errorMessage = 'Email is required.';\n } else if (invalid) {\n this.errorMessage = 'Invalid email format.';\n }\n }\n }\n async onResetPasswordSubmit() {\n if (this.resetPasswordForm.valid) {\n this.loaderService.show();\n const { verificationCode, password } = this.resetPasswordForm.value;\n // Process the code and password here\n const emailValue = this.emailControl.value;\n try {\n await Auth.forgotPasswordSubmit(emailValue, verificationCode, password);\n this.loaderService.hide();\n // Password reset successful, redirect to login page or any other appropriate page.\n this.router.navigate(['/login']);\n } catch (error: any) {\n this.loaderService.hide();\n this.errorMessage = error?.message;\n }\n } else {\n validateAllFormFields(this.resetPasswordForm);\n }\n }\n}\n","\n\n

\n \n keyboard_backspace\n \n \n {{title}}\n \n \n

\n
\n
\n \n
\n \n
\n

{{cardDetails?.title}}

\n Pricing & Fees\n info\n \n
\n
\n
\n
\n \n

\n \n

\n
\n
\n
\n
\n \n

\n \n

\n
\n
\n\n
\n \n \n \n \n \n Price does not include shipping and taxes.\n\n
\n
\n \n \n \n
\n \n
\n
\n \n

\n \n

\n
\n
\n
\n
\n \n

\n \n

\n
\n
\n
\n
\n \n

\n \n

\n
\n
\n
\n
\n \n

\n \n

\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n
\n\n\n
\n

The seller has 72 hours to accept this offer

\n
\n\n
\n
\n\n \n \n
\n\n \n
\n
\n \n
","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\nimport { Observable } from 'rxjs';\nimport heic2any from 'heic2any';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FileTypeConversion {\n async heicOrHeifToJpeg(file: File): Promise {\n const output = await heic2any({\n blob: file,\n toType: 'image/jpeg',\n quality: 1,\n });\n const blobs = Array.isArray(output) ? output : [output];\n const jpegBlob = new Blob(blobs, { type: 'image/jpeg' });\n const jpegFile = new File([jpegBlob], `${file.name.split('.')[0]}.jpeg`, {\n type: 'image/jpeg',\n });\n return jpegFile;\n }\n}\n","
\n\n \n
\n
\n

\n \n Manage Offers\n \n \n help_outline\n \n

\n
\n \n \n search\n \n \n \n \n
\n
\n\n
\n
\n
\n \n Buying\n \n Selling\n \n \n
\n\n \n \n \n \n \n \n
\n
\n
\n\n\n
\n \n replay\n \n
\n \n \n keyboard_arrow_right\n \n \n
\n
\n\n \n
\n
\n

\n \n {{cardTitle(offer)}}\n \n

\n

\n Offer Amount:\n \n ${{offerAmountWithServiceFee(searchTab === 'received' ? offer?.counterofferamount :\n offer?.offeramount) |\n commaSeparatedNumber}}\n \n \n ${{offerAmountWithServiceFee(searchTab === 'sent' ? offer?.counterofferamount :\n offer?.offeramount) |\n commaSeparatedNumber}}\n \n\n

\n

\n Deal Status:\n {{offer.offerstatuslabel}}\n

\n

\n Expires In:\n {{offer.expiry}}\n

\n
\n

{{notesFieldLabel(offer)}}:\n

\n

\n {{offer?.offermessage}}\n

\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n Card Details\n
\n
\n Deal Status\n
\n
\n Offer {{searchTab}} On\n
\n
\n Offer Amount\n
\n\n
\n Notes\n
\n
\n Expires In\n Tracking\n
\n
\n
\n
\n \n
\n \n
\n\n \n
\n \n {{offer?.offerstatuslabel}}\n \n
\n
\n {{offer?.offermadedate}}\n
\n
\n \n ${{offerAmountWithServiceFee(searchTab === 'received' ? offer?.counterofferamount :\n offer?.offeramount) |\n commaSeparatedNumber}}\n \n \n ${{offerAmountWithServiceFee(searchTab === 'sent' ? offer?.counterofferamount :\n offer?.offeramount) |\n commaSeparatedNumber}}\n \n\n
\n
\n {{offer?.offermessage}}\n
\n
\n {{offer?.expiry}}\n Click Here\n \n keyboard_arrow_right\n \n
\n
\n\n
\n
\n\n\n
\n \n \n
\n \n \n
\n

\n No Active Offers\n

\n

\n \n Browse our Trending categories below to begin buying and making offers on\n our most popular cards.\n \n \n Visit the NextGem Help Center to learn about our various programs for\n promoting and selling your cards to qualified\n buyers.\n \n

\n

\n {{offersListType === 1 ? 'Trending on NextGem' : 'Sell with NextGem'}}\n

\n
\n {{item.name}}\n
\n
\n {{item.name}}\n
\n
\n\n\n
\n
\n\n \n
","\n \n \n \n {{selectedFilters}}\n \n \n
\n \n \n Search\n \n \n \n \n \n type to select {{control?.name}}\n \n \n {{option.name}}\n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n ActionCenterModalComponentDialog,\n ActionCenterModalComponent,\n} from '@approot/pages/action-center-modal/action-center-modal.component';\nimport { SupportComponent } from '@approot/pages/support/support.component';\nimport { Observable } from 'rxjs';\nimport { TermsOfUseDialogModel, TermsOfUseComponent } from '../components/terms-of-use/terms-of-use.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MatDialogService {\n constructor(private dialog: MatDialog) {}\n\n openActionCenterNotification(): Observable {\n const dialogData = new ActionCenterModalComponentDialog();\n\n const dialogRef = this.dialog.open(ActionCenterModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'action-center-mdoal',\n });\n\n return dialogRef.afterClosed();\n }\n openSupportModel(): Observable {\n const dialogRef = this.dialog.open(SupportComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: { data: {} },\n panelClass: 'edit-favourites',\n });\n\n return dialogRef.afterClosed();\n }\n openTermsOfuseModal(): Observable {\n const dialogData = new TermsOfUseDialogModel();\n\n const dialogRef = this.dialog.open(TermsOfUseComponent, {\n width: '30%',\n height: '40%',\n disableClose: true,\n data: dialogData,\n panelClass: 'terms-of-use-mdoal',\n hasBackdrop: true,\n backdropClass: 'terms-of-use-mdoal-backdrop',\n });\n\n return dialogRef.afterClosed();\n }\n}\n","import { PopOverComponent } from '@approot/core/components/pop-over/pop-over.component';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { UserService } from '@approot/core/Services/user-service';\nimport { environment } from 'src/environments';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n\n@Component({\n selector: 'app-add-profile-picture',\n templateUrl: './add-profile-picture.component.html',\n styleUrls: ['./add-profile-picture.component.scss'],\n})\nexport class AddProfilePictureComponent implements OnInit {\n @Input() step!: any;\n @Input() userDetails!: any;\n imageUrl: any = '';\n constructor(\n private snackbarService: SnackbarService,\n private _userService: UserService,\n private sanitizer: DomSanitizer,\n private http: HttpClient,\n ) {}\n\n ngOnInit(): void {\n this.imageUrl = `${environment.profileURL}/${this.userDetails?.idpid}`;\n this.step[this.step.key] = true;\n }\n handleImageError() {\n this.imageUrl = '/assets/images/camera.svg';\n this.step[this.step.key] = false;\n }\n async onFileInputChange(event: any) {\n const file = event.target.files[0];\n const url = URL.createObjectURL(file);\n this.imageUrl = this.sanitizer.bypassSecurityTrustUrl(url);\n const requestUrl = `${environment.userServiceDomain}/${URLConstants.GENERATE_PRE_SIGNED_URL}`;\n const preSignInPayload = JSON.stringify({ userid: this.userDetails?.idpid });\n const signed_url = await this._userService.getS3SignUrl(requestUrl, preSignInPayload);\n this.http.put(signed_url, file).subscribe(\n (res: any) => {\n this.snackbarService.openSnackbar('Profile Image Updated');\n this.step[this.step.key] = true;\n },\n err => {},\n );\n }\n}\n","import { Injectable } from '@angular/core';\n// import * as CryptoJS from 'crypto-js';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImageCompressionService {\n compress(file: File, maxHeight: number, maxWidth: number): Observable {\n const imageType = file.type || 'image/jpeg';\n\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n\n return new Observable(observer => {\n reader.onload = ev => {\n const img = this.createImage(ev);\n\n setTimeout(() => {\n const canvas = document.createElement('canvas');\n\n if (img.height < img.width) {\n if (maxWidth) {\n canvas.width = img.width > maxWidth ? maxWidth : img.width;\n } else {\n canvas.width = img.width;\n }\n\n if (maxHeight) {\n canvas.height = img.height > maxHeight ? maxHeight : img.height;\n } else {\n canvas.height = img.height;\n }\n } else {\n if (maxHeight) {\n canvas.height = img.height > maxHeight ? maxHeight : img.height;\n } else {\n canvas.height = img.height;\n }\n\n if (maxWidth) {\n canvas.width = (canvas.height * 50) / 100;\n } else {\n canvas.width = canvas.width;\n }\n }\n canvas.height = maxHeight;\n canvas.width = maxWidth;\n const canvasCtx = canvas.getContext('2d');\n\n canvasCtx.drawImage(img, 0, 0, canvas.width, canvas.height);\n const thumbnailIMg = canvasCtx.canvas.toDataURL('image/jpeg');\n if (thumbnailIMg) {\n observer.next(thumbnailIMg);\n }\n // canvasCtx.canvas.toBlob(\n // (blob: any) => {\n // observer.next(\n // new File([blob], file.name, {\n // type: imageType,\n\n // lastModified: Date.now(),\n // }),\n // );\n // },\n\n // imageType,\n // );\n });\n };\n\n reader.onerror = error => observer.error(error);\n });\n }\n rotate(file: File): Observable {\n const imageType = file.type || 'image/jpeg';\n\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n\n return new Observable(observer => {\n reader.onload = ev => {\n const img = this.createImage(ev);\n\n setTimeout(() => {\n const canvas = document.createElement('canvas');\n // Calculate rotated canvas dimensions\n const rotatedWidth = img.height;\n const rotatedHeight = img.width;\n // Set canvas dimensions to match the rotated image\n canvas.width = rotatedWidth;\n canvas.height = rotatedHeight;\n const canvasCtx = canvas.getContext('2d');\n canvasCtx.translate(rotatedWidth / 2, rotatedHeight / 2);\n // Rotate the image 90 degrees clockwise\n canvasCtx.rotate((90 * Math.PI) / 180);\n canvasCtx.drawImage(img, -rotatedHeight / 2, -rotatedWidth / 2);\n // Save the rotated image as a File\n canvasCtx.canvas.toBlob(\n (blob: any) => {\n observer.next(\n new File([blob], file.name, {\n type: imageType,\n\n lastModified: Date.now(),\n }),\n );\n },\n\n imageType,\n );\n });\n };\n\n reader.onerror = error => observer.error(error);\n });\n }\n private createImage(ev: any) {\n const imageContent = ev.target.result;\n\n const img = new Image();\n\n img.src = imageContent;\n\n return img;\n }\n}\n","import { throwError } from 'rxjs';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Auth } from 'aws-amplify';\nimport { CognitoIdentityServiceProvider, Credentials } from 'aws-sdk';\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\nimport {\n collectionValues,\n hearAboutNextGem,\n signupStepperSampleData,\n} from '@approot/core/lib/constants/form-constants';\nimport { SignUpService } from '@approot/core/Services/sign-up.service';\nimport { AppConstants, signUpHandlers, updateProfileHandlers } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\nimport { LoaderService } from '@approot/core/Services/loading.service';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['./signup.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SignupComponent implements OnInit {\n // email: string = '';\n // password: string = '';\n // userName: string = '';\n userDetails: any;\n currentStep: number = 0;\n stepsData: any[] = [];\n currentStepFromCache = 0;\n signUpActionHandlers = signUpHandlers;\n userID: any = null;\n constructor(\n private _signUpService: SignUpService,\n private http: HttpClient,\n public loaderService: LoaderService,\n public snackbarService: SnackbarService,\n private authenticationService: AuthenticationService,\n private localStorageService: LocalStorageService,\n private router: Router,\n private route: ActivatedRoute,\n private mixpanelService: MixpanelService,\n ) {\n this.localStorageService.setItem(AppConstants.SIGN_UP_INPROGRESS, 'true');\n const userid = this.route.snapshot.paramMap.get('userid');\n let stepsData = [...signupStepperSampleData];\n if (userid) {\n stepsData = stepsData.filter(step => step.socialSignUp);\n this.signUpActionHandlers = updateProfileHandlers;\n this.userID = userid;\n }\n this.stepsData = stepsData;\n }\n get userName() {\n return this.stepsData.find(step => step.key === 'username')?.username;\n }\n get fullName() {\n return this.stepsData.find(step => step.key === 'fullname')?.fullname;\n }\n get password() {\n return this.stepsData.find(step => step.key === 'password')?.password;\n }\n get email() {\n return this.stepsData.find(step => step.key === 'email')?.email;\n }\n get phoneNumber() {\n return this.stepsData.find(step => step.key === 'phone')?.phone;\n }\n get otp() {\n return this.stepsData.find(step => step.key === 'otp')?.otp;\n }\n get howdidyouHeard() {\n return this.stepsData.find(step => step.key === 'howyouhearaboutnextgem')?.howyouhearaboutnextgem;\n }\n get whatisyourcollectionValue() {\n return this.stepsData.find(step => step.key === 'collectionvalue')?.collectionvalue;\n }\n getUserDetails() {\n const headers = {\n 'x-nextgem-webtoken': environment.webToken,\n };\n const options = { headers: headers };\n this.http\n .get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_NAME}/${this.userName}`, options)\n .subscribe((res: any) => {\n this.userDetails = res?.data;\n });\n }\n async ngOnInit() {\n this.userDetails = this.authenticationService.getUserInformation();\n const isVerifyPhone = this.route.snapshot.paramMap.get('verifyPhone');\n if (isVerifyPhone) {\n this.currentStep = Number(isVerifyPhone);\n }\n this.authenticationService.loginState.next(false);\n }\n\n onNextStep(index: number) {\n this.currentStepFromCache = index;\n const handlerEvent: any = this.signUpActionHandlers[index];\n handlerEvent ? (this as any)[handlerEvent]() : () => { };\n }\n async memberProfileSetUp() {\n await this.authenticationService.getCompleteUserDetails(true);\n this.authenticationService.loginState.next(false);\n this.authenticationService.loginState.next(true);\n // this.authenticationService.toggleSideNav(true);\n this.router.navigate(['member-profile']);\n }\n onPreviousStep(index: number) {\n this.currentStep = index;\n }\n async onSignUpConfirmed() {\n // commented for testing\n this.loaderService.show();\n try {\n const user: any = await this._signUpService.getUserConfirmationStatus(this.userName, this.password);\n if (user) {\n this.userDetails = user;\n this.userDetails['userid'] = user?.sub;\n this.localStorageService.setItem(AppConstants.USER_DATA, this.userDetails);\n this.authenticationService.userState.next(user);\n this.loaderService.hide();\n // this.getUserDetails();\n this.currentStep = this.currentStepFromCache;\n } else {\n const description = 'Please confirm your mail!';\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n }\n } catch (error) {\n this.loaderService.hide();\n const description = 'Please confirm your mail!';\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n }\n }\n onFullNameCheck() {\n const payload = {\n fullname: this.fullName,\n };\n // const headers = {\n // // 'x-nextgem-token': environment.nextgemToken,\n // 'x-nextgem-userid': this.selectedUserId,\n // };\n // const options = { headers: headers };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`, payload).subscribe(\n (res: any) => {\n this.currentStep = this.currentStepFromCache;\n },\n err => {\n console.log(err, 'err in update');\n },\n );\n }\n resendPhoneOtp() {\n this.onVerifyPhoneNumber(true);\n }\n onVerifyPhoneNumber(isResend: boolean = false) {\n const dialCode = this.phoneNumber?.dialCode;\n const payload = {\n phoneCode: dialCode,\n phone: this.phoneNumber?.e164Number?.split(dialCode)[1],\n userid: this.userDetails?.sub || this.userID,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SEND_OTP_TO_PHONE}`, payload).subscribe(\n (res: any) => {\n const IS_STATIC_OTP = true; // set this false in order make this otp dynamic\n const OTP_MESSAGE = res?.data?.message;\n if (!isResend && res?.data?.status) {\n this.currentStep = this.currentStepFromCache;\n }\n const description = IS_STATIC_OTP ? OTP_MESSAGE : `Otp sent to ${this.phoneNumber?.e164Number}`;\n this.snackbarService.openSnackbar(description);\n },\n err => {\n console.log(err, 'err in verify phone');\n },\n );\n }\n savePhoneNumber() {\n const payload = {\n phone: this.phoneNumber?.e164Number,\n tandc: true,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`, payload).subscribe(\n (res: any) => {\n const eventData = {\n userid: this.userDetails?.sub || this.userID,\n username: this.userDetails?.username,\n screenname: 'signup',\n };\n this.mixpanelService.trackByGTM('tandc_accepted', eventData);\n this.userDetails['tandc'] = true;\n this.localStorageService.setItem(AppConstants.USER_DATA, this.userDetails);\n },\n err => {\n console.log(err, 'err in update');\n },\n );\n }\n onVerifyOTP() {\n const payload = {\n otp: this.otp,\n userid: this.userDetails?.sub || this.userID,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.VERIFY_OTP}`, payload).subscribe(\n (res: any) => {\n if (res?.data?.status) {\n this.localStorageService.removeItem(AppConstants.SIGN_UP_INPROGRESS);\n this.currentStep = this.currentStepFromCache;\n const description = `Otp Verified Successfully`;\n this.snackbarService.openSnackbar(description);\n this.mixpanelService.trackByGTM('Sign_up', {\n // authProviderType: 'Google',\n email: this.email,\n inviteType: 'Direct',\n // invitedByUserId: '',\n name: this.fullName,\n phone_number: this.phoneNumber?.e164Number,\n });\n this.savePhoneNumber();\n } else {\n const description = res?.data?.message || `Invalid OTP`;\n this.snackbarService.openSnackbar(description, 'custom-error-snackbar');\n }\n },\n err => {\n console.log(err, 'err in verify otp');\n },\n );\n }\n howDidYouHeardAboutNextGem() {\n const id = hearAboutNextGem.find(values => values?.value === this.howdidyouHeard)?.id;\n // console.log(this.howdidyouHeard, id);\n\n this.mixpanelService.trackByGTM('added_heardaboutUs_value_onboarding_mpsetup', {\n userid: this.userDetails?.sub || this.userID,\n username: this.userName,\n value: this.howdidyouHeard,\n valueid: id,\n });\n this.currentStep = this.currentStepFromCache;\n }\n collectionValue() {\n const id = collectionValues.find(values => values?.value === this.whatisyourcollectionValue)?.id;\n // console.log(this.whatisyourcollectionValue, id);\n\n this.mixpanelService.trackByGTM('added_ECValue_onboarding_mpsetup', {\n userid: this.userDetails?.sub || this.userID,\n username: this.userName,\n value: this.whatisyourcollectionValue,\n valueid: id,\n });\n this.currentStep = this.currentStepFromCache;\n }\n updateValidationMessage(message: string, key: string) {\n const index = this.stepsData.findIndex(step => step.key === key);\n if (index > -1) {\n this.stepsData[index].validations.errorMessage = message;\n this.stepsData = [...this.stepsData];\n }\n }\n\n async signUp() {\n // console.log('sign up');\n const step = this.stepsData.find(step => step.key === 'password');\n if (step?.passwordPatternCheck) {\n const isValidPassword = step.passwordPatternCheck.every((pattern: any) => pattern.isValid);\n if (isValidPassword) {\n try {\n const result = this._signUpService.signUp(this.userName, this.password, this.email);\n // console.log(result);\n this.currentStep = this.currentStepFromCache;\n } catch (error) {\n console.log(error);\n }\n }\n }\n // this.currentStep = this.currentStepFromCache;\n }\n\n userNameCheck(): void {\n const step = this.stepsData.find(step => step.key === 'username');\n if (this.userName?.length && step.validations.pattern.test(this.userName)) {\n const payload = { username: this.userName };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.USER_CHECK}`, payload).subscribe(\n (res: any) => {\n // console.log(res, 'user check');\n if (!res?.data?.username) {\n if (this.userID) {\n this.changeUserName();\n } else {\n this.currentStep = this.currentStepFromCache;\n }\n this.updateValidationMessage('', 'username');\n } else {\n this.updateValidationMessage('This username is already taken', 'username');\n }\n },\n err => {\n console.log(err, 'eer in user check');\n },\n );\n }\n // console.log('user hceck');\n }\n changeUserName() {\n const username = this.userName;\n const headers = {\n 'x-nextgem-userid': this.userID,\n };\n const options = { headers: headers };\n const payload = {\n username,\n userid: this.userID,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER_NAME}`, payload).subscribe(\n (res: any) => {\n this.currentStep = this.currentStepFromCache;\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n emailUniqueCheck(): void {\n // console.log('email check');\n const step = this.stepsData.find(step => step.key === 'email');\n // removed the agreeTermsAndConditions check before submit\n if (step.validations.pattern.test(this.email)) {\n const payload = { email: this.email };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.USER_CHECK}`, payload).subscribe(\n (res: any) => {\n // console.log(res, 'email check');\n\n if (!res?.data?.email) {\n this.updateValidationMessage('', 'email');\n this.currentStep = this.currentStepFromCache;\n } else {\n this.updateValidationMessage('An account is already registered with this email', 'email');\n }\n },\n err => { },\n );\n }\n }\n async resendVerificationMail(event: any) {\n const username = this.userName;\n this.loaderService.show();\n try {\n await Auth.resendSignUp(username);\n // console.log('res sent');\n this.loaderService.hide();\n } catch (error) {\n this.loaderService.hide();\n }\n }\n}\n","import { environment } from 'src/environments/environment';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, from, Observable, of, Subject } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { CardService } from '../Services/admin-service';\nimport { AppConstants, IUser } from './constants/common-constants';\nimport { URLConstants } from './constants/url-constants';\nimport { LocalStorageService } from './local-storage.service';\nimport { Auth } from 'aws-amplify';\nimport { LoaderService } from '../Services/loading.service';\nimport { SwUpdate } from '@angular/service-worker';\nimport * as clevertap from 'clevertap-web-sdk';\nimport * as Cookies from 'js-cookie';\nimport { appDomainName } from './utils';\n\nconst enum UserCredentials {\n userName = 'admin',\n password = 'admin',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthenticationService {\n loginState!: BehaviorSubject;\n loginStateObservable!: Observable;\n userState: BehaviorSubject;\n userStateObservable: Observable;\n toggleState: BehaviorSubject;\n toggleStateObservable: Observable;\n showHeaderState: BehaviorSubject;\n showHeaderStateObservable: Observable;\n userDataFromApi: BehaviorSubject = new BehaviorSubject(null);\n private userDetailsPromise: Promise | null = null;\n masterData: BehaviorSubject = new BehaviorSubject(null);\n private masterDataPromise: Promise | null = null;\n scoreAndRankData: BehaviorSubject = new BehaviorSubject(null);\n private scoreAndRankDataPromise: Promise | null = null;\n constructor(\n private _router: Router,\n private cardService: CardService,\n private localStorageService: LocalStorageService,\n private http: HttpClient,\n public loaderService: LoaderService,\n private swUpdate: SwUpdate,\n ) {\n this.loginState = new BehaviorSubject(this.isLoggedIn());\n this.loginStateObservable = this.loginState.asObservable();\n\n this.userState = new BehaviorSubject(this.getUserInformation());\n this.userStateObservable = this.userState.asObservable();\n\n this.toggleState = new BehaviorSubject(false);\n this.toggleStateObservable = this.toggleState.asObservable();\n\n this.showHeaderState = new BehaviorSubject(true);\n this.showHeaderStateObservable = this.showHeaderState.asObservable();\n }\n async getCompleteUserDetails(refresh = false): Promise {\n console.log('user details fetch');\n\n // Invalidate the cached promise if refresh is true\n if (refresh) {\n this.userDetailsPromise = null;\n this.userDataFromApi.next(null);\n }\n\n // Return cached data if available and not refreshing\n let details = this.userDataFromApi.getValue();\n if (details && !refresh) {\n return details;\n }\n\n // Return the ongoing promise if it exists\n if (this.userDetailsPromise) {\n return this.userDetailsPromise;\n }\n\n // Make the API call and cache the promise\n this.userDetailsPromise = this.fetchUserDetails();\n details = await this.userDetailsPromise;\n\n // Reset the promise after it resolves\n this.userDetailsPromise = null;\n return details;\n }\n\n private async fetchUserDetails(): Promise {\n try {\n const headers = {\n 'x-nextgem-userid': this.userId,\n };\n const options = { headers: headers };\n const res: any = await this.http\n .get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options)\n .toPromise();\n const details = res?.data;\n details['userid'] = details?.idpid;\n details['sub'] = details?.idpid;\n const username = details?.username;\n\n this.localStorageService.setItem(AppConstants.USER_NAME, username);\n this.userDataFromApi.next(details);\n return details;\n } catch (error) {\n console.error('Failed to fetch user details', error);\n this.userDetailsPromise = null; // Reset the promise on error\n throw error; // Re-throw the error to handle it in the caller\n }\n }\n\n async getMasterDataOfCards(refresh = false): Promise {\n let details = this.masterData.getValue();\n\n if (refresh) {\n this.masterDataPromise = null;\n this.masterData.next(null);\n }\n\n if (!details) {\n if (!this.masterDataPromise) {\n this.masterDataPromise = this.fetchMasterData();\n }\n details = await this.masterDataPromise;\n }\n\n return details;\n }\n\n private async fetchMasterData(): Promise {\n try {\n const headers = {\n 'x-nextgem-userid': this.userId,\n };\n const options = { headers: headers };\n const res: any = await this.http\n .get(`${environment.cardServiceDomain}/${URLConstants.GET_CARDS_MASTER_DATA}`, options)\n .toPromise();\n const details = res?.data;\n this.masterData.next(details);\n return details;\n } catch (error) {\n console.error('Failed to fetch master data', error);\n this.masterDataPromise = null; // Reset the promise on error\n throw error; // Re-throw the error to handle it in the caller\n }\n }\n\n async getScoreAndRankData(refresh = false): Promise {\n let details = this.scoreAndRankData.getValue();\n\n if (refresh) {\n this.scoreAndRankDataPromise = null;\n this.scoreAndRankData.next(null);\n }\n\n if (!details) {\n if (!this.scoreAndRankDataPromise) {\n this.scoreAndRankDataPromise = this.fetchScoreAndRankData();\n }\n details = await this.scoreAndRankDataPromise;\n }\n\n return details;\n }\n private async fetchScoreAndRankData(): Promise {\n try {\n const res: any = await this.http\n .get(`${environment.cardServiceDomain}/${URLConstants.GET_SCORE_RANK_LIST}`)\n .toPromise();\n const details = res?.data;\n this.scoreAndRankData.next(details);\n return details;\n } catch (error) {\n console.error('Failed to fetch score data', error);\n this.scoreAndRankDataPromise = null; // Reset the promise on error\n return [];\n }\n }\n\n async isAuthenticated(): Promise> {\n try {\n const user = await Auth.currentAuthenticatedUser();\n // console.log(user, 'user');\n if (user) {\n this.loginState.next(true);\n let userDetails = { ...user?.attributes };\n userDetails['userid'] = user?.sub;\n // this.localStorageService.setItem(AppConstants.USER_DATA, userDetails);\n return of(true);\n } else {\n return of(false);\n }\n } catch (error) {\n this.loginState.next(false);\n return of(false);\n }\n }\n get userName() {\n const U_Name = this.localStorageService.getItem(AppConstants.USER_NAME);\n return U_Name;\n }\n get userId() {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n return userDetails?.sub;\n }\n isLoggedIn() {\n const isLoggedIn = !!this.userName;\n return isLoggedIn;\n }\n\n toggleSideNav(isOpen: boolean) {\n const IS_OPENED = isOpen || !this.toggleState.value;\n this.toggleState.next(IS_OPENED);\n }\n getUserInformation() {\n const USER_INFORMATION = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n return USER_INFORMATION;\n }\n\n private get domainName() {\n return appDomainName();\n }\n\n clearCache() {\n // Unregister the service worker\n if (this.swUpdate.isEnabled) {\n navigator.serviceWorker.getRegistrations().then(registrations => {\n registrations.forEach(registration => {\n registration.unregister();\n });\n });\n }\n // Clear session storage\n sessionStorage.clear();\n\n // Clear local storage\n localStorage.clear();\n\n const DOMAIN_NAME = this.domainName;\n Cookies.remove(AppConstants.IS_APP_LOGGED_IN, { domain: DOMAIN_NAME });\n // Clear cookies\n try {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c\n .replace(/^ +/, '')\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n } catch (error) {}\n }\n\n async logout(redirect: boolean) {\n this.loaderService.show();\n try {\n this.localStorageService.removeItem(AppConstants.USER_DATA);\n this.localStorageService.removeItem(AppConstants.SIGN_UP_INPROGRESS);\n this.localStorageService.removeItem(AppConstants.USER_NAME);\n this.localStorageService.removeItem(AppConstants.SIGN_UP_INPROGRESS);\n await Auth.signOut();\n clevertap.logout();\n // clevertap.clear();\n this.loginState.next(false);\n this.loaderService.hide();\n this.clearCache();\n if (redirect) {\n this._router.navigate(['login']).then(() => {\n window.location.reload();\n });\n }\n // Reload the page to fetch the latest resources\n } catch (error) {\n this.loaderService.hide();\n // console.log('Error signing out:', error);\n }\n }\n\n login(user: IUser) {\n return new Promise(async (resolve, reject) => {\n // let response: any;\n const payload = {\n email: user.userName,\n password: user.password,\n };\n\n try {\n const usernameOrSignInOpts: any = { username: user.userName, password: user.password };\n const res = await Auth.signIn(usernameOrSignInOpts);\n let userDetails = { ...res?.attributes, username: res?.username };\n // this.setToken(AppConstants.ACCESS_TOKEN, userDetails.token);\n this.localStorageService.setItem(AppConstants.USER_DATA, userDetails);\n // response = res.data;\n // this.loginState.next(true);\n // this.userState.next(userDetails);\n resolve(true);\n } catch (error: any) {\n const message = error?.message ? String(error?.message) : '';\n if (message.toLowerCase() === 'user is not confirmed') {\n reject(false);\n } else {\n reject(error);\n }\n }\n });\n }\n\n refreshToken(): Observable {\n const REFRESH_TOKEN = this.localStorageService.getItem(AppConstants.REFRESH_TOKEN);\n const ACCESS_TOKEN = this.localStorageService.getItem(AppConstants.ACCESS_TOKEN);\n return this.cardService\n .post(environment.userServiceDomain + `User/refresh-token`, { REFRESH_TOKEN, ACCESS_TOKEN })\n .pipe(\n tap((response: any) => {\n if (response || response.hasOwnProperty('Token') || response['Token']) {\n this.setToken(AppConstants.ACCESS_TOKEN, response['Token']);\n }\n }),\n );\n }\n\n private setToken(key: string, token: string): void {\n this.localStorageService.setItem(key, token);\n }\n}\n","
\n

\n Search\n

\n
\n

\n \n keyboard_backspace\n \n Search\n

\n
\n
\n \n \n search\n \n \n \n \n
\n
\n \n Saved Search\n \n Recent Search\n \n \n
\n\n

Recent Searches

\n

{{item}}\n

\n
\n
\n

Saved Searches

\n
\n
\n

{{item?.name}} {{item?.newcardscount}}\n

\n {{item?.searchtext}}\n
\n
\n \n close\n
\n
\n
\n
\n
\n
\n
Your Saved and Recent Searches are\n here!\n here!\n
\n
\n
\n\n \n \n \n Clear Filters\n \n
\n
\n
\n
\n
\n
\n
\n \n Cards\n\n \n
\n \n Clear Filters\n \n \n \n
\n \n Members\n \n
\n\n\n
\n\n
\n
\n \n

\n CARDS ({{searchResults?.cardscount}} RESULTS) 20\" (click)=\"viewAll('cards')\">View\n All\n

\n
\n \n
\n

{{card.playername}} {{card.year}} {{card.setname}}

\n

{{card.variation}}

\n
\n
\n
\n \n

\n MEMBERS ({{searchResults?.userscount}} RESULTS) 20\" (click)=\"viewAll('members')\">View\n All\n

\n
\n \n
\n

{{user?.username}}

\n {{user?.fullname}}\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n

\n \n CARDS ({{searchResults?.totalcount}} results)\n \n \n \n

\n
\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n
\n

\n Searched for \"{{searchText}}\" ({{searchResults?.userscount}} results)\n

\n
\n \n
\n

{{user?.username}}

\n {{user?.fullname}}\n \n
\n
\n \n \n \n \n \n \n
","import { ConfirmDialogComponent, ConfirmDialogModel } from './../confirm-modal/confirm-dialog.component';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormArray, FormGroup } from '@angular/forms';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NextGemFormControlType } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { calculatePercentage } from '@approot/core/lib/utils';\n\n@Component({\n selector: 'app-form-control',\n templateUrl: './form-control.component.html',\n styleUrls: ['./form-control.component.scss'],\n})\nexport class FormControlComponent implements OnInit {\n @Input() sampleFormData!: NextGemFormControlType[];\n @Input() parentGroup!: FormGroup;\n checked: boolean = false;\n filteredChipsOptions: any = [];\n constructor(private http: HttpClient, public dialog: MatDialog) {}\n searchPlayerNameOrSetName(payload: any, name: string) {\n // const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n // };\n // const options = { headers: headers };\n\n this.http\n .post(`${environment.cardServiceDomain}/${URLConstants.SUGGEST_PLAYER_NAME_OR_SETNAME}`, payload)\n .subscribe((res: any) => {\n // console.log(res, 'search results');\n let result = res.data;\n const INDEX = this.sampleFormData.findIndex(data => data.name === name);\n if (INDEX > -1) {\n this.sampleFormData[INDEX].options = result.map((name: any) => ({ name, value: name }));\n }\n });\n }\n onMultiSelectSearchChange(eventData: any) {\n const { searchTerm, control } = eventData;\n const sampleData: any = this.sampleFormData.find(data => data?.name === control?.name);\n if (sampleData) {\n let payload = sampleData.searchPayload;\n payload[sampleData.searchKey] = searchTerm;\n this.searchPlayerNameOrSetName(payload, sampleData.name);\n }\n }\n onMultiSelectOptionClicked(eventData: any) {\n const { selectedOptios, control } = eventData;\n const controlName = control?.name;\n const controlValue = { [controlName]: selectedOptios };\n this.parentGroup.patchValue(controlValue, { onlySelf: true });\n }\n onHighlightsPrivateChange(event: any, control: any) {\n // console.log(event, 'event');\n event.source.checked = !!this.checked;\n const PUBLIC_OR_PRIVATE_TEXT = control['isHighlightsPrivate'] ? 'Public' : 'Private';\n const message = `Do you want to make your highlights ${PUBLIC_OR_PRIVATE_TEXT}?`;\n\n const dialogData = new ConfirmDialogModel('', message);\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n dialogRef.afterClosed().subscribe(response => {\n if (response) {\n this.checked = !this.checked;\n this.sampleFormData.forEach(data => {\n if (data.canToggleHighlights) {\n data['chipText'] = data['isHighlightsPrivate'] ? 'PUBLIC' : 'PRIVATE';\n data['isHighlightsPrivate'] = !data['isHighlightsPrivate'];\n }\n });\n }\n });\n }\n selectAutoSuggestOption(value: any, controlName: string) {\n const controlValue = { [controlName]: value };\n // console.log(controlValue);\n\n this.parentGroup.patchValue(controlValue, { onlySelf: true });\n const INDEX = this.sampleFormData.findIndex(data => data.name === controlName);\n if (INDEX > -1) {\n this.sampleFormData[INDEX].options = [];\n this.sampleFormData[INDEX].autoSuggetionSelected = true;\n }\n }\n onBlurAutoSelection(controlName: string) {\n // const INDEX = this.sampleFormData.findIndex(data => data.name === controlName);\n // if (INDEX > -1) {\n // this.sampleFormData[INDEX].options = [];\n // this.sampleFormData[INDEX].autoSuggetionSelected = false;\n // }\n }\n getFieldValue(control: string) {\n const value = this.parentGroup.get([control])?.value;\n return value;\n }\n onInputBlur(control: any) {\n if (control.name === 'unitAmount' && control.percentageCalculateDetails) {\n const key = control.percentageCalculateDetails.key;\n const percentage = control.percentageCalculateDetails.percentage;\n const unitAmount = this.parentGroup.controls[control.name].value;\n const PERCENT_VALUE = calculatePercentage(unitAmount, percentage);\n this.parentGroup.patchValue({ [key]: PERCENT_VALUE }, { onlySelf: true });\n }\n }\n addLink(options: any[]) {\n options.push('');\n }\n addLinkControls(controlName: string) {\n const formArray = this.parentGroup.get(controlName) as FormArray;\n return formArray?.controls;\n }\n onAddLinkChnaged(value: string, controlName: string, keyName: string, link: any) {\n let links: any = this.parentGroup.get([controlName])?.value || link;\n links[keyName] = value;\n const controlValue = { [controlName]: links };\n this.parentGroup.patchValue(controlValue, { onlySelf: true });\n }\n filteredChips(options: any[], searchText: string) {\n const searchValue = searchText?.toLowerCase();\n const options_filterd = options.filter(chip => chip.value.toLowerCase().includes(searchValue));\n this.filteredChipsOptions = options_filterd;\n }\n onClickInput() {\n this.filteredChipsOptions = [];\n }\n addAutoSelectionOption(option: any, control: any) {\n const controlName: string = control.name;\n const value = option.value.trim();\n const selectedOptions = this.parentGroup.get([controlName])?.value || [];\n if (value && !selectedOptions.includes(value)) {\n selectedOptions.push(value);\n const controlValue = { [controlName]: selectedOptions };\n this.parentGroup.patchValue(controlValue, { onlySelf: true });\n }\n control['searchText'] = '';\n }\n\n removeChip(chip: string, controlName: string) {\n const selectedChips = this.parentGroup.get([controlName])?.value;\n const index = selectedChips.indexOf(chip);\n if (index >= 0) {\n const selectedChipsValue = selectedChips;\n selectedChipsValue.splice(index, 1);\n // selectedChips.setValue(selectedChipsValue);\n const controlValue = { [controlName]: selectedChipsValue };\n this.parentGroup.patchValue(controlValue, { onlySelf: true });\n }\n }\n\n ngOnInit(): void {\n const LENGTH = this.sampleFormData.length;\n for (let index = 0; index < LENGTH; index++) {\n const sampleData = this.sampleFormData[index];\n if (sampleData.type === 'autoSelect') {\n this.parentGroup.controls[sampleData.name].valueChanges\n .pipe(debounceTime(800))\n .subscribe((searchTerm: string) => {\n const CAN_SEARCH = !sampleData.autoSuggetionSelected;\n let payload = sampleData.searchPayload;\n payload[sampleData.searchKey] = searchTerm;\n\n if (CAN_SEARCH && searchTerm?.length > 2) {\n this.searchPlayerNameOrSetName(payload, sampleData.name);\n }\n this.sampleFormData[index].autoSuggetionSelected = false;\n });\n }\n }\n // console.log(this.parentGroup, 'parentGroup');\n // console.log(this.sampleFormData, 'sampleFormData');\n }\n compareFn(option: any, value: any): boolean {\n // console.log(option, 'option');\n if (typeof option === 'string') {\n return option?.toLowerCase() === value?.toLowerCase();\n }\n return option === value;\n }\n}\n","\n\n
\n

\n Queue\n \n

\n
\n\n
\n \n

Ready to publish

\n \n
\n
\n
\n \"Loading...\"\n\n
\n
\n \"Loading...\"\n\n
\n
\n
\n
\n
\n
\n \"Loading...\"\n
\n
\n
\n\n \n \n
\n \n \n
\n
\n
\n
\n
\n
\n

In Progress

\n
\n \n \n
\n
\n
\n \"Loading...\"\n\n
\n
\n \"Loading...\"\n\n
\n
\n
\n
\n
\n
\n \"Loading...\"\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \"Loading...\"\n\n
\n
\n \"Loading...\"\n\n
\n
\n
\n
\n
\n
\n \"Loading...\"\n
\n
\n
\n \n \n
\n \n 20 ? percentageValue(card.cardId) - 20 : percentageValue(card.cardId) + '%'}\">{{percentageValue(card.cardId)}}%\n
\n
\n
\n
\n
\n\n \n \n \n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-sold-cards',\n templateUrl: './sold-cards.component.html',\n styleUrls: ['./sold-cards.component.scss'],\n})\nexport class SoldCardsComponent implements OnInit {\n @Input() searchEvent!: any;\n @Input() secondaryUserId!: string | null;\n @Input() secondaryUserName!: string | null;\n public soldCardsList: Array = [];\n totalPages: any;\n pageSize: number = 200;\n currentPage: number = 0;\n constructor(\n private http: HttpClient,\n private router: Router,\n private authenticationService: AuthenticationService,\n ) {}\n\n ngOnInit(): void {\n const searchText = this.searchEvent?.text;\n this.getUserSoldCards(1, searchText);\n }\n ngOnChanges(changes: any): void {\n if (changes?.searchEvent) {\n const searchText = changes?.searchEvent?.currentValue?.text || '';\n if (!changes?.searchEvent?.firstChange) {\n this.currentPage = 0;\n this.getUserSoldCards(1, searchText);\n }\n }\n }\n changePage(event: PageEvent) {\n const pageIndex = event.pageIndex;\n this.currentPage = pageIndex;\n this.getUserSoldCards(pageIndex + 1);\n }\n getUserSoldCards(page?: number, searchText: string = '') {\n const payload = {\n userid: this.secondaryUserId || this.userId,\n pagesize: this.pageSize,\n page: page || 1,\n cardstatus: 'Sold',\n keyword: searchText,\n };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.DISCOVERY_SEARCH}`, payload).subscribe(\n (res: any) => {\n let data: any[] = res?.data?.cards || [];\n this.soldCardsList = data;\n this.totalPages = res?.data?.totalcount;\n },\n err => {},\n );\n }\n get userName() {\n return this.authenticationService.userName;\n }\n\n get userId() {\n return this.authenticationService.userId;\n }\n\n onSelectionCard(card: any) {\n const username = this.secondaryUserName || this.userName;\n this.router.navigate([`${username}/${card?.cardid}`]);\n }\n}\n","

NextGem End User License Agreement (EULA)

\n\n
Last Updated: Dec 21, 2021 

NextGem offers users the application “NextGem” free of cost on\n the following terms. By installing and / or using the App, you unconditionally agree to the following\n terms of use .The Company reserves the right, at its sole discretion, to add, remove or modify content\n of this Agreement, at any time. Your continued use of the App following the posting of changes means\n that you accept and agree to the changes.

License
Scope of License
The Company grants you\n a revocable, non-exclusive, non-transferable, limited license to download, install and use the\n Application strictly in accordance with the terms of this Agreement.

You may only use the\n Application on a Device that You own or control and as permitted by the Application Store's terms and\n conditions.

License Restrictions
You agree not to, and You will not permit others\n to:

License, sell, rent, lease, assign, distribute, transmit, host, outsource, disclose or\n otherwise commercially exploit the Application or make the Application available to any third\n party.
Remove, alter or obscure any proprietary notice (including any notice of copyright or\n trademark) of the Company or its affiliates, partners, suppliers or the licensors of the\n Application.

No warranty of suitability The company makes no warranty that this App is\n suitable for any particular purpose or that it will function as intended or at all. The organization\n makes no commitment to provide any support or maintenance for the App. The company shall entertain no\n claim whatsoever if this App does not function or otherwise meet your needs.

Our application does\n not support any content that is objectionable  to any user which includes the\n below:
Objectionable Content includes, but is not limited to: (i) sexually explicit materials; (ii)\n obscene, defamatory, libelous, slanderous, violent and/or unlawful content or profanity; (iii) content\n that infringes upon the rights of any third party, including copyright, trademark, privacy, publicity or\n other personal or proprietary right, or that is deceptive or fraudulent; (iv) content that promotes the\n use or sale of illegal or regulated substances, tobacco products, ammunition and/or firearms; and (v)\n gambling, including without limitation, any online casino, sports books, bingo or poker.

You are\n also agreeing to other NextGem rules and policies that are expressly incorporated into this Agreement.\n Please read them carefully.

Our Privacy Policy (https://www.nextgem.com/privacy)\n explains what information we collect from you and how we protect it.

Third\n Parties.
This EULA is between You and NextGem and not between you and any third party.\n You agree that any claims brought by You arising out of this EULA or Your use of the application will\n not be made against any third party that has licensed or authorized the association or integration of\n its products, applications, or content with the Software. Notwithstanding the foregoing, upon Your\n acceptance of this EULA, any applicable third party may enforce this EULA against You as a third party\n beneficiary thereof. 

Intellectual Property Rights
In the event of a\n third-party claim that the Software, or Your possession and use of the application, infringes or\n misappropriates a third-party’s intellectual property rights, NextGem will not be responsible for the\n investigation, defense, settlement and discharge of any such claim.

BY USING NEXTGEM, YOU\n ACKNOWLEDGE OUR END USER AGREEMENT AS STATED ABOVE.
\n
\n\n \n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CardService {\n\n constructor(\n private http: HttpClient\n ) {}\n \n\n get(url:string) {\n return this.http.get(url);\n }\n\n post(url:string, data:any) {\n return this.http.post(url, data)\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SeoService {\n\n constructor(@Inject(DOCUMENT) private doc: any) { }\n\n createLinkForCanonicalURL() {\n let link: HTMLLinkElement = this.doc.createElement('link');\n link.setAttribute('rel', 'canonical');\n this.doc.head.appendChild(link);\n link.setAttribute('href', this.doc.URL);\n }\n} ","
\n

\n check_circle_outline\n info\n {{data.description}}\n

\n

\n \n

\n
","
\n
\n \n
\n keyboard_backspace\n
\n \"\"\n
    \n
  • \n
\n
\n

{{step.headerText}}

\n
\n

\n {{step.subHeaderText}}\n

\n

{{step?.subHeaderText1}}

\n
\n
\n \n \n
\n
\n \n \n \n {{option.name}}\n \n
\n \n \n \n \n \n \n {{step?.validations.errorMessage}} please Login here\n \n {{step?.helpText}}\n \n
    \n
  • \"\"Showcase & share your cards
  • \n
  • \"\"Generate more offers
  • \n
  • \"\"Connect with other like-minded NextGem\n members!
  • \n
\n \n \n \n
Login\n with another user
\n\n
\n
\n\n\n\n\n\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { environment } from 'src/environments';\nimport { IframeUrlDialogModel, IframeUrlModalComponent } from '../iframe-url-modal/iframe-url-modal.component';\n\n@Component({\n selector: 'app-terms-of-use',\n templateUrl: './terms-of-use.component.html',\n styleUrls: ['./terms-of-use.component.scss'],\n})\nexport class TermsOfUseComponent implements OnInit {\n constructor(\n public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: TermsOfUseDialogModel,\n private http: HttpClient,\n private localStorageService: LocalStorageService,\n private mixpanelService: MixpanelService,\n ) {}\n\n ngOnInit() {}\n\n onConfirm(): void {\n const payload = {\n tandc: true,\n };\n const _URL = `${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`;\n this.http.post(_URL, payload).subscribe(\n (res: any) => {\n let userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n userDetails['tandc'] = true;\n this.localStorageService.setItem(AppConstants.USER_DATA, userDetails);\n const eventData = {\n userid: userDetails?.userid,\n username: userDetails?.username,\n screenname: 'discovery',\n };\n this.mixpanelService.trackByGTM('tandc_accepted', eventData);\n this.dialogRef.close(true);\n },\n err => {\n console.log(err, 'err in update');\n },\n );\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n openTermsAndPrivacyPolicy(type: string, event: Event) {\n const URL_BY_TYPE: any = {\n terms: 'https://www.nextgem.com/terms-of-use',\n privacy: 'https://www.nextgem.com/privacy',\n eula: 'https://www.nextgem.com/terms-of-use',\n };\n const TITLE_BY_TYPE: any = {\n terms: 'Terms of Use',\n privacy: 'Privacy Policy',\n eula: 'EULA',\n };\n const pdfurl = URL_BY_TYPE[type];\n window.open(pdfurl, '_blank');\n // const dialogData = new IframeUrlDialogModel(pdfurl, TITLE_BY_TYPE[type]);\n // const dialogRef = this.dialog.open(IframeUrlModalComponent, {\n // width: '30%',\n // height: '100%',\n // position: {\n // bottom: '0',\n // top: '0',\n // right: '0',\n // },\n // data: dialogData,\n // panelClass: 'pdf-mdoal',\n // });\n\n // dialogRef.afterClosed().subscribe(() => {\n // console.log('The dialog was closed');\n // });\n }\n}\n\n/**\n * Class to represent confirm dialog model.\n *\n * It has been kept here to keep it as part of shared component.\n */\nexport class TermsOfUseDialogModel {\n constructor() {}\n}\n","

\n \n Notifications\n \n \n \n \n \n

\n\n\n
\n
\n \n\n \"\"\n
\n

\n {{notification.data.message}}\n

\n View\n offer\n

\n {{notification.createdAt | dateAgo}}\n

\n
\n \n\n
\n
\n \n
\n
\n
\n \n \n
","
\n
\n
\n

\n Exquisite Cards ({{totalCards}} results)\n

\n
\n \n \n search\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \"Loading...\"\n
\n
\n
\n \n \n {{cardDetails.playername + ' ' + cardDetails.year + ' ' + cardDetails.setname}} \n \n
\n
\n
\n
\n
\n \n
\n
\n\n \n \n\n
","

\n {{title}}\n \n

\n\n
\n

{{message}}

\n
\n\n
\n \n \n \n\n
\n \n \n {{option.state}}\n \n \n
\n
\n
\n
\n\n
\n \n\n
","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n constructor() {}\n\n setItem(key: string, value: any): void {\n if (typeof value === 'string') {\n localStorage.setItem(key, value);\n } else {\n try {\n const stringifiedValue = JSON.stringify(value);\n localStorage.setItem(key, stringifiedValue);\n } catch (error) {}\n }\n }\n\n getItem(key: string): any {\n try {\n const item = localStorage.getItem(key);\n\n return item;\n } catch (e) {\n return null;\n }\n }\n\n getParsedObject(key: string) {\n const obj = this.getItem(key);\n if (obj) {\n try {\n const parsedObj = JSON.parse(obj);\n return parsedObj;\n } catch (error) {\n return null;\n }\n }\n }\n\n removeItem(key: string): any {\n localStorage.removeItem(key);\n }\n\n clear(): void {\n localStorage.clear();\n }\n setCookie(cname: string, cvalue: any, exdays: number) {\n const d = new Date();\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n let expires = 'expires=' + d.toUTCString();\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { OfferDetailsComponent } from './pages/offers/offer-details/offer-details.component';\nimport { OffersComponent } from './pages/offers/offers.component';\nimport { ForgotPasswordComponent } from './pages/forgot-password/forgot-password.component';\nimport { MyCollectionComponent } from './pages/my-collection/my-collection.component';\nimport { DiscoveryComponent } from './pages/discovery/discovery.component';\nimport { ImportCardComponent } from './pages/import-card/import-card.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { SignUpLandingPageComponent } from './pages/sign-up-landing-page/sign-up-landing-page.component';\nimport { SignupComponent } from './pages/signup/signup.component';\nimport { AuthGuard } from './core/guards/auth-guard';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { BrowserModule, Title } from '@angular/platform-browser';\nimport { SearchComponent } from './pages/search/search.component';\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\nimport { LoginComponent } from './pages/login/login.component';\nimport { MemberProfileComponent } from './pages/memberProfile/memberProfile.component';\nimport { UploadedQueueComponent } from './pages/uploaded-queue/uploaded-queue.component';\nimport { CardViewComponent } from './pages/card-view/card-view.component';\nimport { AddToCollectionComponent } from './pages/add-to-collection/add-to-collection.component';\nimport { ProfileComponent } from './pages/profile/profile.component';\nimport { BecomeMerchantComponent } from './pages/become-merchant/become-merchant.component';\nimport { SubProfileCardsSelectBuyComponent } from './pages/sub-profile-cards-select-buy/sub-profile-cards-select-buy.component';\nimport { FeatureGuard } from './core/guards/feature-gaurd';\nimport { ExquisiteCardDetailsComponent } from './pages/sub-profile-cards-select-buy/exquisite-card-details/exquisite-card-details.component';\n\nconst routes: Routes = [\n {\n path: '404',\n component: NotFoundComponent,\n },\n {\n path: 'exquisite-cards',\n pathMatch: 'full',\n component: SubProfileCardsSelectBuyComponent,\n canActivate: [FeatureGuard],\n },\n {\n path: 'exquisite-cards/:cardid',\n pathMatch: 'full',\n component: ExquisiteCardDetailsComponent,\n canActivate: [FeatureGuard],\n },\n {\n path: 'search',\n component: SearchComponent,\n canActivate: [AuthGuard],\n data: {},\n },\n {\n path: 'search/:searchInput',\n pathMatch: 'full',\n component: SearchComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'upload-queue',\n component: UploadedQueueComponent,\n canActivate: [AuthGuard],\n // children: [\n // {\n // path: 'add-update-card/:cardId/:isUpdate',\n // component: AddToCollectionComponent,\n // canActivate: [AuthGuard]\n // }\n // ]\n },\n {\n path: 'add-card/:cardId',\n pathMatch: 'full',\n component: AddToCollectionComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'update-card/:cardId',\n pathMatch: 'full',\n component: AddToCollectionComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'login',\n component: LoginComponent,\n },\n {\n path: 'forgot-password',\n component: ForgotPasswordComponent,\n },\n {\n path: 'home',\n component: HomeComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'discovery',\n component: DiscoveryComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'my-collection',\n component: MyCollectionComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'signup-landing',\n component: SignUpLandingPageComponent,\n },\n {\n path: 'social-signup',\n component: SignupComponent,\n },\n {\n path: 'signup',\n component: SignupComponent,\n },\n {\n path: 'update-profile/:userid',\n pathMatch: 'full',\n component: SignupComponent,\n },\n {\n path: 'update-profile/:userid/:verifyPhone',\n component: SignupComponent,\n },\n {\n path: 'member-profile',\n component: MemberProfileComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'member-profile/:screenId',\n pathMatch: 'full',\n component: MemberProfileComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'import-card',\n component: ImportCardComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'offers',\n component: OffersComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'merchant-account',\n component: BecomeMerchantComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'offers/:status',\n pathMatch: 'full',\n component: OffersComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'offer/:offerId',\n pathMatch: 'full',\n component: OfferDetailsComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'offer',\n component: OfferDetailsComponent,\n canActivate: [AuthGuard],\n },\n {\n path: 'profile/:username/:userid',\n component: ProfileComponent,\n canActivate: [AuthGuard],\n pathMatch: 'full',\n data: { canViewOnCards: true },\n },\n {\n path: 'cards/:cardidOnly',\n component: CardViewComponent,\n canActivate: [AuthGuard],\n pathMatch: 'full',\n data: { canViewOnCards: true },\n },\n {\n path: ':username/:cardid',\n component: CardViewComponent,\n canActivate: [AuthGuard],\n pathMatch: 'full',\n data: { canViewOnCards: true },\n },\n {\n path: ':username/:googletext/:cuid',\n component: CardViewComponent,\n canActivate: [AuthGuard],\n pathMatch: 'full',\n data: { canViewOnCards: true },\n },\n {\n path: ':userNameOnly',\n component: ProfileComponent,\n canActivate: [AuthGuard],\n data: { canViewOnCards: true },\n },\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'discovery',\n },\n {\n path: '**',\n pathMatch: 'full',\n redirectTo: '404',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n providers: [Title],\n})\nexport class AppRoutingModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, from, Observable, Subject } from 'rxjs';\nimport { environment } from 'src/environments';\nimport { AuthenticationService } from './authentication.service';\nimport { ISearchSortFilter, ISearchSortFilterKeys } from './constants/common-constants';\nimport { includeExquisiteCardsKey } from './constants/form-constants';\nimport { URLConstants } from './constants/url-constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SearchSortFilterService {\n sortList: any = [\n {\n id: 1,\n name: 'Best Match',\n short: 'BestMatch',\n },\n {\n id: 2,\n name: 'Alphabetical (Ascending)',\n short: 'A-Z',\n },\n {\n id: 3,\n name: 'Alphabetical (Descending)',\n short: 'Z-A',\n },\n {\n id: 4,\n name: 'Highest Price',\n short: 'Price-desc',\n },\n {\n id: 5,\n name: 'Lowest Price',\n short: 'Price-asc',\n },\n {\n id: 6,\n name: 'Newly Added',\n short: 'New',\n },\n {\n id: 7,\n name: 'Grade-Highest to Lowest',\n short: 'Grade-desc',\n },\n {\n id: 8,\n name: 'Grade-Lowest to Highest',\n short: 'Grade-asc',\n },\n {\n id: 9,\n name: 'Hypes-Highest to Lowest',\n short: 'Hypes-desc',\n },\n {\n id: 10,\n name: 'Hypes-Lowest to Highest',\n short: 'Hypes-asc',\n },\n {\n id: 11,\n name: 'Most Watched',\n short: '',\n },\n {\n id: 12,\n name: 'Year-Highest to Lowest',\n short: '',\n },\n {\n id: 13,\n name: 'Year-Lowest to Highest',\n short: '',\n },\n ];\n searchTextState = new Subject();\n searchSortFilterState: BehaviorSubject = new BehaviorSubject(\n this.emptyFilters,\n );\n discoveryFilterState: BehaviorSubject = new BehaviorSubject(null);\n recentSearch: BehaviorSubject = new BehaviorSubject([]);\n constructor(private http: HttpClient, private _authenticationService: AuthenticationService) {}\n get searchSortFilterStateObservable(): Observable {\n return this.searchSortFilterState.asObservable();\n }\n get emptyFilters() {\n let filters: ISearchSortFilter = {} as ISearchSortFilter;\n return filters;\n }\n get userName() {\n return this._authenticationService.userName;\n }\n clearFilters() {\n this.searchSortFilterState.next(this.emptyFilters);\n }\n\n getfilterPayload(item: any, isExquisiteCardsEnabled: boolean) {\n let filters: ISearchSortFilter | any = {\n ...this.searchSortFilterState.value,\n ...item,\n };\n filters.pagesize = filters.pagesize || 20;\n filters.page = filters.page || 1;\n filters.sort = filters.sort || 2;\n filters['keyword'] = item?.searchtext || filters.keyword;\n let newFilters: any = {};\n for (const key in filters) {\n if (ISearchSortFilterKeys.includes(key)) {\n newFilters[key] = filters?.[key];\n }\n }\n if (isExquisiteCardsEnabled) {\n newFilters[includeExquisiteCardsKey] = filters?.[includeExquisiteCardsKey] ? true : false;\n }\n return newFilters;\n }\n searchPayload(item: any) {\n return {\n pagesize: 20,\n page: 1,\n keyword: item?.keyword,\n filter: item?.filter,\n sort: item?.sort || 2,\n listingprice: item?.listingprice,\n estimatedprice: item.estimatedprice,\n };\n }\n discoverySearchCardsApi(payload: any) {\n const URL = `${environment.cardServiceDomain}/${URLConstants.DISCOVERY_SEARCH}`;\n return this.http.post(URL, payload);\n }\n getSavedSearchCardsApi() {\n const URL = `${environment.cardServiceDomain}/${URLConstants.SEARCH_HISTORY}`;\n return this.http.get(URL);\n }\n globalSearchApi(searchText: string, type?: string, page?: number, pagesize?: number) {\n const URL = `${environment.cardServiceDomain}/${URLConstants.GLOBAL_SEARCH}`;\n const payload = {\n keyword: searchText,\n page: page || 1,\n pagesize: pagesize || 20,\n type,\n };\n return this.http.post(URL, payload);\n }\n getPlayerNamesApi(payload: any) {\n const URL = `${environment.cardServiceDomain}/${URLConstants.DISCOVERY_SEARCH}`;\n return this.http.post(URL, payload).toPromise();\n }\n saveSearchResultsApi(keyword: string, name: string) {\n let sortState: any = { ...this.searchSortFilterState.value };\n sortState['searchtext'] = keyword || sortState.keyword;\n sortState['name'] = name;\n delete sortState.keyword;\n const URL = `${environment.cardServiceDomain}/${URLConstants.SEARCH_HISTORY}`;\n return this.http.post(URL, sortState);\n }\n getFilterValueFromQueryParams(queryParams: any, options: any[] = []) {\n let filters = [\n 'genres',\n 'playernames',\n 'setnames',\n 'overallgrades',\n 'graders',\n 'years',\n 'tags',\n 'cardstatus',\n 'pricerange',\n ];\n let filterValues: ISearchSortFilter = {} as ISearchSortFilter;\n\n if (!options?.length) {\n options = this.sortList;\n }\n if (queryParams?.sort) {\n const sortKey = queryParams.sort;\n filterValues['sort'] = options.find((opt: any) => opt?.short === sortKey)?.id;\n }\n filterValues['keyword'] = queryParams?.keyword;\n let filterObject: any = {};\n for (let i in filters) {\n if (queryParams[filters[i]]) {\n let item = queryParams[filters[i]].split(',');\n const filter = filters[i];\n if (filter !== 'pricerange') {\n filterObject[filter] = item;\n }\n for (let j in item) {\n const value = item[j];\n if (filter === 'pricerange') {\n //update info from passed in query param\n let minPrice;\n let maxPrice;\n let priceString = value.replace(/\\$/g, '');\n let price = priceString.split('-'); //min-max\n if (price[0]) {\n if (price[0] === 'Infinity') {\n minPrice = null;\n } else {\n minPrice = price[0];\n }\n }\n if (price[1]) {\n if (price[1] === 'Infinity') {\n maxPrice = null;\n } else {\n maxPrice = price[1];\n }\n }\n filterValues['listingprice'] = { min: minPrice, max: maxPrice };\n }\n }\n }\n }\n filterValues['filter'] = filterObject;\n return filterValues;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\nimport { AuthenticationService } from '../lib/authentication.service';\nimport { AppConstants } from '../lib/constants/common-constants';\nimport { LocalStorageService } from '../lib/local-storage.service';\nimport * as Cookies from 'js-cookie';\nimport { environment } from 'src/environments';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(\n private _router: Router,\n private _authenticationService: AuthenticationService,\n private localStorageService: LocalStorageService,\n ) {}\n redirectToCardsdomainName(canViewOnCards: boolean = false) {\n // console.log(this.route.snapshot.data, 'activated data');\n\n // const canViewOnCards = this.route.snapshot.data?.canViewOnCards;\n if (canViewOnCards) {\n const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n );\n const subDomainSuffix = environment.deploymentType === 'PRODUCTION' ? '' : `-${environment.environment}`;\n const webReduxWebsiteDomainName = `cards${subDomainSuffix}.${environment.domainName || 'nextgem.com'}`;\n const domain = isLocalhost ? 'http://localhost:4200' : `https://${webReduxWebsiteDomainName}`;\n\n const pathName = location.pathname;\n const search_str = window.location.search;\n const urlWithQueryParam = pathName !== '/' ? `${domain}/${pathName}` : `${domain}`;\n window.location.href = urlWithQueryParam + search_str;\n } else {\n this._router.navigate(['/login']);\n }\n }\n\n canActivate(route: ActivatedRouteSnapshot): any {\n const _userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n const isSignUpInProgress = this.localStorageService.getItem(AppConstants.SIGN_UP_INPROGRESS);\n // const isLoggedIn = this._authenticationService.loginState.value;\n\n // const isLoggedIn = Cookies.get(AppConstants.IS_APP_LOGGED_IN);\n const isLoggedIn = !!_userDetails;\n if (isLoggedIn && !isSignUpInProgress) {\n return true;\n }\n // this._router.navigate(['/login']);\n this.redirectToCardsdomainName(route?.data?.canViewOnCards);\n return false;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'app-edit-favourites',\n templateUrl: './edit-favourites.component.html',\n styleUrls: ['./edit-favourites.component.scss'],\n})\nexport class EditFavouritesComponent implements OnInit {\n genereCards: Array = [];\n genresMasterData: any[];\n constructor(\n private http: HttpClient,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: EditFavouritesDialogModel,\n ) {\n this.genresMasterData = JSON.parse(JSON.stringify(data.genresMasterData));\n }\n\n getGenreMasterData() {\n const genre = [...this.genresMasterData];\n if (genre) {\n this.genereCards = genre;\n this.genereCards.map(genre => ({ ...genre, isSelected: false }));\n }\n }\n getSavedGenre() {\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_PREFERNCE}`).subscribe(\n (res: any) => {\n const genre = res?.data?.genre;\n if (Array.isArray(genre) && genre?.length) {\n for (let index = 0; index < genre.length; index++) {\n const id = genre[index];\n const cardIndex = this.genereCards.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genereCards[cardIndex]['isSelected'] = !this.genereCards[cardIndex]['isSelected'];\n }\n }\n }\n },\n error => {\n console.log('error', error);\n },\n );\n }\n ngOnInit(): void {\n this.getGenreMasterData();\n this.getSavedGenre();\n }\n onConfirm(selNames: string[]): void {\n // Close the dialog, return true\n this.dialogRef.close(selNames);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n selectGenereCard = (id: any) => {\n const cardIndex = this.genereCards.findIndex((crd, index) => crd?.id === id);\n if (cardIndex > -1) {\n this.genereCards[cardIndex]['isSelected'] = !this.genereCards[cardIndex]['isSelected'];\n }\n };\n\n get selectedCards(): any[] {\n let selectedGeneres: any[] = [];\n this.genereCards.forEach((card, index) => {\n if (card?.isSelected) {\n selectedGeneres.push(card.id);\n }\n });\n return selectedGeneres;\n }\n get selectedCardNames(): any[] {\n let selectedGeneres: any[] = [];\n this.genereCards.forEach((card, index) => {\n if (card?.isSelected) {\n selectedGeneres.push(card.name);\n }\n });\n return selectedGeneres;\n }\n saveGenres() {\n const payload = {\n genre: this.selectedCards,\n displaymode: 0,\n fid: 1,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_USER_PREFERENCE}`, payload).subscribe(\n res => {\n this.onConfirm(this.selectedCardNames);\n },\n err => {\n console.log(err);\n },\n );\n }\n}\nexport class EditFavouritesDialogModel {\n constructor(public genresMasterData: any[]) {}\n}\n","
\n
    \n
  • \n
    \n
    \n \n
    \n {{card.name}}\n
    \n
  • \n
\n
","
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
","\n \n \n\n \n \n \n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n \n
\n \n\n\n
\n \n\n","module.exports = __webpack_public_path__ + \"0.worker.js\"","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewChildren } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-otp-input',\n templateUrl: './otp-input.component.html',\n styleUrls: ['./otp-input.component.scss'],\n})\nexport class OtpInputComponent implements OnInit {\n @Input() step!: any;\n @Output() onResendPhoneOtp = new EventEmitter();\n title = 'otp';\n form: FormGroup;\n formInput = ['input1', 'input2', 'input3', 'input4', 'input5', 'input6'];\n @ViewChildren('formRow') rows: any;\n private readonly destroy$ = new Subject();\n\n ngOnInit() {\n this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(otp => {\n if (this.form.valid) {\n let otp_number = '';\n this.formInput.forEach(input => {\n otp_number += otp[input];\n });\n this.step['otp'] = otp_number;\n } else {\n this.step['otp'] = '';\n }\n });\n // static otp verification start\n // if (this.step) {\n // this.patchValuesFromText('882244', true);\n // }\n //end\n }\n\n constructor() {\n this.form = this.toFormGroup(this.formInput);\n }\n\n resendPhoneVerificationCode() {\n this.onResendPhoneOtp.emit(true);\n }\n\n toFormGroup(elements: any) {\n const group: any = {};\n\n elements.forEach((key: any) => {\n group[key] = new FormControl('', [Validators.required, Validators.pattern('^\\\\d*$')]);\n });\n return new FormGroup(group);\n }\n\n onInput(event: any, index: any) {\n const input = event.target as HTMLInputElement;\n let value = input.value.replace(/[^0-9]/g, '');\n if (value.length > 6) {\n value = value.slice(0, 6);\n }\n input.value = value;\n // this.rows._results[index].nativeElement.focus();\n }\n\n keyUpEvent(event: any, index: any) {\n let pos = index;\n if (event.keyCode === 8 && event.which === 8) {\n pos = index - 1;\n } else {\n if (this.form.get(`input${index + 1}`)?.valid) {\n pos = index + 1;\n }\n }\n if (pos > -1 && pos < this.formInput.length) {\n this.rows._results[pos].nativeElement.focus();\n }\n }\n\n onPaste(event: ClipboardEvent) {\n // Prevent pasting more than one character\n event.preventDefault();\n if (event.clipboardData) {\n const pastedText = event.clipboardData.getData('text/plain');\n this.patchValuesFromText(pastedText);\n }\n }\n patchValuesFromText(pastedText: string, isNotFromPaste = false) {\n const otpAsArrray = pastedText.split('');\n const group: any = {};\n otpAsArrray.forEach((otp, index) => {\n group[`input${index + 1}`] = otp;\n });\n this.form.patchValue(group);\n const focusIndex = this.formInput.length - 1;\n // Move focus to the next input field\n if (focusIndex > -1 && !isNotFromPaste) {\n this.rows._results[focusIndex].nativeElement.focus();\n }\n this.step['otp'] = pastedText;\n console.log(group, 'form values');\n }\n onSubmit() {\n console.log(this.form.value);\n }\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { environment } from 'src/environments';\nimport { includeExquisiteCardsKey } from './form-constants';\nimport { URLConstants } from './url-constants';\n\nexport abstract class AppConstants {\n public static readonly ACCESS_TOKEN = 'accessToken';\n public static readonly SIGN_UP_INPROGRESS = 'is_signup_inprogress';\n public static readonly USER_DATA = 'userData';\n public static readonly REFRESH_TOKEN = 'refreshToken';\n public static readonly USER_NAME = 'userName';\n public static readonly IS_APP_LOGGED_IN = 'is_app_logged_in';\n public static readonly IS_VISIBILITY_CHANGE_ID = 'listen_visibility_change_id';\n public static readonly EVENT_TRIGGERED_FROM_CARDS = 'event_triggered_from_cards';\n}\n\nexport abstract class HttpStatusCode {\n public static readonly UN_AUTHORIZED_ACCESS = 401;\n public static readonly FOR_BIDDEN = 403;\n public static readonly CONFLICTS = 409;\n public static readonly GATEWAY_TIME_OUT = 504;\n}\n\nexport interface IUser {\n userName: string;\n password: string;\n}\n\nexport interface UserData {\n username: string;\n userid: string;\n fullname: string;\n email: string;\n phone: string;\n dateofregistration: string;\n profileimagedomain: string;\n}\n\nexport interface IUserFilter {\n searchText: string;\n searchBy: string;\n}\nexport const ignoreLoaderUrls: string[] = [\n URLConstants.CARDS_UPLOAD_STATUS,\n URLConstants.GENERATE_PRE_SIGNED_URL,\n URLConstants.USERS_ACTIVE_OFFERS_LIST,\n 'amazonaws',\n];\n\nexport interface ISocialProfile {\n socialmediaid: number;\n username: string;\n [key: string]: any;\n}\nexport interface IUploadProgress {\n cardid: string;\n [key: string]: any;\n}\n\nexport const signUpHandlers: handlerType = {\n 1: 'userNameCheck',\n 2: 'emailUniqueCheck',\n 3: 'signUp',\n 4: 'onSignUpConfirmed',\n 5: 'onFullNameCheck',\n 6: 'onVerifyPhoneNumber',\n 7: 'onVerifyOTP',\n 8: 'howDidYouHeardAboutNextGem',\n 9: 'collectionValue',\n 10: 'memberProfileSetUp',\n};\n\nexport const updateProfileHandlers: handlerType = {\n 1: 'userNameCheck',\n 2: 'onFullNameCheck',\n 3: 'onVerifyPhoneNumber',\n 4: 'onVerifyOTP',\n 5: 'howDidYouHeardAboutNextGem',\n 6: 'collectionValue',\n 7: 'memberProfileSetUp',\n};\n\nexport const memberProfileHandlers: handlerType = {\n 1: 'saveGenres',\n 2: 'addSocialProfiles',\n 3: 'saveBio',\n 4: 'addProfilePicture',\n 5: 'importCard',\n};\nexport const memberProfileLabelNameHandlers: handlerType = {\n 1: 'Pick genres of interest',\n 2: 'Add your Social Profile',\n 3: 'Set up your Bio',\n 4: 'Add your profile picture',\n 5: 'List your first card',\n};\nexport type statsListUrlHandlersType = 'watchList' | 'sharedList' | 'viewedList' | 'hypedList';\nexport const statsListUrlHandlers = {\n watchList: URLConstants.CARD_WATCH_LIST,\n sharedList: URLConstants.CARD_SHARED_LIST,\n viewedList: URLConstants.CARD_VIEWED_LIST,\n hypedList: '',\n};\n\ninterface handlerType {\n [key: number]: any;\n}\n\nexport enum ICons {\n my_collection = 'my-collection',\n}\n\nexport const genresCards = [\n {\n name: 'Baseball',\n icon: '',\n selectd: false,\n },\n {\n name: 'Basketball',\n icon: '',\n selectd: false,\n },\n {\n name: 'Football',\n icon: '',\n selectd: false,\n },\n {\n name: 'Hockey',\n icon: '',\n selectd: false,\n },\n {\n name: 'Pokemon',\n icon: '',\n selectd: false,\n },\n {\n name: 'Soccer',\n icon: '',\n selectd: false,\n },\n {\n name: 'Werstling',\n icon: '',\n selectd: false,\n },\n {\n name: 'UFC',\n icon: '',\n selectd: false,\n },\n {\n name: 'Other',\n icon: '',\n selectd: false,\n },\n];\n\nexport const getStatsUrl = (statName: statsListUrlHandlersType) => {\n return `${environment.cardServiceDomain}/${statsListUrlHandlers[statName]}`;\n};\n\nexport interface ISearchSortFilter {\n pagesize: number;\n page: number;\n keyword: string;\n estimatedprice: {\n min: number;\n max: number;\n };\n listingprice: {\n min: number;\n max: number;\n };\n sort: number;\n filter: {\n playernames: string[];\n setnames: string[];\n genres: string[];\n graders: string[];\n overallgrades: string[];\n years: string[];\n tags: string[];\n cardstatus: string[];\n estimatedvalue?: any[];\n };\n [key: string]: any;\n}\n\nexport const ISearchSortFilterKeys = [\n 'estimatedprice',\n 'filter',\n 'keyword',\n 'listingprice',\n 'page',\n 'pagesize',\n 'sort',\n];\n\nexport type MixPanelEventTypes =\n | 'hyped_card'\n | 'uploaded_card'\n | 'card_import_published'\n | 'social_media'\n | 'tapped_ebay_comp'\n | 'followed_user'\n | 'Sign_up'\n | 'card_status'\n | 'card_import'\n | 'added_to_watchlist'\n | 'image_export'\n | 'Sign_in'\n | 'added_heardaboutUs_value_onboarding_mpsetup'\n | 'added_ECValue_onboarding_mpsetup'\n | 'sent_offer'\n | 'sent_re_offer'\n | 'accept_offer'\n | 'counter_offer'\n | 'decline_offer'\n | 'tandc_accepted'\n | 'export_requested';\nexport const navPages = [\n { path: '/home', name: 'Home', icon: 'home', id: 1 },\n { path: '/search', name: 'Search', icon: 'search', id: 2 },\n { path: '/discovery', name: 'Discover', icon: 'dashboard', id: 3 },\n // { path: '/my-collection', name: 'My Collection', icon: 'layers' },\n { path: '/import-card', name: 'Import Cards', icon: 'input', id: 4 },\n { path: '/upload-queue', name: 'Upload Queue', icon: 'cloud_upload', id: 5 },\n { path: '/profile', name: 'Me', icon: 'account_circle', id: 6 },\n { path: '/offers', name: 'Manage Offers', icon: 'local_offer', id: 7 },\n];\n","

\n\n \n \n Filters\n \n \n CLEAR ALL\n \n

\n
\n

\n \n Filters {{appliedFiltersCount}}\n \n \n

\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n
\n
\n Invalid range. Max value must be greater than or equal to min value.\n
\n\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n
\n
\n Invalid range. Max value must be greater than or equal to min value.\n
\n
\n
\n \n
\n
\n\n
\n \n
","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\n\n@Component({\n selector: 'app-scroll-pagination',\n templateUrl: './scroll-pagination.component.html',\n styleUrls: ['./scroll-pagination.component.scss'],\n})\nexport class ScrollPaginationComponent implements OnInit {\n @Input() currentPage: number = 1; // Input property for the current page\n @Input() totalPages: number = 1; // Input property for the total number of pages\n @Input() pageSize: number = 1; // Input property for the total number of pages\n @Output() pageChanged: EventEmitter = new EventEmitter(); // Output property to emit event when the page changes\n showSpinner = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handlePageEvent(event: PageEvent): void {\n // if (this.showSpinner) return;\n this.pageChanged.emit(event);\n }\n}\n","// import { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Title, Meta } from '@angular/platform-browser';\nimport { environment } from 'src/environments/environment';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { HttpClient } from '@angular/common/http';\n// import {\n// AddToCollectionDialogModel,\n// AddToCollectionComponent,\n// } from '../uploaded-queue/add-to-collection/add-to-collection.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n ConfirmDialogComponent,\n ConfirmDialogModel,\n} from '@approot/core/components/confirm-modal/confirm-dialog.component';\nimport { UserService } from '@approot/core/Services/user-service';\nimport {\n SetAlertsDialogModel,\n SetAlertsModalComponent,\n} from '@approot/core/components/set-alerts-modal/set-alerts-modal.component';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\n// import * as CryptoJS from 'crypto-js';\nimport { Location } from '@angular/common';\nimport { MixpanelService } from '@approot/core/Services/mix-panel.service';\nimport { SendOfferDialogModel, SendOfferModalComponent } from './send-offer-modal/send-offer-modal.component';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport { AppConstants } from '@approot/core/lib/constants/common-constants';\nimport * as Cookies from 'js-cookie';\nimport { appDomainName } from '@approot/core/lib/utils';\nimport { EncryptDecryptService } from '@approot/core/lib/encryptDecrypt.service';\nimport { SnackbarService } from '@approot/core/Services/snackbar.service';\nimport { DataCacheService } from '@approot/core/Services/data-cache.service';\n@Component({\n selector: 'app-card-view',\n templateUrl: './card-view.component.html',\n styleUrls: ['./card-view.component.scss'],\n animations: [],\n providers: [LocalStorageService],\n})\nexport class CardViewComponent implements OnInit {\n isFromDiscoveryPage = false;\n cardDetails: any = {};\n defaultCard: any = { cardid: '', a: '' };\n collectionList: any = [];\n pageLoaded: boolean = false;\n userDetails: any;\n masterData: any;\n @ViewChild('mblwidgetsContent', { static: false })\n mblwidgetsContent: ElementRef | any;\n imageUrl: any = environment.imageURL + '/';\n readonly envImgURL = environment.imageURL;\n shippingAddress: any;\n\n constructor(\n private route: ActivatedRoute,\n private titleService: Title,\n private meta: Meta,\n private http: HttpClient,\n public dialog: MatDialog,\n public snackbarService: SnackbarService,\n private router: Router,\n private _userService: UserService,\n private authenticationService: AuthenticationService,\n private _location: Location,\n private mixpanelService: MixpanelService,\n private localStorageService: LocalStorageService,\n private encryptDecryptService: EncryptDecryptService,\n private dataCacheService: DataCacheService,\n ) {\n // console.log('called');\n this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n @HostListener('document:visibilitychange', ['$event'])\n onVisibilityChange(event: Event): void {\n if (document.visibilityState === 'visible') {\n const cardid = this.localStorageService.getItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n // This code will execute when the tab gains focus\n // Perform your specific content refresh here\n if (cardid == this.cardDetails?.cardid) {\n this.refreshContent(cardid);\n }\n }\n }\n refreshContent(cardid: any) {\n // this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n this.getPageDetails(this.cardDetails.userId, cardid);\n }\n getRouterParams() {\n // Check if the current URL includes 'discovery'\n this.isFromDiscoveryPage = this.router.url.includes('discovery');\n\n // Retrieve route parameters\n const id = this.route.snapshot.paramMap.get('cardid');\n const userid = this.route.snapshot.paramMap.get('username');\n const cardidOnly = this.route.snapshot.paramMap.get('cardidOnly');\n\n // Retrieve query parameters and params\n const queryParams = this.route.snapshot.queryParams;\n const params = this.route.snapshot.params;\n\n // Process cardidOnly if present\n if (cardidOnly) {\n this.getPageDetails('', cardidOnly);\n return;\n }\n\n // Process id and userid if present\n if (id && userid) {\n this.getPageDetails(userid, id);\n return;\n }\n\n // Process params if present\n if (params) {\n if (params.username && params.cuid) {\n this.getCardId('card', params.cuid);\n return;\n }\n if (params.username) {\n this.getCardId('user', params.username);\n return;\n }\n }\n\n // Process queryParams if present\n if (queryParams) {\n if (queryParams.c) {\n this.getCardId('enc', queryParams.c);\n return;\n }\n if (queryParams.u) {\n this.getCardId('enc', queryParams.u);\n return;\n }\n }\n\n // Redirect to 404 if no conditions are met\n window.location.href = '/404';\n }\n backToPreviousPage() {\n const locationState: any = this._location.getState();\n if (locationState && locationState['navigationId'] === 1) {\n // There are no previous history entries, navigate to discovery page\n this.router.navigate(['discovery']);\n } else {\n // There are previous history entries, go back\n this._location.back();\n }\n }\n navigateToMemberspage() {\n const pathname = this.isFromDiscoveryPage ? 'discovery' : 'members';\n if (this.isFromDiscoveryPage) {\n const filterState = this._userService.filterState.value;\n if (filterState.searchText === '' || !filterState.searchText) {\n this._userService.filterState.next({\n searchText: this.cardDetails?.username,\n searchBy: 'memberName',\n });\n }\n }\n this.router.navigate([pathname]);\n }\n get userName() {\n return this.authenticationService.userName;\n }\n get userId() {\n return this.authenticationService.userId;\n }\n onEditCardClicked() {\n const cardId = this.cardDetails.cardid;\n this.router.navigate([`update-card/${cardId}`]);\n }\n\n async ngOnInit() {\n this.userDetails = await this.authenticationService.getCompleteUserDetails();\n try {\n const result = await this.authenticationService.getMasterDataOfCards();\n this.masterData = JSON.parse(JSON.stringify(result));\n } catch (error) { }\n this.getShippingAddress();\n this.getRouterParams();\n }\n\n getShippingAddress() {\n const URL = `${environment.userServiceDomain}/${URLConstants.GET_SHIPPING_ADDRESS}`;\n this.http.get(URL).subscribe(\n (res: any) => {\n this.shippingAddress = res?.data;\n },\n err => { },\n );\n }\n get mainImageURL(): string {\n return this.cardDetails?.imageURL + this.cardDetails?.images[this.cardDetails?.presentImageIndx];\n }\n onImgError(event: any) {\n event.target.src = this.cardDetails['sendOfferPlaceholderImage'];\n }\n get canShowSendOffer() {\n const cardStatus = this.cardDetails?.cardstatus;\n const isNotSelfCard = this.userDetails?.userid !== this.cardDetails?.userid;\n const isCardOpenToOffers = cardStatus !== 'Personal Collection' && cardStatus !== 'Sold';\n // const isSubprofileCard = this.cardDetails?.imagesourcetype === 1;\n return isNotSelfCard && isCardOpenToOffers;\n }\n async checkIsEventTriggeredFromCards() {\n const EVENT_TRIGGERED_FROM_CARDS = Cookies.get(AppConstants.EVENT_TRIGGERED_FROM_CARDS);\n if (EVENT_TRIGGERED_FROM_CARDS) {\n const res = await this.authenticationService.getCompleteUserDetails();\n if (res) {\n if (res?.otpverified) {\n const DOMAIN_NAME = appDomainName();\n this.openSendOfferModal();\n Cookies.remove(AppConstants.EVENT_TRIGGERED_FROM_CARDS, { domain: DOMAIN_NAME });\n } else if (res?.userid) {\n this.authenticationService.loginState.next(false);\n const ID = res?.username === '' || res?.username === null ? 0 : 2;\n this.router.navigate([`update-profile/${res?.userid}/${ID}`]);\n } else {\n this.router.navigate([`login`]);\n }\n }\n }\n }\n setPageSettings(userid: string, c: string) {\n this.cardDetails.presentImageIndx = 0;\n this.cardDetails.backOpt = false;\n this.cardDetails.sharePopup = false;\n this.cardDetails.slideLeftArrow = false;\n this.cardDetails.slideRightArrow = false;\n this.cardDetails.mblSlideLeftArrow = false;\n this.cardDetails.mblSlideRightArrow = false;\n this.cardDetails.mblTab = true;\n this.cardDetails.shareURL = window.location.href;\n this.cardDetails.collectionImageURL = `${environment.imageURL}/`;\n this.cardDetails.selectedCardID = this.cardDetails.cardid;\n this.cardDetails.imageURL = this.cardDetails.collectionImageURL.concat(this.cardDetails.cardid);\n this.cardDetails.title =\n this.cardDetails.playername + ' ' + this.cardDetails.year + ' ' + this.cardDetails.setname;\n this.cardDetails.urltitle = this.cardDetails.title\n .replace(/\\s+/g, '-')\n .replace(/null/g, '')\n .replace(/-+/g, '-');\n this.cardDetails.urltitle = encodeURIComponent(this.cardDetails.urltitle.replace(/-$/g, ''));\n this.cardDetails['canShowSendOffer'] = this.canShowSendOffer;\n // this.cardDetails.urlusername = encodeURIComponent(this.cardDetails.username); commented as we don't have any user profile page\n this.cardDetails['userId'] = userid;\n this.cardDetails['cuid'] = c;\n\n if (this.cardDetails.variation && this.cardDetails.variation != '') {\n this.cardDetails.title = this.cardDetails.title + ' ' + this.cardDetails.variation;\n }\n\n if (this.cardDetails.cardnumber && this.cardDetails.cardnumber != '') {\n const numberWithHash = String(this.cardDetails.cardnumber).includes('#')\n ? ` ${this.cardDetails.cardnumber}`\n : ' #' + this.cardDetails.cardnumber;\n this.cardDetails.title = this.cardDetails.title + numberWithHash;\n }\n // this.titleService.setTitle(`NextGem:`);\n this.meta.updateTag({\n property: 'og:title',\n content: this.cardDetails.title,\n });\n const frontimagesthumb = this.cardDetails.frontimagesthumb;\n this.meta.updateTag({\n property: 'og:image',\n content: this.cardDetails.imageURL.concat(this.cardDetails?.frontimages?.cropped),\n });\n // this.seoService.createLinkForCanonicalURL();\n const frontimages = this.cardDetails.frontimages;\n const backimagesthumb = this.cardDetails.backimagesthumb;\n const backimages = this.cardDetails.backimages;\n\n const isSubprofileUpload = this.cardDetails?.imagesourcetype === 1 ? true : false;\n\n this.cardDetails.expandImages = [];\n this.cardDetails.images = [];\n let images = [];\n let expandImages = [];\n // if (frontimages && backimages) {\n\n // placeholder image\n let placeholderImages: any[] = this.masterData?.placeholder || [];\n const rawPath = placeholderImages.find(img => img?.type === 'Raw')?.path;\n const slabPath = placeholderImages.find(img => img?.type === 'Slab')?.path;\n const placeholderPath = this.cardDetails?.cardtype === 'slab' ? slabPath : rawPath;\n\n this.cardDetails['sendOfferPlaceholderImage'] =\n this.cardDetails?.frontbackimage === 1\n ? this.envImgURL + placeholderPath\n : '/assets/images/card-placeholder.png';\n if (!isSubprofileUpload) {\n expandImages.push(frontimages?.cropped);\n expandImages.push(backimages?.cropped);\n\n expandImages.push(frontimages?.topleft);\n expandImages.push(frontimages?.topright);\n expandImages.push(frontimages?.bottomleft);\n expandImages.push(frontimages?.bottomright);\n expandImages.push(backimages?.topleft);\n expandImages.push(backimages?.topright);\n expandImages.push(backimages?.bottomleft);\n expandImages.push(backimages?.bottomright);\n } else {\n expandImages.push(frontimages?.perspectivelow);\n expandImages.push(backimages?.perspectivelow);\n }\n this.cardDetails.expandImages = expandImages.filter(x => x);\n images.push(frontimages?.perspectivelow);\n images.push(backimages?.perspectivelow);\n if (!isSubprofileUpload) {\n images.push(frontimages?.topleft);\n images.push(frontimages?.topright);\n images.push(frontimages?.bottomleft);\n images.push(frontimages?.bottomright);\n images.push(backimages?.topleft);\n images.push(backimages?.topright);\n images.push(backimages?.bottomleft);\n images.push(backimages?.bottomright);\n }\n this.cardDetails.images = images.filter(x => x);\n // }\n\n if (this.cardDetails.images.length >= 5) {\n this.cardDetails.slideRightArrow = true;\n this.cardDetails.mblSlideRightArrow = true;\n }\n\n this.cardDetails.thumbnails = [];\n let thumbnails = [];\n // if (frontimagesthumb && backimagesthumb) {\n thumbnails.push(frontimagesthumb?.perspectivecorrectedthumbnail);\n thumbnails.push(backimagesthumb?.perspectivecorrectedthumbnail);\n if (!isSubprofileUpload) {\n thumbnails.push(frontimagesthumb?.topleftthumbnail);\n thumbnails.push(frontimagesthumb?.toprightthumbnail);\n thumbnails.push(frontimagesthumb?.bottomleftthumbnail);\n thumbnails.push(frontimagesthumb?.bottomrightthumbnail);\n thumbnails.push(backimagesthumb?.topleftthumbnail);\n thumbnails.push(backimagesthumb?.toprightthumbnail);\n thumbnails.push(backimagesthumb?.bottomleftthumbnail);\n thumbnails.push(backimagesthumb?.bottomrightthumbnail);\n } else {\n // console.log(this.cardDetails, 'this.cardDetails');\n\n if (this.cardDetails?.frontbackimage === 1) {\n const placeholderPath =\n environment.imageURL + this.cardDetails?.cardtype === 'slab' ? slabPath : rawPath;\n thumbnails.push(placeholderPath);\n // console.log(thumbnails);\n }\n }\n // }\n this.cardDetails.thumbnails = thumbnails.filter(x => x);\n this.pageLoaded = true;\n // console.log(this.cardDetails);\n setTimeout(() => {\n this.checkIsEventTriggeredFromCards();\n }, 1000);\n }\n\n setCardDetails(userid: string, c: string) {\n if (this.cardDetails.overallgrade) {\n this.cardDetails.overallgrade = parseFloat(this.cardDetails.overallgrade);\n }\n\n if (this.cardDetails.cardhighlights == null) {\n this.cardDetails.cardhighlights = [];\n } else {\n this.cardDetails.cardhighlights = this.cardDetails.cardhighlights.split(',');\n this.cardDetails.cardhighlights = this.cardDetails.cardhighlights.filter(function (el: any) {\n return el != '';\n });\n }\n if (!this.cardDetails?.qrurl && this.cardDetails?.certno) {\n this.cardDetails['qrurl'] = `https://www.psacard.com/cert/${this.cardDetails.certno}`;\n }\n this.setPageSettings(userid, c);\n }\n async getCardId(type: string, c: string) {\n let urlStructure: any = `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_DETAILS\n }/${'web'}/${type}/${c}`;\n this.http.get(urlStructure).subscribe(async (res: any) => {\n const userid = res?.data?.cardData?.userid;\n const cardid = res?.data?.cardData?.cardid;\n await this.getPageDetails(userid, cardid);\n });\n }\n async getPageDetails(userid: string, c: string, ofs: string = ''): Promise {\n try {\n const data = { cid: c, a: ofs };\n const jsonString = JSON.stringify(data);\n const encryptedString = this.encryptDecryptService.encryptUsingAES256(jsonString);\n const encodedString = encodeURIComponent(encryptedString);\n\n const urlStructure: string = `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_DETAILS}/${encodedString}`;\n\n const res: any = await this.http.get(urlStructure).toPromise();\n\n if (res?.data && Object.keys(res.data).length > 0) {\n this.cardDetails = res.data;\n const useid_for_set_card_details = userid || this.cardDetails?.userid;\n this.setCardDetails(useid_for_set_card_details, c);\n\n if (res.data.defaultCardID && res.data.defaultCardofs) {\n this.defaultCard.cardid = res.data.defaultCardID;\n this.defaultCard.a = res.data.defaultCardofs;\n }\n }\n\n if (res?.data?.collectionList?.length > 0) {\n for (let card of res.data.collectionList) {\n card.urlplayername = card.playername.replace(/\\s+/g, '-');\n if (!card.title) {\n card.title = `${card.playername} ${card.year} ${card.setname} ${card.variation}`;\n }\n card.urltitle = encodeURIComponent(\n card.title.replace(/\\s+/g, '-').replace(/null/g, '').replace(/-+/g, '-').replace(/-$/g, ''),\n );\n }\n this.collectionList = res.data.collectionList;\n this.cardDetails.cardList = res.data.collectionList;\n } else {\n this.cardDetails.cardList = this.collectionList;\n }\n\n this.getSimilarCards(this.cardDetails?.cardid, this.cardDetails?.playername);\n } catch (error) {\n console.error('Error fetching page details:', error);\n }\n }\n\n // async getSimilarInterestMembers(cardid: string) {\n // this.cardDetails['merchantid'] = this.userDetails?.merchantid || '';\n // const payload = {\n // cardid: cardid,\n // pagesize: 20,\n // page: 1,\n // };\n // this.http.post(`${environment.cardServiceDomain}/${URLConstants.SIMILAR_INTEREST_MEMBERS}`, payload).subscribe(\n // (res: any) => {\n // this.cardDetails['similarMembers'] = res?.data || [];\n // },\n // err => {},\n // );\n // }\n getSimilarCards(cardid: string, playername: string) {\n const payload = {\n cardid: cardid,\n pagesize: 20,\n page: 1,\n // playername,\n };\n this.http.post(`${environment.cardServiceDomain}/${URLConstants.SIMILAR_CARDS}`, payload).subscribe(\n (res: any) => {\n this.cardDetails['similarCards'] = res?.data || [];\n },\n err => { },\n );\n }\n getUserDetails(userId: string) {\n const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n 'x-nextgem-userid': userId,\n };\n const options = { headers: headers };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options).subscribe(\n (res: any) => {\n if (res.data?.message === 'user not found !') {\n } else {\n this.cardDetails['merchantid'] = res?.data?.merchantid || '';\n }\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n setCard(cid: any) {\n // on clicking a card in collection list this function is executed\n // this.cardDetails.selectedCardID = cid;\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n const pathname = this.isFromDiscoveryPage ? 'discovery' : 'cards';\n this.router.navigate([`${pathname}/${this.cardDetails.username}/${cid}`]);\n // window.location.reload();\n this.getPageDetails(this.cardDetails.userId, cid);\n }\n\n backToCollection(uid: any) {\n window.location.href = '/view?uid=' + uid;\n }\n\n copyInputMessage(value: any) {\n var el: any = document.createElement('textarea');\n el.value = value;\n el.setAttribute('readonly', '');\n el.style = { position: 'absolute', left: '-9999px' };\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n\n const description = `Link Copied`;\n this.snackbarService.openSnackbar(description);\n }\n\n mblScrollLeft() {\n this.mblwidgetsContent.nativeElement.scrollLeft -= 200;\n this.mblThumbailScroll();\n }\n\n mblScrollRight() {\n this.mblwidgetsContent.nativeElement.scrollLeft += 200;\n this.mblThumbailScroll();\n }\n\n mblThumbailScroll() {\n let offsetWidth = this.mblwidgetsContent?.nativeElement?.offsetWidth;\n let scrollLeft = this.mblwidgetsContent?.nativeElement?.scrollLeft;\n let scrollWidth = this.mblwidgetsContent?.nativeElement?.scrollWidth;\n\n if (scrollLeft == 0) {\n this.cardDetails.mblSlideLeftArrow = false;\n this.cardDetails.mblSlideRightArrow = true;\n } else if (offsetWidth + scrollLeft == scrollWidth) {\n this.cardDetails.mblSlideLeftArrow = true;\n this.cardDetails.mblSlideRightArrow = false;\n } else {\n this.cardDetails.mblSlideLeftArrow = true;\n this.cardDetails.mblSlideRightArrow = true;\n }\n }\n\n mblViewImage(tagIndx: any) {\n let sliderTag = document.getElementsByClassName('mbl slider-img');\n for (var i: any = 0; i < sliderTag.length; i++) {\n sliderTag[i].classList.remove('card-active');\n if (i == tagIndx) {\n sliderTag[i].classList.add('card-active');\n }\n }\n\n this.cardDetails.presentImageIndx = tagIndx;\n }\n\n appShare() {\n try {\n navigator.share({\n title: this.cardDetails.title,\n text: this.cardDetails.deeplinkurl,\n url: this.cardDetails.deeplinkurl,\n });\n } catch (err) {\n console.log(err);\n this.copyInputMessage(this.cardDetails.deeplinkurl);\n }\n }\n\n async hypeCard() {\n const paylaod = {\n userid: this.userDetails?.userid,\n cardid: this.cardDetails?.cardid,\n userfullname: this.userDetails?.fullname,\n username: this.userDetails?.username,\n status: !this.cardDetails?.hypestatus,\n };\n const url = `${environment.cardServiceDomain}/${URLConstants.HYPE_A_CARD}`;\n const res = await this.http.post(url, paylaod).toPromise();\n if (res) {\n const description = `Card ${this.cardDetails.hypestatus ? 'Un' : ''} Hyped`;\n this.snackbarService.openSnackbar(description);\n if (!this.cardDetails.hypestatus) {\n this.mixpanelService.trackByGTM('hyped_card', {\n cardid: this.cardDetails?.cardid,\n userid: this.userDetails?.userid,\n });\n }\n this.cardDetails.hypestatus = !this.cardDetails?.hypestatus;\n }\n }\n async saveOrAddToWatchListCard() {\n const paylaod = {\n userid: this.userDetails?.userid,\n cardid: this.cardDetails?.cardid,\n userfullname: this.userDetails?.fullname,\n username: this.userDetails?.username,\n };\n const url = `${environment.cardServiceDomain}/${URLConstants.WATCH_OR_SAVE_CARD}`;\n const res = await this.http.post(url, paylaod).toPromise();\n if (res) {\n this.mixpanelService.trackByGTM('added_to_watchlist', {\n cardid: this.cardDetails?.cardid,\n userid: this.userDetails?.userid,\n });\n this.cardDetails.watched = true;\n const description = `Card saved`;\n this.snackbarService.openSnackbar(description);\n }\n }\n async removeWatchedOrSavedCard() {\n const url = `${environment.cardServiceDomain}/${URLConstants.REMOVE_WATCH_OR_SAVED_CARD}/${this.cardDetails?.cardid}`;\n const res = await this.http.get(url).toPromise();\n if (res) {\n this.cardDetails.watched = false;\n const description = `Card removed`;\n this.snackbarService.openSnackbar(description);\n }\n }\n compsEbay() {\n const replacingOccurrences = (value: string, replaceWith: string) => {\n return value && value?.length ? String(value).split(' ').join(replaceWith) : '';\n };\n let punchurl = this.masterData?.punchurl ?? '';\n let playerName = replacingOccurrences(this.cardDetails?.playername, '+');\n let year = replacingOccurrences(this.cardDetails?.year, '+');\n let setName = replacingOccurrences(this.cardDetails?.setname, '+');\n let variation = replacingOccurrences(this.cardDetails?.variation, '+');\n let grader = replacingOccurrences(this.cardDetails?.grader, '+');\n let overallGrade = replacingOccurrences(this.cardDetails?.overallgrade, '');\n\n if (punchurl) {\n if (playerName) {\n punchurl += playerName;\n }\n if (year) {\n punchurl += `+${year}`;\n }\n if (setName) {\n punchurl += `+${setName}`;\n }\n if (variation) {\n punchurl += `+${variation}`;\n }\n if (grader && grader !== 'Ungraded') {\n punchurl += `+${grader}`;\n if (overallGrade) {\n punchurl += `+${overallGrade}`;\n }\n }\n // console.log('punchUrl:- (punchurl)', punchurl);\n this.mixpanelService.trackByGTM('tapped_ebay_comp', {\n link: punchurl,\n username: this.cardDetails?.username,\n });\n window.open(punchurl, '_blank');\n }\n }\n eventFromChild(eventType: string) {\n switch (eventType) {\n case 'hype':\n this.hypeCard();\n break;\n case 'save':\n if (this.cardDetails?.watched) {\n this.removeWatchedOrSavedCard();\n } else {\n this.saveOrAddToWatchListCard();\n }\n\n break;\n case 'comps':\n this.compsEbay();\n break;\n case 'sendOffer':\n this.openSendOfferModal();\n break;\n case 'sendNewOffer':\n this.openSendOfferModal(true);\n break;\n case 'toggle_cert':\n const ofs = this.cardDetails?.ofs === 'of' ? true : false;\n this.updateCertNumberToggleValue(ofs);\n break;\n default:\n break;\n }\n }\n updateCertNumberToggleValue(obfuscation: any) {\n const headers = {\n 'x-nextgem-userid': this.cardDetails.userid,\n };\n const options = { headers: headers };\n const payload = { obfuscation };\n this.http\n .post(\n `${environment.cardServiceDomain}/${URLConstants.UPDATE_CARD_DETAILS}/${this.cardDetails.cardid}`,\n payload,\n options,\n )\n .subscribe(\n res => {\n this.getPageDetails(this.cardDetails?.userId, this.cardDetails?.cardid);\n },\n err => { },\n );\n }\n get showSendNewOffer() {\n const isRejectedStatus = this.cardDetails?.offer?.offerstatus === 3;\n const isExpiredStatus = this.cardDetails?.offer?.offerstatus === 7;\n const sendNewOffer = isRejectedStatus || isExpiredStatus;\n // return true;\n return sendNewOffer;\n }\n openSendOfferModal(isNew = false) {\n const isOfferSent = this.cardDetails?.disableofferbutton;\n if ((isOfferSent && !isNew) || (!isNew && this.showSendNewOffer)) {\n this.router.navigate([`offer/${this.cardDetails?.offerid}`]);\n } else {\n if (!this.cardDetails?.ispurchaseactive) {\n const description =\n 'This card is presently ineligible for offers as it has already been approved for another user.';\n this.snackbarService.openSnackbar(description);\n return;\n }\n let cardDetailsData = this.cardDetails;\n cardDetailsData['buyername'] = this.userDetails?.username || this.userDetails?.fullname;\n const dialogData = new SendOfferDialogModel(cardDetailsData, null, false);\n\n const dialogRef = this.dialog.open(SendOfferModalComponent, {\n width: '30%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'offer-mdoal',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const offerid = dialogResult?.offerid;\n this.router.navigate([`offer/${offerid}`]);\n // this.getRouterParams();\n }\n });\n }\n }\n setAlerts(isFromWebview = false) {\n const dialogData = new SetAlertsDialogModel('Set Alerts');\n\n const dialogRef = this.dialog.open(SetAlertsModalComponent, {\n width: isFromWebview ? '30%' : '100%',\n height: '100%',\n position: {\n bottom: '0',\n top: '0',\n right: '0',\n },\n data: dialogData,\n panelClass: 'set-alerts',\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n }\n });\n }\n removeFromCacheCards(cardid: string) {\n let _cacheData = this.dataCacheService.getData('discovery');\n let discoveryList = _cacheData?.discoveryList;\n if (discoveryList && Array.isArray(discoveryList)) {\n discoveryList = discoveryList.filter((list: any) => list?.cardid !== cardid);\n _cacheData.discoveryList = discoveryList;\n this.dataCacheService.setData('discovery', _cacheData);\n }\n }\n deleteCardFromList(cardid: string, userid: string) {\n const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n 'x-nextgem-userid': userid,\n };\n const options = { headers: headers };\n this.http.get(`${environment.cardServiceDomain}/${URLConstants.DELETE_CARD}/${cardid}`, options).subscribe(\n res => {\n const description = 'Card deleted successfully';\n this.snackbarService.openSnackbar(description);\n this.removeFromCacheCards(cardid);\n const url = this.isFromDiscoveryPage ? 'discovery' : `cards/${userid}`;\n this.backToPreviousPage();\n },\n err => { },\n );\n }\n openDeleteCollectionDialog(): void {\n let collectionData: any = { ...this.cardDetails };\n const message = `You are about to delete ${collectionData.playername || ''} card?, Please confirm`;\n\n const dialogData = new ConfirmDialogModel('Delete Card', message);\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: '400px',\n data: dialogData,\n panelClass: 'nxt-dark-modal',\n backdropClass: 'dialog-bg-trans',\n });\n // console.log('dialog', dialogRef);\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult === true) {\n this.deleteCardFromList(collectionData.cardid, collectionData.userid);\n }\n });\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n // this.titleService.setTitle('Nextgem App Webview');\n const byId: HTMLElement | null = document.getElementById('nxtHeader');\n const nxtBodyContainer: HTMLElement | null = document.getElementById('nxtBodyContainer');\n if (byId) {\n byId.classList.remove('d-none');\n }\n if (nxtBodyContainer) {\n nxtBodyContainer.classList.remove('h-100');\n }\n this.localStorageService.removeItem(AppConstants.IS_VISIBILITY_CHANGE_ID);\n }\n ngAfterViewInit(): void {\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n const byId: HTMLElement | null = document.getElementById('nxtHeader');\n const nxtBodyContainer: HTMLElement | null = document.getElementById('nxtBodyContainer');\n if (window.innerWidth < 991) {\n if (byId) {\n byId.classList.add('d-none');\n }\n if (nxtBodyContainer) {\n nxtBodyContainer.classList.add('h-100');\n }\n }\n }\n}\n","\n
\n
\n
\n \n
\n \n \"HTML\n

Rare Cards Within Reach

\n
\n
\n
\n \n notifications_none\n \n \n \n \n \n \n \n
\n
\n\n 990 ? false : true}}\"\n (backdropClick)=\"onBackdropClick()\">\n 990 ? 'side' : 'over'}}\" [opened]=\"isOpened\">\n \n \n {{nav.icon}}\n {{nav.name}}\n \n \n \n Version 1.6.5\n \n\n \n \n
\n \n
\n\n
\n
\n\n\n
\n \n
\n
","
\n \n
\n
\n

What Genres do you want to see next?

\n
\n
    \n
  • \n
    \n
    \n \n
    \n {{card.name}}\n
    \n
  • \n
\n
\n \n
\n\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from '@approot/core/lib/authentication.service';\nimport { AppConstants, memberProfileHandlers } from '@approot/core/lib/constants/common-constants';\nimport { MemberProfileForms } from '@approot/core/lib/constants/form-constants';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { LocalStorageService } from '@approot/core/lib/local-storage.service';\nimport * as Cookies from 'js-cookie';\nimport { environment } from 'src/environments';\n\n@Component({\n selector: 'member-profile',\n templateUrl: './memberProfile.component.html',\n styleUrls: ['./memberProfile.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MemberProfileComponent implements OnInit {\n public stepsData: any;\n screenName = 'collectCard';\n hideHeaderAndFooter = false;\n userDetails: any = null;\n currentStepFromCache = 0;\n public currentStep: number = 0;\n isUpdate = false;\n constructor(\n private http: HttpClient,\n private router: Router,\n private localStorageService: LocalStorageService,\n private authenticationService: AuthenticationService,\n private route: ActivatedRoute,\n ) {\n this.stepsData = [...MemberProfileForms];\n const screenId: any = this.route.snapshot.paramMap.get('screenId');\n if (screenId && !isNaN(screenId)) {\n this.currentStep = Number(screenId);\n this.isUpdate = true;\n }\n }\n\n navigateToCardsOrHome(page: String) {\n const decodedPathName = this.localStorageService.getItem('path_name');\n if (decodedPathName) {\n const params = Cookies.get('params');\n if (params) {\n const queryParams = new URLSearchParams(params);\n const paramsData: any = {};\n\n queryParams.forEach((value, key) => {\n paramsData[key] = value;\n });\n this.router.navigate([decodedPathName], { queryParams: paramsData });\n } else {\n this.router.navigate([decodedPathName], { skipLocationChange: false });\n }\n this.localStorageService.removeItem('path_name');\n } else {\n this.router.navigate([page]);\n }\n }\n importFirstCard(screen: string) {\n if (screen === 'importCard' || screen === 'imDone') {\n this.hideHeaderAndFooter = true;\n } else {\n this.hideHeaderAndFooter = false;\n }\n this.screenName = screen;\n if (screen === 'imDone') {\n this.importCard();\n }\n }\n ngOnInit(): void {\n const userDetails = this.localStorageService.getParsedObject(AppConstants.USER_DATA);\n if (userDetails?.sub) {\n this.getUserDetails(userDetails?.sub);\n }\n }\n\n getUserDetails(userId: string) {\n const headers = {\n // 'x-nextgem-token': environment.nextgemToken,\n 'x-nextgem-userid': userId,\n };\n const options = { headers: headers };\n this.http.get(`${environment.userServiceDomain}/${URLConstants.GET_USER_BY_ID}`, options).subscribe(\n (res: any) => {\n this.userDetails = res.data;\n this.userDetails['userid'] = res?.data?.idpid;\n },\n err => {\n console.log(err, 'err in search');\n },\n );\n }\n onNextStep = (index: number) => {\n this.currentStepFromCache = index;\n // console.log(this.stepsData[this.currentStep], index);\n // if (index > 4) {\n // this.currentStep = 0; // just added a temporay navigation to stepper 1, later post functionality we can replace this with actual navigation\n // } else {\n // this.currentStep = index;\n // }\n const handlerEvent: any = memberProfileHandlers[index];\n handlerEvent ? (this as any)[handlerEvent]() : () => { };\n };\n navigateOrMoveTONextStep() {\n if (this.isUpdate) {\n this.navigateToCardsOrHome('home');\n } else {\n this.currentStep = this.currentStepFromCache;\n }\n }\n get genres() {\n return this.stepsData.find((step: { key: string; }) => step.key === 'genres')?.genres;\n }\n\n get userBio() {\n return this.stepsData.find((step: { key: string; }) => step.key === 'biography')?.biography;\n }\n\n get socialProfiles() {\n return this.stepsData.find((step: { key: string; }) => step.key === 'socialProfiles')?.socialProfiles;\n }\n\n saveGenres = () => {\n const payload = {\n genre: this.genres,\n displaymode: 0,\n fid: 2,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_USER_PREFERENCE}`, payload).subscribe(\n res => {\n // console.log(res);\n this.navigateOrMoveTONextStep();\n },\n err => {\n console.log(err);\n },\n );\n };\n saveBio = () => {\n const payload = {\n bio: this.userBio,\n fid: 4,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.UPDATE_USER}`, payload).subscribe(\n res => {\n // console.log(res);\n this.navigateOrMoveTONextStep();\n },\n err => {\n console.log(err);\n },\n );\n };\n addSocialProfiles() {\n const payload = {\n links: this.socialProfiles,\n fid: 3,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_SOCIAL_MEDIA_DATA}`, payload).subscribe(\n res => {\n // console.log(res);\n this.navigateOrMoveTONextStep();\n },\n err => {\n console.log(err);\n },\n );\n }\n addProfilePicture() {\n const paylaod = {\n userid: this.userDetails?.sub,\n fid: 5,\n index: 0,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_FEATURE_STATUS}`, paylaod).subscribe(\n res => {\n this.navigateOrMoveTONextStep();\n },\n err => {\n console.log(err);\n },\n );\n }\n importCard() {\n if (this.isUpdate) {\n this.navigateToCardsOrHome('home');\n } else {\n const paylaod = {\n userid: this.userDetails?.sub,\n fid: 6,\n index: 0,\n };\n this.http.post(`${environment.userServiceDomain}/${URLConstants.SAVE_FEATURE_STATUS}`, paylaod).subscribe(\n res => {\n // this.currentStep = this.currentStepFromCache;\n },\n err => {\n console.log(err);\n },\n );\n }\n }\n mayBeLater = () => {\n this.navigateToCardsOrHome('discovery');\n };\n selectedTab(index: number) {\n this.hideHeaderAndFooter = false;\n this.importFirstCard('collectCard');\n }\n disableSubmit(step: any) {\n const pattern = step?.validations?.pattern || '';\n const regEx = new RegExp(pattern);\n if (pattern) {\n return !regEx.test(step?.[step?.key]);\n }\n if (!step?.[step?.key]) {\n return true;\n }\n return false;\n }\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { environment } from 'src/environments';\nimport { URLConstants } from '@approot/core/lib/constants/url-constants';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-sub-profile-cards-select-buy',\n templateUrl: './sub-profile-cards-select-buy.component.html',\n styleUrls: ['./sub-profile-cards-select-buy.component.scss'],\n})\nexport class SubProfileCardsSelectBuyComponent implements OnInit {\n collectionList: any[] = [];\n imageUrl: any = environment.imageURL;\n currentPage = 0;\n totalCards = 0;\n pageSize = 20;\n pageSizeOptions = [20, 50, 100];\n searchCardsState = new Subject();\n searchTextForModel: string = '';\n\n hidePageSize = false;\n showPageSizeOptions = true;\n showFirstLastButtons = true;\n\n constructor(private http: HttpClient, private router: Router) {\n this.searchCardsState.pipe(debounceTime(500), distinctUntilChanged()).subscribe(searchText => {\n if (searchText?.length > 2) {\n this.getUnverifiedCardsCollection();\n }\n });\n }\n\n async ngOnInit() {\n // this.collectionList = subprofileCardsData;\n this.getUnverifiedCardsCollection();\n }\n\n getUnverifiedCardsCollection(page?: number) {\n // let params: any = {\n // pageSize: this.pageSize,\n // page: page || 1,\n // };\n // const options = { params: params };\n let payload = {\n pagesize: this.pageSize,\n page: page || 1,\n keyword: this.searchTextForModel,\n };\n const URL = `${environment.cardServiceDomain}/${URLConstants.GET_UN_VERIFIED_SUB_PROFILE_CARDS}`;\n this.http.post(URL, payload).subscribe(\n (res: any) => {\n this.collectionList = res?.data?.cards;\n this.totalCards = res?.data?.count;\n },\n err => {},\n );\n }\n\n updateSearchState(searchText: string) {\n this.searchCardsState.next(searchText);\n if (searchText === 'clear') {\n this.searchTextForModel = '';\n this.getUnverifiedCardsCollection();\n }\n }\n\n onSelectCard(data: any) {\n this.router.navigateByUrl(`/exquisite-cards/${data.cardid}`);\n }\n changePage(event: PageEvent) {\n this.pageSize = event.pageSize;\n this.currentPage = event.pageIndex;\n this.getUnverifiedCardsCollection(event.pageIndex + 1);\n }\n}\n","\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n// import { environment } from './environments/environment';\n// import Leanplum from 'leanplum-sdk';\nimport awsconfig from './aws-exports';\nimport { Amplify } from 'aws-amplify';\nimport { environment } from './environments';\n\n// import { initializeApp } from 'firebase/app';\n// import { getAnalytics } from 'firebase/analytics';\n// TODO: Add SDKs for Firebase products that you want to use\n// https://firebase.google.com/docs/web/setup#available-libraries\n\n// Your web app's Firebase configuration\n// For Firebase JS SDK v7.20.0 and later, measurementId is optional\nconst firebaseConfig = {\n apiKey: 'AIzaSyAAsdIyc3IFmP1U70YmtlflUKySD43DHRo',\n authDomain: 'nextgem-web-app.firebaseapp.com',\n projectId: 'nextgem-web-app',\n storageBucket: 'nextgem-web-app.appspot.com',\n messagingSenderId: '102069363849',\n appId: '1:102069363849:web:75fa7fd82a70085c46d258',\n measurementId: 'G-ZJTEFG2TN8',\n};\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n);\n\n// Assuming you have two redirect URIs, and the first is for localhost and second is for production\nconst [localRedirectSignIn, productionRedirectSignIn] = awsconfig.oauth.redirectSignIn.split(',');\n\nconst [localRedirectSignOut, productionRedirectSignOut] = awsconfig.oauth.redirectSignOut.split(',');\n\nconst updatedAwsConfig = {\n ...awsconfig,\n authenticationFlowType: 'USER_PASSWORD_AUTH',\n oauth: {\n ...awsconfig.oauth,\n redirectSignIn: isLocalhost ? localRedirectSignIn : productionRedirectSignIn,\n redirectSignOut: isLocalhost ? localRedirectSignOut : productionRedirectSignOut,\n },\n};\n\nAmplify.configure(updatedAwsConfig);\n\n// Initialize Firebase\n// const app = initializeApp(firebaseConfig);\n// const analytics = getAnalytics(app);\n\nif (environment.production) {\n enableProdMode();\n}\n\n// let isSubscribedToWebPush = false;\n// let isWebPushSupported = Leanplum.isWebPushSupported();\n// if (isWebPushSupported) {\n// Leanplum.isWebPushSubscribed().then(subscriptionStatus => {\n// isSubscribedToWebPush = subscriptionStatus;\n// console.log('subscribed to webpush');\n// });\n// }\n\n// //Once validated, you can register the device for push:\n// if (isWebPushSupported && !isSubscribedToWebPush) {\n// // Register by passing SW filepath (which is in our root directory).\n// Leanplum.registerForWebPush('/sw.min.js').then(subscriptionStatus => {\n// console.log('Subscription status: %s', subscriptionStatus);\n// });\n// }\n\n// This value should be set to true only if you're developing on your server.\n// var isDevelopmentMode = environment.production;\n\n// Sample variables. This can be any JSON object.\n// var variables = {\n// items: {\n// color: 'red',\n// size: 20,\n// showBadges: true,\n// },\n// showAds: true,\n// };\n\n// Get your App ID and Keys from https://www.leanplum.com/dashboard?#/account/apps\n// if (isDevelopmentMode) {\n// Leanplum.setAppIdForDevelopmentMode(\n// 'app_m9loC6FBWqJnyiTfq8ZMeSg0cse1EAAFV3OkVxdEzUY',\n// 'dev_AGWVLdSzwnaUUg87kZJi2NHUCCqLN9sY5u6XVP3CAjI',\n// );\n// } else {\n// Leanplum.setAppIdForProductionMode(\n// 'app_m9loC6FBWqJnyiTfq8ZMeSg0cse1EAAFV3OkVxdEzUY',\n// 'dev_AGWVLdSzwnaUUg87kZJi2NHUCCqLN9sY5u6XVP3CAjI',\n// );\n// }\n\n// Leanplum.setVariables(variables);\n// Leanplum.setApiPath('https://api.leanplum.com/api');\n// Leanplum.setUserAttributes({\n// source: 'Nextgem Web App',\n// });\n// Leanplum.start(function (success: any) {\n// console.log('Success: ' + success);\n// console.log('Variables', Leanplum.getVariables());\n// });\n//Starts Leanplum by simply loading the cached variables, and doesn't log a new session. Useful for subsequent page loads inside the app.\n// Leanplum.startFromCache('mike3958');\n\n//Set the path of the API server\n\n// //Sets the network timeout in seconds. (Default: 10).\n// Leanplum.setNetworkTimeout(5);\n\n// //Sets the request batching strategy. This applies to production mode only. The default behavior is to batch every 5 seconds.\n// Leanplum.setRequestBatching(false); // No batching.\n// Leanplum.setRequestBatching(true); // Batching enabled. Unsent requests are sent on start, pauseSession, resumeSession, and stop\n// Leanplum.setRequestBatching(true, 30); // Same as above except unsent requests are also sent every 30 seconds.\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err))\n .then(() => {\n // Check if the browser supports service workers\n // if ('serviceWorker' in navigator && environment.production) {\n // navigator.serviceWorker\n // .register('/ngsw-worker.js') // Path to the ngsw-worker.js file\n // .then(registration => {\n // console.log('Service Worker registered with scope:', registration.scope);\n // })\n // .catch(error => {\n // console.error('Service Worker registration failed:', error);\n // });\n // }\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker\n .register('/clevertap_sw.js')\n .then(function (registration) {\n console.log('CleverTap Service Worker registered with scope:', registration.scope);\n })\n .catch(function (error) {\n console.log('CleverTap Service Worker registration failed:', error);\n });\n }\n });\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","
\n
\n
\n \"{{cardDetails?.title}}\"\n
\n
\n
\n
\n \n \"\"\n \"\"\n \n
\n
\n \n \n \n
\n
\n \n \"\"\n \"\"\n \n
\n\n
\n
\n
\n \n
\n \n

Comps

\n
\n \n \n\n
\n \n

Share

\n
\n
\n \n \n

Watch

\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n\n
"],"sourceRoot":"webpack:///"}