{"ast":null,"code":"var _jsxFileName = \"/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/gavt/GavtPractice.tsx\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport { useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport Wave from './Wave/Wave';\nimport Word from './Word';\nimport ResonanceMenu from './ResonanceMenu';\nimport { Divider } from 'antd';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst GavtPractice = () => {\n  _s();\n  const [currentVowelIndex, setCurrentVowelIndex] = useState(0);\n  const location = useLocation();\n  const {\n    frequencies\n  } = location.state || {};\n  const refFreqArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\n    vowel,\n    freq: Number(freq)\n  }));\n  const handleNextVowel = () => {\n    setCurrentVowelIndex(prevIndex => (prevIndex + 1) % refFreqArray.length);\n  };\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        display: 'flex',\n        justifyContent: 'start',\n        width: '70%'\n      }\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 29,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Word, {\n      refFreqArray: refFreqArray,\n      currentVowelIdx: currentVowelIndex,\n      onNextVowel: handleNextVowel\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 41,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 46,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Wave, {\n      currentVowelIdx: currentVowelIndex,\n      refFreqArray: refFreqArray\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 47,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(ResonanceMenu, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 51,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true);\n};\n_s(GavtPractice, \"/n9Kb1q//W81kOwCF0SqwEgJrAE=\", false, function () {\n  return [useLocation];\n});\n_c = GavtPractice;\nexport default GavtPractice;\nvar _c;\n$RefreshReg$(_c, \"GavtPractice\");","map":{"version":3,"names":["React","useState","useLocation","Wave","Word","ResonanceMenu","Divider","jsxDEV","_jsxDEV","Fragment","_Fragment","GavtPractice","_s","currentVowelIndex","setCurrentVowelIndex","location","frequencies","state","refFreqArray","Object","entries","map","vowel","freq","Number","handleNextVowel","prevIndex","length","children","style","display","justifyContent","width","fileName","_jsxFileName","lineNumber","columnNumber","currentVowelIdx","onNextVowel","_c","$RefreshReg$"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/gavt/GavtPractice.tsx"],"sourcesContent":["import React from 'react';\nimport { useState, useEffect } from 'react';\nimport { useLocation, Link } from 'react-router-dom';\n\nimport Wave from './Wave/Wave';\nimport Word from './Word';\nimport ResonanceMenu from './ResonanceMenu';\n\nimport { Divider, Breadcrumb } from 'antd';\n\n\nconst GavtPractice: React.FC = () => {\n  const [currentVowelIndex, setCurrentVowelIndex] = useState(0);\n  const location = useLocation();\n\n  const { frequencies } = location.state || {};\n\n  const refFreqArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\n    vowel,\n    freq: Number(freq)\n  }));\n\n  const handleNextVowel = () => {\n    setCurrentVowelIndex((prevIndex) => (prevIndex + 1) % refFreqArray.length);\n  };\n\n  return (\n    <>\n      <div style={{display: 'flex', justifyContent: 'start', width: '70%'}}> \n        {/* <Breadcrumb \n          items={[\n            {\n              title: <Link to=\"/resonance/selection\">Vowels Selection</Link>,\n            },\n            {\n              title:'Practice',\n            }\n          ]}\n        /> */}\n      </div>\n      <Word \n        refFreqArray={refFreqArray}\n        currentVowelIdx={currentVowelIndex}\n        onNextVowel={handleNextVowel}\n      />\n      <Divider />\n      <Wave\n        currentVowelIdx={currentVowelIndex}\n        refFreqArray={refFreqArray}\n      />\n      <ResonanceMenu />\n    </>\n  );\n};\n\nexport default GavtPractice;"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAmB,OAAO;AAC3C,SAASC,WAAW,QAAc,kBAAkB;AAEpD,OAAOC,IAAI,MAAM,aAAa;AAC9B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,SAASC,OAAO,QAAoB,MAAM;AAAC,SAAAC,MAAA,IAAAC,OAAA,EAAAC,QAAA,IAAAC,SAAA;AAG3C,MAAMC,YAAsB,GAAGA,CAAA,KAAM;EAAAC,EAAA;EACnC,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGb,QAAQ,CAAC,CAAC,CAAC;EAC7D,MAAMc,QAAQ,GAAGb,WAAW,CAAC,CAAC;EAE9B,MAAM;IAAEc;EAAY,CAAC,GAAGD,QAAQ,CAACE,KAAK,IAAI,CAAC,CAAC;EAE5C,MAAMC,YAAY,GAAGC,MAAM,CAACC,OAAO,CAACJ,WAAW,IAAI,CAAC,CAAC,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,KAAK,EAAEC,IAAI,CAAC,MAAM;IAC7ED,KAAK;IACLC,IAAI,EAAEC,MAAM,CAACD,IAAI;EACnB,CAAC,CAAC,CAAC;EAEH,MAAME,eAAe,GAAGA,CAAA,KAAM;IAC5BX,oBAAoB,CAAEY,SAAS,IAAK,CAACA,SAAS,GAAG,CAAC,IAAIR,YAAY,CAACS,MAAM,CAAC;EAC5E,CAAC;EAED,oBACEnB,OAAA,CAAAE,SAAA;IAAAkB,QAAA,gBACEpB,OAAA;MAAKqB,KAAK,EAAE;QAACC,OAAO,EAAE,MAAM;QAAEC,cAAc,EAAE,OAAO;QAAEC,KAAK,EAAE;MAAK;IAAE;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAWhE,CAAC,eACN5B,OAAA,CAACJ,IAAI;MACHc,YAAY,EAAEA,YAAa;MAC3BmB,eAAe,EAAExB,iBAAkB;MACnCyB,WAAW,EAAEb;IAAgB;MAAAQ,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC9B,CAAC,eACF5B,OAAA,CAACF,OAAO;MAAA2B,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eACX5B,OAAA,CAACL,IAAI;MACHkC,eAAe,EAAExB,iBAAkB;MACnCK,YAAY,EAAEA;IAAa;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC5B,CAAC,eACF5B,OAAA,CAACH,aAAa;MAAA4B,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC;EAAA,eACjB,CAAC;AAEP,CAAC;AAACxB,EAAA,CA1CID,YAAsB;EAAA,QAETT,WAAW;AAAA;AAAAqC,EAAA,GAFxB5B,YAAsB;AA4C5B,eAAeA,YAAY;AAAC,IAAA4B,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}