|
@@ -1,44 +1,55 @@
|
|
|
import React, {useEffect, useState} from "react";
|
|
|
import styles from "./Drawer.module.css";
|
|
|
import eventBus from "../../uitls/EventBus";
|
|
|
+import {ABOUT_US, CONTACT_US, HOME} from "../../uitls/Constants";
|
|
|
+import {useNavigate} from "react-router-dom";
|
|
|
+import nextBtn from '../../assets/images/product/next.png'
|
|
|
+import {t} from "i18next";
|
|
|
|
|
|
const Drawer = () => {
|
|
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
|
+ const navigate = useNavigate();
|
|
|
|
|
|
useEffect(() => {
|
|
|
- eventBus.on("drawerState", (state) => {
|
|
|
+ console.log("Drawer Mount");
|
|
|
+ const handleDrawerState = (state) => {
|
|
|
setDrawerOpen(state);
|
|
|
- });
|
|
|
+ }
|
|
|
+ eventBus.on("drawerState", handleDrawerState);
|
|
|
return () => {
|
|
|
- eventBus.off("drawerState");
|
|
|
+ console.log("Drawer Dismount");
|
|
|
+ eventBus.off("drawerState", handleDrawerState);
|
|
|
};
|
|
|
}, []);
|
|
|
|
|
|
+ const handleMenuClick = (tab) => {
|
|
|
+ setDrawerOpen(false);
|
|
|
+ eventBus.emit('changeTabEvent', tab)
|
|
|
+ eventBus.emit('drawerStateRecover', true);
|
|
|
+ navigate(tab);
|
|
|
+ }
|
|
|
+
|
|
|
return (<div className={styles.container}>
|
|
|
- {/* 手机端菜单按钮 */}
|
|
|
- {/*<button*/}
|
|
|
- {/* className={styles.menuButton}*/}
|
|
|
- {/* onClick={() => setDrawerOpen(true)}*/}
|
|
|
- {/*>*/}
|
|
|
- {/* ☰*/}
|
|
|
- {/*</button>*/}
|
|
|
|
|
|
{/* 左侧抽屉菜单 */}
|
|
|
- <div
|
|
|
- className={`${styles.drawer} ${drawerOpen ? styles.open : ""}`}
|
|
|
- >
|
|
|
- <button
|
|
|
- className={styles.closeButton}
|
|
|
- onClick={() => setDrawerOpen(false)}
|
|
|
- >
|
|
|
- ✕
|
|
|
- </button>
|
|
|
- <ul className={styles.menuList}>
|
|
|
- <li>首页</li>
|
|
|
- <li>关于我们</li>
|
|
|
- <li>服务</li>
|
|
|
- <li>联系</li>
|
|
|
- </ul>
|
|
|
+ <div className={`${styles.drawer} ${drawerOpen ? styles.open : ""}`}>
|
|
|
+ <div className={styles.drawerBg}>
|
|
|
+ <ul className={styles.menuList}>
|
|
|
+ <li onClick={() => handleMenuClick(HOME)}>
|
|
|
+ <span className={styles.menuText}>{t('home')}</span>
|
|
|
+ <img src={nextBtn} className={styles.arrow}/>
|
|
|
+ </li>
|
|
|
+ <li onClick={() => handleMenuClick(CONTACT_US)}>
|
|
|
+ <span className={styles.menuText}>{t('contactUs')}</span>
|
|
|
+ <img src={nextBtn} className={styles.arrow}/>
|
|
|
+ </li>
|
|
|
+ <li onClick={() => handleMenuClick(ABOUT_US)}>
|
|
|
+ <span className={styles.menuText}>{t('aboutUs')}</span>
|
|
|
+ <img src={nextBtn} className={styles.arrow}/>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
</div>);
|
|
|
};
|