{"ast":null,"code":"var _jsxFileName = \"/var/www/gavt/react-demo/src/gavt/GavtPractice.tsx\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport { useState } from 'react';\nimport { useLocation, Link } from 'react-router-dom';\nimport Wave from './Wave/Wave';\nimport Word from './Word';\nimport ResonanceMenu from './ResonanceMenu';\nimport { Divider, Breadcrumb } 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      children: /*#__PURE__*/_jsxDEV(Breadcrumb, {\n        items: [{\n          title: /*#__PURE__*/_jsxDEV(Link, {\n            to: \"/resonance/selection\",\n            children: \"Setup\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 33,\n            columnNumber: 22\n          }, this)\n        }, {\n          title: 'Practice'\n        }]\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 30,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 29,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n      children: \"Resonance: Practice\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 41,\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: 42,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 47,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Wave, {\n      currentVowelIdx: currentVowelIndex,\n      refFreqArray: refFreqArray\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 48,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(ResonanceMenu, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 52,\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","Link","Wave","Word","ResonanceMenu","Divider","Breadcrumb","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","items","title","to","fileName","_jsxFileName","lineNumber","columnNumber","currentVowelIdx","onNextVowel","_c","$RefreshReg$"],"sources":["/var/www/gavt/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\">Setup</Link>,\n            },\n            {\n              title:'Practice',\n            }\n          ]}\n        />\n      </div>\n      <h2>Resonance: Practice</h2>\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,EAAEC,IAAI,QAAQ,kBAAkB;AAEpD,OAAOC,IAAI,MAAM,aAAa;AAC9B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,SAASC,OAAO,EAAEC,UAAU,QAAQ,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,GAAGf,QAAQ,CAAC,CAAC,CAAC;EAC7D,MAAMgB,QAAQ,GAAGf,WAAW,CAAC,CAAC;EAE9B,MAAM;IAAEgB;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,CAAE;MAAAJ,QAAA,eACnEpB,OAAA,CAACF,UAAU;QACT2B,KAAK,EAAE,CACL;UACEC,KAAK,eAAE1B,OAAA,CAACP,IAAI;YAACkC,EAAE,EAAC,sBAAsB;YAAAP,QAAA,EAAC;UAAK;YAAAQ,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAM;QACpD,CAAC,EACD;UACEL,KAAK,EAAC;QACR,CAAC;MACD;QAAAE,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACH;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACC,CAAC,eACN/B,OAAA;MAAAoB,QAAA,EAAI;IAAmB;MAAAQ,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAC5B/B,OAAA,CAACL,IAAI;MACHe,YAAY,EAAEA,YAAa;MAC3BsB,eAAe,EAAE3B,iBAAkB;MACnC4B,WAAW,EAAEhB;IAAgB;MAAAW,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC9B,CAAC,eACF/B,OAAA,CAACH,OAAO;MAAA+B,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eACX/B,OAAA,CAACN,IAAI;MACHsC,eAAe,EAAE3B,iBAAkB;MACnCK,YAAY,EAAEA;IAAa;MAAAkB,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC5B,CAAC,eACF/B,OAAA,CAACJ,aAAa;MAAAgC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC;EAAA,eACjB,CAAC;AAEP,CAAC;AAAC3B,EAAA,CA3CID,YAAsB;EAAA,QAETX,WAAW;AAAA;AAAA0C,EAAA,GAFxB/B,YAAsB;AA6C5B,eAAeA,YAAY;AAAC,IAAA+B,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}