SubNav.js 1.6 KB
Newer Older
한규민's avatar
context    
한규민 committed
1
2
3
import React from "react";
import { AppContext } from "../../App";

Jiwon Yoon's avatar
Jiwon Yoon committed
4
const SubNav = () => {
한규민's avatar
context    
한규민 committed
5
    const store = React.useContext(AppContext);
Jiwon Yoon's avatar
Jiwon Yoon committed
6

한규민's avatar
context    
한규민 committed
7
8
    useEffect(() => {
        window.localStorage.setItem("user", JSON.stringify(store.role));
Jiwon Yoon's avatar
Jiwon Yoon committed
9
    }, [store]);
한규민's avatar
context    
한규민 committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

    const handleOnClick = () => {
        store.setRole("user");
        await authApi.logout();
    }

    if (store.role === "user") {
        return (
            <nav class="nav justify-content-end py-1">
                <a class="nav-link text-white" href="/login">로그인</a>
                <a class="nav-link text-white" href="/signup">회원가입</a>
            </nav>
        )
    } else if (store.role === "member") {
        return (
            <nav class="nav justify-content-end py-1">
                <a class="nav-link text-white" href="/">마이페이지</a>
                <a class="nav-link text-white" onClick={handleOnClick}>로그아웃</a>
            </nav>
        )
    } else if (store.role === "admin") {
Jiwon Yoon's avatar
Jiwon Yoon committed
31
        <nav class="nav justify-content-end py-1">
한규민's avatar
context    
한규민 committed
32
33
            <a class="nav-link text-white" href="/admin">관리자페이지</a>
            <a class="nav-link text-white" href="/">로그아웃</a>
Jiwon Yoon's avatar
Jiwon Yoon committed
34
        </nav>
한규민's avatar
context    
한규민 committed
35
36
37
38
39
    } else {
        <nav class="nav justify-content-end py-1">
            <a class="nav-link text-white" href="/">로그인 오류</a>
        </nav>
    }
Jiwon Yoon's avatar
Jiwon Yoon committed
40
    return (
Jiwon Yoon's avatar
Jiwon Yoon committed
41
42
43
        <nav className="nav justify-content-end py-1">
            <a className="nav-link text-white" href="/login">로그인</a>
            <a className="nav-link text-white" href="/signup">회원가입</a>
Jiwon Yoon's avatar
Jiwon Yoon committed
44
45
        </nav>
    )
한규민's avatar
context    
한규민 committed
46

Jiwon Yoon's avatar
Jiwon Yoon committed
47
48
49
}

export default SubNav