{"version":3,"sources":["../src/components/SwitchPage.tsx"],"names":["Icon","MenuItem","Select","React","useSetRecoilState","SwitchPage","props","xPath","setXPath","useXPath","saveData","useSaveData","setSelectedIndex","USE_SELECTED_INDEX","PAGES","path","other","e","page","SwitchPage_default"],"mappings":"wJAAA,OAAS,QAAAA,EAAM,YAAAC,EAAU,UAAAC,MAA2B,gBACpD,UAAYC,MAAW,QACvB,OAAS,qBAAAC,MAAyB,SAMlC,IAAMC,EAAqCC,GAAU,CACnD,GAAM,CAAE,MAAAC,EAAO,SAAAC,CAAS,EAAIC,EAAS,EAC/BC,EAAWC,EAAY,EACvBC,EAAmBR,EAAkBS,CAAkB,EAEvDC,EAAQ,CACZ,CACE,MAAO,WACP,KAAM,IACN,KAAM,iBACN,KAAM,eACR,EACA,CACE,MAAO,iBACP,KAAM,QACN,KAAM,wBACN,KAAM,eACR,EACA,CACE,MAAO,cACP,KAAM,YACN,KAAM,WACN,KAAM,eACR,EACA,CACE,MAAO,cACP,KAAM,cACN,KAAM,UACN,KAAM,kBACR,EACA,CACE,MAAO,qBACP,KAAM,mBACN,KAAM,yBACN,KAAM,uBACR,CACF,EAEA,OACE,gBAAO,WAAN,KACC,gBAACZ,EAAA,CACE,GAAGI,EACJ,MAAOC,EACP,SAAU,MAAO,GAAM,CACrB,IAAMQ,EAAO,EAAE,OAAO,MAEtB,GAAIA,IAASR,EAAO,OAEpB,MAAMG,EAAS,EAEfF,EAASO,CAAI,EAEbH,EAAiB,IAAI,EAErB,IAAMI,EAAQ,SAAS,iBAAiB,mBAAmB,EAEvDA,EAAM,OAAS,GACjBA,EAAM,QAASC,GAAMA,EAAE,gBAAgB,iBAAiB,CAAC,CAE7D,GAECH,EAAM,IAAKI,GACV,gBAACjB,EAAA,CACC,SAAUM,IAAUW,EAAK,KACzB,IAAKA,EAAK,KACV,MAAOA,EAAK,KACZ,QAAS,IAAM,CAAC,EAChB,GAAI,CACF,WAAY,SACZ,QAAS,OAET,kBAAmB,CACjB,GAAI,CACN,CACF,GAEA,gBAAClB,EAAA,CACC,GAAI,CACF,MAAO,eACP,WAAY,MACZ,SAAU,GACV,mBAAoB,CAClB,SAAU,SACZ,EACA,YAAa,CACX,MAAO,UACP,SAAU,SACZ,CACF,EACA,UAAWkB,EAAK,KAClB,EACCA,EAAK,IACR,CACD,CACH,CACF,CAEJ,EAEOC,EAAQd","sourcesContent":["import { Icon, MenuItem, Select, SelectProps } from \"@mui/material\";\nimport * as React from \"react\";\nimport { useSetRecoilState } from \"recoil\";\nimport { useSaveData } from \"../hooks/useSaveData\";\nimport { USE_SELECTED_INDEX } from \"../hooks/useSelectedElement\";\nimport { useXPath } from \"../hooks/useXPath\";\nimport { TUrlPath } from \"../utils/types/elements/XText.types\";\n\nconst SwitchPage: React.FC<SelectProps> = (props) => {\n  const { xPath, setXPath } = useXPath();\n  const saveData = useSaveData();\n  const setSelectedIndex = useSetRecoilState(USE_SELECTED_INDEX);\n\n  const PAGES = [\n    {\n      field: \"homePage\",\n      path: \"/\",\n      name: \"Page d'accueil\",\n      icon: \"fi fi-rr-home\",\n    },\n    {\n      field: \"categoriesPage\",\n      path: \"/shop\",\n      name: \"Boutique & Categories\",\n      icon: \"fi fi-rr-shop\",\n    },\n    {\n      field: \"aboutUsPage\",\n      path: \"/about-us\",\n      name: \"A propos\",\n      icon: \"fi fi-rr-info\",\n    },\n    {\n      field: \"contactPage\",\n      path: \"/contact-us\",\n      name: \"Contact\",\n      icon: \"fi fi-rr-headset\",\n    },\n    {\n      field: \"productDetailsPage\",\n      path: \"/products/[slug]\",\n      name: \"Informations d'article\",\n      icon: \"fi fi-rr-shopping-bag\",\n    },\n  ];\n\n  return (\n    <React.Fragment>\n      <Select\n        {...props}\n        value={xPath}\n        onChange={async (e) => {\n          const path = e.target.value as TUrlPath;\n\n          if (path === xPath) return;\n\n          await saveData();\n\n          setXPath(path);\n\n          setSelectedIndex(null);\n\n          const other = document.querySelectorAll(\"[data-x-selected]\");\n\n          if (other.length > 0) {\n            other.forEach((e) => e.removeAttribute(\"data-x-selected\"));\n          }\n        }}\n      >\n        {PAGES.map((page) => (\n          <MenuItem\n            selected={xPath === page.path}\n            key={page.path}\n            value={page.path}\n            onClick={() => {}}\n            sx={{\n              alignItems: \"center\",\n              display: \"flex\",\n\n              \"& .MuiIcon-root\": {\n                mr: 1,\n              },\n            }}\n          >\n            <Icon\n              sx={{\n                color: \"primary.main\",\n                lineHeight: \"1em\",\n                fontSize: 16,\n                \"&.material-icons\": {\n                  fontSize: \"inherit\",\n                },\n                \"&::before\": {\n                  color: \"inherit\",\n                  fontSize: \"inherit\",\n                },\n              }}\n              className={page.icon}\n            />\n            {page.name}\n          </MenuItem>\n        ))}\n      </Select>\n    </React.Fragment>\n  );\n};\n\nexport default SwitchPage;\n"]}