{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\GavtPractice.tsx\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport { useState, useEffect } from 'react';\nimport { useLocation, Link, useNavigate } from 'react-router-dom';\nimport Wave from './Wave/Wave';\nimport Word from './Word';\nimport { Divider, Breadcrumb, message } 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 navigate = useNavigate();\n  const {\n    frequencies\n  } = location.state || {};\n  const refFreqArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\n    vowel,\n    freq: Number(freq)\n  }));\n  useEffect(() => {\n    if (!frequencies || !refFreqArray[currentVowelIndex] || Object.keys(frequencies).length === 0) {\n      message.error('No vowel data provided. Redirecting to home page...');\n      setTimeout(() => {\n        navigate('/gavt');\n      }, 3000);\n    }\n  }, [frequencies]);\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: \"/gavt\",\n            children: \"Gavt Home\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 40,\n            columnNumber: 22\n          }, this)\n        }, {\n          title: 'Practice'\n        }]\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 37,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 36,\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: 48,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 53,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Wave, {\n      currentVowelIdx: currentVowelIndex,\n      refFreqArray: refFreqArray\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 54,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true);\n};\n_s(GavtPractice, \"B8cnixNApSXXHEjS/Ju6SJ6AP74=\", false, function () {\n  return [useLocation, useNavigate];\n});\n_c = GavtPractice;\nexport default GavtPractice;\nvar _c;\n$RefreshReg$(_c, \"GavtPractice\");","map":{"version":3,"names":["React","useState","useEffect","useLocation","Link","useNavigate","Wave","Word","Divider","Breadcrumb","message","jsxDEV","_jsxDEV","Fragment","_Fragment","GavtPractice","_s","currentVowelIndex","setCurrentVowelIndex","location","navigate","frequencies","state","refFreqArray","Object","entries","map","vowel","freq","Number","keys","length","error","setTimeout","handleNextVowel","prevIndex","children","style","display","justifyContent","width","items","title","to","fileName","_jsxFileName","lineNumber","columnNumber","currentVowelIdx","onNextVowel","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/GavtPractice.tsx"],"sourcesContent":["import React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { useLocation, Link, useNavigate } from 'react-router-dom';\r\n\r\nimport Wave from './Wave/Wave';\r\nimport Word from './Word';\r\n\r\nimport { Divider, Breadcrumb, message } from 'antd';\r\n\r\nconst GavtPractice: React.FC = () => {\r\n  const [currentVowelIndex, setCurrentVowelIndex] = useState(0);\r\n  const location = useLocation();\r\n  const navigate = useNavigate();\r\n  const { frequencies } = location.state || {};\r\n\r\n  const refFreqArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\r\n    vowel,\r\n    freq: Number(freq)\r\n  }));\r\n\r\n  useEffect(() => {\r\n    if (!frequencies || !refFreqArray[currentVowelIndex] || Object.keys(frequencies).length === 0) {\r\n      message.error('No vowel data provided. Redirecting to home page...');\r\n      setTimeout(() => {\r\n        navigate('/gavt');\r\n      }, 3000);\r\n    }\r\n  }, [frequencies]);\r\n\r\n  const handleNextVowel = () => {\r\n    setCurrentVowelIndex((prevIndex) => (prevIndex + 1) % refFreqArray.length);\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <div style={{display: 'flex', justifyContent: 'start', width: '70%'}}> \r\n        <Breadcrumb \r\n          items={[\r\n            {\r\n              title: <Link to=\"/gavt\">Gavt Home</Link>,\r\n            },\r\n            {\r\n              title:'Practice',\r\n            }\r\n          ]}\r\n        />\r\n      </div>\r\n      <Word \r\n        refFreqArray={refFreqArray}\r\n        currentVowelIdx={currentVowelIndex}\r\n        onNextVowel={handleNextVowel}\r\n      />\r\n      <Divider />\r\n      <Wave\r\n        currentVowelIdx={currentVowelIndex}\r\n        refFreqArray={refFreqArray}\r\n      />\r\n    </>\r\n  );\r\n};\r\n\r\nexport default GavtPractice;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}