Skip to content

Commit d01c8db

Browse files
authored
Merge pull request #8 from execsumo/claude/expand-recent-transcripts-Gvyaq
Expand recent transcripts section to show all rows without scrolling
2 parents dbe5d63 + 02363e1 commit d01c8db

1 file changed

Lines changed: 16 additions & 26 deletions

File tree

Sources/HeardCore/Views.swift

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -288,13 +288,6 @@ public struct MenuBarView: View {
288288
self.meetingDetector = model.meetingDetector
289289
}
290290

291-
// Height available on screen below the menu bar, minus the pinned footer (~72 px) and
292-
// a small margin so the panel never sits flush against the Dock or screen edge.
293-
private var scrollableMaxHeight: CGFloat {
294-
let screenHeight = NSScreen.main?.visibleFrame.height ?? 600
295-
return max(200, screenHeight - 160)
296-
}
297-
298291
public var body: some View {
299292
VStack(spacing: 0) {
300293
// Pinned top — banners and status header always visible
@@ -363,32 +356,29 @@ public struct MenuBarView: View {
363356
.padding(.horizontal, 6)
364357
.padding(.vertical, 4)
365358

366-
// Recent Transcripts — scrollable only if the list can outgrow the
367-
// available space. Capped so the panel never extends past the
368-
// screen edge regardless of how many jobs are present.
359+
// Recent Transcripts — rendered directly (no ScrollView) so the
360+
// section expands to show all rows naturally, matching the approach
361+
// used for action rows above. recentTranscripts is already capped at 3.
369362
if !queueStore.recentTranscripts.isEmpty {
370363
HeardTheme.Paper.borderSoft.frame(height: 0.5)
371364

372-
ScrollView {
373-
VStack(alignment: .leading, spacing: 0) {
374-
Text("Recent Transcripts")
375-
.font(.system(size: 10, weight: .bold))
376-
.kerning(0.5)
377-
.foregroundStyle(HeardTheme.Paper.mute)
378-
.padding(.horizontal, 14)
379-
.padding(.vertical, 4)
365+
VStack(alignment: .leading, spacing: 0) {
366+
Text("Recent Transcripts")
367+
.font(.system(size: 10, weight: .bold))
368+
.kerning(0.5)
369+
.foregroundStyle(HeardTheme.Paper.mute)
370+
.padding(.horizontal, 14)
371+
.padding(.vertical, 4)
380372

381-
VStack(alignment: .leading, spacing: 1) {
382-
ForEach(queueStore.recentTranscripts) { job in
383-
JobRow(job: job, model: model)
384-
}
373+
VStack(alignment: .leading, spacing: 1) {
374+
ForEach(queueStore.recentTranscripts) { job in
375+
JobRow(job: job, model: model)
385376
}
386377
}
387-
.padding(.horizontal, 6)
388-
.padding(.bottom, 4)
389-
.frame(maxWidth: .infinity, alignment: .leading)
390378
}
391-
.frame(maxHeight: scrollableMaxHeight)
379+
.padding(.horizontal, 6)
380+
.padding(.bottom, 4)
381+
.frame(maxWidth: .infinity, alignment: .leading)
392382
}
393383

394384
// Pinned bottom — always reachable

0 commit comments

Comments
 (0)