import { useStyletron } from "baseui" import { BASE_ITEMS } from "~/constants/app-options" import useSetIsSidebarOpen from "~/hooks/useSetIsSidebarOpen" import useAppContext from "~/hooks/useAppContext" import Scrollable from "~/components/Scrollable" import PanelItem from './PanelItem' import { styled } from "baseui" import { useTranslation } from "react-i18next" import { Box, IconButton, Icon as GestaltIcon, Layer, Text, Modal, TapArea, FixedZIndex } from "gestalt" import { useMediaQuery } from 'react-responsive' import Icon from "geru-components/dist/Icon" import { colors } from 'geru-components/dist/utils' const Container = styled("div", (props) => ({ width: "80px", backgroundColor: "#191919", display: "flex", height: "100%" })) function PanelsList() { const isTabletOrMobile = useMediaQuery({ query: '(max-width: 1224px)' }) const { activePanel, activeSubMenu, setActiveSubMenu, isShowMobileModal, setIsShowMobileModal, ignoreAppOptions } = useAppContext() const { t } = useTranslation("editor") let PANEL_ITEMS = BASE_ITEMS.filter((item) => { return !ignoreAppOptions.includes(item.id) }) const ZINDEX = new FixedZIndex(1) const ModalZINDEX = new FixedZIndex(3) if(isTabletOrMobile) { return (
setIsShowMobileModal(!isShowMobileModal)}> {/* setIsShowMobileModal(!isShowMobileModal)} /> */}
{ activeSubMenu && ( setActiveSubMenu("")} padding="none" // align='center' >
setActiveSubMenu("")}>
) } { isShowMobileModal && ( setIsShowMobileModal(!isShowMobileModal)} >
setIsShowMobileModal(false)}>
{ PANEL_ITEMS.map((panelListItem, index) => ( )) }
) }
) } return ( {PANEL_ITEMS.map((panelListItem) => ( ))} ) } function PanelListItem({ label, icon, activePanel, name }: any) { const { setActivePanel, setActiveSubMenu } = useAppContext() const setIsSidebarOpen = useSetIsSidebarOpen() const [css, theme] = useStyletron() const selected = name === activePanel // @ts-ignore return ( { // editor.deselect() setIsSidebarOpen(true) setActivePanel(name) setActiveSubMenu("") }} >
{ String(label).split(" ").map((str) => ( {String(str)} )) }
) } export default PanelsList