{"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';\n\n// interface PhonemeMap {\n//     [key: string]: string;\n//     '/i/': string;\n//     '/ɪ/': string;\n//     '/e/': string;\n//     '/ɛ/': string;\n//     '/æ/': string;\n//     '/ɑ/': string;\n//     '/ɔ/': string;\n//     '/ʌ/': string;\n//     '/o/': string;\n//     '/u/': string;\n//     '/ʊ/': string;\n//   }\n\n// const phonemeToWordMap: PhonemeMap ={\n//     '/i/' : 'seed',\n//     '/ɪ/' : 'hid',\n//     '/e/' : 'made',\n//     '/ɛ/' : 'head',\n//     '/æ/' : 'sad',\n//     '/ɑ/' : 'god',\n//     '/ɔ/' : 'lawn',\n//     '/ʌ/' : 'bud',\n//     '/o/' : 'showed',\n//     '/u/' : 'spoon',\n//     '/ʊ/' : 'good'\n// }\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      } else {\n        console.log('No resonance frequencies found.');\n      }\n      navigate('/gavt/practice');\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: 87,\n        columnNumber: 9\n      }, this), vowel]\n    }, vowel, true, {\n      fileName: _jsxFileName,\n      lineNumber: 86,\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: 99,\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: 101,\n        columnNumber: 9\n      }, this), vowels.map(renderVowelCheckbox)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 100,\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: 105,\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: 108,\n          columnNumber: 13\n        }, this), gender]\n      }, gender, true, {\n        fileName: _jsxFileName,\n        lineNumber: 107,\n        columnNumber: 11\n      }, this))]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 104,\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: 114,\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: 117,\n          columnNumber: 13\n        }, this), region]\n      }, region, true, {\n        fileName: _jsxFileName,\n        lineNumber: 116,\n        columnNumber: 11\n      }, this))]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 113,\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: 123,\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: 125,\n          columnNumber: 11\n        }, this), \"Shuffle Vowels\"]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 124,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 122,\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: 129,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 98,\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","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\n// interface PhonemeMap {\r\n//     [key: string]: string;\r\n//     '/i/': string;\r\n//     '/ɪ/': string;\r\n//     '/e/': string;\r\n//     '/ɛ/': string;\r\n//     '/æ/': string;\r\n//     '/ɑ/': string;\r\n//     '/ɔ/': string;\r\n//     '/ʌ/': string;\r\n//     '/o/': string;\r\n//     '/u/': string;\r\n//     '/ʊ/': string;\r\n//   }\r\n\r\n// const phonemeToWordMap: PhonemeMap ={\r\n//     '/i/' : 'seed',\r\n//     '/ɪ/' : 'hid',\r\n//     '/e/' : 'made',\r\n//     '/ɛ/' : 'head',\r\n//     '/æ/' : 'sad',\r\n//     '/ɑ/' : 'god',\r\n//     '/ɔ/' : 'lawn',\r\n//     '/ʌ/' : 'bud',\r\n//     '/o/' : 'showed',\r\n//     '/u/' : 'spoon',\r\n//     '/ʊ/' : 'good'\r\n// }\r\n\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      } else {\r\n        console.log('No resonance frequencies found.');\r\n      }\r\n      navigate('/gavt/practice');\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":[]}