diff --git a/frontend/src/pages/SynthesisDetail.tsx b/frontend/src/pages/SynthesisDetail.tsx index 184262a..cd3d17b 100644 --- a/frontend/src/pages/SynthesisDetail.tsx +++ b/frontend/src/pages/SynthesisDetail.tsx @@ -34,6 +34,17 @@ function truncateSummary(text: string, level: number): string { /** Renders a single news article with its title (linked) and summary. */ const NewsItemCard: Component<{ item: NewsItemType; displayLevel: number }> = (props) => { + const [expanded, setExpanded] = createSignal(false); + + const effectiveLevel = () => expanded() ? 4 : props.displayLevel; + const isTruncated = () => { + if (!props.item.summary || effectiveLevel() >= 4) return false; + if (effectiveLevel() === 1) return !!props.item.summary; + if (effectiveLevel() === 2) return props.item.summary.length > 160; + // level 3 + return true; + }; + return (
{props.item.date}
- {truncateSummary(props.item.summary, props.displayLevel)}
+
+ {truncateSummary(props.item.summary, effectiveLevel())}