From 95e58b943f25192876a5b32e792734bce4f792e6 Mon Sep 17 00:00:00 2001 From: Igor Loskutov Date: Fri, 16 Jan 2026 12:28:38 -0500 Subject: [PATCH] transcript gutter --- .../[transcriptId]/_components/TopicList.tsx | 7 +- .../(app)/transcripts/[transcriptId]/page.tsx | 145 ++++++++++-------- 2 files changed, 81 insertions(+), 71 deletions(-) diff --git a/www/app/(app)/transcripts/[transcriptId]/_components/TopicList.tsx b/www/app/(app)/transcripts/[transcriptId]/_components/TopicList.tsx index 371d65a7..a9e01924 100644 --- a/www/app/(app)/transcripts/[transcriptId]/_components/TopicList.tsx +++ b/www/app/(app)/transcripts/[transcriptId]/_components/TopicList.tsx @@ -6,6 +6,7 @@ import { formatTime } from "../../../../lib/time"; import { getTopicColor } from "../../../../lib/topicColors"; import { TranscriptStatus } from "../../../../lib/transcript"; import { featureEnabled } from "../../../../lib/features"; +import { TOPICS_SCROLL_DIV_ID } from "./constants"; type TopicListProps = { topics: Topic[]; @@ -50,13 +51,13 @@ export function TopicList({ }; const scrollToBottom = () => { - const topicsDiv = document.getElementById("topics-scroll-div"); + const topicsDiv = document.getElementById(TOPICS_SCROLL_DIV_ID); if (topicsDiv) topicsDiv.scrollTop = topicsDiv.scrollHeight; }; useEffect(() => { if (autoscroll) { - const topicsDiv = document.getElementById("topics-scroll-div"); + const topicsDiv = document.getElementById(TOPICS_SCROLL_DIV_ID); topicsDiv && toggleScroll(topicsDiv); } }, [activeTopic, autoscroll]); @@ -110,7 +111,7 @@ export function TopicList({ )} )} - {/* Title */} - - - { - transcript.refetch().then(() => {}); - }} - transcript={transcript.data || null} - topics={topics.topics} - finalSummaryElement={finalSummaryElement} - /> + + + + { + transcript.refetch().then(() => {}); + }} + transcript={transcript.data || null} + topics={topics.topics} + finalSummaryElement={finalSummaryElement} + /> + + {mp3.audioDeleted && ( + + No audio is available because one or more participants didn't + consent to keep the audio + + )} - {mp3.audioDeleted && ( - - No audio is available because one or more participants didn't - consent to keep the audio - + + + {/* Left column: Topics List */} + + + + {/* Transcript with colored gutter (scrollable) */} + {topics.topics && topics.topics.length > 0 && ( + + + )} - + - {/* Topics List (top section - fixed height, scrollable) */} - - - {/* Transcript with colored gutter (bottom section - scrollable container) */} - {topics.topics && topics.topics.length > 0 && ( - - - - )} - - {/* Final Summary (at bottom) */} + {/* Right column: Final Summary */} {transcript.data && topics.topics ? ( ) : ( - + {transcript?.data?.status == "processing" ? ( Loading Transcript @@ -326,7 +335,7 @@ export default function TranscriptDetails(details: TranscriptDetails) { )} - + );