{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\Word.tsx\",\n  _s = $RefreshSig$();\nimport * as chainData from './data/chain.json';\nimport RefTable from './table/RefTable';\nimport React, { useState, useEffect } from 'react';\nimport { Card, Button, Flex, Tag, Modal } from 'antd';\nimport { RetweetOutlined, LeftCircleOutlined, RightCircleOutlined } from '@ant-design/icons';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst Word = ({\n  refFreqArray,\n  currentVowelIdx,\n  onNextVowel\n}) => {\n  _s();\n  const [phraseIndex, setPhraseIndex] = useState(0);\n  const [chainId, setChainId] = useState(1);\n  const [phrases, setPhrases] = useState([]);\n  const [currentPhrase, setCurrentPhrase] = useState('');\n  const [refOpen, setRefOpen] = useState(false);\n  const currentVowel = refFreqArray[currentVowelIdx];\n  console.log(`Current vowel: ${currentVowel.vowel}`);\n  useEffect(() => {\n    setChainId(1);\n    setPhraseIndex(0);\n    const vowelData = chainData[currentVowel.vowel];\n    const firstChain = vowelData[0];\n    if (firstChain) {\n      setPhrases(firstChain.phrases);\n      setCurrentPhrase(firstChain.phrases[0]);\n    }\n  }, [currentVowel]);\n  useEffect(() => {\n    const vowelData = chainData[currentVowel.vowel];\n    const chain = vowelData.find(chain => chain.chainId === chainId);\n    if (chain) {\n      setPhrases(chain.phrases);\n      setCurrentPhrase(chain.phrases[0]);\n    }\n  }, [currentVowel, chainId]);\n  const handleMoreComplex = () => {\n    if (phraseIndex < phrases.length - 1) {\n      setPhraseIndex(phraseIndex + 1);\n      setCurrentPhrase(phrases[phraseIndex + 1]);\n    }\n  };\n  const handleLessComplex = () => {\n    if (phraseIndex > 0) {\n      setPhraseIndex(phraseIndex - 1);\n      setCurrentPhrase(phrases[phraseIndex - 1]);\n    }\n  };\n  const handleNextChain = () => {\n    const newChainId = chainId % 3 + 1;\n    setChainId(newChainId);\n    const newChain = chainData[currentVowel.vowel].find(chain => chain.chainId === newChainId);\n    if (newChain) {\n      setPhrases(newChain.phrases);\n      setCurrentPhrase(newChain.phrases[0]);\n      setPhraseIndex(0);\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      children: /*#__PURE__*/_jsxDEV(\"p\", {\n        children: [\"Vowels you just chose to practice: \", /*#__PURE__*/_jsxDEV(Tag, {\n          color: \"purple\",\n          children: refFreqArray.map(f => f.vowel).join(', ')\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 79,\n          columnNumber: 55\n        }, this), \", Current active vowel is: \", /*#__PURE__*/_jsxDEV(Tag, {\n          color: \"purple\",\n          children: currentVowel.vowel\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 79,\n          columnNumber: 151\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 79,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 78,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n      children: [/*#__PURE__*/_jsxDEV(\"a\", {\n        onClick: () => setRefOpen(true),\n        children: \"Reference Frequency Value \"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 82,\n        columnNumber: 17\n      }, this), \"of \", /*#__PURE__*/_jsxDEV(Tag, {\n        color: \"purple\",\n        children: currentVowel.vowel\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 102,\n        columnNumber: 22\n      }, this), \": \", /*#__PURE__*/_jsxDEV(Tag, {\n        color: \"yellow\",\n        children: [currentVowel.freq, \" Hz \"]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 102,\n        columnNumber: 70\n      }, this), \".\"]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 81,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Flex, {\n      gap: \"small\",\n      style: {\n        margin: '10px'\n      },\n      children: [/*#__PURE__*/_jsxDEV(Button, {\n        icon: /*#__PURE__*/_jsxDEV(RetweetOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 105,\n          columnNumber: 31\n        }, this),\n        onClick: onNextVowel,\n        children: \"Try a different vowel\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 105,\n        columnNumber: 17\n      }, this), /*#__PURE__*/_jsxDEV(Button, {\n        icon: /*#__PURE__*/_jsxDEV(RetweetOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 106,\n          columnNumber: 31\n        }, this),\n        onClick: handleNextChain,\n        children: \"Try a different phrase chain\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 106,\n        columnNumber: 17\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 104,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Card, {\n      hoverable: true,\n      title: `${currentPhrase}`,\n      bordered: false,\n      style: {\n        width: 300\n      },\n      children: /*#__PURE__*/_jsxDEV(\"p\", {\n        children: `Current phrase chain begins with: \"${phrases[0]}\" `\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 115,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 109,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Flex, {\n      gap: \"small\",\n      style: {\n        margin: '10px'\n      },\n      children: [/*#__PURE__*/_jsxDEV(Button, {\n        icon: /*#__PURE__*/_jsxDEV(LeftCircleOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 118,\n          columnNumber: 31\n        }, this),\n        onClick: handleLessComplex,\n        disabled: phraseIndex === 0,\n        children: \"Less complex\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 118,\n        columnNumber: 17\n      }, this), /*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        icon: /*#__PURE__*/_jsxDEV(RightCircleOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 119,\n          columnNumber: 46\n        }, this),\n        onClick: handleMoreComplex,\n        disabled: phraseIndex === phrases.length - 1,\n        children: \"More complex\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 119,\n        columnNumber: 17\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 117,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Modal, {\n      title: \"Reference Frequency Values\",\n      centered: true,\n      open: refOpen,\n      onOk: () => setRefOpen(false),\n      onCancel: () => setRefOpen(false),\n      width: 1000,\n      footer: [/*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        onClick: () => setRefOpen(false),\n        children: \"OK\"\n      }, \"submit\", false, {\n        fileName: _jsxFileName,\n        lineNumber: 129,\n        columnNumber: 17\n      }, this)],\n      children: /*#__PURE__*/_jsxDEV(RefTable, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 134,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 121,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true);\n};\n_s(Word, \"CT5mujQdaiAUomXIfZfNDK5Ov1s=\");\n_c = Word;\nexport default Word;\nvar _c;\n$RefreshReg$(_c, \"Word\");","map":{"version":3,"names":["chainData","RefTable","React","useState","useEffect","Card","Button","Flex","Tag","Modal","RetweetOutlined","LeftCircleOutlined","RightCircleOutlined","jsxDEV","_jsxDEV","Fragment","_Fragment","Word","refFreqArray","currentVowelIdx","onNextVowel","_s","phraseIndex","setPhraseIndex","chainId","setChainId","phrases","setPhrases","currentPhrase","setCurrentPhrase","refOpen","setRefOpen","currentVowel","console","log","vowel","vowelData","firstChain","chain","find","handleMoreComplex","length","handleLessComplex","handleNextChain","newChainId","newChain","children","color","map","f","join","fileName","_jsxFileName","lineNumber","columnNumber","onClick","freq","gap","style","margin","icon","hoverable","title","bordered","width","disabled","type","centered","open","onOk","onCancel","footer","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/Word.tsx"],"sourcesContent":["import * as chainData from './data/chain.json';\r\nimport RefTable from './table/RefTable';\r\n\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport { Card, Button, Flex, Tag, Modal } from 'antd';\r\nimport { RetweetOutlined, LeftCircleOutlined, RightCircleOutlined } from '@ant-design/icons';\r\n\r\ninterface WordProps {\r\n    refFreqArray: {\r\n      vowel: string;\r\n      freq: number;\r\n    }[];\r\n    currentVowelIdx: number;\r\n    onNextVowel: () => void;\r\n  }\r\n\r\nconst Word: React.FC<WordProps> = ({ refFreqArray, currentVowelIdx, onNextVowel }) => {\r\n    const [phraseIndex, setPhraseIndex] = useState(0);\r\n    const [chainId, setChainId] = useState(1);\r\n    const [phrases, setPhrases] = useState<string[]>([]);\r\n    const [currentPhrase, setCurrentPhrase] = useState('');\r\n\r\n    const [refOpen, setRefOpen] = useState(false);\r\n\r\n    const currentVowel = refFreqArray[currentVowelIdx];\r\n    console.log(`Current vowel: ${currentVowel.vowel}`)\r\n\r\n    useEffect(() => {\r\n        setChainId(1);\r\n        setPhraseIndex(0);\r\n    \r\n        const vowelData = chainData[currentVowel.vowel as keyof typeof chainData];\r\n        const firstChain = vowelData[0];\r\n        if (firstChain) {\r\n            setPhrases(firstChain.phrases);\r\n            setCurrentPhrase(firstChain.phrases[0]);\r\n        }\r\n    }, [currentVowel]);\r\n\r\n    useEffect(() => {\r\n        const vowelData = chainData[currentVowel.vowel as keyof typeof chainData];\r\n        const chain = vowelData.find(chain => chain.chainId === chainId);\r\n        if (chain) {\r\n            setPhrases(chain.phrases);\r\n            setCurrentPhrase(chain.phrases[0]);\r\n        }\r\n    }, [currentVowel, chainId]);\r\n\r\n    const handleMoreComplex = () => {\r\n        if (phraseIndex < phrases.length - 1) {\r\n            setPhraseIndex(phraseIndex + 1);\r\n            setCurrentPhrase(phrases[phraseIndex + 1]);\r\n        }\r\n    };\r\n\r\n    const handleLessComplex = () => {\r\n        if (phraseIndex > 0) {\r\n            setPhraseIndex(phraseIndex - 1);\r\n            setCurrentPhrase(phrases[phraseIndex - 1]);\r\n        }\r\n    };\r\n\r\n    const handleNextChain = () => {\r\n        const newChainId = (chainId % 3) + 1;\r\n        setChainId(newChainId);\r\n\r\n        const newChain = chainData[currentVowel.vowel as keyof typeof chainData].find(chain => chain.chainId === newChainId);\r\n        if (newChain) {\r\n            setPhrases(newChain.phrases);\r\n            setCurrentPhrase(newChain.phrases[0]);\r\n            setPhraseIndex(0);\r\n        }\r\n    };\r\n    \r\n    return(\r\n        <>\r\n            <div>\r\n                <p>Vowels you just chose to practice: <Tag color='purple'>{refFreqArray.map(f => f.vowel).join(', ')}</Tag>, Current active vowel is: <Tag color='purple'>{currentVowel.vowel}</Tag></p>\r\n            </div>\r\n            <p>\r\n                <a onClick={()=>setRefOpen(true)}>Reference Frequency Value </a>\r\n                {/* <Tooltip title={\r\n                    <span>\r\n                        Formant frequencies from Clopper et al. \r\n                        <a \r\n                            href=\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3432912/pdf/nihms399880.pdf\"\r\n                            target='_blank'\r\n                            rel='noopener noreferrer'\r\n                        > \r\n                            Link to Paper\r\n                        </a>\r\n                    </span>\r\n                }>\r\n                    <InfoCircleOutlined style={{ \r\n                        marginRight: 4,\r\n                        verticalAlign: 'super', \r\n                        fontSize: '0.8em', \r\n                        color: '#1890ff' \r\n                    }} />\r\n                </Tooltip> */}\r\n                  of <Tag color='purple'>{currentVowel.vowel}</Tag>: <Tag color='yellow'>{currentVowel.freq} Hz </Tag>.\r\n            </p>\r\n            <Flex gap=\"small\" style={{margin:'10px'}}>\r\n                <Button icon={<RetweetOutlined />} onClick={onNextVowel}>Try a different vowel</Button>\r\n                <Button icon={<RetweetOutlined />} onClick={handleNextChain}>Try a different phrase chain</Button>\r\n            </Flex>\r\n        \r\n            <Card \r\n                hoverable\r\n                title={`${currentPhrase}`}\r\n                bordered={false}\r\n                style={{ width: 300 }}\r\n            >\r\n                <p>{`Current phrase chain begins with: \"${phrases[0]}\" `}</p>\r\n            </Card>\r\n            <Flex gap=\"small\" style={{margin:'10px'}}>\r\n                <Button icon={<LeftCircleOutlined />} onClick={handleLessComplex} disabled={phraseIndex === 0}>Less complex</Button>\r\n                <Button type=\"primary\" icon={<RightCircleOutlined />} onClick={handleMoreComplex} disabled={phraseIndex === phrases.length - 1}>More complex</Button>\r\n            </Flex>\r\n            <Modal\r\n                title=\"Reference Frequency Values\"\r\n                centered\r\n                open={refOpen}\r\n                onOk={() => setRefOpen(false)}\r\n                onCancel={() => setRefOpen(false)}\r\n                width={1000}\r\n                footer={[\r\n                <Button key=\"submit\" type=\"primary\" onClick={() => setRefOpen(false)}>\r\n                    OK\r\n                </Button>\r\n                ]}\r\n            >\r\n                <RefTable />\r\n            </Modal>\r\n        </>\r\n    )\r\n};\r\n\r\nexport default Word;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}