{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\GavtForm.tsx\",\n  _s = $RefreshSig$();\n// GavtForm.tsx\nimport React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport getResFreq from './getResFreq';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst vowels = ['/i/', '/ɪ/', '/e/', '/ɛ/', '/æ/', '/ɑ/', '/ɔ/', '/ʌ/', '/o/', '/u/', '/ʊ/'];\nconst genders = ['man', 'woman'];\nconst regions = ['Mid_Atlantic'];\nconst GavtForm = () => {\n  _s();\n  const [selectedVowels, setSelectedVowels] = useState([]);\n  const [selectedGender, setSelectedGender] = useState('man');\n  const [selectedRegion, setSelectedRegion] = useState('Mid_Atlantic');\n  const [shuffleOrder, setShuffleOrder] = useState(false);\n  const navigate = useNavigate();\n  const handleVowelSelect = vowel => {\n    if (selectedVowels.includes(vowel)) {\n      setSelectedVowels(selectedVowels.filter(v => v !== vowel));\n    } else {\n      setSelectedVowels([...selectedVowels, vowel]);\n    }\n  };\n  const handleGenderSelect = gender => {\n    setSelectedGender(gender);\n  };\n  const handleRegionSelect = region => {\n    setSelectedRegion(region);\n  };\n  const handleShuffleOrderToggle = () => {\n    setShuffleOrder(!shuffleOrder);\n  };\n  const handleStartClick = async () => {\n    try {\n      const frequencies = await getResFreq(selectedVowels, selectedGender, selectedRegion, shuffleOrder);\n      if (Object.keys(frequencies).length > 0) {\n        console.log(frequencies);\n        navigate('/gavt/practice', {\n          state: {\n            frequencies: frequencies\n          }\n        });\n      } else {\n        console.log('No resonance frequencies found.');\n      }\n    } catch (error) {\n      console.error('Error fetching resonance frequencies:', error);\n    }\n  };\n  const renderVowelCheckbox = vowel => {\n    return /*#__PURE__*/_jsxDEV(\"label\", {\n      children: [/*#__PURE__*/_jsxDEV(\"input\", {\n        type: \"checkbox\",\n        checked: selectedVowels.includes(vowel),\n        onChange: () => handleVowelSelect(vowel)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 57,\n        columnNumber: 9\n      }, this), vowel]\n    }, vowel, true, {\n      fileName: _jsxFileName,\n      lineNumber: 56,\n      columnNumber: 7\n    }, this);\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n      children: \"Select Options\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 69,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n        children: \"Select Vowels\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 71,\n        columnNumber: 9\n      }, this), vowels.map(renderVowelCheckbox)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 70,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n        children: \"Select Gender\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 75,\n        columnNumber: 9\n      }, this), genders.map(gender => /*#__PURE__*/_jsxDEV(\"label\", {\n        children: [/*#__PURE__*/_jsxDEV(\"input\", {\n          type: \"radio\",\n          name: \"gender\",\n          value: gender,\n          checked: selectedGender === gender,\n          onChange: () => handleGenderSelect(gender)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 78,\n          columnNumber: 13\n        }, this), gender]\n      }, gender, true, {\n        fileName: _jsxFileName,\n        lineNumber: 77,\n        columnNumber: 11\n      }, this))]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 74,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n        children: \"Select Region\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 84,\n        columnNumber: 9\n      }, this), regions.map(region => /*#__PURE__*/_jsxDEV(\"label\", {\n        children: [/*#__PURE__*/_jsxDEV(\"input\", {\n          type: \"radio\",\n          name: \"region\",\n          value: region,\n          checked: selectedRegion === region,\n          onChange: () => handleRegionSelect(region)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 87,\n          columnNumber: 13\n        }, this), region]\n      }, region, true, {\n        fileName: _jsxFileName,\n        lineNumber: 86,\n        columnNumber: 11\n      }, this))]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 83,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n        children: \"Shuffle Order\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 93,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n        children: [/*#__PURE__*/_jsxDEV(\"input\", {\n          type: \"checkbox\",\n          checked: shuffleOrder,\n          onChange: handleShuffleOrderToggle\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 95,\n          columnNumber: 11\n        }, this), \"Shuffle Vowels\"]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 94,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 92,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n      onClick: handleStartClick,\n      disabled: selectedVowels.length === 0,\n      children: \"Start\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 99,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 68,\n    columnNumber: 5\n  }, this);\n};\n_s(GavtForm, \"9fzgagytTZLf6hLvjvNReBUaflg=\", false, function () {\n  return [useNavigate];\n});\n_c = GavtForm;\nexport default GavtForm;\nvar _c;\n$RefreshReg$(_c, \"GavtForm\");","map":{"version":3,"names":["React","useState","useNavigate","getResFreq","jsxDEV","_jsxDEV","vowels","genders","regions","GavtForm","_s","selectedVowels","setSelectedVowels","selectedGender","setSelectedGender","selectedRegion","setSelectedRegion","shuffleOrder","setShuffleOrder","navigate","handleVowelSelect","vowel","includes","filter","v","handleGenderSelect","gender","handleRegionSelect","region","handleShuffleOrderToggle","handleStartClick","frequencies","Object","keys","length","console","log","state","error","renderVowelCheckbox","children","type","checked","onChange","fileName","_jsxFileName","lineNumber","columnNumber","map","name","value","onClick","disabled","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/GavtForm.tsx"],"sourcesContent":["// GavtForm.tsx\r\nimport React, { useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport getResFreq from './getResFreq';\r\n\r\nconst vowels = ['/i/', '/ɪ/', '/e/', '/ɛ/', '/æ/', '/ɑ/', '/ɔ/', '/ʌ/', '/o/', '/u/', '/ʊ/'];\r\nconst genders = ['man', 'woman'];\r\nconst regions = ['Mid_Atlantic'];\r\n\r\nconst GavtForm: React.FC = () => {\r\n  const [selectedVowels, setSelectedVowels] = useState<string[]>([]);\r\n  const [selectedGender, setSelectedGender] = useState<'man' | 'woman'>('man');\r\n  const [selectedRegion, setSelectedRegion] = useState<string>('Mid_Atlantic');\r\n  const [shuffleOrder, setShuffleOrder] = useState<boolean>(false);\r\n\r\n  const navigate = useNavigate();\r\n\r\n  const handleVowelSelect = (vowel: string) => {\r\n    if (selectedVowels.includes(vowel)) {\r\n      setSelectedVowels(selectedVowels.filter((v) => v !== vowel));\r\n    } else {\r\n      setSelectedVowels([...selectedVowels, vowel]);\r\n    }\r\n  };\r\n\r\n  const handleGenderSelect = (gender: string) => {\r\n    setSelectedGender(gender as 'man' | 'woman');\r\n  };\r\n\r\n  const handleRegionSelect = (region: string) => {\r\n    setSelectedRegion(region);\r\n  };\r\n\r\n  const handleShuffleOrderToggle = () => {\r\n    setShuffleOrder(!shuffleOrder);\r\n  };\r\n\r\n  const handleStartClick = async () => {\r\n    try {\r\n      const frequencies = await getResFreq(selectedVowels, selectedGender, selectedRegion, shuffleOrder);\r\n      \r\n      if (Object.keys(frequencies).length > 0) {\r\n        console.log(frequencies);\r\n        navigate('/gavt/practice', { state: { frequencies: frequencies } });\r\n      } else {\r\n        console.log('No resonance frequencies found.');\r\n      }\r\n    } catch (error) {\r\n      console.error('Error fetching resonance frequencies:', error);\r\n    }\r\n  };\r\n\r\n  const renderVowelCheckbox = (vowel: string) => {\r\n    return (\r\n      <label key={vowel}>\r\n        <input \r\n          type=\"checkbox\" \r\n          checked={selectedVowels.includes(vowel)}\r\n          onChange={() => handleVowelSelect(vowel)}\r\n        />\r\n        {vowel}\r\n      </label>\r\n    );\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <h2>Select Options</h2>\r\n      <div>\r\n        <h3>Select Vowels</h3>\r\n        {vowels.map(renderVowelCheckbox)}\r\n      </div>\r\n      <div>\r\n        <h3>Select Gender</h3>\r\n        {genders.map((gender) => (\r\n          <label key={gender}>\r\n            <input type=\"radio\" name=\"gender\" value={gender} checked={selectedGender === gender} onChange={() => handleGenderSelect(gender as 'man' | 'woman')} />\r\n            {gender}\r\n          </label>\r\n        ))}\r\n      </div>\r\n      <div>\r\n        <h3>Select Region</h3>\r\n        {regions.map((region) => (\r\n          <label key={region}>\r\n            <input type=\"radio\" name=\"region\" value={region} checked={selectedRegion === region} onChange={() => handleRegionSelect(region)} />\r\n            {region}\r\n          </label>\r\n        ))}\r\n      </div>\r\n      <div>\r\n        <h3>Shuffle Order</h3>\r\n        <label>\r\n          <input type=\"checkbox\" checked={shuffleOrder} onChange={handleShuffleOrderToggle} />\r\n          Shuffle Vowels\r\n        </label>\r\n      </div>\r\n      <button onClick={handleStartClick} disabled={selectedVowels.length === 0}>Start</button>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default GavtForm;\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}