From 88acda3a486f45a119ab5befd77cb0dcce2690f3 Mon Sep 17 00:00:00 2001 From: pjmalandrino Date: Tue, 17 Mar 2026 09:00:31 +0100 Subject: [PATCH] Imrpove sreen chaining and visual, add configurability --- .../src/features/analysis/ui/ResultTabs.vue | 48 +- frontend/src/pages/StudioPage.vue | 775 +++++++++++++++++- 2 files changed, 787 insertions(+), 36 deletions(-) diff --git a/frontend/src/features/analysis/ui/ResultTabs.vue b/frontend/src/features/analysis/ui/ResultTabs.vue index 4c7a967..69adf3b 100644 --- a/frontend/src/features/analysis/ui/ResultTabs.vue +++ b/frontend/src/features/analysis/ui/ResultTabs.vue @@ -12,29 +12,31 @@
- -
+ +
+
{{ store.currentAnalysis.contentMarkdown }}
+
- Analysis in progress... + Analyse en cours...
- {{ store.currentAnalysis.errorMessage || 'Analysis failed' }} + {{ store.currentAnalysis.errorMessage || 'L\'analyse a échoué' }}
- Upload a document and run an analysis + Lancez une analyse pour voir les résultats
@@ -46,12 +48,12 @@ import StructureViewer from './StructureViewer.vue' import ImageGallery from './ImageGallery.vue' const store = useAnalysisStore() -const activeTab = ref('markdown') +const activeTab = ref('text') const tabs = [ + { id: 'text', label: 'Résultat du texte' }, + { id: 'visual', label: 'Visuel' }, { id: 'markdown', label: 'Markdown' }, - { id: 'html', label: 'HTML' }, - { id: 'structure', label: 'Structure' }, { id: 'images', label: 'Images' } ] @@ -68,12 +70,13 @@ const tabs = [ display: flex; gap: 0; border-bottom: 1px solid var(--border); - padding: 0 20px; + padding: 0 16px; flex-shrink: 0; + background: var(--bg); } .tab-btn { - padding: 12px 16px; + padding: 12px 14px; font-size: 13px; font-weight: 500; color: var(--text-muted); @@ -82,6 +85,7 @@ const tabs = [ border-bottom: 2px solid transparent; cursor: pointer; transition: all var(--transition); + white-space: nowrap; } .tab-btn:hover { color: var(--text-secondary); } @@ -93,13 +97,25 @@ const tabs = [ .tab-content { flex: 1; overflow-y: auto; - padding: 20px; + padding: 16px; } -.html-viewer { - font-size: 14px; - line-height: 1.7; - color: var(--text); +.raw-markdown { + height: 100%; +} + +.raw-content { + background: var(--bg-elevated); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + padding: 16px; + font-family: 'IBM Plex Mono', monospace; + font-size: 12px; + color: var(--text-secondary); + line-height: 1.6; + white-space: pre-wrap; + word-break: break-word; + margin: 0; } .result-placeholder { diff --git a/frontend/src/pages/StudioPage.vue b/frontend/src/pages/StudioPage.vue index 533a526..481cfaa 100644 --- a/frontend/src/pages/StudioPage.vue +++ b/frontend/src/pages/StudioPage.vue @@ -1,28 +1,251 @@