nvrsion: Add: Fix Chat: Restore native header type and remove archive button in SessionsView.

Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-05 23:21:27 -07:00
co-authored by Nucleic
parent 33ea7688c4
commit 8bdb2fbd1e
@@ -79,12 +79,7 @@ struct SessionsView: View {
.compactTabBarInset() .compactTabBarInset()
} }
} }
// The title is rendered as content (`sessionsHeader`) rather than a system .navigationTitle("Sessions")
// `.navigationTitle`, so the archive toggle can sit on the same row, centered with it
// (a system toolbar item can only ride in the compact bar, floating above a large
// title). The empty inline bar keeps the top band matching the Home dashboard.
.navigationBarTitleDisplayMode(.inline)
.safeAreaInset(edge: .top, spacing: 0) { sessionsHeader }
.navigationDestination(for: SessionID.self) { id in .navigationDestination(for: SessionID.self) { id in
SessionDetailView(sessionID: id) SessionDetailView(sessionID: id)
} }
@@ -110,30 +105,6 @@ struct SessionsView: View {
} }
} }
/// The page's large title as content, so the archive toggle can share its row (vertically
/// centered with the title) instead of floating in the compact bar above it. Mirrors the Home
/// dashboard's greeting header — same large-title font and top band — for a consistent look.
private var sessionsHeader: some View {
HStack {
Text("Sessions").font(.largeTitle.bold())
Spacer()
Button {
showArchived.toggle()
} label: {
Image(systemName: showArchived ? "archivebox.fill" : "archivebox")
.font(.title3)
}
.foregroundStyle(Palette.accent)
.accessibilityLabel(showArchived ? "Hide archived sessions" : "Show archived sessions")
}
.padding(.horizontal)
.padding(.top, 52)
.padding(.bottom, 8)
.frame(maxWidth: .infinity)
// Cover the list rows that scroll up behind the pinned header.
.background(Color(.systemGroupedBackground))
}
/// Push the session a notification tap asked for, then clear the request. /// Push the session a notification tap asked for, then clear the request.
private func consumeRoute() { private func consumeRoute() {
guard let route = store.pendingRoute else { return } guard let route = store.pendingRoute else { return }