From 8386974ec955094aa40665c98b60ea22531db8a4 Mon Sep 17 00:00:00 2001 From: ByungCheol Date: Sun, 12 Jul 2026 12:23:02 +0900 Subject: [PATCH] =?UTF-8?q?fix(login):=20=EC=8B=A4=EC=A0=9C=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EB=85=B8=EC=B6=9C(?= =?UTF-8?q?=EC=A7=84=EB=8B=A8=EC=9A=A9)=20+=20=ED=86=A0=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=20=EB=85=B8=EC=B9=98=20=EA=B2=B9=EC=B9=A8=20safe-area=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- src/css/app.scss | 5 +++++ src/pages/LoginPage.vue | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/css/app.scss b/src/css/app.scss index 3dd154e..1c3dcf3 100644 --- a/src/css/app.scss +++ b/src/css/app.scss @@ -11,6 +11,11 @@ body { color: #3E92CC; } +// 토스트(Notify)가 상단 노치/상태바에 겹치지 않도록 safe-area 만큼 아래로. +.q-notifications__list--top { + padding-top: env(safe-area-inset-top); +} + // iOS 노치/홈바 safe-area 대응. // 네이티브 웹뷰가 이미 safe-area 아래로 배치돼(이중 여백 방지) CSS 추가 여백은 0. // (제목이 상태바에 겹치면 이 값을 소폭 늘린다) diff --git a/src/pages/LoginPage.vue b/src/pages/LoginPage.vue index 8f4e6d4..d5e2abe 100644 --- a/src/pages/LoginPage.vue +++ b/src/pages/LoginPage.vue @@ -198,8 +198,10 @@ function redirectAfterLogin() { } function notifyError(e: unknown) { - const message = e instanceof ApiError ? e.message : '로그인에 실패했습니다.' - $q.notify({ color: 'negative', message, icon: 'error', position: 'top' }) + let message = '로그인에 실패했습니다.' + if (e instanceof ApiError) message = e.message + else if (e instanceof Error && e.message) message = e.message // 네이티브 플러그인 오류 노출(진단용) + $q.notify({ color: 'negative', message, icon: 'error', position: 'top', timeout: 6000 }) }