{"version":3,"file":"src_components_DesktopMenu_jsx.js","mappings":"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","sources":["webpack://ecommerce/./src/components/DesktopMenu.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport { get } from '../common/httpService';\r\nimport common from '../common/common';\r\nimport {\r\n filter,\r\n find,\r\n includes,\r\n isEmpty,\r\n isNil,\r\n join,\r\n map,\r\n replace,\r\n slice,\r\n split,\r\n toLower,\r\n trim,\r\n some,\r\n startsWith,\r\n} from 'lodash';\r\nimport translateService from '../common/translateService';\r\n\r\nimport './DesktopMenu.scss';\r\nimport marketingAndAnalyticsService from '../services/marketingAndAnalytics/marketingAndAnalyticsService';\r\n\r\nconst DesktopMenu = (props) => {\r\n const [isLoading, setLoading] = useState(true);\r\n const [menuOpen, setMenuOpen] = useState({\r\n dropdown: false,\r\n tertiary: false,\r\n });\r\n const [siteInfo, setSiteInfo] = useState({\r\n siteName: common.getSite(),\r\n categoryToOpenMenuIds: [],\r\n homepage:\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n window.$pathBase,\r\n });\r\n const [items, setItems] = useState({\r\n primary: [],\r\n secondary: [],\r\n tertiary: [],\r\n });\r\n const [selectedItem, setSelectedItem] = useState({});\r\n\r\n useEffect(() => {\r\n const categoryIds = [];\r\n switch (siteInfo.siteName) {\r\n case 'lordgun':\r\n categoryIds.push(0);\r\n break;\r\n case 'runkd':\r\n categoryIds.push(227, 280, 393, 476);\r\n break;\r\n case 'inwild':\r\n categoryIds.push(537, 697, 913, 1123);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n setSiteInfo((prevState) => ({\r\n siteName: prevState.siteName,\r\n categoryToOpenMenuIds: categoryIds,\r\n }));\r\n\r\n initialize();\r\n }, []);\r\n\r\n const initialize = async () => {\r\n let result = null;\r\n try {\r\n result = await get({\r\n url: `menu/MenuHeaderDesktopJson`,\r\n });\r\n } catch (error) {\r\n console.error('Error calling menu/MenuHeaderDesktopJson', error);\r\n }\r\n if (result !== null) {\r\n let foundItem = getSelectedItem(result.children, result.products);\r\n\r\n if (isNil(foundItem)) {\r\n foundItem = {};\r\n }\r\n setSelectedItem(foundItem);\r\n\r\n const primaryItems = getItemsWithUpdatedSelection(\r\n result.children,\r\n foundItem\r\n );\r\n\r\n const secondaryItems = map(result.products, (i) => ({\r\n ...i,\r\n isActive: false,\r\n }));\r\n\r\n setItems((prevState) => ({\r\n primary: primaryItems,\r\n secondary: secondaryItems,\r\n tertiary: prevState.tertiary,\r\n }));\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const getSelectedItem = (firstLevel, secondLevel) => {\r\n const location = window.location.toString();\r\n const isHomepage = location === siteInfo.homepage;\r\n\r\n if (isHomepage) return undefined;\r\n\r\n let foundItem = find(firstLevel, (i) => {\r\n const targetString =\r\n window.$pathBase.length === 1\r\n ? i.link\r\n : split(\r\n i.link,\r\n join(\r\n slice(\r\n window.$pathBase,\r\n 0,\r\n window.$pathBase.length - 1\r\n ),\r\n ''\r\n )\r\n )[1];\r\n return includes(location, targetString);\r\n });\r\n if (isNil(foundItem) && !isEmpty(secondLevel)) {\r\n let foundChild = getSelectedItem(secondLevel, []);\r\n\r\n foundItem = isNil(foundChild) ? undefined : firstLevel[0];\r\n }\r\n\r\n return foundItem;\r\n };\r\n\r\n const getItemsWithUpdatedSelection = (collection, item) => {\r\n return map(collection, (c) => ({\r\n ...c,\r\n isActive: c.id === item.id,\r\n }));\r\n };\r\n\r\n const closeDropdown = () => {\r\n setMenuOpen({\r\n dropdown: false,\r\n tertiary: false,\r\n });\r\n const newPrimary = getItemsWithUpdatedSelection(\r\n items.primary,\r\n selectedItem\r\n );\r\n setItems((prevState) => ({\r\n primary: newPrimary,\r\n secondary: prevState.secondary,\r\n tertiary: [],\r\n }));\r\n };\r\n\r\n const handleDropdownClick = async (i, e) => {\r\n e.preventDefault();\r\n if (!includes(siteInfo.categoryToOpenMenuIds, Number(i.id))) {\r\n const linkUrl = i.link;\r\n await marketingAndAnalyticsService.recordCategoryClick({\r\n linkUrl,\r\n });\r\n window.location.href = startsWith(linkUrl, 'http')\r\n ? linkUrl\r\n : window.location.origin + linkUrl;\r\n return;\r\n }\r\n const dropdown = document.querySelector('.desktop-dropdown-container');\r\n\r\n if (!isNil(dropdown)) {\r\n if (menuOpen.dropdown) {\r\n // su runkd potrei voler cambiare categoria di primo livello\r\n if (siteInfo.siteName !== 'lordgun') {\r\n if (i.isActive) {\r\n closeDropdown();\r\n } else {\r\n closeDropdown();\r\n const newPrimary = getItemsWithUpdatedSelection(\r\n items.primary,\r\n i\r\n );\r\n setItems({\r\n primary: newPrimary,\r\n secondary: i.children,\r\n tertiary: [],\r\n });\r\n\r\n window.setTimeout(() => {\r\n setMenuOpen({\r\n dropdown: true,\r\n tertiary: false,\r\n });\r\n }, 300);\r\n }\r\n // voglio chiudere il menu\r\n } else {\r\n closeDropdown();\r\n }\r\n }\r\n // voglio aprire il menu\r\n else {\r\n const newPrimary = getItemsWithUpdatedSelection(\r\n items.primary,\r\n i\r\n );\r\n const newSecondary = getItemsWithUpdatedSelection(\r\n items.secondary,\r\n {}\r\n );\r\n if (siteInfo.siteName !== 'lordgun') {\r\n setItems({\r\n primary: newPrimary,\r\n secondary: i.children,\r\n tertiary: [],\r\n });\r\n } else {\r\n setItems({\r\n primary: newPrimary,\r\n secondary: newSecondary,\r\n tertiary: [],\r\n });\r\n }\r\n\r\n dropdown.style.top =\r\n document.getElementById('main-header').offsetHeight + 'px';\r\n setMenuOpen({\r\n dropdown: true,\r\n tertiary: false,\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handleClickSecondary = async (i, e) => {\r\n e.preventDefault();\r\n\r\n // è chiuso, voglio mostrare le categorie di terzo livello\r\n // devo:\r\n // 1. settare i tertiary\r\n // 2. settare la secondary attiva\r\n if (!menuOpen.tertiary) {\r\n if (isEmpty(i.children)) {\r\n let linkUrl = i.link;\r\n await marketingAndAnalyticsService.recordCategoryClick({\r\n linkUrl,\r\n });\r\n window.location = linkUrl;\r\n }\r\n\r\n const newSecondary = getItemsWithUpdatedSelection(\r\n items.secondary,\r\n i\r\n );\r\n setItems((prevState) => ({\r\n primary: prevState.primary,\r\n secondary: newSecondary,\r\n tertiary: i.children,\r\n }));\r\n\r\n setMenuOpen({\r\n dropdown: true,\r\n tertiary: true,\r\n });\r\n }\r\n // sto già mostrando le categorie di terzo livello:\r\n // se ho cliccato una categoria di secondo livello NON attiva (= un'altra cat)\r\n // => mostro i suoi figli\r\n // se ho cliccato quella attiva (= la stessa)\r\n // => redirect su pagina\r\n else {\r\n if (isEmpty(i.children) || i.isActive) {\r\n let linkUrl = i.link;\r\n await marketingAndAnalyticsService.recordCategoryClick({\r\n linkUrl,\r\n });\r\n window.location = linkUrl;\r\n } else {\r\n setMenuOpen({\r\n dropdown: true,\r\n tertiary: false,\r\n });\r\n const newSecondary = getItemsWithUpdatedSelection(\r\n items.secondary,\r\n i\r\n );\r\n setItems((prevState) => ({\r\n primary: prevState.primary,\r\n secondary: newSecondary,\r\n tertiary: i.children,\r\n }));\r\n\r\n window.setTimeout(() => {\r\n setMenuOpen({\r\n dropdown: true,\r\n tertiary: true,\r\n });\r\n }, 300);\r\n }\r\n }\r\n };\r\n\r\n const getCleanNames = (name) => {\r\n if (isNil(name)) return '';\r\n\r\n const n = filter(name, (char) => char === ' ');\r\n if (isNil(n) || isEmpty(n) || n.length <= 0) return name;\r\n\r\n let cleanName = name;\r\n\r\n for (let i = 0; i < n.length; i++) {\r\n cleanName = replace(cleanName, ' ', '-');\r\n }\r\n\r\n return cleanName;\r\n };\r\n\r\n const primaryLinks = map(items.primary, (i) => {\r\n return (\r\n {\r\n await handleDropdownClick(i, e);\r\n }}>\r\n {i.name}\r\n \r\n );\r\n });\r\n\r\n const secondaryLinks = map(items.secondary, (i) => {\r\n return (\r\n handleClickSecondary(i, e)}>\r\n {i.name}\r\n \r\n );\r\n });\r\n\r\n const tertiaryLinks = map(items.tertiary, (i) => {\r\n return (\r\n {\r\n event.preventDefault();\r\n const linkUrl = i.link;\r\n await marketingAndAnalyticsService.recordCategoryClick({\r\n linkUrl,\r\n });\r\n window.location.href = linkUrl;\r\n }}>\r\n {i.name}\r\n \r\n );\r\n });\r\n\r\n let prevPosition = window.scrollY;\r\n window.addEventListener('scroll', () => {\r\n if (menuOpen.dropdown) {\r\n let currentPosition = window.scrollY;\r\n\r\n if (currentPosition > prevPosition) {\r\n closeDropdown();\r\n }\r\n prevPosition = currentPosition;\r\n }\r\n });\r\n\r\n document.querySelector('body').addEventListener(\r\n 'onclick',\r\n (e) => {\r\n if (menuOpen.dropdown) {\r\n const topElement = document.querySelector(\r\n '.wrapper.wrapper--main'\r\n );\r\n const desktopMenu = document.querySelector('#desktopMenu');\r\n\r\n if (!isNil(e.target)) {\r\n let element = e.target;\r\n while (element !== topElement && !isNil(element)) {\r\n if (element === desktopMenu) {\r\n return;\r\n }\r\n element = element.parentNode;\r\n }\r\n closeDropdown();\r\n }\r\n }\r\n },\r\n { passive: true }\r\n );\r\n\r\n return isLoading ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n \r\n {/* {siteInfo.siteName !== 'runkd' ? ( */}\r\n
\r\n {\r\n event.preventDefault();\r\n\r\n if (some(items.primary, (i) => i.isActive)) {\r\n const linkUrl = find(\r\n items.primary,\r\n (i) => i.isActive\r\n ).link;\r\n await marketingAndAnalyticsService.recordCategoryClick(\r\n { linkUrl }\r\n );\r\n window.location.href = linkUrl;\r\n }\r\n }}>\r\n \r\n {translateService.get(`common.showAll`)}\r\n \r\n \r\n
\r\n {/* ) : (\r\n <>\r\n )} */}\r\n
\r\n
\r\n
\r\n {secondaryLinks}\r\n
\r\n \r\n {tertiaryLinks}\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DesktopMenu;\r\n"],"names":["props","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","dropdown","tertiary","_useState4","menuOpen","setMenuOpen","_useState5","siteName","common","getSite","categoryToOpenMenuIds","homepage","window","location","protocol","hostname","$pathBase","_useState6","siteInfo","setSiteInfo","_useState7","primary","secondary","_useState8","items","setItems","_useState9","_useState10","selectedItem","setSelectedItem","useEffect","categoryIds","push","prevState","initialize","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","result","foundItem","primaryItems","secondaryItems","_context","prev","next","get","url","sent","t0","console","error","getSelectedItem","children","products","isNil","getItemsWithUpdatedSelection","map","i","_objectSpread","isActive","stop","apply","arguments","firstLevel","secondLevel","toString","find","targetString","length","link","split","join","slice","includes","isEmpty","foundChild","undefined","collection","item","c","id","closeDropdown","newPrimary","handleDropdownClick","_ref2","_callee2","e","linkUrl","_newPrimary","newSecondary","_context2","preventDefault","Number","marketingAndAnalyticsService","recordCategoryClick","href","startsWith","origin","abrupt","document","querySelector","setTimeout","style","top","getElementById","offsetHeight","_x","_x2","handleClickSecondary","_ref3","_callee3","_linkUrl","_newSecondary","_context3","_x3","_x4","getCleanNames","name","n","filter","char","cleanName","replace","primaryLinks","React","className","trim","concat","cssClass","toLower","key","onClick","_ref4","_callee4","_context4","_x5","secondaryLinks","tertiaryLinks","isViewAllLink","_ref5","_callee5","event","_context5","_x6","prevPosition","scrollY","addEventListener","currentPosition","topElement","desktopMenu","target","element","parentNode","passive","_ref6","_callee6","_context6","some","_x7","translateService"],"sourceRoot":""}