Session View Animation Fix

Nucleic-Session: 34001BF5-66C2-4D6D-844D-EE95727B8D85
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-06 00:41:20 -07:00
co-authored by Nucleic
parent 0f0c8a68a4
commit 8fe9c61b2d
@@ -50,12 +50,12 @@ struct CompactRootView: View {
@State private var barHeight: CGFloat = 72 @State private var barHeight: CGFloat = 72
/// The bar owns the bottom edge on the top-level tabs, but yields it to a pushed session's /// The bar owns the bottom edge on the top-level tabs, but yields it to a pushed session's
/// floating glass chat bar (`compactDetailPresented`, driven by `SessionsView`'s navigation /// floating glass chat bar (`compactDetailPresented`) and to the new-chat composer while it's up
/// path) and to the new-chat composer while it's up (`showNewChat`) — both slide it out, so the /// (`showNewChat`) — both slide it out, so the composer doesn't just stack on top of a lingering
/// composer doesn't just stack on top of a lingering tab bar. We key off the path rather than /// tab bar. `compactDetailPresented` is driven by the session lifecycle (`RemoteStore.open`/
/// `openSessionID` because the path flips the instant a back-swipe begins, whereas /// `closeOpen`), so the bar hides whenever a session view opens — no matter which tab launched
/// `openSessionID` isn't cleared until the detail's `onDisappear` fires at the *end* of the pop /// it, not only the Sessions list. `SessionsView` additionally clears it the instant a
/// transition — which left the bar sliding back up 1–2s late. /// back-swipe begins (the path empties before `onDisappear` fires) for a snappy re-show.
private var showsTabBar: Bool { !store.compactDetailPresented && !showNewChat } private var showsTabBar: Bool { !store.compactDetailPresented && !showNewChat }
/// The "+" is inert without control scope or a project to start in, so it's shown only when a /// The "+" is inert without control scope or a project to start in, so it's shown only when a