Skip to content
Snippets Groups Projects
Commit e9006e13 authored by Minseo Lee's avatar Minseo Lee
Browse files

fix: limit admin behavior

parent a4c7fbf9
No related branches found
No related tags found
No related merge requests found
import { useEffect, useRef, useState } from 'react';
import '../common/css/common.css';
import '../common/css/reset.css';
import { Routes, Route, useNavigate } from "react-router-dom";
import { Routes, Route, useNavigate, useLocation } from "react-router-dom";
import { ALERT } from "../common/constants";
import Connector from "../common/instances/Connector";
import BottomSheet from "../components/bottom-sheet/BottomSheet";
import Header from "../components/header/Header";
......@@ -34,6 +35,7 @@ function App() {
const connector: MutableRefObject<Connector|null> = useRef(null);
const navigator = useNavigate();
const location = useLocation();
useEffect(() => {
......@@ -47,6 +49,16 @@ function App() {
}
}, [login]);
useEffect(() => {
if (!connector.current || !login) return;
if (connector.current?.getIsAdmin()) {
if (location.pathname.split('/').at(1) !== 'admin') {
alert(ALERT.REQ_WRONG);
navigator(APP_ROUTE.ADMIN);
}
}
}, [location]);
return (
<BSProvider>
......
......@@ -55,3 +55,9 @@
align-items: center;
justify-content: space-between;
}
.admin {
display: flex;
align-items: center;
justify-content: space-between;
}
......@@ -68,6 +68,21 @@ const HistoryHeader = () => {
);
};
const AdminHeader: GFC = ({ connector }) => {
const handleLogOut = () => {
if (confirm("로그아웃 하시겠습니까?")) {
connector.current?.logout();
}
};
return (
<div className={S['admin']}>
<span className={'bold'}>AJOUORDER</span>
<span onClick={handleLogOut} className={'cursor-pointer'}>🚀</span>
</div>
);
};
interface MenuHeaderProps { headerName: Props['headerName']; }
const MenuHeader: GFCWithProp<MenuHeaderProps> = ({ headerName, connector }) => {
return (
......@@ -93,7 +108,7 @@ const Header: GFCWithProp<Props> = ({ headerName, connector }) => {
if (_loc === 'menu') setReturnEl(<MenuHeader headerName={headerName} connector={connector} />);
if (_loc === 'cart') setReturnEl(<CartHeader />);
if (_loc === 'history') setReturnEl(<HistoryHeader />);
if (_loc === 'admin') setReturnEl(<HomeHeader connector={connector} />);
if (_loc === 'admin') setReturnEl(<AdminHeader connector={connector} />);
}, [location, headerName]);
return (
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment