{"ast":null,"code":"var _jsxFileName = \"/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/gavt/ResonanceMenu.jsx\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport getRefFreq from './getRefFreq';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const vowelMapping = {\n  'ee': '/i/',\n  'ih': '/ɪ/',\n  'eh': '/ɛ/',\n  'ae': '/æ/',\n  'ah': '/ɑ/',\n  'aw': '/ɔ/',\n  'uh': '/ʌ/',\n  'ooh': '/u/',\n  'oo': '/ʊ/'\n};\nconst ResonanceMenu = ({\n  formValues,\n  navigate\n}) => {\n  _s();\n  const location = useLocation();\n  const menuItems = [{\n    path: '/resonance',\n    name: 'Tutorial'\n  }, {\n    path: '/resonance/selection',\n    name: 'Setup'\n  }, {\n    path: '/resonance/practice',\n    name: 'Practice'\n  }];\n  const handlePracticeClick = e => {\n    if (formValues && formValues.vowels && formValues.vowels.length > 0) {\n      const mappedVowels = formValues.vowels.map(vowel => vowelMapping[vowel]);\n      const frequencies = getRefFreq(mappedVowels, formValues.gender, formValues.shuffleOrder);\n      navigate('/resonance/practice', {\n        state: {\n          frequencies\n        }\n      });\n    } else {\n      alert('You must select at least one vowel on Setup Page first');\n      e.preventDefault();\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(\"nav\", {\n    className: \"nav\",\n    children: menuItems.map((item, index) => /*#__PURE__*/_jsxDEV(React.Fragment, {\n      children: [/*#__PURE__*/_jsxDEV(Link, {\n        to: item.path,\n        className: `link ${location.pathname === item.path ? 'active' : ''}`,\n        onClick: item.path === '/resonance/practice' ? handlePracticeClick : undefined,\n        children: item.name\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 43,\n        columnNumber: 9\n      }, this), index < menuItems.length - 1 && /*#__PURE__*/_jsxDEV(\"span\", {\n        className: \"separator\",\n        children: \"|\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 50,\n        columnNumber: 44\n      }, this)]\n    }, item.name, true, {\n      fileName: _jsxFileName,\n      lineNumber: 42,\n      columnNumber: 9\n    }, this))\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 40,\n    columnNumber: 5\n  }, this);\n};\n_s(ResonanceMenu, \"pkHmaVRPskBaU4tMJuJJpV42k1I=\", false, function () {\n  return [useLocation];\n});\n_c = ResonanceMenu;\nexport default ResonanceMenu;\nvar _c;\n$RefreshReg$(_c, \"ResonanceMenu\");","map":{"version":3,"names":["React","Link","useLocation","getRefFreq","jsxDEV","_jsxDEV","vowelMapping","ResonanceMenu","formValues","navigate","_s","location","menuItems","path","name","handlePracticeClick","e","vowels","length","mappedVowels","map","vowel","frequencies","gender","shuffleOrder","state","alert","preventDefault","className","children","item","index","Fragment","to","pathname","onClick","undefined","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/gavt/ResonanceMenu.jsx"],"sourcesContent":["import React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\n\nimport getRefFreq from './getRefFreq';\n\nexport const vowelMapping = {\n  'ee': '/i/',\n  'ih': '/ɪ/',\n  'eh': '/ɛ/',\n  'ae': '/æ/',\n  'ah': '/ɑ/',\n  'aw': '/ɔ/',\n  'uh': '/ʌ/',\n  'ooh': '/u/',\n  'oo': '/ʊ/'\n};\n\nconst ResonanceMenu = ({ formValues, navigate }) => {\n  const location = useLocation();\n\n  const menuItems = [\n    { path: '/resonance', name: 'Tutorial' },\n    { path: '/resonance/selection', name: 'Setup' },\n    { path: '/resonance/practice', name: 'Practice' },  \n  ];\n\n  const handlePracticeClick = (e) => {\n    if (formValues && formValues.vowels && formValues.vowels.length > 0) {\n      const mappedVowels = formValues.vowels.map((vowel) => vowelMapping[vowel]);\n      const frequencies = getRefFreq(mappedVowels, formValues.gender, formValues.shuffleOrder);\n      navigate('/resonance/practice', { state: { frequencies } });\n    } else {\n      alert('You must select at least one vowel on Setup Page first');\n      e.preventDefault();\n    }\n  };\n\n\n  return (\n    <nav className=\"nav\">\n      {menuItems.map((item, index) => (\n        <React.Fragment key={item.name}>\n        <Link \n            to={item.path} \n            className={`link ${location.pathname === item.path ? 'active' : ''}`}\n            onClick={item.path === '/resonance/practice' ? handlePracticeClick : undefined}\n          >\n            {item.name}\n          </Link>\n          {index < menuItems.length - 1 && <span className=\"separator\">|</span>}\n        </React.Fragment>\n      ))}\n    </nav>\n  );\n}\n\nexport default ResonanceMenu;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}