Skip to content
Snippets Groups Projects
Header.js 1.91 KiB
Newer Older
  • Learn to ignore specific revisions
  • Hyun Woo Jeong's avatar
    Hyun Woo Jeong committed
    import logo from '../logo.png';
    import '../css/Header.css';
    
    import { UserContext } from '../Context.js';
    
    Gwangbin's avatar
    Gwangbin committed
    import React, { useEffect, useState, useContext } from 'react';
    
    Hyun Woo Jeong's avatar
    Hyun Woo Jeong committed
    import { Link, useNavigate, Navigate } from "react-router-dom";
    
    Gwangbin's avatar
    Gwangbin committed
    function ButtonLink({ link, status, children }) {
    
    Hyun Woo Jeong's avatar
    Hyun Woo Jeong committed
    
    
    Gwangbin's avatar
    Gwangbin committed
      const userContext = useContext(UserContext);
      const navigate = useNavigate();
      function MoveTo(link) {
        navigate(link)
      }
    
    Gwangbin's avatar
    Gwangbin committed
      if (status) {
        return (
          <div>
            <label className='Labelheader' htmlFor={children}>{children}</label>
            <button id={children} onClick={() => { userContext.LogOut() }} style={{ display: "none" }}>
              {children}
            </button>
          </div>
    
        )
      }
      else {
        return (
          <div>
            <label className='Labelheader' htmlFor={children}>{children}</label>
            <button id={children} onClick={() => { MoveTo(link) }} style={{ display: "none" }}>
              {children}
            </button>
          </div>
        )
      }
    
    Gwangbin's avatar
    Gwangbin committed
    function Header({ cookie }) {
    
    Gwangbin's avatar
    Gwangbin committed
      return (
        <div className="header">
          <ButtonLink link='/'>
            <img className="logo_image" alt="logo" src={logo} />
          </ButtonLink>
          <ul>
            <p>{cookie ? `${cookie.name}님, 환영합니다` : '로그인하세요.'}</p>
            <ul className="menu_list">
              <li><ButtonLink link='/'>Home</ButtonLink></li>
              <li><ButtonLink link='/search'>검색</ButtonLink></li>
              <li><ButtonLink link='/postwrite'>포스트 작성</ButtonLink></li>
              <li><ButtonLink link={cookie ? '/' : '/login'} status={cookie ? true : false}>{cookie ? '로그아웃' : '로그인'}</ButtonLink></li> {/*로그인 여부 로직 구현 필요*/}
              {/* { Object.keys(user).length != 0 ? 
    
    Hyun Woo Jeong's avatar
    Hyun Woo Jeong committed
    						<li><Link to={`/profile/${getUserId()}`}>profile</Link>/<span onClick={logout}>logout</span></li> :
    						<li><Link to="/login">login</Link></li>
    					}   */}
    
    Gwangbin's avatar
    Gwangbin committed
            </ul>
          </ul>
        </div>
      );
    
    LEE's avatar
    LEE committed
    }
    
    
    Hyun Woo Jeong's avatar
    Hyun Woo Jeong committed
    
    
    LEE's avatar
    LEE committed
    export default Header;