{"version":3,"file":"WishListButton-CNubtrR6-chunk.js","sources":["../../../GSDClient/Scripts/Components/WishListButton.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport toast from 'react-hot-toast';\n\nimport {\n IProductItemViewModel,\n IWishListTranslations,\n} from 'Scripts/Types/Litium';\n\nimport {\n useAddToWishListMutation,\n useRemoveFromWishListMutation,\n useRemoveFromWishListPageMutation,\n} from 'Services/wishListApi';\n\nimport HeartIcon from 'Icons/heart.svg?react';\n\nimport CtaButton from './CtaButton';\n\ninterface WishListButtonProps {\n isOnWishList: IProductItemViewModel['isOnWishList'];\n enabledWishlist: IProductItemViewModel['enabledWishlist'];\n isOnWishListPage?: boolean;\n id: string;\n width?: string;\n height?: string;\n stroke?: string;\n colors?: IProductItemViewModel['productFilters']['colors'];\n values?: IProductItemViewModel['productFilters']['values'];\n additionalTranslations?: IWishListTranslations;\n name?: string;\n}\n\nconst WishListButton = ({\n height,\n width,\n stroke,\n colors,\n values,\n additionalTranslations,\n name,\n isOnWishListPage = false,\n isOnWishList,\n enabledWishlist,\n id,\n}: WishListButtonProps) => {\n const [isWishListItem, setIsWishListItem] = useState(isOnWishList);\n const [\n addToWishList,\n {\n data: wishListData,\n isLoading: isAddingToWishList,\n isError: isErrorAddToWishList,\n error: errorAddToWishList,\n },\n ] = useAddToWishListMutation();\n\n const [\n removeFromWishList,\n {\n data: removeFromWishListData,\n isLoading: isRemovingFromWishList,\n isError: isErrorRemovingFromWishList,\n error: errorRemovingFromWishList,\n },\n ] = useRemoveFromWishListMutation();\n const [\n removeFromWishListPage,\n {\n isError: isErrorRemovingFromWishListPage,\n error: errorRemovingFromWishListPage,\n },\n ] = useRemoveFromWishListPageMutation();\n\n useEffect(() => {\n if (wishListData) {\n setIsWishListItem(\n (wishListData as IProductItemViewModel)?.isOnWishList\n );\n }\n }, [wishListData]);\n useEffect(() => {\n if (removeFromWishListData) {\n setIsWishListItem(\n (removeFromWishListData as IProductItemViewModel)?.isOnWishList\n );\n }\n }, [removeFromWishListData]);\n\n useEffect(() => {\n setIsWishListItem(isOnWishList);\n }, [isOnWishList, id]);\n\n const handleRemoveFromWishList = (articleNumber: string) => {\n toast(\n t => (\n
\n {`${additionalTranslations.wishListPageRemoveWishlistItemConfirm} `}\n {name}\n
\n\n {`${additionalTranslations.wishListPageArticleNumber} `}\n {articleNumber.slice(0, 5)}\n
\n\n {`${additionalTranslations.wishListPageColor} `}\n \n {colors.find(x => x.isActive)?.title ??\n values.find(v => v.isActive)?.title}\n \n
\n