From 34b5b1d5525c71f7172bcc030640170d4318498b Mon Sep 17 00:00:00 2001 From: ttipo Date: Tue, 23 Jun 2026 13:39:38 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=82=AC=EC=9D=B4=EB=93=9C=EB=B0=94=20?= =?UTF-8?q?=EC=88=9C=EC=84=9C=20=EB=B3=80=EA=B2=BD=20+=20=EA=B8=B0?= =?UTF-8?q?=EB=B3=B8=20=EC=A7=84=EC=9E=85=20=EA=B2=BD=EB=A1=9C=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=EC=9C=BC=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 사이드바 nav 순서: 일정 → 내 업무 → 프로젝트 - 기본 진입을 /schedule 로: 루트 redirect, 로그인 후 이동, 로그인 상태에서 로그인/가입 진입 가드, 소셜 로그인(구글/카카오) 콜백 Co-Authored-By: Claude Opus 4.8 (1M context) --- backend/src/modules/auth/auth.controller.ts | 4 +- frontend/src/layouts/AppShell.vue | 50 ++++++++++----------- frontend/src/pages/relay/LoginPage.vue | 2 +- frontend/src/router/index.ts | 6 +-- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/backend/src/modules/auth/auth.controller.ts b/backend/src/modules/auth/auth.controller.ts index 20e4ec6..1ee421b 100644 --- a/backend/src/modules/auth/auth.controller.ts +++ b/backend/src/modules/auth/auth.controller.ts @@ -210,7 +210,7 @@ export class AuthController { ): Promise { // 소셜 로그인은 별도 체크박스가 없어 로그인 유지(영속)로 처리 await this.loginWith(res, req.user as PublicUser, true); - res.redirect(`${this.webUrl()}/projects`); + res.redirect(`${this.webUrl()}/schedule`); } // ── 카카오 OAuth ── @@ -232,7 +232,7 @@ export class AuthController { ): Promise { // 소셜 로그인은 별도 체크박스가 없어 로그인 유지(영속)로 처리 await this.loginWith(res, req.user as PublicUser, true); - res.redirect(`${this.webUrl()}/projects`); + res.redirect(`${this.webUrl()}/schedule`); } @Post('logout') diff --git a/frontend/src/layouts/AppShell.vue b/frontend/src/layouts/AppShell.vue index 7c09a62..3358a48 100644 --- a/frontend/src/layouts/AppShell.vue +++ b/frontend/src/layouts/AppShell.vue @@ -105,6 +105,31 @@ async function onLogout() { diff --git a/frontend/src/pages/relay/LoginPage.vue b/frontend/src/pages/relay/LoginPage.vue index 67885c6..e387ec1 100644 --- a/frontend/src/pages/relay/LoginPage.vue +++ b/frontend/src/pages/relay/LoginPage.vue @@ -46,7 +46,7 @@ async function onLogin() { }, { silent: true }, ) - await router.push('/projects') + await router.push('/schedule') } catch (err) { const res = ( err as { response?: { status?: number; data?: { error?: { message?: string } } } } diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 87769a5..21f7a0b 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -5,7 +5,7 @@ import { useAuthStore } from '@/stores/auth.store' const routes: RouteRecordRaw[] = [ { path: '/', - redirect: '/projects', + redirect: '/schedule', }, { path: '/login', @@ -134,13 +134,13 @@ router.beforeEach(async (to) => { return { name: 'login' } } - // 이미 로그인 상태에서 로그인/회원가입 진입 → 프로젝트 목록으로 + // 이미 로그인 상태에서 로그인/회원가입 진입 → 기본 화면(일정)으로 if ( !to.meta.requiresAuth && authStore.isLoggedIn && (to.name === 'login' || to.name === 'signup') ) { - return { path: '/projects' } + return { path: '/schedule' } } return true