From 07c0f6544c1fc104b1f39f4dbb6e8a0508699fb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=20=ED=95=9C?= Date: Sun, 19 Jul 2026 15:33:14 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B2=AB=20=EC=86=8C=EC=8A=A4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=8B=9C=20=EC=9E=AC=EC=8B=9C=EC=9E=91=20=EC=97=86?= =?UTF-8?q?=EC=9D=B4=20=EC=98=A8=EB=B3=B4=EB=94=A9=E2=86=92=EA=B7=B8?= =?UTF-8?q?=EB=A6=AC=EB=93=9C=20=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ContentArea의 소스 목록 리소스가 마운트 시 1회만 조회해, 소스가 0개인 세션에서 첫 폴더를 추가해도 온보딩 화면이 그대로 남았다. sidebarVersion을 리소스 소스로 키잉해 소스 추가/제거 시 재조회하도록 수정 (Sidebar와 동일 패턴). library-changed → refreshSidebar로 즉시 전환. 검증: 온보딩 상태에서 소스 추가+스캔 → 리로드 없이 ~1초 후 그리드 표시. Co-Authored-By: Claude Fable 5 --- src/shell/ContentArea.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shell/ContentArea.tsx b/src/shell/ContentArea.tsx index 6e89e69..b41f5ae 100644 --- a/src/shell/ContentArea.tsx +++ b/src/shell/ContentArea.tsx @@ -9,6 +9,7 @@ import { refreshSidebar, setGridRowHeight, setView, + sidebarVersion, snapshot, updateScanProgress, view, @@ -31,8 +32,12 @@ export const ContentArea: Component = () => { }; onCleanup(() => clearTimeout(debounce)); - // 소스가 하나도 없으면 온보딩 표시 - const [sources] = createResource(listSources); + // 소스가 하나도 없으면 온보딩 표시. 소스 추가/제거(sidebarVersion) 시 재조회해 + // 첫 소스를 추가하면 재시작 없이 즉시 그리드로 전환된다. + const [sources] = createResource( + () => sidebarVersion(), + () => listSources(), + ); const isEmpty = () => sources() && sources()!.length === 0; const addLocal = async () => {