From 937ef7a57614ca153cc4a81f5f608287e2674b4a Mon Sep 17 00:00:00 2001 From: hbyang Date: Mon, 9 Mar 2026 13:46:54 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=95=84=EC=9B=83=20local=20?= =?UTF-8?q?storage=20=20=EC=A0=95=EB=A6=AC=20.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/api.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/utils/api.ts b/src/utils/api.ts index 11f313a..2c980a4 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -596,14 +596,28 @@ export async function refreshAccessToken(): Promise { return data; } +// 로컬 스토리지 전체 정리 +function clearAllLocalData() { + clearTokens(); + localStorage.removeItem('castad_view_mode'); + localStorage.removeItem('castad_analysis_data'); + localStorage.removeItem('castad_wizard_step'); + localStorage.removeItem('castad_active_item'); + localStorage.removeItem('castad_song_task_id'); + localStorage.removeItem('castad_image_task_id'); + localStorage.removeItem('castad_song_generation'); + localStorage.removeItem('castad_video_generation'); + localStorage.removeItem('castad_video_ratio'); +} + // 로그아웃 export async function logout(): Promise { const response = await authenticatedFetch(`${API_URL}/user/auth/logout`, { method: 'POST', }); - // 응답과 관계없이 로컬 토큰 삭제 - clearTokens(); + // 응답과 관계없이 로컬 데이터 전체 삭제 + clearAllLocalData(); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); @@ -616,8 +630,8 @@ export async function logoutAll(): Promise { method: 'POST', }); - // 응답과 관계없이 로컬 토큰 삭제 - clearTokens(); + // 응답과 관계없이 로컬 데이터 전체 삭제 + clearAllLocalData(); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`);