diff --git a/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte b/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte
index 13ed82b..4064015 100644
--- a/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte
+++ b/frontend-v2/src/lib/pages/brain/AtelierBrainPage.svelte
@@ -332,7 +332,7 @@
{#each items as item (item.id)}
-
+
{#if item.type === 'link' && item.assets?.some(a => a.asset_type === 'screenshot')}
@@ -343,8 +343,17 @@
{/if}
+ {:else if item.type === 'pdf' && item.assets?.some(a => a.asset_type === 'screenshot')}
+
+ {:else if item.type === 'image' && item.assets?.some(a => a.asset_type === 'original_upload')}
+ {@const imgAsset = item.assets.find(a => a.asset_type === 'original_upload')}
+
{:else if item.type === 'note'}
-
@@ -360,8 +369,14 @@
{item.title || 'Untitled'}
{#if item.url}
{(() => { try { return new URL(item.url).hostname; } catch { return ''; } })()}
+ {:else if item.type === 'pdf'}
+
PDF document{item.metadata_json?.page_count ? ` · ${item.metadata_json.page_count} page${item.metadata_json.page_count !== 1 ? 's' : ''}` : ''}
+ {:else if item.type === 'image'}
+
Image
{/if}
- {#if item.summary && item.type !== 'note'}
+ {#if item.type === 'pdf' && item.extracted_text}
+
{item.extracted_text.slice(0, 120)}{item.extracted_text.length > 120 ? '...' : ''}
+ {:else if item.summary && item.type !== 'note'}
{item.summary.slice(0, 100)}{item.summary.length > 100 ? '...' : ''}
{/if}
-
- {#if selectedItem.type === 'link'}
- {#if selectedItem.assets?.some(a => a.asset_type === 'screenshot')}
-
-
-
- {/if}
+
+ {#if selectedItem.type === 'link' && selectedItem.assets?.some(a => a.asset_type === 'screenshot')}
+
+
+
+ {:else if selectedItem.type === 'pdf' && selectedItem.assets?.some(a => a.asset_type === 'screenshot')}
+
+

+
+ {:else if selectedItem.type === 'image' && selectedItem.assets?.some(a => a.asset_type === 'original_upload')}
+ {@const imgAsset = selectedItem.assets.find(a => a.asset_type === 'original_upload')}
+
+

+
+ {/if}
- {#if selectedItem.url}
-
{selectedItem.url}
- {/if}
+ {#if selectedItem.url}
+
{selectedItem.url}
+ {/if}
- {#if selectedItem.summary}
-
{selectedItem.summary}
- {/if}
+ {#if selectedItem.summary && selectedItem.type !== 'note'}
+
{selectedItem.summary}
+ {/if}
+
+
+ {#if selectedItem.extracted_text && selectedItem.type !== 'note' && selectedItem.type !== 'link'}
+
{/if}
@@ -612,6 +642,20 @@
object-fit: cover;
max-height: 240px;
}
+ .card-type-badge {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ background: rgba(30,24,18,0.75);
+ color: white;
+ font-size: 0.7rem;
+ font-weight: 700;
+ padding: 3px 8px;
+ border-radius: 6px;
+ letter-spacing: 0.04em;
+ backdrop-filter: blur(4px);
+ }
+
.card-processing-overlay {
position: absolute; inset: 0;
background: rgba(30,24,18,0.6);
@@ -815,6 +859,24 @@
font-style: italic;
}
+ .detail-extracted {
+ margin-bottom: 16px;
+ padding: 14px 16px;
+ background: rgba(255,255,255,0.5);
+ border-radius: 14px;
+ border: 1px solid rgba(35,26,17,0.06);
+ }
+ .extracted-label {
+ font-size: 10px; text-transform: uppercase;
+ letter-spacing: 0.1em; color: #8c7b69;
+ margin-bottom: 8px;
+ }
+ .extracted-body {
+ font-size: 0.88rem; color: #3d342c; line-height: 1.6;
+ white-space: pre-wrap; word-break: break-word;
+ font-family: var(--mono);
+ }
+
.detail-meta-line {
display: flex; gap: 12px; font-size: 0.8rem; color: #8c7b69;
margin-bottom: 16px;