diff --git a/ui_template/ui_template_help.ts b/ui_template/ui_template_help.ts index 12e58697f..9ae0d260f 100644 --- a/ui_template/ui_template_help.ts +++ b/ui_template/ui_template_help.ts @@ -241,6 +241,7 @@ async function openHelp(): Promise { const pages = GROUPS.flatMap((g) => guide.pages.filter((p) => p.page.startsWith(g.prefix))); const start = firstAnchor(pages); let flush = async (): Promise => true; + let jump = (_anchor: string): void => undefined; openModal({ title: TEXT.title, closeLabel: TEXT.close, @@ -312,10 +313,11 @@ async function openHelp(): Promise { renderHelpItem(page, item, true), ).flush; body.append(el("div", { className: "ui-help__grid", children: [toc, article] })); - // 모달이 붙은 뒤 이동 — mount 는 붙기 전 - requestAnimationFrame(() => goTo(start)); + jump = goTo; }, }); + // 모달이 붙은 뒤 이동 — mount 는 붙기 전 · 숨은 탭에서도 되게 rAF 안 씀 + jump(start); } export function createHelpButton(): HTMLButtonElement { diff --git a/ui_template/ui_template_help_edit.ts b/ui_template/ui_template_help_edit.ts index 8746c3515..c6d1c0605 100644 --- a/ui_template/ui_template_help_edit.ts +++ b/ui_template/ui_template_help_edit.ts @@ -120,8 +120,9 @@ export function attachHelpEditing( // 그림 고르기 — 하나를 돌려 씀 · 고른 뒤 값 비움(같은 파일 다시 골라도 change) const picker = el("input", { - attrs: { type: "file", accept: "image/png,image/jpeg,image/webp" }, + attrs: { type: "file", accept: "image/png,image/jpeg,image/webp", hidden: "" }, }); + article.append(picker); let pickFor: { section: HTMLElement; name: string } | null = null; picker.addEventListener("change", async () => { const file = picker.files?.[0];