Without UILaunchScreen (or UILaunchStoryboardName) in Info.plist, iOS runs
the app in legacy device-scaling mode and letterboxes it inside a smaller
iPhone-sized window. That's where the unexplained black bars at the top and
bottom of every screenshot came from — the SwiftUI layout was correct all
along, but iOS was rendering the entire app inside a ~75% viewport.
Adding an empty UILaunchScreen dict opts into modern full-screen rendering.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
iOS 26's NavigationStack reserves space for its floating Liquid Glass nav bar
even with `.toolbar(.hidden, for: .navigationBar)` — that's why "Screens"
landed ~180pt down from the dynamic island with a wedge of black above it.
Removed the NavigationStack from the list entirely. Layout is now a plain
top-anchored VStack: top chrome (gear + Screens + plus + search) flush with
the safe-area top, then a ScrollView with LazyVStack of cards filling the
rest of the screen. Sessions present via fullScreenCover instead of
NavigationLink, so we don't need NavigationStack here at all.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The system nav bar floated low on iOS 26 and left a wedge of black above the
title. Replaced it with a custom top row pinned to the safe-area top: gear ⟶
big "Screens" wordmark ⟶ +. Search bar lives directly beneath, sections start
right after — no centered-in-the-void layout. Background gets a subtle blue
radial bloom so the floating glass buttons have something to anchor to.
Saved-empty state is now a glass card with an icon and a gradient CTA button.
Connection rows are full-width glass cards with rounded corners; long-press
gives Edit / Open in New Window / Delete.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Edit reuses AddConnectionView with an `editing:` parameter that prefills the
form and updates in-place; password field becomes optional ("leave blank to
keep current"). Surfaced via context menu and a leading-edge swipe action on
each saved row.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>