{"version":3,"sources":["webpack:///./Scripts/Components/Wishlist.js","webpack:///./Scripts/Components/WishlistOverview.js","webpack:///./Scripts/Components/ShareWishlistButton.js","webpack:///./Scripts/Components/SharedWishlistLink.js","webpack:///./Scripts/Components/ShareWishlistContainer.js","webpack:///./Scripts/Components/Wishlist.container.js"],"names":["activeList","onRemoveItem","wishlist","useSelector","state","list","dispatch","useDispatch","useEffect","getAllWishlists","getWishlist","className","Object","keys","length","translate","values","map","item","index","key","src","image","alt","name","href","url","reducedPrice","price","onClick","sortIndex","target","rel","handleAddToCart","articleNumber","quantity","addToCart","edit","onUpdateActiveList","onUpdateWishlistName","editCurrentName","setEditCurrentName","useState","editNewName","setEditNewName","handleEdit","setHandleEdit","lists","async","handleDeleteList","listName","deleteWishlist","setActiveWishlist","id","type","value","onChange","evt","val","updateEditWishlist","handleEditList","title","handleGoToList","onClose","ref","useRef","inputRef","shareLink","sharelink","activeWishlist","active","wishlistId","find","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","select","getShareLink","readOnly","copybutton","getElementById","navigator","clipboard","writeText","classList","add","setTimeout","remove","showInfo","setShowInfo","onToggle","show","payload","showError","setShowError","resetWishlistState","URLSearchParams","window","location","search","get","result","addSharedWishlist","wishlistName","error","showWishlistDrawer","handleSharedWishlist","e","preventDefault","Notification","text","message","info","addAllToCart","success","deleteWishlistItem","handleRemoveItem","previousName","newName","updateWishlistName","then","handleUpdateWishlistName"],"mappings":"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","file":"339.b71d5a6608586416b1c0.js","sourcesContent":["import React, { useEffect } from 'react';\r\nimport { translate } from '../Services/translation';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n addToCart,\r\n getAllWishlists,\r\n getWishlist,\r\n} from '../Actions/Wishlist.action';\r\n\r\nconst Wishlist = ({ activeList, onRemoveItem }) => {\r\n const wishlist = useSelector((state) => state.wishlist.list);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(getAllWishlists());\r\n dispatch(getWishlist(activeList));\r\n }, [activeList, dispatch]);\r\n\r\n function handleAddToCart(articleNumber, quantity) {\r\n dispatch(addToCart(articleNumber, quantity));\r\n }\r\n\r\n return (\r\n <div className=\"wishlist-item__container\">\r\n {wishlist && Object.keys(wishlist).length < 1 && (\r\n <div className=\"wishlist-item__no-results\">\r\n <p>{translate('wishlist.empty')}</p>\r\n </div>\r\n )}\r\n {wishlist &&\r\n Object.values(wishlist).map((item, index) => (\r\n <div\r\n className=\"wishlist-item__wrapper\"\r\n key={`wishlist-item-${index}`}\r\n >\r\n <img\r\n className=\"wishlist-item__product-image\"\r\n src={item.image}\r\n alt={item.name}\r\n />\r\n\r\n <div className=\"wishlist-item__product-info-container\">\r\n <div className=\"wishlist-item__product-info\">\r\n <div className=\"wishlist-item__info\">\r\n <a href={item.url}>\r\n <p className=\"wishlist-item__title\">\r\n {item.name}\r\n </p>\r\n </a>\r\n </div>\r\n {item.reducedPrice ? (\r\n <p className=\"wishlist-item__price--discount\">\r\n {item.reducedPrice}\r\n </p>\r\n ) : (\r\n <p className=\"wishlist-item__price\">\r\n {item.price}\r\n </p>\r\n )}\r\n </div>\r\n <div className=\"wishlist-item__button-wrapper\">\r\n <a\r\n className=\"wishlist-item__delete\"\r\n onClick={() => onRemoveItem(item.sortIndex)}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n {translate('wishlist.delete')}\r\n </a>\r\n <button\r\n className=\"button wishlist-item__cart-button\"\r\n onClick={() =>\r\n handleAddToCart(item.articleNumber, 1)\r\n }\r\n >\r\n {translate('wishlist.addtocart')}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Wishlist;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { translate } from '../Services/translation';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { \r\n deleteWishlist, \r\n getAllWishlists, \r\n setActiveWishlist,\r\n} from '../Actions/Wishlist.action';\r\n\r\nconst WishlistOverview = ({\r\n edit,\r\n onUpdateActiveList,\r\n onUpdateWishlistName,\r\n}) => {\r\n const [editCurrentName, setEditCurrentName] = useState('');\r\n const [editNewName, setEditNewName] = useState('');\r\n const [handleEdit, setHandleEdit] = useState(edit);\r\n const wishlist = useSelector((state) => state.wishlist.lists);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n setHandleEdit(edit);\r\n }, [edit]);\r\n\r\n function updateEditWishlist(evt) {\r\n const val = evt.target.value;\r\n setEditNewName(val);\r\n }\r\n\r\n function resetWishlistState() {\r\n dispatch(setActiveWishlist(''));\r\n }\r\n\r\n function handleGoToList(listName) {\r\n onUpdateActiveList(listName);\r\n }\r\n\r\n function handleEditList(listName) {\r\n setHandleEdit(true);\r\n setEditCurrentName(listName);\r\n setEditNewName(listName);\r\n }\r\n\r\n function handleUpdateWishlistName() {\r\n onUpdateWishlistName(editCurrentName, editNewName);\r\n }\r\n\r\n async function handleDeleteList(listName) {\r\n await dispatch(deleteWishlist(listName));\r\n await dispatch(getAllWishlists());\r\n dispatch(resetWishlistState());\r\n }\r\n\r\n return (\r\n <div className=\"wishlist-overview__container\" key={edit}>\r\n {wishlist && Object.keys(wishlist).length < 1 && (\r\n <div className=\"wishlist-overview__empty\">\r\n <p>{translate('wishlist.nowishlist')}</p>\r\n </div>\r\n )}\r\n {handleEdit && (\r\n <div className=\"wishlist-overview__edit\">\r\n <input\r\n className=\"form__input\"\r\n id=\"wishlist-name\"\r\n name=\"name\"\r\n type=\"text\"\r\n value={editNewName}\r\n onChange={(evt) => updateEditWishlist(evt)}\r\n />\r\n <div className=\"wishlist-overview__button-wrapper\">\r\n <button\r\n type=\"submit\"\r\n className=\"button button--cancel\"\r\n onClick={() => {\r\n handleDeleteList(editCurrentName);\r\n setHandleEdit(false);\r\n }}\r\n >\r\n {translate('wishlist.delete')}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n className=\"button button--submit\"\r\n onClick={() => {\r\n handleUpdateWishlistName();\r\n setHandleEdit(false);\r\n }}\r\n >\r\n {translate('wishlist.save')}\r\n </button>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {!handleEdit &&\r\n wishlist &&\r\n Object.values(wishlist).map((item, index) => (\r\n <div\r\n key={`wishlist-overview-list-item-${index}`}\r\n className=\"wishlist-overview__item\"\r\n >\r\n <p className=\"wishlist-overview__text\">{item.name}</p>\r\n <div className=\"wishlist-overview__handle-list\">\r\n <a\r\n className=\"wishlist-overview__edit-button\"\r\n onClick={() => handleEditList(item.name)}\r\n title={translate('edit')}\r\n ></a>\r\n <a\r\n className=\"wishlist-overview__delete-button\"\r\n onClick={() => handleDeleteList(item.name)}\r\n title={translate('delete')}\r\n ></a>\r\n </div>\r\n <a\r\n className=\"wishlist-overview__chevron-button\"\r\n onClick={() => handleGoToList(item.name)}\r\n title={translate('wishlist.gotolist')}\r\n ></a>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\nexport default WishlistOverview;\r\n","import React from 'react';\r\nimport { translate } from '../Services/translation';\r\n\r\nconst ShareWishlistButton = ({ onClick }) => (\r\n <button onClick={onClick} className=\"wishlist-share__share-button\">\r\n {' '}\r\n {translate('wishlist.sharebutton')}{' '}\r\n </button>\r\n);\r\n\r\nexport default ShareWishlistButton;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getShareLink } from '../Actions/Wishlist.action';\r\nimport { translate } from '../Services/translation';\r\n\r\nconst SharedWishlistLink = ({ onClose }) => {\r\n const ref = useRef(null);\r\n const inputRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const shareLink = useSelector((state) => state.wishlist.sharelink);\r\n const activeWishlist = useSelector((state) => state.wishlist.active);\r\n const wishlists = useSelector((state) => state.wishlist.lists);\r\n const wishlistId = wishlists.find(\r\n (wishlist) => wishlist.name === activeWishlist\r\n ).id;\r\n\r\n useEffect(() => {\r\n function handleClickOutside(event) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n onClose();\r\n }\r\n }\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.select();\r\n }\r\n dispatch(getShareLink(wishlistId));\r\n }, []);\r\n\r\n const handleCopy = () => {\r\n const copybutton = document.getElementById('sharelink-copy-button');\r\n\r\n if (inputRef.current) {\r\n navigator.clipboard.writeText(inputRef.current.value);\r\n copybutton.classList.add('copied');\r\n setTimeout(() => {\r\n copybutton.classList.remove('copied');\r\n }, 2000);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"wishlist-share__container\">\r\n <div className=\"wishlist-share__info\" ref={ref}>\r\n <div className=\"wishlist-share__close-button-wrapper\">\r\n <p className=\"wishlist-share__title\">\r\n {translate('wishlist.sharelink')}\r\n </p>\r\n <span\r\n className=\"wishlist-add__close-button\"\r\n onClick={onClose}\r\n ></span>\r\n </div>\r\n <div className=\"wishlist-share__link-content\">\r\n <input\r\n type=\"text\"\r\n value={shareLink}\r\n className=\"wishlist-share__link-text\"\r\n readOnly\r\n ref={inputRef}\r\n />\r\n <button\r\n id=\"sharelink-copy-button\"\r\n onClick={handleCopy}\r\n className=\"wishlist-share__copy-button\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default SharedWishlistLink;\r\n","import React, { useState } from 'react';\r\nimport ShareWishlistButton from './ShareWishlistButton';\r\nimport SharedWishlistLink from './SharedWishlistLink';\r\n\r\nconst ShareWishlistContainer = (activeList) => {\r\n const [showInfo, setShowInfo] = useState(false);\r\n\r\n const onToggle = () => {\r\n setShowInfo(!showInfo);\r\n };\r\n\r\n return (\r\n <>\r\n {showInfo == true && (\r\n <SharedWishlistLink\r\n onClose={() => onToggle()}\r\n activeList={activeList}\r\n />\r\n )}\r\n <ShareWishlistButton onClick={() => onToggle()} />\r\n </>\r\n );\r\n};\r\n\r\nexport default ShareWishlistContainer;","import React, { useEffect, useRef, useState } from 'react';\r\nimport Wishlist from './Wishlist';\r\nimport { translate } from '../Services/translation';\r\nimport WishlistOverview from './WishlistOverview';\r\nimport Notification from './Notification';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n getAllWishlists,\r\n updateWishlistName,\r\n addAllToCart,\r\n deleteWishlistItem,\r\n showWishlistDrawer,\r\n setActiveWishlist,\r\n addSharedWishlist,\r\n} from '../Actions/Wishlist.action';\r\nimport ShareWishlistContainer from './ShareWishlistContainer';\r\n\r\nconst WishlistContainer = () => {\r\n const wishlist = useSelector((state) => state.wishlist);\r\n const activeList = useSelector((state) => state.wishlist.active);\r\n const showInfo = useSelector((state) => state.wishlist.show);\r\n const { payload } = wishlist;\r\n const ref = useRef(null);\r\n const [showError, setShowError] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n setShowError(false);\r\n const handleSharedWishlist = async () => {\r\n const queryParams = new URLSearchParams(window.location.search);\r\n const wishlistId = queryParams.get('wishlistId');\r\n if (!wishlistId) return;\r\n else {\r\n try {\r\n const result = await dispatch(\r\n addSharedWishlist(wishlistId)\r\n );\r\n dispatch(setActiveWishlist(result.wishlistName));\r\n dispatch(getAllWishlists());\r\n } catch (error) {\r\n setShowError(true);\r\n dispatch(showWishlistDrawer(false));\r\n }\r\n dispatch(showWishlistDrawer(true));\r\n }\r\n };\r\n\r\n handleSharedWishlist();\r\n dispatch(getAllWishlists());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n function handleClickOutside(event) {\r\n if (\r\n ref.current &&\r\n !ref.current.contains(event.target) &&\r\n showInfo == true\r\n ) {\r\n onToggle();\r\n }\r\n }\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n }, [ref, showInfo]);\r\n\r\n function handleAddAllToCart(listName) {\r\n dispatch(addAllToCart(listName));\r\n }\r\n\r\n function resetWishlistState() {\r\n dispatch(setActiveWishlist(''));\r\n }\r\n\r\n async function handleRemoveItem(sortIndex) {\r\n dispatch(deleteWishlistItem(sortIndex, activeList));\r\n }\r\n\r\n async function handleUpdateWishlistName(previousName, newName) {\r\n dispatch(updateWishlistName(previousName, newName)).then(() =>\r\n dispatch(getAllWishlists())\r\n );\r\n resetWishlistState();\r\n }\r\n\r\n const onToggle = () => {\r\n dispatch(showWishlistDrawer(!showInfo));\r\n resetWishlistState();\r\n };\r\n\r\n return (\r\n <div className=\"wishlist\">\r\n <a\r\n className=\"wishlist__link--block\"\r\n rel=\"nofollow\"\r\n href=\"#\"\r\n onClick={(e) => {\r\n e.preventDefault();\r\n onToggle();\r\n }}\r\n >\r\n <i className=\"wishlist__icon\">\r\n <span className=\"hide\">\r\n {translate('wishlist.hiddentitle')}\r\n </span>\r\n </i>\r\n </a>\r\n <div\r\n className={`wishlist__info \r\n ${\r\n !showInfo\r\n ? 'wishlist__info--hidden'\r\n : 'wishlist__info--visible'\r\n }`}\r\n >\r\n <div className=\"wishlist__content-wrapper\" ref={ref}>\r\n <div className=\"wishlist__content-top\">\r\n {activeList == '' ? (\r\n <p className=\"wishlist__title\">\r\n {translate('wishlist.title')}\r\n </p>\r\n ) : (\r\n <a\r\n className=\"wishlist__title wishlist__title--link\"\r\n onClick={() => {\r\n resetWishlistState();\r\n }}\r\n >\r\n <p>{activeList}</p>\r\n </a>\r\n )}\r\n\r\n <span\r\n className=\"wishlist__close-button\"\r\n onClick={() => onToggle()}\r\n ></span>\r\n </div>\r\n {payload && payload.addToCart && (\r\n <Notification text={payload.addToCart.message} info />\r\n )}\r\n {showError && (\r\n <Notification\r\n text={translate('wishlist.sharednotfound')}\r\n />\r\n )}\r\n {payload && payload.addAllToCart && (\r\n <Notification\r\n text={payload.addAllToCart.message}\r\n info\r\n />\r\n )}\r\n {payload && payload.success == false && (\r\n <Notification text={payload.message} />\r\n )}\r\n {!activeList ? (\r\n <WishlistOverview\r\n edit={activeList !== ''}\r\n onUpdateActiveList={(listName) => {\r\n dispatch(setActiveWishlist(listName));\r\n }}\r\n onUpdateWishlistName={(previousName, newName) => {\r\n handleUpdateWishlistName(previousName, newName);\r\n }}\r\n />\r\n ) : (\r\n <>\r\n <Wishlist\r\n activeList={activeList}\r\n onRemoveItem={(sortIndex) => {\r\n handleRemoveItem(sortIndex);\r\n }}\r\n />\r\n\r\n <div className=\"wishlist__sum\">\r\n <ShareWishlistContainer\r\n activeList={activeList}\r\n />\r\n <button\r\n className=\"button wishlist__add-to-cart-button\"\r\n onClick={() => {\r\n handleAddAllToCart(activeList);\r\n }}\r\n >\r\n {translate('wishlist.addalltocart')}\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default WishlistContainer;\r\n"],"sourceRoot":""}