api link to page

This commit is contained in:
2025-11-29 13:00:50 +09:00
parent 32e9fed5cd
commit 39d21a475b
11 changed files with 288 additions and 447 deletions

View File

@@ -5,6 +5,7 @@ import { useEffect, useRef, useState } from "react";
import { usePathname, useRouter } from "next/navigation";
import MainLogoSvg from "./svgs/mainlogosvg";
import ChevronDownSvg from "./svgs/chevrondownsvg";
import apiService from "./lib/apiService";
const NAV_ITEMS = [
{ label: "교육 과정 목록", href: "/course-list" },
@@ -54,32 +55,20 @@ export default function NavBar() {
localStorage.setItem('token', cookieToken);
}
const apiUrl = process.env.NEXT_PUBLIC_API_BASE_URL
? `${process.env.NEXT_PUBLIC_API_BASE_URL}/auth/me`
: 'https://hrdi.coconutmeet.net/auth/me';
const response = await apiService.getCurrentUser();
const response = await fetch(apiUrl, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
if (response.status === 401) {
// 토큰이 만료되었거나 유효하지 않은 경우
localStorage.removeItem('token');
document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
// 로그인 페이지가 아닐 때만 리다이렉트
if (isMounted && pathname !== '/login') {
router.push('/login');
}
if (response.status === 401) {
// 토큰이 만료되었거나 유효하지 않은 경우
localStorage.removeItem('token');
document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
// 로그인 페이지가 아닐 때만 리다이렉트
if (isMounted && pathname !== '/login') {
router.push('/login');
}
return;
}
const data = await response.json();
const data = response.data;
// 계정 상태 확인
const userStatus = data.status || data.userStatus;