feat: 정보 패널 — taxonomy 기반 분류 표시 (breadcrumb + type/confidence 배지)

- domain 경로를 breadcrumb으로 표시 (Industrial_Safety › Practice › Patrol_Inspection)
- document_type 배지 (파란색)
- confidence 배지 (85%+ 초록, 60~85% 주황, <60% 빨강)
- importance 배지 (high만 표시)
- 원본 포맷 표시

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-03 13:56:37 +09:00
parent 7f5e09096a
commit bf0506023c

View File

@@ -236,24 +236,48 @@
{/if} {/if}
</div> </div>
<!-- 메타 정보 --> <!-- AI 분류 -->
{#if doc.ai_domain}
<div>
<h4 class="text-xs font-semibold text-[var(--text-dim)] uppercase mb-1.5">분류</h4>
<!-- domain breadcrumb -->
<div class="flex flex-wrap gap-1 mb-2">
{#each doc.ai_domain.split('/') as part, i}
{#if i > 0}<span class="text-[10px] text-[var(--text-dim)]"></span>{/if}
<span class="text-xs text-[var(--accent)]">{part}</span>
{/each}
</div>
<!-- document_type + confidence -->
<div class="flex items-center gap-2">
{#if doc.document_type}
<span class="text-[10px] px-1.5 py-0.5 rounded bg-blue-900/30 text-blue-400">{doc.document_type}</span>
{/if}
{#if doc.ai_confidence}
<span class="text-[10px] px-1.5 py-0.5 rounded {doc.ai_confidence >= 0.85 ? 'bg-green-900/30 text-green-400' : doc.ai_confidence >= 0.6 ? 'bg-amber-900/30 text-amber-400' : 'bg-red-900/30 text-red-400'}">
{(doc.ai_confidence * 100).toFixed(0)}%
</span>
{/if}
{#if doc.importance && doc.importance !== 'medium'}
<span class="text-[10px] px-1.5 py-0.5 rounded {doc.importance === 'high' ? 'bg-red-900/30 text-red-400' : 'bg-gray-800 text-gray-400'}">
{doc.importance}
</span>
{/if}
</div>
</div>
{/if}
<!-- 파일 정보 -->
<div> <div>
<h4 class="text-xs font-semibold text-[var(--text-dim)] uppercase mb-1.5">정보</h4> <h4 class="text-xs font-semibold text-[var(--text-dim)] uppercase mb-1.5">정보</h4>
<dl class="space-y-1.5 text-xs"> <dl class="space-y-1.5 text-xs">
<div class="flex justify-between"> <div class="flex justify-between">
<dt class="text-[var(--text-dim)]">포맷</dt> <dt class="text-[var(--text-dim)]">포맷</dt>
<dd class="uppercase">{doc.file_format}</dd> <dd class="uppercase">{doc.file_format}{doc.original_format ? ` (원본: ${doc.original_format})` : ''}</dd>
</div> </div>
<div class="flex justify-between"> <div class="flex justify-between">
<dt class="text-[var(--text-dim)]">크기</dt> <dt class="text-[var(--text-dim)]">크기</dt>
<dd>{formatSize(doc.file_size)}</dd> <dd>{formatSize(doc.file_size)}</dd>
</div> </div>
{#if doc.ai_domain}
<div class="flex justify-between">
<dt class="text-[var(--text-dim)]">분류</dt>
<dd class="text-right">{doc.ai_domain.replace('Knowledge/', '')}{doc.ai_sub_group ? ` / ${doc.ai_sub_group}` : ''}</dd>
</div>
{/if}
{#if doc.source_channel} {#if doc.source_channel}
<div class="flex justify-between"> <div class="flex justify-between">
<dt class="text-[var(--text-dim)]">출처</dt> <dt class="text-[var(--text-dim)]">출처</dt>