diff --git a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift index 04d557e..836b7ff 100644 --- a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift +++ b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift @@ -21,39 +21,16 @@ struct SessionDetailView: View { } var body: some View { - Group { - if tab == 0 { - TranscriptList(events: store.openEvents) - } else if store.capabilities.canFetchDiff || store.openDiff != nil { - SessionDiffView(diff: store.openDiff, loading: store.diffLoading) - .onAppear { store.fetchDiff(sessionID) } - } else { - // Older host with no on-demand diff — the stat summary is all it projects. - DiffSummaryView(diffStat: summary?.diffStat) + TranscriptList(events: store.openEvents) + // The chat bar floats over the scrolling content on Liquid Glass instead of sitting + // in a boxed strip below it, so the transcript runs the full height of the screen. + .safeAreaInset(edge: .bottom) { actionArea } + .navigationTitle(summary?.title ?? "Session") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .topBarTrailing) { sessionMenu } } - } - // The chat bar floats over the scrolling content on Liquid Glass instead of sitting in - // a boxed strip below it, so the transcript runs the full height of the screen. - .safeAreaInset(edge: .bottom) { actionArea } - .navigationTitle(summary?.title ?? "Session") - .navigationBarTitleDisplayMode(.inline) - .toolbar { - // Transcript/Diff lives in the navigation bar (icon segments) rather than a - // dedicated row — it's a mode flip, not content, and shouldn't cost chat height. - ToolbarItem(placement: .topBarTrailing) { - Picker("View", selection: $tab) { - Image(systemName: "text.bubble").tag(0) - .accessibilityLabel("Transcript") - Image(systemName: "plus.forwardslash.minus").tag(1) - .accessibilityLabel("Diff") - } - .pickerStyle(.segmented) - .fixedSize() - } - if let summary, store.canControl { - ToolbarItem(placement: .topBarTrailing) { sessionMenu(summary) } - } - } + .sheet(isPresented: $showDiff) { diffSheet } .alert("Rename chat", isPresented: $showRename) { TextField("Title", text: $renameDraft) Button("Cancel", role: .cancel) {}