{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\GavtCali.tsx\",\n  _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { Divider, Steps, Breadcrumb, Button, message, Card } from 'antd';\nimport { AudioOutlined, RedoOutlined, CheckOutlined } from '@ant-design/icons';\nimport { Link } from 'react-router-dom';\n\n// const stepsTitles = [\n//   'Instruction',\n//   'Before You Start',\n//   'Record Your Voice',\n//   'Complete'\n// ];\n\n// const stepsDescriptions = [\n//     `This module will record your production of different vowel sounds so we can provide resonance targets customized to your voice. \n//     If you do not want to complete this procedure right now, or if you experience any technical difficulty, you can use resonance targets derived from a published reference sample of cis women or men (under the “Reference Targets” tab). \n//     It should take around five minutes to complete the customization process.`,\n//     `To measure your resonance for a vowel, we want you to sustain JUST the vowel sound for about two seconds. (We will give you a key word to identify the vowel, but you should produce only the vowel sound, not the whole word.) Try to produce the vowel in a way that feels natural and comfortable to you – we will use our measurements from this production as a baseline for any changes in resonance. \n//     Everyone's vowels will be a bit different depending on their dialect or language background. That’s OK!\n//     When you are ready to produce the vowel, click “start” and sustain the vowel for about two seconds, then click “stop.”\n//     `,\n//     'Follow the steps to record your voice.',\n//     'Review and complete the calibration.'\n// ];\n\n// const recordingSteps = [\n//     { title: '“ee” like in “seed” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' },\n//     { title: '“ih” like in “hid” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' },\n//     { title: '“eh” like in “head” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' }\n// ];\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst recordingSteps = [{\n  title: '“ee” like in “seed”',\n  key: 'seed'\n}, {\n  title: '“ih” like in “hid”',\n  key: 'hid'\n}, {\n  title: '“eh” like in “head”',\n  key: 'head'\n}];\nconst GavtCali = () => {\n  _s();\n  const [currentStep, setCurrentStep] = useState(0);\n  const [currentRecordingStep, setCurrentRecordingStep] = useState(0);\n  const [recordings, setRecordings] = useState({});\n  const [isRecording, setIsRecording] = useState(false);\n  const handleRecordAudio = action => {\n    setIsRecording(action === 'start');\n    message.info(action === 'start' ? 'Recording started!' : 'Recording stopped!');\n    // Placeholder for actual recording logic\n    if (action === 'stop') {\n      const audioUrl = 'path_to_generated_audio'; // Placeholder for actual audio URL\n      setRecordings({\n        ...recordings,\n        [recordingSteps[currentRecordingStep].key]: audioUrl\n      });\n    }\n  };\n  const handlePlayback = audioUrl => {\n    let audio = new Audio(audioUrl);\n    audio.play();\n  };\n  const handleResetRecording = () => {\n    handleRecordAudio('start');\n  };\n  const handleApproveRecording = () => {\n    if (currentRecordingStep < recordingSteps.length - 1) {\n      setCurrentRecordingStep(currentRecordingStep + 1);\n    } else {\n      // Proceed to the next main step or finish\n      nextStep();\n    }\n  };\n  const renderRecordingControls = () => /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(Button, {\n      icon: /*#__PURE__*/_jsxDEV(AudioOutlined, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 77,\n        columnNumber: 15\n      }, this),\n      onClick: () => handleRecordAudio(isRecording ? 'stop' : 'start'),\n      type: \"primary\",\n      children: isRecording ? 'Stop' : 'Start Recording'\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 76,\n      columnNumber: 7\n    }, this), recordings[recordingSteps[currentRecordingStep].key] && /*#__PURE__*/_jsxDEV(Card, {\n      children: [/*#__PURE__*/_jsxDEV(Button, {\n        icon: /*#__PURE__*/_jsxDEV(RedoOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 86,\n          columnNumber: 19\n        }, this),\n        onClick: handleResetRecording,\n        type: \"danger\",\n        children: \"Re-record\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 85,\n        columnNumber: 11\n      }, this), /*#__PURE__*/_jsxDEV(Button, {\n        icon: /*#__PURE__*/_jsxDEV(CheckOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 93,\n          columnNumber: 19\n        }, this),\n        onClick: () => handleApproveRecording(),\n        type: \"primary\",\n        children: \"Approve\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 92,\n        columnNumber: 11\n      }, this), /*#__PURE__*/_jsxDEV(Button, {\n        onClick: () => handlePlayback(recordings[recordingSteps[currentRecordingStep].key]),\n        children: \"Play Recording\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 99,\n        columnNumber: 11\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 84,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 75,\n    columnNumber: 5\n  }, this);\n  const renderStepContent = step => {\n    switch (step) {\n      case 2:\n        return /*#__PURE__*/_jsxDEV(\"div\", {\n          children: [/*#__PURE__*/_jsxDEV(\"p\", {\n            children: recordingSteps[currentRecordingStep].title\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 114,\n            columnNumber: 13\n          }, this), renderRecordingControls()]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 113,\n          columnNumber: 11\n        }, this);\n      default:\n        return /*#__PURE__*/_jsxDEV(\"p\", {\n          children: stepsDescriptions[step]\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 119,\n          columnNumber: 16\n        }, this);\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    style: {\n      display: 'flex',\n      flexDirection: 'column',\n      alignItems: 'center',\n      marginTop: '20px',\n      width: '80%'\n    },\n    children: [/*#__PURE__*/_jsxDEV(Breadcrumb, {\n      style: {\n        marginBottom: '20px',\n        alignSelf: 'start'\n      },\n      children: [/*#__PURE__*/_jsxDEV(Breadcrumb.Item, {\n        children: /*#__PURE__*/_jsxDEV(Link, {\n          to: \"/gavt\",\n          children: \"Gavt Home\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 126,\n          columnNumber: 26\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 126,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Breadcrumb.Item, {\n        children: \"Calibration\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 127,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 125,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Steps, {\n      progressDot: true,\n      current: currentStep,\n      items: stepsTitles.map(title => ({\n        title\n      }))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 129,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 130,\n      columnNumber: 7\n    }, this), renderStepContent(currentStep), /*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        marginTop: '20px'\n      },\n      children: [/*#__PURE__*/_jsxDEV(Button, {\n        disabled: currentStep === 0,\n        onClick: () => setCurrentStep(currentStep - 1),\n        children: \"Previous\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 133,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Button, {\n        type: \"primary\",\n        onClick: () => setCurrentStep(currentStep + 1),\n        disabled: currentStep === stepsTitles.length - 1,\n        children: currentStep === stepsTitles.length - 1 ? 'Finish' : 'Next'\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 134,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 132,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 124,\n    columnNumber: 5\n  }, this);\n};\n_s(GavtCali, \"ndPzSeuUO+y39xV9rojVl/rpHIs=\");\n_c = GavtCali;\nexport default GavtCali;\nvar _c;\n$RefreshReg$(_c, \"GavtCali\");","map":{"version":3,"names":["React","useState","Divider","Steps","Breadcrumb","Button","message","Card","AudioOutlined","RedoOutlined","CheckOutlined","Link","jsxDEV","_jsxDEV","recordingSteps","title","key","GavtCali","_s","currentStep","setCurrentStep","currentRecordingStep","setCurrentRecordingStep","recordings","setRecordings","isRecording","setIsRecording","handleRecordAudio","action","info","audioUrl","handlePlayback","audio","Audio","play","handleResetRecording","handleApproveRecording","length","nextStep","renderRecordingControls","children","icon","fileName","_jsxFileName","lineNumber","columnNumber","onClick","type","renderStepContent","step","stepsDescriptions","style","display","flexDirection","alignItems","marginTop","width","marginBottom","alignSelf","Item","to","progressDot","current","items","stepsTitles","map","disabled","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/GavtCali.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Divider, Steps, Breadcrumb, Button, message, Card } from 'antd';\r\nimport { AudioOutlined, RedoOutlined, CheckOutlined } from '@ant-design/icons';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// const stepsTitles = [\r\n//   'Instruction',\r\n//   'Before You Start',\r\n//   'Record Your Voice',\r\n//   'Complete'\r\n// ];\r\n\r\n// const stepsDescriptions = [\r\n//     `This module will record your production of different vowel sounds so we can provide resonance targets customized to your voice. \r\n//     If you do not want to complete this procedure right now, or if you experience any technical difficulty, you can use resonance targets derived from a published reference sample of cis women or men (under the “Reference Targets” tab). \r\n//     It should take around five minutes to complete the customization process.`,\r\n//     `To measure your resonance for a vowel, we want you to sustain JUST the vowel sound for about two seconds. (We will give you a key word to identify the vowel, but you should produce only the vowel sound, not the whole word.) Try to produce the vowel in a way that feels natural and comfortable to you – we will use our measurements from this production as a baseline for any changes in resonance. \r\n//     Everyone's vowels will be a bit different depending on their dialect or language background. That’s OK!\r\n//     When you are ready to produce the vowel, click “start” and sustain the vowel for about two seconds, then click “stop.”\r\n//     `,\r\n//     'Follow the steps to record your voice.',\r\n//     'Review and complete the calibration.'\r\n// ];\r\n\r\n// const recordingSteps = [\r\n//     { title: '“ee” like in “seed” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' },\r\n//     { title: '“ih” like in “hid” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' },\r\n//     { title: '“eh” like in “head” ', description: 'Click “start” and pronounce the vowel for 2 seconds, then click “stop”.' }\r\n// ];\r\n\r\nconst recordingSteps = [\r\n    { title: '“ee” like in “seed”', key: 'seed' },\r\n    { title: '“ih” like in “hid”', key: 'hid' },\r\n    { title: '“eh” like in “head”', key: 'head' }\r\n  ];\r\n\r\nconst GavtCali: React.FC = () => {\r\n  const [currentStep, setCurrentStep] = useState(0);\r\n  const [currentRecordingStep, setCurrentRecordingStep] = useState(0);\r\n  const [recordings, setRecordings] = useState({});\r\n  const [isRecording, setIsRecording] = useState(false);\r\n\r\n  const handleRecordAudio = (action) => {\r\n    setIsRecording(action === 'start');\r\n    message.info(action === 'start' ? 'Recording started!' : 'Recording stopped!');\r\n    // Placeholder for actual recording logic\r\n    if (action === 'stop') {\r\n      const audioUrl = 'path_to_generated_audio'; // Placeholder for actual audio URL\r\n      setRecordings({\r\n        ...recordings,\r\n        [recordingSteps[currentRecordingStep].key]: audioUrl\r\n      });\r\n    }\r\n  };\r\n\r\n  const handlePlayback = (audioUrl) => {\r\n    let audio = new Audio(audioUrl);\r\n    audio.play();\r\n  };\r\n\r\n  const handleResetRecording = () => {\r\n    handleRecordAudio('start');\r\n  };\r\n\r\n  const handleApproveRecording = () => {\r\n    if (currentRecordingStep < recordingSteps.length - 1) {\r\n      setCurrentRecordingStep(currentRecordingStep + 1);\r\n    } else {\r\n      // Proceed to the next main step or finish\r\n      nextStep();\r\n    }\r\n  };\r\n\r\n  const renderRecordingControls = () => (\r\n    <div>\r\n      <Button\r\n        icon={<AudioOutlined />}\r\n        onClick={() => handleRecordAudio(isRecording ? 'stop' : 'start')}\r\n        type=\"primary\"\r\n      >\r\n        {isRecording ? 'Stop' : 'Start Recording'}\r\n      </Button>\r\n      {recordings[recordingSteps[currentRecordingStep].key] && (\r\n        <Card>\r\n          <Button\r\n            icon={<RedoOutlined />}\r\n            onClick={handleResetRecording}\r\n            type=\"danger\"\r\n          >\r\n            Re-record\r\n          </Button>\r\n          <Button\r\n            icon={<CheckOutlined />}\r\n            onClick={() => handleApproveRecording()}\r\n            type=\"primary\"\r\n          >\r\n            Approve\r\n          </Button>\r\n          <Button\r\n            onClick={() => handlePlayback(recordings[recordingSteps[currentRecordingStep].key])}\r\n          >\r\n            Play Recording\r\n          </Button>\r\n        </Card>\r\n      )}\r\n    </div>\r\n  );\r\n\r\n  const renderStepContent = (step) => {\r\n    switch(step) {\r\n      case 2:\r\n        return (\r\n          <div>\r\n            <p>{recordingSteps[currentRecordingStep].title}</p>\r\n            {renderRecordingControls()}\r\n          </div>\r\n        );\r\n      default:\r\n        return <p>{stepsDescriptions[step]}</p>;\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', marginTop: '20px', width: '80%' }}>\r\n      <Breadcrumb style={{ marginBottom: '20px', alignSelf: 'start' }}>\r\n        <Breadcrumb.Item><Link to=\"/gavt\">Gavt Home</Link></Breadcrumb.Item>\r\n        <Breadcrumb.Item>Calibration</Breadcrumb.Item>\r\n      </Breadcrumb>\r\n      <Steps progressDot current={currentStep} items={stepsTitles.map(title => ({ title }))} />\r\n      <Divider />\r\n      {renderStepContent(currentStep)}\r\n      <div style={{ marginTop: '20px' }}>\r\n        <Button disabled={currentStep === 0} onClick={() => setCurrentStep(currentStep - 1)}>Previous</Button>\r\n        <Button type=\"primary\" onClick={() => setCurrentStep(currentStep + 1)} disabled={currentStep === stepsTitles.length - 1}>\r\n          {currentStep === stepsTitles.length - 1 ? 'Finish' : 'Next'}\r\n        </Button>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default GavtCali;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}