{"version":3,"file":"groobyPh.js","sources":["../../../../../../../app/composables/useFavoriteItem.ts","../../../../../../../app/components/CiFavoriteTile/CiFavoriteTile.vue","../../../../../../../app/components/CiFavoriteListItem/CiFavoriteListItem.vue","../../../../../../../app/composables/services/useFavoriteService.ts","../../../../../../../app/pages/account/favorites/index.vue"],"sourcesContent":["import { faHeart as faHeartSolid } from '@fortawesome/pro-solid-svg-icons';\nimport { faHeart, faUndo } from '@fortawesome/pro-regular-svg-icons';\n\nexport default function useFavoriteItem({\n favorite,\n timeoutActive,\n index,\n}: {\n favorite: any;\n timeoutActive: boolean;\n index?: number;\n}) {\n /********************\n * COMPOSITIONS *\n ********************/\n const route = useRoute();\n const { getDecimalSeparator } = usePriceFormatter();\n const { getContextForCP } = useECommerceContext();\n const { trackProductListClick } = useTracking();\n\n /********************\n * REFS & VARS *\n ********************/\n const markedForRemoval = ref(false);\n const hoverOnIcon = ref(false);\n\n const favoriteIcon = computed(() => {\n return hoverOnIcon.value ? faHeart : faHeartSolid;\n });\n\n const undoIcon = computed(() => {\n return faUndo;\n });\n\n const comparePrice = computed(() => {\n if (hasPrice(favorite.price && favorite.price.price_off_season)) {\n return favorite.price.price_off_season;\n }\n\n if (hasPrice(favorite.price && favorite.price.price1)) {\n return favorite.price.price1;\n }\n\n return null;\n });\n\n const priceNumberBeforeComma = computed(() => {\n const decimal = parseFloat(comparePrice.value).toFixed(2);\n return decimal.split('.')[0];\n });\n\n const priceDecimals = computed(() => {\n const decimal = parseFloat(comparePrice.value).toFixed(2);\n return decimal.split('.')[1];\n });\n\n const decimalSeparator = computed(() => {\n return getDecimalSeparator(comparePrice.value);\n });\n\n /********************\n * FUNCTIONS *\n ********************/\n function setHoverState(isActive: boolean) {\n hoverOnIcon.value = isActive;\n }\n\n function markForRemoval() {\n hoverOnIcon.value = false;\n markedForRemoval.value = true;\n }\n\n function undoMarkForRemoval() {\n hoverOnIcon.value = false;\n markedForRemoval.value = false;\n }\n\n function unmarkedForRemoval(event) {\n if (!timeoutActive || event.detail.lastRemovedIndex === index) {\n markedForRemoval.value = false;\n }\n }\n\n function hasPrice(price) {\n return price && price !== 0;\n }\n\n function onFavoriteClicked(position: number) {\n trackProductListClick({\n product: {\n id: favorite.camping_id.toString(),\n name: favorite.name,\n category: 'campsite',\n currency: 'EUR',\n price: Math.round((favorite.price?.price_off_season || favorite.price?.price1 || 0) * 100) / 100,\n position: position + parseInt((route.query?.offset as string) || '0'),\n },\n name: 'favorites',\n context: getContextForCP(favorite),\n });\n }\n\n /********************\n * HOOKS *\n ********************/\n onMounted(() => {\n window.addEventListener('favorites.updated', unmarkedForRemoval);\n });\n\n onBeforeUnmount(() => {\n window.removeEventListener('favorites.updated', unmarkedForRemoval);\n });\n\n return {\n comparePrice,\n decimalSeparator,\n favoriteIcon,\n hoverOnIcon,\n markForRemoval,\n markedForRemoval,\n onFavoriteClicked,\n priceDecimals,\n priceNumberBeforeComma,\n setHoverState,\n undoIcon,\n undoMarkForRemoval,\n };\n}\n","\n\n\n\n\n","\n\n\n\n\n","import useFetchService from '@/composables/useFetchService';\n\nexport default function useFavoriteService() {\n /********************\n * COMPOSITIONS *\n ********************/\n const runtimeConfig = useRuntimeConfig();\n const fetchService = useFetchService({ base: runtimeConfig.public.apiUrl });\n\n /********************\n * FUNCTIONS *\n ********************/\n function getFavorites(lang: string, params: any) {\n return fetchService.get('/favorites/', lang, { params }, 2);\n }\n\n return {\n getFavorites,\n };\n}\n","\n\n\n\n\n"],"names":["useFavoriteItem","favorite","timeoutActive","index","route","useRoute","getDecimalSeparator","usePriceFormatter","getContextForCP","useECommerceContext","trackProductListClick","useTracking","markedForRemoval","ref","hoverOnIcon","favoriteIcon","computed","faHeart","faHeartSolid","undoIcon","faUndo","comparePrice","hasPrice","priceNumberBeforeComma","priceDecimals","decimalSeparator","setHoverState","isActive","markForRemoval","undoMarkForRemoval","unmarkedForRemoval","event","price","onFavoriteClicked","position","_a","_b","_c","onMounted","onBeforeUnmount","props","__props","emit","__emit","localePath","useLocalePath","$gettext","$pgettext","useGettext","fixImageUrlAndCheckWebp","useWebp","altTextForFavoriteIcon","getImage","webp","onMarkForRemoval","onUndoMarkForRemoval","useFavoriteService","runtimeConfig","useRuntimeConfig","fetchService","useFetchService","getFavorites","lang","params","favoriteService","favoritesContainerRef","getRouteBaseName","useRouteBaseName","userStore","useUserStore","locale","useI18n","trackProductListView","currentView","favorites","shallowRef","favoritesCount","isPending","limit","offset","pageCount","recommendations","timeouts","view","hasFavorites","i18nPromoHeadline","isTileViewActive","isListViewActive","i18nInfoTextTitle","i18nInfoText","getOffset","currentPage","breadcrumb","offsetIsOutOfRange","searchRoute","RBN_SEARCH","registerRoute","loginRoute","RBN_LOGIN","watch","onUserChange","scrollToMainContainer","getFavoritesFromService","removeMarkedForRemovalFavoritesWhenLeavingPage","newValue","lastRemovedIndex","response","products","context","item","idx","setFavoritesCount","navigateToFavoritesPage","sendFavoritesUpdatedEvent","error","createError","timeoutIsActive","slug","count","changeView","nextTick","startRemovingTimer","removeFavoriteItem","stopRemovingTimer","timeoutsCopy","campsiteSlug","navigateToPreviousPage","query","routeQuery","key","value","equals","RBN_FAVORITES","navigateTo","listItemNumber"],"mappings":"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"}