{"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 onFinish = async values => {\n    const {\n      vowels,\n      gender,\n      region,\n      shuffleOrder\n    } = values;\n    console.log(`Selected vowels: ${vowels}, gender: {gender}, region: {region}, shuffleOrder: {shuffleOrder}`);\n    try {\n      const frequencies = await getResFreq(vowels, gender, region, shuffleOrder);\n      if (Object.keys(frequencies).length > 0) {\n        console.log(frequencies);\n        navigate('/gavt/practice', {\n          state: {\n            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  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    onFinish: onFinish,\n    layout: \"vertical\",\n    initialValues: {\n      gender: 'man',\n      region: 'Mid_Atlantic',\n      shuffleOrder: false\n    },\n    children: [/*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"vowels\",\n      label: \"Select Vowels\",\n      rules: [{\n        required: true\n      }],\n      children: /*#__PURE__*/_jsxDEV(Checkbox.Group, {\n        options: vowels\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 66,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 65,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"gender\",\n      label: \"Select Gender\",\n      rules: [{\n        required: true\n      }],\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: 70,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 69,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"region\",\n      label: \"Select Region\",\n      rules: [{\n        required: true\n      }],\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: 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: \"shuffleOrder\",\n      valuePropName: \"checked\",\n      children: /*#__PURE__*/_jsxDEV(Checkbox, {\n        children: \"Shuffle Vowels\"\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      children: /*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        htmlType: \"submit\",\n        children: \"Start\"\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)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 55,\n    columnNumber: 5\n  }, this);\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","onFinish","values","gender","region","console","log","frequencies","Object","keys","length","state","error","layout","initialValues","children","Item","name","label","rules","required","Group","options","fileName","_jsxFileName","lineNumber","columnNumber","map","value","valuePropName","type","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\ninterface FormValues {\r\n  vowels: string[];\r\n  gender: 'man' | 'woman';\r\n  region: string;\r\n  shuffleOrder: boolean;\r\n}\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 onFinish = async (values: FormValues) => {\r\n    const { vowels, gender, region, shuffleOrder } = values;\r\n    console.log(`Selected vowels: ${vowels}, gender: {gender}, region: {region}, shuffleOrder: {shuffleOrder}`);\r\n    try {\r\n      const frequencies = await getResFreq(vowels, gender, region, shuffleOrder);\r\n      if (Object.keys(frequencies).length > 0) {\r\n        console.log(frequencies);\r\n        navigate('/gavt/practice', { state: { 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  return (\r\n    <Form \r\n      form={form}\r\n      onFinish={onFinish}\r\n      layout=\"vertical\"\r\n      initialValues={{\r\n        gender: 'man',\r\n        region: 'Mid_Atlantic',\r\n        shuffleOrder: false,\r\n      }}\r\n    >\r\n      <Form.Item name=\"vowels\" label=\"Select Vowels\" rules={[{ required: true }]}>\r\n        <Checkbox.Group options={vowels} />\r\n      </Form.Item>\r\n\r\n      <Form.Item name=\"gender\" label=\"Select Gender\" rules={[{ required: true }]}>\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\" rules={[{ required: true }]}>\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\">\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};\r\n\r\nexport default GavtForm;\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}