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'} +
+
Extracted text
+
{selectedItem.extracted_text.slice(0, 500)}{selectedItem.extracted_text.length > 500 ? '...' : ''}
+
{/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;