{"ast":null,"code":"var _jsxFileName = \"/var/www/gavt/react-demo/src/gavt/GavtForm.tsx\",\n  _s = $RefreshSig$();\n// GavtForm.tsx\nimport React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport getRefFreq from './getRefFreq';\nimport { Form, Checkbox, Radio, Button, Tooltip } from 'antd';\nimport { InfoCircleOutlined } from '@ant-design/icons';\n\n// const vowels = ['/i/', '/ɪ/', '/ɛ/', '/æ/', '/ɑ/', '/ɔ/', '/ʌ/', '/u/', '/ʊ/'];\n// const vowels = ['ee', 'ih', 'eh', 'ae', 'ah', 'aw', 'uh', 'ooh', 'oo'];\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst vowels = [{\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"s\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"ee\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 13,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 13,\n    columnNumber: 12\n  }, this),\n  value: 'ee'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"h\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"i\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 14,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 14,\n    columnNumber: 12\n  }, this),\n  value: 'ih'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"h\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"ea\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 15,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 15,\n    columnNumber: 12\n  }, this),\n  value: 'eh'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"s\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"a\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 16,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 16,\n    columnNumber: 12\n  }, this),\n  value: 'ae'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"b\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"u\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 17,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 17,\n    columnNumber: 12\n  }, this),\n  value: 'uh'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"g\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"oo\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 18,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 18,\n    columnNumber: 12\n  }, this),\n  value: 'oo'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"g\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"o\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 19,\n      columnNumber: 19\n    }, this), \"d\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 19,\n    columnNumber: 12\n  }, this),\n  value: 'ah'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"l\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"aw\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 20,\n      columnNumber: 19\n    }, this), \"n\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 20,\n    columnNumber: 12\n  }, this),\n  value: 'aw'\n}, {\n  label: /*#__PURE__*/_jsxDEV(\"span\", {\n    children: [\"sp\", /*#__PURE__*/_jsxDEV(\"strong\", {\n      children: \"oo\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 21,\n      columnNumber: 20\n    }, this), \"n\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 21,\n    columnNumber: 12\n  }, this),\n  value: 'ooh'\n}];\nconst regions = ['Mid_Atlantic', 'New_England', 'North', 'Midland', 'South', 'West'];\nexport const vowelMapping = {\n  'ee': '/i/',\n  'ih': '/ɪ/',\n  'eh': '/ɛ/',\n  'ae': '/æ/',\n  'ah': '/ɑ/',\n  'aw': '/ɔ/',\n  'uh': '/ʌ/',\n  'ooh': '/u/',\n  'oo': '/ʊ/'\n};\nconst GavtForm = () => {\n  _s();\n  const navigate = useNavigate();\n  const [form] = Form.useForm();\n  const onFinish = async values => {\n    const {\n      vowels,\n      gender,\n      region,\n      shuffleOrder\n    } = values;\n    try {\n      const mappedVowels = vowels.map(vowel => vowelMapping[vowel]);\n      // const frequencies = await getRefFreq(mappedVowels, gender, region, shuffleOrder);\n      const frequencies = await getRefFreq(mappedVowels, gender, shuffleOrder);\n      if (Object.keys(frequencies).length > 0) {\n        console.log(frequencies);\n        navigate('/resonance/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: 'woman',\n      region: 'Mid_Atlantic',\n      shuffleOrder: false\n    },\n    children: [/*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"vowels\",\n      label: /*#__PURE__*/_jsxDEV(\"span\", {\n        children: \"Which vowel(s) would you like to practice?\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 79,\n        columnNumber: 17\n      }, this),\n      rules: [{\n        required: true\n      }],\n      children: /*#__PURE__*/_jsxDEV(Checkbox.Group, {\n        options: vowels\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 100,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 77,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        textAlign: 'center',\n        marginTop: '20px'\n      },\n      children: /*#__PURE__*/_jsxDEV(\"svg\", {\n        width: \"610\",\n        height: \"20\",\n        xmlns: \"http://www.w3.org/2000/svg\",\n        children: [/*#__PURE__*/_jsxDEV(\"defs\", {\n          children: /*#__PURE__*/_jsxDEV(\"linearGradient\", {\n            id: \"grad1\",\n            x1: \"0%\",\n            y1: \"0%\",\n            x2: \"100%\",\n            y2: \"0%\",\n            gradientUnits: \"userSpaceOnUse\",\n            children: [/*#__PURE__*/_jsxDEV(\"stop\", {\n              offset: \"0%\",\n              style: {\n                stopColor: '#9501F6'\n              }\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 106,\n              columnNumber: 37\n            }, this), /*#__PURE__*/_jsxDEV(\"stop\", {\n              offset: \"100%\",\n              style: {\n                stopColor: '#2D0054'\n              }\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 107,\n              columnNumber: 37\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 105,\n            columnNumber: 35\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 104,\n          columnNumber: 33\n        }, this), /*#__PURE__*/_jsxDEV(\"line\", {\n          x1: \"10\",\n          y1: \"10\",\n          x2: \"600\",\n          y2: \"10\",\n          stroke: \"url(#grad1)\",\n          strokeWidth: \"5\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 110,\n          columnNumber: 33\n        }, this), /*#__PURE__*/_jsxDEV(\"polygon\", {\n          points: \"10,5 0,10 10,15\",\n          fill: \"#9501F6\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 111,\n          columnNumber: 33\n        }, this), /*#__PURE__*/_jsxDEV(\"polygon\", {\n          points: \"600,5 610,10 600,15\",\n          fill: \"#2D0054\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 112,\n          columnNumber: 33\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 103,\n        columnNumber: 31\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 102,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        display: 'flex',\n        justifyContent: 'space-between',\n        marginTop: '10px'\n      },\n      children: [/*#__PURE__*/_jsxDEV(\"span\", {\n        children: \"brighter vowels\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 116,\n        columnNumber: 11\n      }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n        children: \"darker vowels\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 117,\n        columnNumber: 11\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 115,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 119,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"gender\",\n      label: \"Are you trying to feminize or masculinize your voice?\",\n      rules: [{\n        required: true\n      }],\n      children: /*#__PURE__*/_jsxDEV(Radio.Group, {\n        children: [/*#__PURE__*/_jsxDEV(Radio, {\n          value: \"woman\",\n          children: \"Feminize\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 123,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Radio, {\n          value: \"man\",\n          disabled: true,\n          children: \"Masculinize\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 124,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Radio, {\n          value: \"non-binary\",\n          disabled: true,\n          children: [\"Non-binary\", /*#__PURE__*/_jsxDEV(Tooltip, {\n            title: \"We are still working on developing resonant frequency reference data for non-binary speakers.\",\n            children: /*#__PURE__*/_jsxDEV(InfoCircleOutlined, {\n              style: {\n                marginLeft: 5\n              }\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 128,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 127,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 125,\n          columnNumber: 11\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 122,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 121,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: \"shuffleOrder\",\n      valuePropName: \"checked\",\n      children: /*#__PURE__*/_jsxDEV(Checkbox, {\n        children: \"Shuffle vowels' order?\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 139,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 138,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n      children: /*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        htmlType: \"submit\",\n        children: \"Start Practicing\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 143,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 142,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 67,\n    columnNumber: 5\n  }, this);\n};\n_s(GavtForm, \"2xEjMhLzrKl+lGsvxPwGGEAwEts=\", 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","useNavigate","getRefFreq","Form","Checkbox","Radio","Button","Tooltip","InfoCircleOutlined","jsxDEV","_jsxDEV","vowels","label","children","fileName","_jsxFileName","lineNumber","columnNumber","value","regions","vowelMapping","GavtForm","_s","navigate","form","useForm","onFinish","values","gender","region","shuffleOrder","mappedVowels","map","vowel","frequencies","Object","keys","length","console","log","state","error","layout","initialValues","Item","name","rules","required","Group","options","style","textAlign","marginTop","width","height","xmlns","id","x1","y1","x2","y2","gradientUnits","offset","stopColor","stroke","strokeWidth","points","fill","display","justifyContent","disabled","title","marginLeft","valuePropName","type","htmlType","_c","$RefreshReg$"],"sources":["/var/www/gavt/react-demo/src/gavt/GavtForm.tsx"],"sourcesContent":["// GavtForm.tsx\nimport React, { useState }from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nimport getRefFreq from './getRefFreq';\n\nimport { Form, Checkbox, Radio, Button, Tooltip } from 'antd';\nimport { InfoCircleOutlined } from '@ant-design/icons';\n\n// const vowels = ['/i/', '/ɪ/', '/ɛ/', '/æ/', '/ɑ/', '/ɔ/', '/ʌ/', '/u/', '/ʊ/'];\n// const vowels = ['ee', 'ih', 'eh', 'ae', 'ah', 'aw', 'uh', 'ooh', 'oo'];\nconst vowels = [\n  { label: <span>s<strong>ee</strong>d</span>, value: 'ee' },\n  { label: <span>h<strong>i</strong>d</span>, value: 'ih' },\n  { label: <span>h<strong>ea</strong>d</span>, value: 'eh' },\n  { label: <span>s<strong>a</strong>d</span>, value: 'ae' },\n  { label: <span>b<strong>u</strong>d</span>, value: 'uh' },\n  { label: <span>g<strong>oo</strong>d</span>, value: 'oo' },\n  { label: <span>g<strong>o</strong>d</span>, value: 'ah' },\n  { label: <span>l<strong>aw</strong>n</span>, value: 'aw' },\n  { label: <span>sp<strong>oo</strong>n</span>, value: 'ooh' },\n  \n];\nconst regions = ['Mid_Atlantic', 'New_England', 'North', 'Midland', 'South', 'West'];\n\nexport const vowelMapping: Record<string, string> = {\n  'ee': '/i/',\n  'ih': '/ɪ/',\n  'eh': '/ɛ/',\n  'ae': '/æ/',\n  'ah': '/ɑ/',\n  'aw': '/ɔ/',\n  'uh': '/ʌ/',\n  'ooh': '/u/',\n  'oo': '/ʊ/'\n};\n\ninterface FormValues {\n  vowels: string[];\n  gender: 'man' | 'woman';\n  region: string;\n  shuffleOrder: boolean;\n}\n\nconst GavtForm: React.FC = () => {\n  const navigate = useNavigate();\n  const [form] = Form.useForm();\n\n  const onFinish = async (values: FormValues) => {\n    const { vowels, gender, region, shuffleOrder } = values;\n    try {\n      const mappedVowels = vowels.map(vowel => vowelMapping[vowel]);\n      // const frequencies = await getRefFreq(mappedVowels, gender, region, shuffleOrder);\n      const frequencies = await getRefFreq(mappedVowels, gender, shuffleOrder);\n      if (Object.keys(frequencies).length > 0) {\n        console.log(frequencies);\n        navigate('/resonance/practice', { state: { frequencies } });\n      } else {\n        console.log('No resonance frequencies found.');\n      }\n    } catch (error) {\n      console.error('Error fetching resonance frequencies:', error);\n    }\n  };\n\n  return (\n    <Form \n      form={form}\n      onFinish={onFinish}\n      layout=\"vertical\"\n      initialValues={{\n        gender: 'woman',\n        region: 'Mid_Atlantic',\n        shuffleOrder: false,\n      }}\n    >\n      <Form.Item \n        name=\"vowels\"\n        label={ <span>\n          Which vowel(s) would you like to practice?\n          {/* <Tooltip title={\n            <span>\n            “ee” like in “seed”<br />\n            “ih” like in “hid”<br />\n            “eh” like in “head”<br />\n            “ae” like in “sad”<br />\n            “uh” like in “bud”<br />\n            “oo” like in “good”<br />\n            “ah” like in “god”<br />\n            “aw” like in “lawn”<br />\n            “ooh” like in “spoon”<br />\n            </span>\n          }\n          >\n            <InfoCircleOutlined style={{ marginLeft: 5}} />\n          </Tooltip> */}\n        </span>}\n        rules={[{ required: true }]}\n      >\n        <Checkbox.Group options={vowels}/>\n      </Form.Item>\n      <div style={{ textAlign: 'center', marginTop: '20px' }}>\n                              <svg width=\"610\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\">\n                                <defs>\n                                  <linearGradient id=\"grad1\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\" gradientUnits=\"userSpaceOnUse\">\n                                    <stop offset=\"0%\" style={{ stopColor: '#9501F6'}} />\n                                    <stop offset=\"100%\" style={{ stopColor: '#2D0054'}} />\n                                  </linearGradient>\n                                </defs>\n                                <line x1=\"10\" y1=\"10\" x2=\"600\" y2=\"10\" stroke=\"url(#grad1)\" strokeWidth=\"5\" />\n                                <polygon points=\"10,5 0,10 10,15\" fill='#9501F6' />\n                                <polygon points=\"600,5 610,10 600,15\" fill='#2D0054' />\n                              </svg>\n                        </div>\n      <div style={{ display: 'flex', justifyContent: 'space-between', marginTop: '10px' }}>\n          <span>brighter vowels</span>\n          <span>darker vowels</span>\n      </div>\n      <br />\n\n      <Form.Item name=\"gender\" label=\"Are you trying to feminize or masculinize your voice?\" rules={[{ required: true }]}>\n        <Radio.Group>\n          <Radio value=\"woman\">Feminize</Radio>\n          <Radio value=\"man\" disabled>Masculinize</Radio>\n          <Radio value=\"non-binary\" disabled>\n            Non-binary\n            <Tooltip title=\"We are still working on developing resonant frequency reference data for non-binary speakers.\">\n              <InfoCircleOutlined style={{ marginLeft: 5}} />\n            </Tooltip>\n          </Radio>\n        </Radio.Group>\n      </Form.Item>\n\n      {/* <Form.Item name=\"region\" label=\"Which dialect region would you like to use to set your reference targets? \" rules={[{ required: true }]}>\n        <Radio.Group options={regions.map(region => ({ label: region, value: region }))} />\n      </Form.Item> */}\n\n      <Form.Item name=\"shuffleOrder\" valuePropName=\"checked\">\n        <Checkbox>Shuffle vowels' order?</Checkbox>\n      </Form.Item>\n\n      <Form.Item>\n        <Button type=\"primary\" htmlType=\"submit\">Start Practicing</Button>\n      </Form.Item>\n    </Form>\n  );\n};\n\nexport default GavtForm;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}