{"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 { Form, Checkbox, Radio, Button } from 'antd';\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 [form] = Form.useForm();\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: 61,\n        columnNumber: 9\n      }, this), vowel]\n    }, vowel, true, {\n      fileName: _jsxFileName,\n      lineNumber: 60,\n      columnNumber: 7\n    }, this);\n  };\n  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    onFinish: handleStartClick,\n    layout: \"vertical\",\n    children: [/*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"vowels\",\n      label: \"Select Vowels\",\n      children: /*#__PURE__*/_jsxDEV(Checkbox.Group, {\n        options: vowels\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 74,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 73,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"gender\",\n      label: \"Select Gender\",\n      children: /*#__PURE__*/_jsxDEV(Radio.Group, {\n        options: genders.map(gender => ({\n          label: gender,\n          value: gender\n        }))\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 78,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 77,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"region\",\n      label: \"Select Region\",\n      children: /*#__PURE__*/_jsxDEV(Radio.Group, {\n        options: regions.map(region => ({\n          label: region,\n          value: region\n        }))\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 82,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 81,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"shuffleOrder\",\n      valuePropName: \"checked\",\n      initialValue: false,\n      children: /*#__PURE__*/_jsxDEV(Checkbox, {\n        children: \"Shuffle Vowels\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 86,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 85,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      children: /*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        htmlType: \"submit\",\n        children: \"Start\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 90,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 89,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 72,\n    columnNumber: 5\n  }, this)\n\n  // <div>\n  //   <h2>Select Options</h2>\n  //   <div>\n  //     <h3>Select Vowels</h3>\n  //     {vowels.map(renderVowelCheckbox)}\n  //   </div>\n  //   <div>\n  //     <h3>Select Gender</h3>\n  //     {genders.map((gender) => (\n  //       <label key={gender}>\n  //         <input type=\"radio\" name=\"gender\" value={gender} checked={selectedGender === gender} onChange={() => handleGenderSelect(gender as 'man' | 'woman')} />\n  //         {gender}\n  //       </label>\n  //     ))}\n  //   </div>\n  //   <div>\n  //     <h3>Select Region</h3>\n  //     {regions.map((region) => (\n  //       <label key={region}>\n  //         <input type=\"radio\" name=\"region\" value={region} checked={selectedRegion === region} onChange={() => handleRegionSelect(region)} />\n  //         {region}\n  //       </label>\n  //     ))}\n  //   </div>\n  //   <div>\n  //     <h3>Shuffle Order</h3>\n  //     <label>\n  //       <input type=\"checkbox\" checked={shuffleOrder} onChange={handleShuffleOrderToggle} />\n  //       Shuffle Vowels\n  //     </label>\n  //   </div>\n  //   <button onClick={handleStartClick} disabled={selectedVowels.length === 0}>Start</button>\n  // </div>\n  ;\n};\n_s(GavtForm, \"6dc93u/ibqn3lFYykKW0eFSfcRQ=\", false, function () {\n  return [useNavigate, Form.useForm];\n});\n_c = GavtForm;\nexport default GavtForm;\nvar _c;\n$RefreshReg$(_c, \"GavtForm\");","map":{"version":3,"names":["React","useState","useNavigate","getResFreq","Form","Checkbox","Radio","Button","jsxDEV","_jsxDEV","vowels","genders","regions","GavtForm","_s","selectedVowels","setSelectedVowels","selectedGender","setSelectedGender","selectedRegion","setSelectedRegion","shuffleOrder","setShuffleOrder","navigate","form","useForm","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","onFinish","layout","Item","name","label","Group","options","map","value","valuePropName","initialValue","htmlType","_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\nimport { Form, Checkbox, Radio, Button, Row, Col } from 'antd';\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 [form] = Form.useForm();\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    <Form form={form} onFinish={handleStartClick} layout=\"vertical\">\r\n      <Form.Item name=\"vowels\" label=\"Select Vowels\">\r\n        <Checkbox.Group options={vowels} />\r\n      </Form.Item>\r\n\r\n      <Form.Item name=\"gender\" label=\"Select Gender\">\r\n        <Radio.Group options={genders.map(gender => ({ label: gender, value: gender }))} />\r\n      </Form.Item>\r\n\r\n      <Form.Item name=\"region\" label=\"Select Region\">\r\n        <Radio.Group options={regions.map(region => ({ label: region, value: region }))} />\r\n      </Form.Item>\r\n\r\n      <Form.Item name=\"shuffleOrder\" valuePropName=\"checked\" initialValue={false}>\r\n        <Checkbox>Shuffle Vowels</Checkbox>\r\n      </Form.Item>\r\n\r\n      <Form.Item>\r\n        <Button type=\"primary\" htmlType=\"submit\">Start</Button>\r\n      </Form.Item>\r\n    </Form>\r\n\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":[]}