Files
frontend/apps/sn/app/page.tsx
T

45 lines
1.4 KiB
TypeScript

/**
* ➡️ 경로 : 루트 (/)
*
* 📄 Home Page
* 홈 페이지 컴포넌트
*
* - 쿠키 기반 인증 토큰 검증 및 자동 로그인 처리
* - 로그인 성공 시 지도 페이지로 리다이렉트
* - 기존 토큰 존재 시 바로 지도 페이지 이동
* - 로그인 실패 시 에러 로깅 및 처리
* - 사용자 세션 관리 및 초기 라우팅 제어
* - Next.js useRouter를 통한 클라이언트 사이드 라우팅
*
* 🔗 사용 API
* - 로그인: POST /api/v1/auth/login (user-service)
*/
"use client";
import { LoginApi } from "@/entities/auth";
import { useEffect } from "react";
import { getCookie } from "@/shared/lib";
import { AUTH_USER_ID } from "@/shared/config";
export default function Home() {
const checkToken = getCookie(AUTH_USER_ID);
useEffect(() => {
const hostname = window.location.hostname;
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname === "con.mind-one.co.kr") {
if (!checkToken) {
async function doLogin() {
try {
await LoginApi.login({ userId: "CLEANWATER", password: "gktneh12!@" });
window.location.href = "/map";
} catch (err) {
console.error("로그인 실패", err);
}
}
doLogin();
} else window.location.href = "/map";
} else window.location.href = "/map";
}, []);
}