{"ast":null,"code":"var _jsxFileName = \"/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/MainLayout.tsx\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport { Layout, Menu, ConfigProvider, Button, Avatar, Modal, Space, Dropdown } from 'antd';\nimport { UserOutlined } from '@ant-design/icons';\nimport { Routes, Route, Link, useLocation, useNavigate } from 'react-router-dom';\nimport About from './Route/About';\nimport Sample from './Route/Sample';\nimport { FreqProvider } from './gavt/FreqContext';\nimport Gavt from './Route/Gavt';\nimport GavtSelection from './gavt/GavtSelection';\nimport GavtPractice from './gavt/GavtPractice';\nimport GavtCali from './gavt/GavtCali';\nimport GavtTutorial from './gavt/Tutorial/GavtTutorial';\nimport SampleVolume from './Route/SampleVolume';\nimport Assessment from './Route/Assessment';\nimport Help from './Route/Help';\nimport Main from './Route/HomePage';\nimport logoImage from '../src/icon/new-icon-removebg-preview.png';\nimport './CSS/MainLayout.css';\nimport { Flex } from 'antd';\nimport { createFromIconfontCN } from '@ant-design/icons';\nimport { Tooltip } from 'antd';\nimport AudioPlayer from 'react-h5-audio-player';\nimport { useOptionsHooks } from './hooks/useOptionsHooks';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst PlayIcon = createFromIconfontCN({\n  scriptUrl: '//at.alicdn.com/t/c/font_4566050_zpduwnlv2t.js'\n});\n_c = PlayIcon;\nconst CustomButton = ({\n  label,\n  handleIconClick\n}) => {\n  return /*#__PURE__*/_jsxDEV(Button, {\n    style: {\n      display: 'flex',\n      alignItems: 'center'\n    },\n    className: \"dropdownIcon\",\n    icon: /*#__PURE__*/_jsxDEV(PlayIcon, {\n      style: {\n        fontSize: '1.7em'\n      },\n      onClick: handleIconClick,\n      type: \"icon-audioPlay\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 51,\n      columnNumber: 9\n    }, this),\n    children: label\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 44,\n    columnNumber: 5\n  }, this);\n};\n_c2 = CustomButton;\nconst {\n  Header,\n  Content,\n  Footer\n} = Layout;\nconst defaultBackColor = \"linear-gradient(to bottom, #d7d2e6, #c9d9f3)\";\nconst defaultBackColor_2 = \"url('/transvoice/HomePage-img.png')\";\nconst marksRange = {\n  50: '50Hz',\n  600: '600Hz'\n};\nconst marksBallPos = {\n  0: '0%',\n  1: '100%'\n};\nconst marksVol = {\n  50: '50dB',\n  90: '90dB'\n};\nconst MainLayout = () => {\n  _s();\n  const {\n    gender,\n    setGender,\n    genderName,\n    audioPlayerNew,\n    audioKey,\n    audioSrc,\n    fetchAudioData,\n    handleIconClick,\n    itemsAvatar\n  } = useOptionsHooks();\n  const [isClickListen, setIsClickListen] = useState(0);\n  const location = useLocation();\n  const navigate = useNavigate();\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const [openSetting, setOpenSetting] = useState(false);\n  const [selectedItem, setSelectedItem] = useState('Settings');\n  const [showNotesPar, setShowNotesPar] = useState(true);\n  const [enableVol, setEnableVol] = useState(false);\n  const [menuKey, setMenuKey] = useState('4');\n  const [backgroundImg, setBackgroundImg] = useState(defaultBackColor);\n  useEffect(() => {\n    fetchAudioData();\n  }, [genderName]);\n  useEffect(() => {\n    switch (menuKey) {\n      case '4':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '6':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '8':\n        setBackgroundImg(defaultBackColor);\n        break;\n      default:\n        setBackgroundImg(\"transparent\");\n    }\n    window.scrollTo(0, 0);\n  }, [menuKey]);\n  useEffect(() => {\n    const pathIn = location.pathname;\n    switch (pathIn) {\n      case \"/HomePage\":\n        setMenuKey('4');\n        break;\n      case \"/Home\":\n        setMenuKey('7');\n        break;\n      case '/pitch':\n        setMenuKey('3');\n        break;\n      case '/volume':\n        setMenuKey('5');\n        break;\n      case '/resonance':\n        setMenuKey('8');\n        break;\n      case '/assessment':\n        setMenuKey('6');\n        break;\n      case '/about':\n        setMenuKey('1');\n        break;\n      case '/Help':\n        setMenuKey('2');\n        break;\n      default:\n        setMenuKey('4');\n    }\n  }, [location.pathname]);\n  const navigateToPitch = () => {\n    setMenuKey('3');\n    navigate('/pitch');\n  };\n  const showModal = () => {\n    setIsModalOpen(true);\n  };\n  const handleCancel = () => {\n    setIsModalOpen(false);\n  };\n  const showDrawer = () => {\n    setOpenSetting(true);\n  };\n  const closeDrawer = () => {\n    setOpenSetting(false);\n  };\n  const onClickMenu = e => {\n    setSelectedItem(e.key);\n  };\n  const onChangeHz = ({\n    target: {\n      value\n    }\n  }) => {\n    setShowNotesPar(value !== 'hz');\n  };\n  const onChangeRange = rangeValue => {\n    // handle change for pitch display range\n  };\n  const onChangePosition = positionValue => {\n    // handle change for pitch indicator horizontal position\n  };\n  const onChangeSpeed = speedValue => {\n    // handle change for pitch indicator speed\n  };\n  const EnableVoluneMode = e => {\n    setEnableVol(e);\n  };\n  const onChangeThreshold = e => {\n    // handle change for threshold\n  };\n  const formatterdB = value => `${value} dB`;\n  const formatterHz = value => `${value} Hz`;\n  const formatterPos = value => `${value ? (value * 100).toFixed(0) : '0'}%`;\n\n  // render profile page\n  const renderContent = () => {\n    switch (selectedItem) {\n      case 'Profile':\n        return /*#__PURE__*/_jsxDEV(\"p\", {\n          children: \"profile\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 222,\n          columnNumber: 16\n        }, this);\n      case 'Settings':\n        return /*#__PURE__*/_jsxDEV(\"div\", {\n          children: /*#__PURE__*/_jsxDEV(Flex, {\n            vertical: true,\n            gap: \"middle\",\n            children: [/*#__PURE__*/_jsxDEV(Space, {\n              children: [/*#__PURE__*/_jsxDEV(\"p\", {\n                children: \"# Model Selection: \"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 227,\n                columnNumber: 15\n              }, this), /*#__PURE__*/_jsxDEV(Dropdown.Button, {\n                menu: {\n                  items: itemsAvatar\n                },\n                placement: \"bottom\",\n                trigger: [\"click\"],\n                overlayClassName: \"custom-dropdown\",\n                buttonsRender: ([leftButton, rightButton]) => [/*#__PURE__*/_jsxDEV(Tooltip, {\n                  children: /*#__PURE__*/_jsxDEV(Button, {\n                    style: {\n                      display: 'flex',\n                      alignItems: 'center'\n                    },\n                    onClick: handleIconClick,\n                    icon: /*#__PURE__*/_jsxDEV(PlayIcon, {\n                      style: {\n                        fontSize: '1.7em'\n                      },\n                      type: \"icon-audioPlay\"\n                    }, void 0, false, {\n                      fileName: _jsxFileName,\n                      lineNumber: 281,\n                      columnNumber: 25\n                    }, this),\n                    children: genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'\n                  }, void 0, false, {\n                    fileName: _jsxFileName,\n                    lineNumber: 274,\n                    columnNumber: 21\n                  }, this)\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 273,\n                  columnNumber: 19\n                }, this)\n\n                //   <Space.Compact block className='dropdownButton'>\n                //   <Tooltip title=\"Play Audio\">\n                //     <Button icon={\n                //       <PlayIcon\n                //         style={{\n                //           fontSize: '1.7em',\n                //         }}\n                //         onClick={handleIconClick}\n                //         type=\"icon-audioPlay\"\n                //          />\n                //     }\n                //       className=\"dropdownIcon\"\n                //     >\n\n                //     </Button>\n\n                //   </Tooltip>\n\n                //   <Tooltip title=\"Change Avatar\">\n                //     <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                //       {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                //     </Button>\n                //   </Tooltip>\n\n                // </Space.Compact>\n                , /*#__PURE__*/React.cloneElement(rightButton, {\n                  loading: false\n                })]\n                // open={showDropdown}\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 267,\n                columnNumber: 15\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 226,\n              columnNumber: 13\n            }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 334,\n              columnNumber: 13\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 225,\n            columnNumber: 11\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 224,\n          columnNumber: 17\n        }, this);\n      case 'Other':\n        return /*#__PURE__*/_jsxDEV(\"p\", {\n          children: \"other\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 339,\n          columnNumber: 16\n        }, this);\n      default:\n        return null;\n    }\n  };\n  const menuClicked = e => {\n    console.log(e.key);\n    setMenuKey(e.key);\n  };\n  const exerciseMenu = /*#__PURE__*/_jsxDEV(Menu, {\n    className: \"exercise-menu\",\n    children: [/*#__PURE__*/_jsxDEV(Menu.Item, {\n      onClick: menuClicked,\n      children: /*#__PURE__*/_jsxDEV(Link, {\n        to: \"/pitch\",\n        children: \"PITCH\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 354,\n        columnNumber: 9\n      }, this)\n    }, \"3\", false, {\n      fileName: _jsxFileName,\n      lineNumber: 353,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n      onClick: menuClicked,\n      children: /*#__PURE__*/_jsxDEV(Link, {\n        to: \"/volume\",\n        children: \"VOLUME\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 357,\n        columnNumber: 9\n      }, this)\n    }, \"5\", false, {\n      fileName: _jsxFileName,\n      lineNumber: 356,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n      onClick: menuClicked,\n      children: /*#__PURE__*/_jsxDEV(Link, {\n        to: \"/resonance\",\n        children: \"RESONANCE\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 360,\n        columnNumber: 9\n      }, this)\n    }, \"8\", false, {\n      fileName: _jsxFileName,\n      lineNumber: 359,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 352,\n    columnNumber: 5\n  }, this);\n  const itemsMenu = [{\n    label: 'Profile',\n    key: 'Profile'\n  }, {\n    label: 'Settings',\n    key: 'Settings'\n  }, {\n    label: 'Other',\n    key: 'Other'\n  }];\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: \"LayoutBGP\",\n    children: /*#__PURE__*/_jsxDEV(Layout, {\n      style: {\n        ...(menuKey === '4' ? {\n          backgroundImage: defaultBackColor_2,\n          backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)',\n          width: '200vw',\n          backgroundSize: '10rem',\n          maxWidth: '100vw',\n          flex: 1\n        } : {\n          backgroundColor: 'transparent'\n        }),\n        isolation: \"isolate\",\n        ...(menuKey === '6' ? {\n          backgroundImage: defaultBackColor_2,\n          backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)',\n          width: '100vw',\n          backgroundSize: '10rem',\n          height: \"1300px\"\n        } : {\n          backgroundColor: 'transparent'\n        })\n      },\n      className: \"layout\",\n      children: [/*#__PURE__*/_jsxDEV(Header, {\n        style: {\n          display: 'flex',\n          justifyContent: 'flex-end',\n          alignItems: 'center',\n          background: 'transparent'\n        },\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"TVox\",\n          children: /*#__PURE__*/_jsxDEV(\"img\", {\n            className: \"logoImg\",\n            src: logoImage,\n            alt: \"Logo\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 408,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 407,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(ConfigProvider, {\n          theme: {\n            token: {\n              borderRadius: 0\n            },\n            components: {\n              Menu: {\n                itemColor: \"rgb(78, 120, 195)\",\n                horizontalItemSelectedBg: \"rgb(134, 120, 169)\",\n                horizontalItemSelectedColor: \"white\"\n              }\n            }\n          },\n          children: /*#__PURE__*/_jsxDEV(Menu, {\n            disabledOverflow: true,\n            className: \"Menu\",\n            theme: \"light\",\n            mode: \"horizontal\",\n            selectedKeys: [menuKey],\n            children: [/*#__PURE__*/_jsxDEV(Menu.Item, {\n              onClick: menuClicked,\n              className: \"menu-item\",\n              children: /*#__PURE__*/_jsxDEV(Link, {\n                to: \"/\",\n                children: \"HOME\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 426,\n                columnNumber: 17\n              }, this)\n            }, \"4\", false, {\n              fileName: _jsxFileName,\n              lineNumber: 425,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Dropdown, {\n              overlay: exerciseMenu,\n              placement: \"bottom\",\n              children: /*#__PURE__*/_jsxDEV(Menu.Item, {\n                className: \"menu-item\",\n                children: \"EXERCISES\"\n              }, \"exercises\", false, {\n                fileName: _jsxFileName,\n                lineNumber: 429,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 428,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n              onClick: menuClicked,\n              className: \"menu-item\",\n              children: /*#__PURE__*/_jsxDEV(Link, {\n                to: \"/assessment\",\n                children: \"ASSESMENT\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 434,\n                columnNumber: 17\n              }, this)\n            }, \"6\", false, {\n              fileName: _jsxFileName,\n              lineNumber: 433,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n              onClick: menuClicked,\n              className: \"menu-item\",\n              children: /*#__PURE__*/_jsxDEV(Link, {\n                to: \"/Help\",\n                children: \"HELP\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 437,\n                columnNumber: 17\n              }, this)\n            }, \"2\", false, {\n              fileName: _jsxFileName,\n              lineNumber: 436,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n              onClick: menuClicked,\n              className: \"menu-item\",\n              children: /*#__PURE__*/_jsxDEV(Link, {\n                to: \"/about\",\n                children: \"CONTACT\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 440,\n                columnNumber: 17\n              }, this)\n            }, \"1\", false, {\n              fileName: _jsxFileName,\n              lineNumber: 439,\n              columnNumber: 15\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 424,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 410,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"userIcon\",\n          children: /*#__PURE__*/_jsxDEV(Button, {\n            shape: \"circle\",\n            type: \"default\",\n            icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 448,\n              columnNumber: 21\n            }, this),\n            onClick: showModal // Show modal on click\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 445,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 444,\n          columnNumber: 11\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 406,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Content, {\n        className: \"ContentMain\",\n        style: {\n          display: 'flex',\n          flexDirection: 'column',\n          alignItems: 'center',\n          marginTop: \"0rem\",\n          width: \"100%\",\n          background: 'transparent',\n          overflow: 'hidden'\n        },\n        children: /*#__PURE__*/_jsxDEV(FreqProvider, {\n          children: /*#__PURE__*/_jsxDEV(Routes, {\n            children: [/*#__PURE__*/_jsxDEV(Route, {\n              path: \"/about\",\n              element: /*#__PURE__*/_jsxDEV(About, {\n                isModalOpen: isModalOpen,\n                setIsModalOpen: setIsModalOpen,\n                showModal: showModal,\n                handleCancel: handleCancel\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 457,\n                columnNumber: 45\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 457,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/pitch\",\n              element: /*#__PURE__*/_jsxDEV(Sample, {\n                gender: gender,\n                setGender: setGender,\n                genderName: genderName\n                // audioPlayerNew={audioPlayerNew}\n                ,\n                audioKey: audioKey,\n                audioSrc: audioSrc,\n                fetchAudioData: fetchAudioData,\n                handleIconClick: handleIconClick,\n                itemsAvatar: itemsAvatar\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 458,\n                columnNumber: 45\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 458,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/volume\",\n              element: /*#__PURE__*/_jsxDEV(SampleVolume, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 472,\n                columnNumber: 46\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 472,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/resonance\",\n              element: /*#__PURE__*/_jsxDEV(Gavt, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 474,\n                columnNumber: 49\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 474,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/resonance/selection\",\n              element: /*#__PURE__*/_jsxDEV(GavtSelection, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 475,\n                columnNumber: 59\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 475,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/resonance/practice\",\n              element: /*#__PURE__*/_jsxDEV(GavtPractice, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 476,\n                columnNumber: 58\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 476,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/resonance/calibrate\",\n              element: /*#__PURE__*/_jsxDEV(GavtCali, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 477,\n                columnNumber: 59\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 477,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/resonance/tutorial\",\n              element: /*#__PURE__*/_jsxDEV(GavtTutorial, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 478,\n                columnNumber: 58\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 478,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/assessment\",\n              element: /*#__PURE__*/_jsxDEV(Assessment, {\n                isModalOpen: isModalOpen,\n                setIsModalOpen: setIsModalOpen,\n                showModal: showModal,\n                handleCancel: handleCancel\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 480,\n                columnNumber: 50\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 480,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/Help\",\n              element: /*#__PURE__*/_jsxDEV(Help, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 481,\n                columnNumber: 44\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 481,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Route, {\n              path: \"/\",\n              element: /*#__PURE__*/_jsxDEV(Main, {\n                goToSample: navigateToPitch,\n                isModalOpen: isModalOpen,\n                setIsModalOpen: setIsModalOpen,\n                showModal: showModal,\n                handleCancel: handleCancel\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 482,\n                columnNumber: 40\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 482,\n              columnNumber: 15\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 456,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 455,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 454,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Modal, {\n        title: \"Settings\",\n        open: isModalOpen,\n        className: \"AvatarModal\",\n        onCancel: () => setIsModalOpen(false),\n        footer: null,\n        children: /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            textAlign: 'center'\n          },\n          children: [/*#__PURE__*/_jsxDEV(Avatar, {\n            size: 64,\n            icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 497,\n              columnNumber: 35\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 497,\n            columnNumber: 11\n          }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n            children: \"Name Name\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 498,\n            columnNumber: 11\n          }, this), /*#__PURE__*/_jsxDEV(Menu, {\n            disabledOverflow: true,\n            onClick: onClickMenu,\n            style: {\n              justifyContent: \"center\"\n            },\n            mode: \"horizontal\",\n            selectedKeys: [selectedItem],\n            items: itemsMenu\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 500,\n            columnNumber: 11\n          }, this), renderContent(), /*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleCancel,\n            children: \"Close\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 508,\n            columnNumber: 11\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 496,\n          columnNumber: 9\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 489,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(AudioPlayer, {\n        autoPlayAfterSrcChange: false,\n        src: audioSrc,\n        ref: audioPlayerNew,\n        style: {\n          display: 'none'\n        },\n        onEnded: () => console.log('audio ended'),\n        onError: e => console.log('audio error', e)\n      }, audioKey, false, {\n        fileName: _jsxFileName,\n        lineNumber: 522,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Footer, {\n        style: {\n          textAlign: 'center',\n          overflow: 'hidden',\n          background: 'transparent',\n          fontSize: '20px',\n          position: 'relative',\n          width: '100%',\n          color: 'blue',\n          padding: '25px'\n        },\n        children: [\"TruVox \\xA9\", new Date().getFullYear(), \" Created by Dr.Novak lab\"]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 532,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 386,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 381,\n    columnNumber: 5\n  }, this);\n};\n_s(MainLayout, \"Uo1vCIc65392ovtWoMKLd1wnaiE=\", false, function () {\n  return [useOptionsHooks, useLocation, useNavigate];\n});\n_c3 = MainLayout;\nexport default MainLayout;\nvar _c, _c2, _c3;\n$RefreshReg$(_c, \"PlayIcon\");\n$RefreshReg$(_c2, \"CustomButton\");\n$RefreshReg$(_c3, \"MainLayout\");","map":{"version":3,"names":["React","useState","useEffect","Layout","Menu","ConfigProvider","Button","Avatar","Modal","Space","Dropdown","UserOutlined","Routes","Route","Link","useLocation","useNavigate","About","Sample","FreqProvider","Gavt","GavtSelection","GavtPractice","GavtCali","GavtTutorial","SampleVolume","Assessment","Help","Main","logoImage","Flex","createFromIconfontCN","Tooltip","AudioPlayer","useOptionsHooks","jsxDEV","_jsxDEV","PlayIcon","scriptUrl","_c","CustomButton","label","handleIconClick","style","display","alignItems","className","icon","fontSize","onClick","type","fileName","_jsxFileName","lineNumber","columnNumber","children","_c2","Header","Content","Footer","defaultBackColor","defaultBackColor_2","marksRange","marksBallPos","marksVol","MainLayout","_s","gender","setGender","genderName","audioPlayerNew","audioKey","audioSrc","fetchAudioData","itemsAvatar","isClickListen","setIsClickListen","location","navigate","isModalOpen","setIsModalOpen","openSetting","setOpenSetting","selectedItem","setSelectedItem","showNotesPar","setShowNotesPar","enableVol","setEnableVol","menuKey","setMenuKey","backgroundImg","setBackgroundImg","window","scrollTo","pathIn","pathname","navigateToPitch","showModal","handleCancel","showDrawer","closeDrawer","onClickMenu","e","key","onChangeHz","target","value","onChangeRange","rangeValue","onChangePosition","positionValue","onChangeSpeed","speedValue","EnableVoluneMode","onChangeThreshold","formatterdB","formatterHz","formatterPos","toFixed","renderContent","vertical","gap","menu","items","placement","trigger","overlayClassName","buttonsRender","leftButton","rightButton","cloneElement","loading","menuClicked","console","log","exerciseMenu","Item","to","itemsMenu","backgroundImage","backgroundColor","width","backgroundSize","maxWidth","flex","isolation","height","justifyContent","background","src","alt","theme","token","borderRadius","components","itemColor","horizontalItemSelectedBg","horizontalItemSelectedColor","disabledOverflow","mode","selectedKeys","overlay","shape","flexDirection","marginTop","overflow","path","element","goToSample","title","open","onCancel","footer","textAlign","size","autoPlayAfterSrcChange","ref","onEnded","onError","position","color","padding","Date","getFullYear","_c3","$RefreshReg$"],"sources":["/Users/shanyi/Desktop/Projects/UC_Trains_Voice/react-demo/src/MainLayout.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Layout, Menu, ConfigProvider, Button, Drawer, Avatar, Modal, Space, Radio, Slider, Switch, Dropdown } from 'antd';\nimport { UserOutlined } from '@ant-design/icons';\nimport { BrowserRouter as Router, Routes, Route, Link, useLocation, useNavigate } from 'react-router-dom';\nimport About from './Route/About';\nimport Sample from './Route/Sample';\n\nimport { FreqProvider } from './gavt/FreqContext';\nimport Gavt from './Route/Gavt'\nimport GavtSelection from './gavt/GavtSelection';\nimport GavtPractice from './gavt/GavtPractice';\nimport GavtCali from './gavt/GavtCali';\nimport GavtTutorial from './gavt/Tutorial/GavtTutorial';\n\nimport SampleVolume from './Route/SampleVolume';\nimport Assessment from './Route/Assessment';\nimport Help from './Route/Help';\nimport Main from './Route/HomePage';\nimport logoImage from '../src/icon/new-icon-removebg-preview.png';\nimport './CSS/MainLayout.css';\nimport type { MenuProps } from 'antd';\nimport backgroundImage from './icon/HomePage-img.png';\n\nimport { Flex } from 'antd';\nimport { InfoCircleOutlined, CustomerServiceFilled } from '@ant-design/icons';\nimport { createFromIconfontCN } from '@ant-design/icons';\nimport ReactDOM from 'react-dom/client';\nimport ReactAudioPlayer from 'react-audio-player';\nimport { Tooltip } from 'antd';\nimport AudioPlayer from 'react-h5-audio-player';\nimport { useOptionsHooks } from './hooks/useOptionsHooks';\n\nconst PlayIcon = createFromIconfontCN({\n  scriptUrl: '//at.alicdn.com/t/c/font_4566050_zpduwnlv2t.js',\n});\n\ninterface CustomButtonProps {\n  label: string;\n  handleIconClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n}\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ label, handleIconClick }) => {\n  return (\n    <Button\n      style={{\n        display: 'flex',\n        alignItems: 'center',\n      }}\n      className='dropdownIcon'\n      icon={\n        <PlayIcon\n          style={{\n            fontSize: '1.7em',\n          }}\n          onClick={handleIconClick}\n          type=\"icon-audioPlay\"\n        />\n      }\n    >\n      {label}\n    </Button>\n  );\n};\n\nconst { Header, Content, Footer } = Layout;\nconst defaultBackColor = \"linear-gradient(to bottom, #d7d2e6, #c9d9f3)\";\nconst defaultBackColor_2 = \"url('/transvoice/HomePage-img.png')\";\n\nconst marksRange = {\n  50: '50Hz',\n  600: '600Hz',\n};\n\nconst marksBallPos = {\n  0: '0%',\n  1: '100%',\n};\n\nconst marksVol = {\n  50: '50dB',\n  90: '90dB',\n};\n\nconst MainLayout = () => {\n  const {\n    gender,\n    setGender,\n    genderName,\n    audioPlayerNew,\n    audioKey,\n    audioSrc,\n    fetchAudioData,\n    handleIconClick,\n    itemsAvatar,\n  } = useOptionsHooks();\n\n  const [isClickListen, setIsClickListen] = useState<number>(0);\n\n  const location = useLocation();\n  const navigate = useNavigate();\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const [openSetting, setOpenSetting] = useState(false);\n  const [selectedItem, setSelectedItem] = useState('Settings');\n  const [showNotesPar, setShowNotesPar] = useState(true);\n  const [enableVol, setEnableVol] = useState(false);\n  const [menuKey, setMenuKey] = useState<string>('4');\n  const [backgroundImg, setBackgroundImg] = useState<string>(defaultBackColor);\n\n\n  useEffect(() => {\n    fetchAudioData();\n  }, [genderName]);\n\n\n  useEffect(() => {\n    switch (menuKey) {\n      case '4':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '6':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '8':\n        setBackgroundImg(defaultBackColor);\n        break;\n      default:\n        setBackgroundImg(\"transparent\");\n    }\n\n    window.scrollTo(0, 0);\n  }, [menuKey]);\n\n  useEffect(() => {\n    const pathIn = location.pathname;\n    switch (pathIn) {\n      case \"/HomePage\":\n        setMenuKey('4');\n        break;\n      case \"/Home\":\n        setMenuKey('7');\n        break;\n      case '/pitch':\n        setMenuKey('3');\n        break;\n      case '/volume':\n        setMenuKey('5');\n        break;\n      case '/resonance':\n        setMenuKey('8');\n        break;\n      case '/assessment':\n        setMenuKey('6');\n        break;\n      case '/about':\n        setMenuKey('1');\n        break;\n      case '/Help':\n        setMenuKey('2');\n        break;\n      default:\n        setMenuKey('4');\n    }\n  }, [location.pathname]);\n\n  const navigateToPitch = () => {\n    setMenuKey('3');\n    navigate('/pitch');\n  };\n\n  const showModal = () => {\n    setIsModalOpen(true);\n  };\n\n  const handleCancel = () => {\n    setIsModalOpen(false);\n  };\n\n  const showDrawer = () => {\n    setOpenSetting(true);\n  };\n\n  const closeDrawer = () => {\n    setOpenSetting(false);\n  };\n\n  const onClickMenu = (e: any) => {\n    setSelectedItem(e.key);\n  };\n\n  const onChangeHz = ({ target: { value } }: any) => {\n    setShowNotesPar(value !== 'hz');\n  };\n\n  const onChangeRange = (rangeValue: number[]) => {\n    // handle change for pitch display range\n  };\n\n  const onChangePosition = (positionValue: number) => {\n    // handle change for pitch indicator horizontal position\n  };\n\n  const onChangeSpeed = (speedValue: number) => {\n    // handle change for pitch indicator speed\n  };\n\n  const EnableVoluneMode = (e: boolean) => {\n    setEnableVol(e);\n  };\n\n  const onChangeThreshold = (e: number) => {\n    // handle change for threshold\n  };\n\n  const formatterdB = (value: number | undefined) => `${value} dB`;\n  const formatterHz = (value: number | undefined) => `${value} Hz`;\n  const formatterPos = (value: number | undefined) => `${value ? (value * 100).toFixed(0) : '0'}%`;\n\n  // render profile page\n  const renderContent = () => {\n    switch (selectedItem) {\n      case 'Profile':\n        return <p>profile</p>;\n      case 'Settings':\n        return (<div>\n          <Flex vertical gap=\"middle\">\n            <Space>\n              <p># Model Selection: </p>\n\n              {/* <Dropdown\n                menu={{ items: itemsAvatar, selectable: true }}\n                placement=\"bottom\"\n                trigger={[\"click\"]}\n                overlayClassName='custom-dropdown'\n              // open={showDropdown}\n              >\n\n                <Space.Compact block className='dropdownButton'>\n                  <Tooltip title=\"Play Audio\">\n                    <Button icon={\n                      <PlayIcon\n                        style={{\n                          fontSize: '1.7em',\n                        }}\n                        onClick={handleIconClick}\n                        type=\"icon-audioPlay\"\n                         />\n                    }\n                      className=\"dropdownIcon\"\n                    >\n\n                    </Button>\n\n                  </Tooltip>\n\n                  <Tooltip title=\"Change Avatar\">\n                    <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                      {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                    </Button>\n                  </Tooltip>\n\n\n                </Space.Compact>\n\n\n              </Dropdown> */}\n\n              <Dropdown.Button\n                menu={{ items: itemsAvatar }}\n                placement=\"bottom\"\n                trigger={[\"click\"]}\n                overlayClassName='custom-dropdown'\n                buttonsRender={([leftButton, rightButton]) => [\n                  <Tooltip>\n                    <Button\n                      style={{\n                        display: 'flex',\n                        alignItems: 'center',\n                      }}\n                      onClick={handleIconClick}\n                      icon={\n                        <PlayIcon\n                          style={{\n                            fontSize: '1.7em',\n                          }}\n\n                          type=\"icon-audioPlay\"\n                        />\n                      }\n                    >\n                      {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n\n                    </Button>\n\n                  </Tooltip>\n\n                  //   <Space.Compact block className='dropdownButton'>\n                  //   <Tooltip title=\"Play Audio\">\n                  //     <Button icon={\n                  //       <PlayIcon\n                  //         style={{\n                  //           fontSize: '1.7em',\n                  //         }}\n                  //         onClick={handleIconClick}\n                  //         type=\"icon-audioPlay\"\n                  //          />\n                  //     }\n                  //       className=\"dropdownIcon\"\n                  //     >\n\n                  //     </Button>\n\n                  //   </Tooltip>\n\n                  //   <Tooltip title=\"Change Avatar\">\n                  //     <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                  //       {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                  //     </Button>\n                  //   </Tooltip>\n\n\n                  // </Space.Compact>\n\n                  ,\n\n                  React.cloneElement(rightButton as React.ReactElement<any, string>, { loading: false }),\n\n                ]}\n              // open={showDropdown}\n              >\n\n              </Dropdown.Button>\n\n            </Space>\n            <br />\n          </Flex>\n\n        </div>)\n      case 'Other':\n        return <p>other</p>;\n      default:\n        return null;\n    }\n  };\n\n\n  const menuClicked: MenuProps['onClick'] = (e) => {\n    console.log(e.key);\n    setMenuKey(e.key);\n  };\n\n  const exerciseMenu = (\n    <Menu className=\"exercise-menu\">\n      <Menu.Item onClick={menuClicked} key=\"3\">\n        <Link to=\"/pitch\">PITCH</Link>\n      </Menu.Item>\n      <Menu.Item onClick={menuClicked} key=\"5\">\n        <Link to=\"/volume\">VOLUME</Link>\n      </Menu.Item>\n      <Menu.Item onClick={menuClicked} key=\"8\">\n        <Link to=\"/resonance\">RESONANCE</Link>\n      </Menu.Item>\n    </Menu>\n  );\n\n  const itemsMenu = [\n    {\n      label: 'Profile',\n      key: 'Profile',\n    },\n    {\n      label: 'Settings',\n      key: 'Settings',\n    },\n    {\n      label: 'Other',\n      key: 'Other',\n    },\n  ];\n\n  return (\n    <div\n      className=\"LayoutBGP\"\n    >\n\n\n      <Layout style={{\n        ...(menuKey === '4'\n          ? {\n            backgroundImage: defaultBackColor_2,\n            backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)', width: '200vw', backgroundSize: '10rem', maxWidth: '100vw', flex: 1,\n\n          }\n          : { backgroundColor: 'transparent' }\n        ),\n\n        isolation: \"isolate\",\n        ...(menuKey === '6'\n          ? {\n            backgroundImage: defaultBackColor_2,\n            backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)', width: '100vw', backgroundSize: '10rem', height: \"1300px\"\n\n          }\n          : { backgroundColor: 'transparent' }\n        ),\n      }} className=\"layout\">\n        <Header style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', background: 'transparent' }}>\n          <div className=\"TVox\">\n            <img className=\"logoImg\" src={logoImage} alt=\"Logo\" />\n          </div>\n          <ConfigProvider\n            theme={{\n              token: {\n                borderRadius: 0,\n              },\n              components: {\n                Menu: {\n                  itemColor: \"rgb(78, 120, 195)\",\n                  horizontalItemSelectedBg: \"rgb(134, 120, 169)\",\n                  horizontalItemSelectedColor: \"white\",\n                },\n              },\n            }}\n          >\n            <Menu disabledOverflow={true} className=\"Menu\" theme=\"light\" mode=\"horizontal\" selectedKeys={[menuKey]}>\n              <Menu.Item key=\"4\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/\">HOME</Link>\n              </Menu.Item>\n              <Dropdown overlay={exerciseMenu} placement=\"bottom\">\n                <Menu.Item key=\"exercises\" className=\"menu-item\">\n                  EXERCISES\n                </Menu.Item>\n              </Dropdown>\n              <Menu.Item key=\"6\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/assessment\">ASSESMENT</Link>\n              </Menu.Item>\n              <Menu.Item key=\"2\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/Help\">HELP</Link>\n              </Menu.Item>\n              <Menu.Item key=\"1\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/about\">CONTACT</Link>\n              </Menu.Item>\n            </Menu>\n          </ConfigProvider>\n          <div className=\"userIcon\">\n            <Button\n              shape=\"circle\"\n              type=\"default\"\n              icon={<UserOutlined />}\n              onClick={showModal} // Show modal on click\n            />\n          </div>\n        </Header>\n\n        <Content className=\"ContentMain\" style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', marginTop: \"0rem\", width: \"100%\", background: 'transparent', overflow: 'hidden' }}>\n          <FreqProvider>\n            <Routes>\n              <Route path=\"/about\" element={<About isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n              <Route path=\"/pitch\" element={<Sample \n              \n              gender={gender}\n              setGender={setGender}\n              genderName={genderName}\n              // audioPlayerNew={audioPlayerNew}\n              audioKey={audioKey}\n              audioSrc={audioSrc}\n              fetchAudioData={fetchAudioData}\n              handleIconClick={handleIconClick}\n              itemsAvatar={itemsAvatar}\n              \n              \n              />} />\n              <Route path=\"/volume\" element={<SampleVolume />} />\n              {/* ---------GAVT RELATED START--------*/}\n              <Route path=\"/resonance\" element={<Gavt />} />\n              <Route path=\"/resonance/selection\" element={<GavtSelection />} />\n              <Route path=\"/resonance/practice\" element={<GavtPractice />} />\n              <Route path=\"/resonance/calibrate\" element={<GavtCali />} />\n              <Route path=\"/resonance/tutorial\" element={<GavtTutorial />} />\n              {/* ---------GAVT RELATED END--------*/}\n              <Route path=\"/assessment\" element={<Assessment isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n              <Route path=\"/Help\" element={<Help />} />\n              <Route path=\"/\" element={<Main goToSample={navigateToPitch} isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n            </Routes>\n          </FreqProvider>\n        </Content>\n\n\n\n        <Modal\n        title=\"Settings\"\n        open={isModalOpen}\n        className='AvatarModal'\n        onCancel={() => setIsModalOpen(false)}\n        footer={null}\n      >\n        <div style={{ textAlign: 'center' }}>\n          <Avatar size={64} icon={<UserOutlined />} />\n          <p>Name Name</p>\n\n          <Menu disabledOverflow={true}\n            onClick={onClickMenu}\n            style={{ justifyContent: \"center\" }}\n            mode=\"horizontal\"\n            selectedKeys={[selectedItem]}\n            items={itemsMenu} />\n          {renderContent()}\n\n          <Button onClick={handleCancel}>Close</Button>\n        </div>\n\n\n      </Modal>\n      {/* <ReactAudioPlayer\n        className=\"audio-player-hidden\"\n        src={audioSrc}\n        ref={audioPlayer}\n        key={audioKey}\n        onEnded={() => console.log('audio ended')}\n        onError={(e) => console.log('audio error', e)}\n      /> */}\n\n        <AudioPlayer    \n        autoPlayAfterSrcChange={false}\n        src={audioSrc} \n        ref={audioPlayerNew}\n        key={audioKey}\n        style={{display: 'none'}}\n        onEnded={() => console.log('audio ended')}\n        onError={(e) => console.log('audio error', e)}\n        />\n\n        <Footer style={{ textAlign: 'center', overflow: 'hidden', background: 'transparent', fontSize: '20px', position: 'relative', width: '100%', color: 'blue', padding: '25px' }}>\n          TruVox ©{new Date().getFullYear()} Created by Dr.Novak lab\n        </Footer>\n      </Layout>\n\n    </div>\n  );\n}\n\nexport default MainLayout;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}