diff --git a/frontend/src/lib/components/AnalysisPanel.svelte b/frontend/src/lib/components/AnalysisPanel.svelte new file mode 100644 index 0000000..8181dc5 --- /dev/null +++ b/frontend/src/lib/components/AnalysisPanel.svelte @@ -0,0 +1,120 @@ + + + +
+
+

+ + 이드 분석 +

+ {#if data?.cached} + 캐시 + {/if} +
+ + {#if !data && !loading && !error} + + +

+ 약 10초 소요. 문서 전문을 Gemma 4로 구조화합니다. +

+ {:else if loading} +
+ + + + +
+

+ + 분석 중… +

+ {:else if error} +

{error}

+ + {:else if data} +
+ {#each data.layers as layer} +
+

+ {layer.title} +

+

+ {layer.content} +

+
+ {/each} +
+ {#if data.truncated} +

+ 원문이 15,000자를 초과하여 앞부분만 분석했습니다. +

+ {/if} +
+ + {Math.round(data.elapsed_ms)}ms · {data.layers.length}개 층 + + +
+ {/if} +
diff --git a/frontend/src/routes/documents/[id]/+page.svelte b/frontend/src/routes/documents/[id]/+page.svelte index 34f8e85..dabd921 100644 --- a/frontend/src/routes/documents/[id]/+page.svelte +++ b/frontend/src/routes/documents/[id]/+page.svelte @@ -22,6 +22,7 @@ import ProcessingStatusView from '$lib/components/editors/ProcessingStatusView.svelte'; import LibraryPathEditor from '$lib/components/editors/LibraryPathEditor.svelte'; import DocumentDangerZone from '$lib/components/editors/DocumentDangerZone.svelte'; + import AnalysisPanel from '$lib/components/AnalysisPanel.svelte'; marked.use({ mangle: false, headerIds: false }); function renderMd(text) { @@ -244,6 +245,9 @@ + + +