diff --git a/web/src/components/ReaderView.tsx b/web/src/components/ReaderView.tsx index e4dcf4f..fa22445 100644 --- a/web/src/components/ReaderView.tsx +++ b/web/src/components/ReaderView.tsx @@ -7,83 +7,113 @@ interface ReaderViewProps { } export function ReaderView({ article, onClose, onToggleFavorite }: ReaderViewProps) { + // Determine content to show: full content > summary > default message + const displayContent = article.content || article.summary || '

Aucun contenu disponible pour cet article.

'; + return (
e.stopPropagation()} > {/* Progress bar simulation */} -
-
+
+
+ {/* Close button for desktop */} -
-
-
- {article.feed_title} + {/* Hero Image Section */} + {article.image_url && ( +
+ {article.title} +
+
+ )} + +
+
+
+ {article.feed_title} • - {article.published_at ? new Date(article.published_at).toLocaleDateString() : 'Aujourd\'hui'} + {article.published_at ? new Date(article.published_at).toLocaleDateString('fr-FR', { day: 'numeric', month: 'long', year: 'numeric' }) : 'Aujourd\'hui'}
-

+

{article.title}

-
-
+
+
- -
- Lire sur le site original + Source d'origine + + +
Aucun contenu disponible pour cet article.

' }} + className="magazine-content text-paper-white/90 text-xl font-reading leading-relaxed space-y-8 selection:bg-gold/20" + dangerouslySetInnerHTML={{ __html: displayContent }} /> -
-
F
-

- FlowReader Magazine — Immersion Totale. +

+
F.
+

+ FlowReader Lux Édition • 2026

+ + {/* Mobile close button overlay */} +
); } diff --git a/web/src/index.css b/web/src/index.css index ca31e85..7bac883 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -93,4 +93,34 @@ .input-field { @apply bg-carbon-dark border border-white/10 text-paper-white px-4 py-3 rounded-lg focus:border-gold/50 focus:ring-1 focus:ring-gold/50 outline-none transition-all placeholder:text-paper-muted/30; } + + .magazine-content { + @apply font-reading leading-relaxed text-paper-white/80; + } + + .magazine-content p { + @apply mb-8; + } + + .magazine-content a { + @apply text-gold border-b border-gold/20 hover:border-gold transition-all no-underline; + } + + .magazine-content h2, + .magazine-content h3 { + @apply text-white font-serif italic mb-6 mt-12; + } + + .magazine-content img { + @apply rounded-2xl my-12 border border-white/5 shadow-2xl mx-auto; + } + + .magazine-content ul, + .magazine-content ol { + @apply mb-8 ml-6 space-y-4; + } + + .magazine-content li { + @apply pl-2; + } } \ No newline at end of file