diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index e3b25d2..5aecda6 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ - 돈돼지 가계부 - 돈돼지 가계부 + 돈돼지가계부 + 돈돼지가계부 kr.sblog.slimbudget kr.sblog.slimbudget diff --git a/electron/main.cjs b/electron/main.cjs index 7ad2be5..b45b068 100644 --- a/electron/main.cjs +++ b/electron/main.cjs @@ -78,6 +78,11 @@ function createWindow() { // 외부(앱 외 도메인) 링크는 기본 브라우저로, 앱 내 링크는 창에서 처리 win.webContents.setWindowOpenHandler(({ url }) => { + // 구글 로그인(GIS) 팝업은 앱 내부 자식 창으로 열어야 opener 로 로그인 결과(postMessage)가 돌아온다. + // 외부 브라우저로 보내면 계정 선택 후 credential 이 앱으로 전달되지 않아 로그인이 끊긴다. + if (/^https:\/\/accounts\.google\.com\//i.test(url)) { + return { action: 'allow' } + } if (/^https?:\/\//i.test(url) && !url.startsWith(APP_URL)) { shell.openExternal(url) return { action: 'deny' } diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index 13dc2e4..844eecd 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -86,6 +86,7 @@ async function handleLogout() { } .brand-text { letter-spacing: -0.01em; + white-space: nowrap; } .header-right { display: flex; @@ -103,5 +104,9 @@ async function handleLogout() { .app-header { padding: 0 1rem; } + /* 좁은 화면(폰/앱): 브랜드명 텍스트 숨기고 로고만 — 두 줄 줄바꿈 방지 */ + .brand-text { + display: none; + } }