{"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
\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
\n
\n {\n removeFromWishListPage({\n articleNumber,\n });\n toast.dismiss(t.id);\n }}\n >\n {\n additionalTranslations.wishListPageConfirmButtonLabel\n }\n \n toast.dismiss(t.id)}\n ctaType=\"secondary\"\n >\n {\n additionalTranslations.wishListPageRejectButtonLabel\n }\n \n
\n
\n ),\n {\n duration: Infinity,\n style: {\n background: '#ffffff',\n },\n }\n );\n };\n\n const handleWishListActions = (articleNumber: string) => {\n if (enabledWishlist) {\n if (isWishListItem && !isOnWishListPage) {\n removeFromWishList({\n articleNumber,\n });\n } else if (isOnWishListPage) {\n handleRemoveFromWishList(articleNumber);\n } else {\n addToWishList({\n articleNumber,\n });\n }\n } else {\n toast.error(additionalTranslations.wishListNotEnabledToastMessage);\n }\n };\n useEffect(() => {\n if (isErrorAddToWishList && 'data' in errorAddToWishList) {\n const errMessage: { message?: string } = errorAddToWishList.data;\n toast.error(errMessage.message);\n }\n }, [errorAddToWishList, isErrorAddToWishList]);\n\n useEffect(() => {\n if (\n isErrorRemovingFromWishList &&\n 'data' in errorRemovingFromWishList\n ) {\n const errMessage: { message?: string } =\n errorRemovingFromWishList.data;\n toast.error(errMessage.message);\n }\n }, [errorRemovingFromWishList, isErrorRemovingFromWishList]);\n\n useEffect(() => {\n if (\n isErrorRemovingFromWishListPage &&\n 'data' in errorRemovingFromWishListPage\n ) {\n const errMessage: { message?: string } =\n errorRemovingFromWishListPage.data;\n toast.error(errMessage.message);\n }\n }, [errorRemovingFromWishListPage, isErrorRemovingFromWishListPage]);\n return (\n handleWishListActions(id)}\n >\n \n #Favorite icon\n \n );\n};\n\nexport default WishListButton;\n"],"names":["WishListButton","height","width","stroke","colors","values","additionalTranslations","name","isOnWishListPage","isOnWishList","enabledWishlist","id","isWishListItem","setIsWishListItem","useState","addToWishList","wishListData","isAddingToWishList","isErrorAddToWishList","errorAddToWishList","useAddToWishListMutation","removeFromWishList","removeFromWishListData","isRemovingFromWishList","isErrorRemovingFromWishList","errorRemovingFromWishList","useRemoveFromWishListMutation","removeFromWishListPage","isErrorRemovingFromWishListPage","errorRemovingFromWishListPage","useRemoveFromWishListPageMutation","useEffect","handleRemoveFromWishList","articleNumber","toast","t","jsxs","jsx","_a","x","_b","v","CtaButton","handleWishListActions","errMessage","HeartIcon"],"mappings":"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"}