{"ast":null,"code":"var _jsxFileName = \"/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/Route/Gavt.tsx\",\n  _s = $RefreshSig$();\nimport { useState } from 'react';\nimport { Alert, Space, Button, Modal, Table } from 'antd';\nimport ResonanceMenu from '../gavt/ResonanceMenu';\nimport transcripts from '../gavt/transcripts';\nimport '../gavt/ResonanceMenu.css';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst navigationContent = `\n    <ul>\n      <li>Setup Page\n        <ul style=\"padding-left: 20px; line-height: 1.8;\">\n          <li>Choose the vowel or vowels you want to practice.</li>\n          <li>Remember, the target we set for R2 will differ depending on the vowel.</li>\n          <li>Some vowels (like \"ee\" or \"eh\") are relatively easier to say with bright resonance, and some vowels (like \"ah\" or \"oo\") are more challenging.</li>\n        </ul>\n      </li>\n      <li>Practice Page\n        <ul style=\"padding-left: 20px;line-height: 1.8;\">\n          <li>Here you will see the wave and the adjustable slider. For each vowel, the slider starts at a position based on data from research studies. For example, if you are targeting a brighter voice quality, the target will be placed at the lower edge of the range of variation from cis women producing that vowel.</li>\n          <li>Keep in mind that everyone’s voice is different, and the target we suggest as a starting point may not be a perfect fit for you. You should feel free to adjust the slider location to a value that feels comfortable for you. You can shift the target to the right for brighter resonance or to the left for darker resonance. If you find a target frequency that you like, you can save it as a custom target for that vowel by clicking “Save as custom value.”</li>\n          <li>To practice, draw out the vowel sound you selected (such as \"eh\") and watch how the wave responds. Try to identify the second peak in the wave, which is R2.\n            <ul style=\"padding-left: 20px;\">\n              <li>Your goal is to shift R2 closer to the target slider.</li>\n              <li>For tips on how to modify your R2, check out tutorial part 4, \"Strategies for resonance.\"</li>\n              <li>Remember that changing the pitch of your voice is not the same as changing your resonance - see tutorial part 6 (\"Pitch versus resonance\") for more on this concept.</li>\n            </ul>\n          </li>\n          <li>Once you get a sense of how you can adjust your resonance, you can start practicing at the word level.\n            <ul style=\"padding-left: 20px; line-height: 1.8;\">\n              <li>Even when you are producing words, you should still draw out the vowel so you can see if R2 is coming close to the slider.</li>\n              <li>During other speech sounds, your R2 will not be close to the slider - that's OK.</li>\n              <li>If you are having difficulty matching the target, you may want to go back to playing around with the vowel in isolation or in a single syllable.</li>\n            </ul>\n          </li>\n          <li>If you are feeling comfortable at the word level, you can click \"More complex\" to try a longer utterance.\n            <ul style=\"padding-left: 20px; line-height: 1.8;\">\n              <li>You can practice the same vowel in chains of 2 to 5 syllables.</li>\n              <li>To begin, you will probably want to chant the chains and draw out the vowel in each word.</li>\n              <li>Then try producing the same chain with a more natural intonation instead of a chant. You can still look for R2 to come close to the slider during the target vowel in each word.</li>\n            </ul>\n          </li>\n          <li>Then try another vowel, or try mixing it up with different vowels. Don't forget that the tutorial videos are there for models and strategies!</li>\n        </ul>\n      </li>\n    </ul>\n  `;\nconst Gavt = () => {\n  _s();\n  const [isTranscriptVisible, setIsTranscriptVisible] = useState(false);\n  const [transcriptContent, setTranscriptContent] = useState('');\n  const [isNavigationVisible, setIsNavigationVisible] = useState(false);\n  const showTranscript = part => {\n    setTranscriptContent(transcripts[part]);\n    setIsTranscriptVisible(true);\n  };\n  const handleTranscriptCancel = () => {\n    setIsTranscriptVisible(false);\n  };\n  const showNavigation = () => {\n    setIsNavigationVisible(true);\n  };\n  const handleNavigationCancel = () => {\n    setIsNavigationVisible(false);\n  };\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        display: 'flex',\n        flexDirection: 'column',\n        alignItems: 'center',\n        justifyContent: 'center'\n      },\n      children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n        children: \"Resonance: Tutorial\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 79,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Space, {\n        direction: \"vertical\",\n        style: {\n          width: '50%',\n          marginBottom: '20px'\n        },\n        children: [/*#__PURE__*/_jsxDEV(Alert, {\n          style: {\n            backgroundColor: '#FFEFEF',\n            borderColor: '#FFEFEF'\n          },\n          description: /*#__PURE__*/_jsxDEV(_Fragment, {\n            children: /*#__PURE__*/_jsxDEV(\"div\", {\n              children: [\"Welcome! Here you can use a real-time display of your speech to work on resonance. NOTE: Please use the Chrome browser to access this module. Other browsers are not supported at this time.\", /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 90,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 91,\n                columnNumber: 19\n              }, this), \"Resonance can be challenging to understand! We encourage you to watch at least the first three tutorial sections (video clips 1-3 minutes long) before you try out the software.\", /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 93,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 94,\n                columnNumber: 19\n              }, this), \"Our software works best with an external microphone plugged into your device, even if it's just a set of earbuds with an in-line microphone.\"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 88,\n              columnNumber: 17\n            }, this)\n          }, void 0, false),\n          type: \"info\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 81,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Table, {\n          bordered: true,\n          pagination: false,\n          showHeader: false,\n          dataSource: [{\n            key: '1',\n            part1: 'Tutorial: Getting Started',\n            part2: 'Tutorial: Next Steps'\n          }, {\n            key: '2',\n            part1: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://youtu.be/WTs2QcTTpHo\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 1. What is resonance? (1:30)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 111,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part1'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 114,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 110,\n              columnNumber: 17\n            }, this),\n            part2: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://youtu.be/cpn56ZHfRv8\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 4. Strategies for resonance (2:00)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 120,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part4'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 123,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 119,\n              columnNumber: 17\n            }, this)\n          }, {\n            key: '3',\n            part1: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://youtu.be/mFJajI69MIU\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 2. Bright and dark resonance (1:15)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 131,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part2'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 134,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 130,\n              columnNumber: 17\n            }, this),\n            part2: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://youtu.be/O3m2-D61POU\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 5. Resonance chains (2:00)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 140,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part5'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 143,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 139,\n              columnNumber: 17\n            }, this)\n          }, {\n            key: '4',\n            part1: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://www.youtube.com/watch?v=wPpiuMfIb3E\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 3. Modifying resonance (1:20)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 151,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part3'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 154,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 150,\n              columnNumber: 17\n            }, this),\n            part2: /*#__PURE__*/_jsxDEV(\"div\", {\n              style: {\n                display: 'inline-flex',\n                alignItems: 'center'\n              },\n              children: [/*#__PURE__*/_jsxDEV(\"a\", {\n                href: \"https://youtu.be/PslG19nE0Yw\",\n                target: \"_blank\",\n                rel: \"noreferrer\",\n                children: \"Part 6. Pitch versus resonance (2:50)\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 160,\n                columnNumber: 19\n              }, this), /*#__PURE__*/_jsxDEV(Button, {\n                type: \"link\",\n                onClick: () => showTranscript('part6'),\n                children: \"Transcript\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 163,\n                columnNumber: 19\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 159,\n              columnNumber: 17\n            }, this)\n          }],\n          columns: [{\n            dataIndex: 'part1',\n            key: 'part1',\n            render: (text, record, index) => {\n              if (index === 0) {\n                return {\n                  children: text,\n                  props: {\n                    colSpan: 1\n                  }\n                };\n              }\n              return text;\n            }\n          }, {\n            dataIndex: 'part2',\n            key: 'part2',\n            render: (text, record, index) => {\n              if (index === 0) {\n                return {\n                  children: text,\n                  props: {\n                    colSpan: 1\n                  }\n                };\n              }\n              return text;\n            }\n          }]\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 102,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Modal, {\n          title: \"Transcript\",\n          open: isTranscriptVisible,\n          onCancel: handleTranscriptCancel,\n          footer: [/*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleTranscriptCancel,\n            children: \"Close\"\n          }, \"close\", false, {\n            fileName: _jsxFileName,\n            lineNumber: 209,\n            columnNumber: 11\n          }, this)],\n          children: /*#__PURE__*/_jsxDEV(\"div\", {\n            dangerouslySetInnerHTML: {\n              __html: transcriptContent\n            }\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 214,\n            columnNumber: 9\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 204,\n          columnNumber: 7\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            textAlign: 'center',\n            marginTop: '20px'\n          },\n          children: /*#__PURE__*/_jsxDEV(Button, {\n            type: \"primary\",\n            onClick: showNavigation,\n            children: \"Navigating the app\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 217,\n            columnNumber: 9\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 216,\n          columnNumber: 7\n        }, this), /*#__PURE__*/_jsxDEV(Modal, {\n          title: \"Navigating the App\",\n          open: isNavigationVisible,\n          onCancel: handleNavigationCancel,\n          footer: [/*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleNavigationCancel,\n            children: \"Close\"\n          }, \"close\", false, {\n            fileName: _jsxFileName,\n            lineNumber: 227,\n            columnNumber: 11\n          }, this)],\n          width: 800,\n          children: /*#__PURE__*/_jsxDEV(\"div\", {\n            dangerouslySetInnerHTML: {\n              __html: navigationContent\n            }\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 233,\n            columnNumber: 9\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 222,\n          columnNumber: 7\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 80,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 73,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(ResonanceMenu, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 238,\n      columnNumber: 5\n    }, this)]\n  }, void 0, true);\n};\n_s(Gavt, \"Pc2DonDLSn63ijMjT74PhKlIgVk=\");\n_c = Gavt;\nexport default Gavt;\nvar _c;\n$RefreshReg$(_c, \"Gavt\");","map":{"version":3,"names":["useState","Alert","Space","Button","Modal","Table","ResonanceMenu","transcripts","jsxDEV","_jsxDEV","Fragment","_Fragment","navigationContent","Gavt","_s","isTranscriptVisible","setIsTranscriptVisible","transcriptContent","setTranscriptContent","isNavigationVisible","setIsNavigationVisible","showTranscript","part","handleTranscriptCancel","showNavigation","handleNavigationCancel","children","style","display","flexDirection","alignItems","justifyContent","fileName","_jsxFileName","lineNumber","columnNumber","direction","width","marginBottom","backgroundColor","borderColor","description","type","bordered","pagination","showHeader","dataSource","key","part1","part2","href","target","rel","onClick","columns","dataIndex","render","text","record","index","props","colSpan","title","open","onCancel","footer","dangerouslySetInnerHTML","__html","textAlign","marginTop","_c","$RefreshReg$"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/Route/Gavt.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Alert, Space, Button, Modal, Table} from 'antd'\nimport ResonanceMenu from '../gavt/ResonanceMenu';\nimport transcripts from '../gavt/transcripts';\n\nimport '../gavt/ResonanceMenu.css';\n\nconst navigationContent = `\n    <ul>\n      <li>Setup Page\n        <ul style=\"padding-left: 20px; line-height: 1.8;\">\n          <li>Choose the vowel or vowels you want to practice.</li>\n          <li>Remember, the target we set for R2 will differ depending on the vowel.</li>\n          <li>Some vowels (like \"ee\" or \"eh\") are relatively easier to say with bright resonance, and some vowels (like \"ah\" or \"oo\") are more challenging.</li>\n        </ul>\n      </li>\n      <li>Practice Page\n        <ul style=\"padding-left: 20px;line-height: 1.8;\">\n          <li>Here you will see the wave and the adjustable slider. For each vowel, the slider starts at a position based on data from research studies. For example, if you are targeting a brighter voice quality, the target will be placed at the lower edge of the range of variation from cis women producing that vowel.</li>\n          <li>Keep in mind that everyone’s voice is different, and the target we suggest as a starting point may not be a perfect fit for you. You should feel free to adjust the slider location to a value that feels comfortable for you. You can shift the target to the right for brighter resonance or to the left for darker resonance. If you find a target frequency that you like, you can save it as a custom target for that vowel by clicking “Save as custom value.”</li>\n          <li>To practice, draw out the vowel sound you selected (such as \"eh\") and watch how the wave responds. Try to identify the second peak in the wave, which is R2.\n            <ul style=\"padding-left: 20px;\">\n              <li>Your goal is to shift R2 closer to the target slider.</li>\n              <li>For tips on how to modify your R2, check out tutorial part 4, \"Strategies for resonance.\"</li>\n              <li>Remember that changing the pitch of your voice is not the same as changing your resonance - see tutorial part 6 (\"Pitch versus resonance\") for more on this concept.</li>\n            </ul>\n          </li>\n          <li>Once you get a sense of how you can adjust your resonance, you can start practicing at the word level.\n            <ul style=\"padding-left: 20px; line-height: 1.8;\">\n              <li>Even when you are producing words, you should still draw out the vowel so you can see if R2 is coming close to the slider.</li>\n              <li>During other speech sounds, your R2 will not be close to the slider - that's OK.</li>\n              <li>If you are having difficulty matching the target, you may want to go back to playing around with the vowel in isolation or in a single syllable.</li>\n            </ul>\n          </li>\n          <li>If you are feeling comfortable at the word level, you can click \"More complex\" to try a longer utterance.\n            <ul style=\"padding-left: 20px; line-height: 1.8;\">\n              <li>You can practice the same vowel in chains of 2 to 5 syllables.</li>\n              <li>To begin, you will probably want to chant the chains and draw out the vowel in each word.</li>\n              <li>Then try producing the same chain with a more natural intonation instead of a chant. You can still look for R2 to come close to the slider during the target vowel in each word.</li>\n            </ul>\n          </li>\n          <li>Then try another vowel, or try mixing it up with different vowels. Don't forget that the tutorial videos are there for models and strategies!</li>\n        </ul>\n      </li>\n    </ul>\n  `\n\nconst Gavt: React.FC = () => {\n  const [isTranscriptVisible, setIsTranscriptVisible] = useState(false);\n  const [transcriptContent, setTranscriptContent] = useState('');\n  const [isNavigationVisible, setIsNavigationVisible] = useState(false);\n\n  const showTranscript = (part: keyof typeof transcripts) => {\n    setTranscriptContent(transcripts[part]);\n    setIsTranscriptVisible(true);\n  };\n\n  const handleTranscriptCancel = () => {\n    setIsTranscriptVisible(false);\n  };\n\n  const showNavigation = () => {\n    setIsNavigationVisible(true);\n  }\n\n  const handleNavigationCancel = () => {\n    setIsNavigationVisible(false);\n  }\n\n  return(\n    <>\n      <div style={{\n        display: 'flex',\n        flexDirection: 'column',\n        alignItems: 'center',\n        justifyContent: 'center'\n      }}>\n        <h2>Resonance: Tutorial</h2>\n        <Space direction=\"vertical\" style={{ width: '50%', marginBottom: '20px'}}>\n          <Alert\n            style={{ \n              backgroundColor: '#FFEFEF',\n              borderColor: '#FFEFEF'\n            }} \n            description={\n              <>\n                <div>\n                  Welcome! Here you can use a real-time display of your speech to work on resonance. NOTE: Please use the Chrome browser to access this module. Other browsers are not supported at this time.\n                  <br/>\n                  <br/>\n                  Resonance can be challenging to understand! We encourage you to watch at least the first three tutorial sections (video clips 1-3 minutes long) before you try out the software. \n                  <br/>\n                  <br/>\n                  Our software works best with an external microphone plugged into your device, even if it's just a set of earbuds with an in-line microphone.\n                </div>\n              </>\n            }\n            type=\"info\"\n          />\n        \n          <Table\n          bordered\n          pagination={false}\n          showHeader={false}\n          dataSource={[\n            { key: '1', part1: 'Tutorial: Getting Started', part2: 'Tutorial: Next Steps' },\n            { key: '2', \n              part1:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}> \n                  <a href=\"https://youtu.be/WTs2QcTTpHo\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 1. What is resonance? (1:30)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part1')}>\n                    Transcript\n                  </Button>\n              </div>,\n              part2:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}>\n                  <a href=\"https://youtu.be/cpn56ZHfRv8\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 4. Strategies for resonance (2:00)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part4')}>\n                  Transcript\n                </Button>\n              </div>                \n            },\n            { key: '3', \n              part1:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}> \n                  <a href=\"https://youtu.be/mFJajI69MIU\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 2. Bright and dark resonance (1:15)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part2')}>\n                    Transcript\n                  </Button>\n              </div>,\n              part2:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}>\n                  <a href=\"https://youtu.be/O3m2-D61POU\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 5. Resonance chains (2:00)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part5')}>\n                    Transcript\n                </Button>\n              </div>                \n            },\n            { key: '4', \n              part1:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}> \n                  <a href=\"https://www.youtube.com/watch?v=wPpiuMfIb3E\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 3. Modifying resonance (1:20)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part3')}>\n                    Transcript\n                  </Button>\n              </div>,\n              part2:\n                <div style={{ display:'inline-flex', alignItems: 'center' }}>\n                  <a href=\"https://youtu.be/PslG19nE0Yw\" target=\"_blank\" rel=\"noreferrer\">\n                    Part 6. Pitch versus resonance (2:50)\n                  </a>\n                  <Button type=\"link\" onClick={() => showTranscript('part6')}>\n                    Transcript\n                </Button>\n              </div>                \n            },\n          ]}\n          columns={[\n            {\n              dataIndex: 'part1',\n              key: 'part1',\n              render: (text, record, index) => {\n                if (index === 0) {\n                  return {\n                    children: text,\n                    props: {\n                      colSpan: 1,\n                    },\n                  };\n                }\n                return text;\n              },\n            },\n            {\n              dataIndex: 'part2',\n              key: 'part2',\n              render: (text, record, index) => {\n                if (index === 0) {\n                  return {\n                    children: text,\n                    props: {\n                      colSpan: 1,\n                    },\n                  };\n                }\n                return text;\n              },\n            },\n          ]}\n        />\n\n\n      <Modal\n        title=\"Transcript\"\n        open={isTranscriptVisible}\n        onCancel={handleTranscriptCancel}\n        footer={[\n          <Button key=\"close\" onClick={handleTranscriptCancel}>\n            Close\n          </Button>,\n        ]}\n      >\n        <div dangerouslySetInnerHTML={{ __html: transcriptContent }} />\n      </Modal>\n      <div style={{ textAlign: 'center', marginTop: '20px' }}>\n        <Button type=\"primary\" onClick={showNavigation}>\n          Navigating the app\n        </Button>\n      </div>\n\n      <Modal\n        title=\"Navigating the App\"\n        open={isNavigationVisible}\n        onCancel={handleNavigationCancel}\n        footer={[\n          <Button key=\"close\" onClick={handleNavigationCancel}>\n            Close\n          </Button>,\n        ]}\n        width={800} \n      >\n        <div dangerouslySetInnerHTML={{ __html: navigationContent }} />\n      </Modal>\n\n      </Space>\n      </div>\n    <ResonanceMenu />\n    </>\n\n\n  )\n}\nexport default Gavt;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}