{"version":3,"file":"6354.js","sources":["webpack://frontend/./src/react_repo/components/residential/WaterwisePlantSearch/FavoritesBtn/index.tsx","webpack://frontend/./src/react_repo/components/residential/WaterwisePlantSearch/FavoritesHeartBtn/index.tsx","webpack://frontend/./src/react_repo/components/residential/WaterwisePlantSearch/ClearFavorites/index.tsx","webpack://frontend/./src/react_repo/components/residential/WaterwisePlantSearch/index.tsx","webpack://frontend/./node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["import { FavoritesBtnType } from '../interfaces'\r\n\r\nconst FavoritesBtn = ({ handleAdd, handleRemove, saved }: FavoritesBtnType) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {saved ? 'REMOVE FROM FAVOURITES' : 'ADD TO FAVOURITES'}\r\n \r\n )\r\n}\r\n\r\nexport default FavoritesBtn\r\n","import { FavoritesBtnType } from '../interfaces'\r\n\r\nconst FavoritesHeartBtn = ({\r\n handleAdd,\r\n handleRemove,\r\n saved\r\n}: FavoritesBtnType) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n {saved ? 'REMOVE FROM FAVOURITES' : 'ADD TO FAVOURITES'}\r\n

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default FavoritesHeartBtn\r\n","import { ClearFavoritesType } from '../interfaces'\r\n\r\nconst ClearFavorites = ({ handleClear }: ClearFavoritesType) => {\r\n return (\r\n \r\n Clear all favourites\r\n \r\n )\r\n}\r\n\r\nexport default ClearFavorites\r\n","import { useEffect, useState } from 'react'\r\nimport FavoritesBtn from './FavoritesBtn'\r\nimport FavoritesHeartBtn from './FavoritesHeartBtn'\r\nimport ClearFavorites from './ClearFavorites'\r\nimport { get_cookie, set_cookie, delete_cookie } from 'utils'\r\nimport { SessionControllerType } from './interfaces'\r\n\r\nconst COOKIE_NAME = 'plant_search_favourites'\r\n\r\nfunction SessionController({ plantID, btnType }: SessionControllerType) {\r\n const [fav, setFav] = useState(false)\r\n\r\n useEffect(() => {\r\n const cookie = get_cookie(COOKIE_NAME)\r\n if (cookie) {\r\n const exists = cookie.indexOf(plantID ?? '10000') !== -1\r\n setFav(exists)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [])\r\n\r\n const handleRemove = () => {\r\n const cookie = get_cookie(COOKIE_NAME)\r\n const removed = (cookie as string).replace(`${plantID}`, '')\r\n let processed = ''\r\n if (removed) {\r\n for (let i = 0; i < removed.length; i++) {\r\n if (\r\n (i === 0 && removed[i] === '|') ||\r\n (removed[i] === '|' && i === removed.length - 1) ||\r\n (i !== removed.length - 1 &&\r\n removed[i] === '|' &&\r\n removed[i + 1] === '|')\r\n ) {\r\n continue\r\n }\r\n processed += removed[i]\r\n }\r\n }\r\n\r\n set_cookie(COOKIE_NAME, processed)\r\n setFav(false)\r\n }\r\n const handleAdd = () => {\r\n const cookie = get_cookie(COOKIE_NAME)\r\n set_cookie(COOKIE_NAME, `${cookie ? cookie + '|' : ''}${plantID}`)\r\n setFav(true)\r\n }\r\n\r\n const handleClear = () => {\r\n delete_cookie(COOKIE_NAME)\r\n window.location.reload()\r\n }\r\n switch (btnType) {\r\n case 'btn':\r\n return (\r\n \r\n )\r\n case 'clear':\r\n return \r\n case 'heart':\r\n return (\r\n \r\n )\r\n default:\r\n return <>\r\n }\r\n}\r\n\r\nexport default SessionController\r\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t