fix(study): app.html viewport meta 강화 — 인증 미흡 SSR 시점에도 핀치줌 차단

직전 commit (7f3955c) 의 page-level svelte:head viewport meta 는 SvelteKit 의 SSR
인증 redirect 시 학습 페이지 컴포넌트가 마운트 안 되어 head 에 미주입. iPad 에서
페이지 reload 시 root template 의 default viewport (initial-scale=1 만) 만 적용되어
OS 핀치줌이 다시 가능 — "1사분면 확대" 회귀의 잔존 trigger.

app.html 의 default viewport meta 자체를 maximum-scale=1, user-scalable=no 로 강화.
- 페이지/라우트/인증 상태와 무관하게 root 차원에서 보장.
- single-user PKM 이라 시각 접근성 zoom trade-off 적음.
- PDF/이미지 viewer 는 자체 zoom 컨트롤 (PDF.js 내장 + 이미지 모달) 사용 → 영향 미미.
- study/write/[id] 의 page-level svelte:head viewport meta 는 동일 값으로 그대로 둠
  (인증된 사용자 SSR 케이스의 의도 표시 + 이중 정의되어도 무해).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-27 12:23:08 +09:00
parent fb4897e256
commit 9b20a1815f
+5 -1
View File
@@ -2,7 +2,11 @@
<html lang="ko">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- single-user PKM: 핀치줌이 의도 사용 패턴 아님. 학습 캔버스 (HandwriteCanvas)
에서 페이지가 1사분면으로 확대되는 OS 핀치줌 회귀를 root 차원에서 차단.
page-level svelte:head 는 SSR 인증 redirect 시점에 안전망 못 됨 → app.html
default 로 강화. PDF/이미지 viewer 는 자체 zoom 컨트롤 사용. -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>hyungi Document Server</title>
%sveltekit.head%