diff --git a/src/views/Main.vue b/src/views/Main.vue index f4d8237..874ad19 100644 --- a/src/views/Main.vue +++ b/src/views/Main.vue @@ -33,7 +33,7 @@
-
+
 ███████╗██████╗ ███████╗ ██████╗██╗ █████╗ ██╗
 ██╔════╝██╔══██╗██╔════╝██╔════╝██║██╔══██╗██║
@@ -170,12 +170,10 @@ const loginPw = ref('');
 const activeMenu = ref('main');
 const authToken = ref(localStorage.getItem('token'));
 
-// 글로벌 오버레이 레이어 상태 관리 변수
 const isProcessing = ref(false);
 const overlayProgress = ref(0);
 const overlayStatus = ref('');
 
-// 메뉴 아이템 배열
 const menuItems = [
   { id: 'main', name: 'HOME' },
   { id: 'youtube', name: 'YOUTUBE' },
@@ -186,12 +184,9 @@ const menuItems = [
 
 const isLoggedIn = computed(() => !!authToken.value);
 
-// 🟢 [UPGRADE] 메뉴 이동 시 영화 같은 TUI 로딩바 시퀀스 구동
 const changeMenu = (id) => {
-  // 이미 열려있는 메뉴를 다시 누르면 불필요한 시퀀스 방지 차단
   if (activeMenu.value === id) return;
 
-  // 1) 즉시 화면 전체를 덮고 초기 세팅
   isProcessing.value = true;
   overlayProgress.value = 0;
   overlayStatus.value = `INITIALIZING ROUTE ACCESS: /${id.toUpperCase()}...`;
@@ -200,11 +195,9 @@ const changeMenu = (id) => {
     termInstance.value.echo(`\n[[b;green;]>] NAVIGATING TO /${id.toUpperCase()}... INITIALIZING PIPELINE.`);
   }
 
-  // 2) 400ms 동안 빠르게 게이지를 채우는 인터벌 구동 (속도 체감 굿)
   const interval = setInterval(() => {
     overlayProgress.value += 5;
 
-    // 진행 수치별 리눅스 해커 감성 문구 전환
     if (overlayProgress.value === 25) {
       overlayStatus.value = `ALLOCATING MEMORY BUFFER FOR VUE_COMPONENT...`;
     }
@@ -212,12 +205,10 @@ const changeMenu = (id) => {
       overlayStatus.value = `DECRYPTING INTERFACE LOGS & SECURE ASSETS...`;
     }
     if (overlayProgress.value === 85) {
-      // ★ 85% 지점 오버레이 베일 뒤에서 슥 메인 콘텐츠 메뉴를 스왑!
       activeMenu.value = id;
       overlayStatus.value = `MOUNTING VIRTUAL DOM TREE... SUCCESS.`;
     }
 
-    // 100% 도달 완료 시 종료 세팅
     if (overlayProgress.value >= 100) {
       clearInterval(interval);
 
@@ -225,15 +216,13 @@ const changeMenu = (id) => {
         termInstance.value.echo(`[[b;green;][SUCCESS]] COMPONENT LOADED PERFECTLY.`);
       }
 
-      // 여운을 약간 준 뒤 부드럽게 창 닫기
       setTimeout(() => {
         isProcessing.value = false;
       }, 120);
     }
-  }, 20); // 20ms * 20단계 = 총 400ms 로딩 스피드 보장
+  }, 20);
 };
 
-// 로그인 등 다른 비즈니스 로직에서 사용하는 동적 제어용 스크립트는 원본 유지
 const triggerOverlayProcess = (durationMs, initialMsg) => {
   isProcessing.value = true;
   overlayProgress.value = 0;
@@ -361,17 +350,26 @@ onMounted(() => {