{"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 } from 'react-router-dom';\nimport Wave from './Wave/Wave';\nimport Word from './Word';\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 [customFrequency, setCustomFrequency] = useState({});\n  const [currentFrequency, setCurrentFrequency] = useState(0);\n  const location = useLocation();\n  const {\n    frequencies\n  } = location.state || {};\n  const frequenciesArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\n    vowel,\n    freq: Number(freq)\n  }));\n  console.log(frequenciesArray);\n  const currentVowel = frequenciesArray[currentVowelIndex];\n  const officialFrequency = currentVowel.freq;\n  useEffect(() => {\n    const freq = customFrequency[currentVowel.vowel] || currentVowel.freq;\n    setCurrentFrequency(freq);\n  }, [currentVowel, customFrequency]);\n  const handleNextVowel = () => {\n    setCurrentVowelIndex(prevIndex => (prevIndex + 1) % frequenciesArray.length);\n  };\n  const handleSetCustomFrequency = newFrequency => {\n    setCustomFrequency(prev => ({\n      ...prev,\n      [currentVowel.vowel]: newFrequency\n    }));\n  };\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n      children: \"Practice Now!\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 44,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Word, {\n      frequenciesArray: frequenciesArray,\n      currentVowel: currentVowel,\n      onNextVowel: handleNextVowel\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 45,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 50,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Wave, {\n      frequency: customFrequency[currentVowel.vowel] || currentVowel.freq,\n      officialFrequency: officialFrequency,\n      setCustomFrequency: handleSetCustomFrequency\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 51,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true);\n};\n_s(GavtPractice, \"Ey9UXXfgNO7S0dZ5/51OXi3UMdw=\", false, function () {\n  return [useLocation];\n});\n_c = GavtPractice;\nexport default GavtPractice;\nvar _c;\n$RefreshReg$(_c, \"GavtPractice\");","map":{"version":3,"names":["React","useState","useEffect","useLocation","Wave","Word","Divider","jsxDEV","_jsxDEV","Fragment","_Fragment","GavtPractice","_s","currentVowelIndex","setCurrentVowelIndex","customFrequency","setCustomFrequency","currentFrequency","setCurrentFrequency","location","frequencies","state","frequenciesArray","Object","entries","map","vowel","freq","Number","console","log","currentVowel","officialFrequency","handleNextVowel","prevIndex","length","handleSetCustomFrequency","newFrequency","prev","children","fileName","_jsxFileName","lineNumber","columnNumber","onNextVowel","frequency","_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 } from 'react-router-dom';\r\n\r\nimport Wave from './Wave/Wave';\r\nimport Word from './Word';\r\n\r\nimport { Divider } from 'antd';\r\n\r\nconst GavtPractice: React.FC = () => {\r\n  const [currentVowelIndex, setCurrentVowelIndex] = useState(0);\r\n  const [customFrequency, setCustomFrequency] = useState<{ [key: string]: number }>({});\r\n  const [currentFrequency, setCurrentFrequency] = useState<number>(0);\r\n\r\n  const location = useLocation();\r\n  const { frequencies } = location.state || {};\r\n  const frequenciesArray = Object.entries(frequencies || {}).map(([vowel, freq]) => ({\r\n    vowel,\r\n    freq: Number(freq)\r\n  }));\r\n  console.log(frequenciesArray);\r\n\r\n  const currentVowel = frequenciesArray[currentVowelIndex];\r\n  const officialFrequency = currentVowel.freq;\r\n\r\n  useEffect(() => {\r\n    const freq = customFrequency[currentVowel.vowel] || currentVowel.freq;\r\n    setCurrentFrequency(freq);\r\n  }, [currentVowel, customFrequency]);\r\n\r\n  const handleNextVowel = () => {\r\n    setCurrentVowelIndex((prevIndex) => (prevIndex + 1) % frequenciesArray.length);\r\n  };\r\n\r\n  const handleSetCustomFrequency = (newFrequency: number) => {\r\n    setCustomFrequency((prev) => ({\r\n      ...prev,\r\n      [currentVowel.vowel]: newFrequency\r\n    }));\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <h1>Practice Now!</h1>\r\n      <Word \r\n        frequenciesArray={frequenciesArray}\r\n        currentVowel={currentVowel}\r\n        onNextVowel={handleNextVowel}\r\n      />\r\n      <Divider />\r\n      <Wave \r\n        frequency={customFrequency[currentVowel.vowel] || currentVowel.freq}\r\n        officialFrequency={officialFrequency}\r\n        setCustomFrequency={handleSetCustomFrequency}\r\n      />\r\n    </>\r\n  );\r\n};\r\n\r\nexport default GavtPractice;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}