From 8f1c7175d4a67c5f5ee0fd1dfe3e1c72147a21a9 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Mon, 27 Apr 2026 12:51:43 +0900 Subject: [PATCH] =?UTF-8?q?fix(study/sources):=20=EB=AA=A8=EB=B0=94?= =?UTF-8?q?=EC=9D=BC=20=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20=EC=A7=84?= =?UTF-8?q?=EC=9E=85=20=E2=80=94=20drawer=20+=20breadcrumb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 증상: 모바일에서 좌측 트리 hidden md:block 으로 숨겨져 정렬된 최근 자료 외에는 원하는 카테고리를 찾기 어려움. Fix: - 헤더 아래 모바일 전용 (md:hidden) 카테고리 진입 바: · "카테고리" 버튼 (FolderTree 아이콘) — 좌측 drawer 띄움 · breadcrumb: 전체 / 가스기사 / 01_유체역학 / 01_basics 각 segment 클릭 시 해당 path 로 즉시 이동 · 가로 스크롤 (overflow-x-auto) — 깊은 path 도 자연스럽게 - aside 좌측 트리 모바일 drawer 화: · mobileTreeOpen state. fixed left-0 top-0 bottom-0 w-72 max-w-[85vw] · 백드롭 클릭 / X 버튼 / 카테고리 선택 시 자동 닫기 · 데스크톱(md+)에선 기존 normal layout 유지 - navigateAndClose 헬퍼 — 카테고리 클릭 시 navigate + close 한 번에 --- .../src/routes/study/sources/+page.svelte | 90 ++++++++++++++++--- 1 file changed, 78 insertions(+), 12 deletions(-) diff --git a/frontend/src/routes/study/sources/+page.svelte b/frontend/src/routes/study/sources/+page.svelte index 99afa3c..a207f24 100644 --- a/frontend/src/routes/study/sources/+page.svelte +++ b/frontend/src/routes/study/sources/+page.svelte @@ -16,7 +16,7 @@ import { api } from '$lib/api'; import { addToast } from '$lib/stores/toast'; import { - ChevronRight, ChevronDown, FolderOpen, BookOpen, ArrowLeft, + ChevronRight, ChevronDown, FolderOpen, BookOpen, ArrowLeft, FolderTree, X, } from 'lucide-svelte'; import DocumentCard from '$lib/components/DocumentCard.svelte'; import EmptyState from '$lib/components/ui/EmptyState.svelte'; @@ -124,33 +124,98 @@ function toggleExpand(path) { expanded[path] = !expanded[path]; } + + // 모바일 트리 drawer + let mobileTreeOpen = $state(false); + function openTree() { mobileTreeOpen = true; } + function closeTree() { mobileTreeOpen = false; } + // 카테고리 선택 시 drawer 자동 닫기 (모바일) + function navigateAndClose(path) { + navigate(path); + mobileTreeOpen = false; + } + + // 현재 경로 breadcrumb 분해 + let crumbs = $derived(activePath ? activePath.split('/') : []); 자료 학습 — 공부
-
-
- +
+
+ 공부 - / - + / + 자료 학습
-
- 총 {totalCount}건 · 안 본 {totalUnread}건 +
+ 총 {totalCount} · 안 본 {totalUnread}
-
- -