From 4493c03de0c6d3dd00507ff5192428e017e5a076 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Thu, 2 Jul 2026 19:34:09 -0700 Subject: [PATCH] nvrsion: Add horizontal layout adjustment to Stat Cards on HomeView for better visibility, fix iOS pair screen banner position on the pair screen, and adjust Login Button Icon placement. Nucleic-Promote: 1 Co-authored-by: Nucleic --- NucleicRemote/NucleicRemote/Views/HomeView.swift | 5 ++++- NucleicRemote/NucleicRemote/Views/SettingsView.swift | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/NucleicRemote/NucleicRemote/Views/HomeView.swift b/NucleicRemote/NucleicRemote/Views/HomeView.swift index acddf44..9dd27f5 100644 --- a/NucleicRemote/NucleicRemote/Views/HomeView.swift +++ b/NucleicRemote/NucleicRemote/Views/HomeView.swift @@ -99,7 +99,10 @@ struct HomeView: View { } private var statCards: some View { - HStack(spacing: 12) { + // Flow the cards into two rows (3 + 2) so each gets ~a third of the width rather than a + // fifth — enough room for labels like "In progress" and full token counts to render cleanly + // instead of wrapping or truncating. + LazyVGrid(columns: Array(repeating: GridItem(.flexible(), spacing: 12), count: 3), spacing: 12) { StatCard(value: counts.projects, label: "Projects", icon: "folder") StatCard(value: running.count, label: "In progress", icon: "circle.lefthalf.filled") StatCard(value: counts.activeChats, label: "Active", icon: "bolt") diff --git a/NucleicRemote/NucleicRemote/Views/SettingsView.swift b/NucleicRemote/NucleicRemote/Views/SettingsView.swift index 04bb3fa..25c2ddd 100644 --- a/NucleicRemote/NucleicRemote/Views/SettingsView.swift +++ b/NucleicRemote/NucleicRemote/Views/SettingsView.swift @@ -140,6 +140,10 @@ struct PairingIntroView: View { .padding(.top, 8) } .padding() + // Fill the available height so the enclosing VStack reaches full screen and the + // BuildBanner/DemoBanner strips stay pinned at the top. Without this the intro only + // claims its intrinsic height, so the stack gets centered and the banner drifts down. + .frame(maxWidth: .infinity, maxHeight: .infinity) .sheet(isPresented: $showScanner) { PairingScannerView { payload in showScanner = false