From 4e874f60d73cbc8e36593e5e70018301289bcea5 Mon Sep 17 00:00:00 2001 From: Trey t Date: Sat, 11 Apr 2026 18:22:27 -0500 Subject: [PATCH] Move Settings to Dashboard toolbar to kill iPhone More overflow Six tabs forced iPhone to spill Course into the system "More" tab, whose own NavigationStack nested with CourseView's and produced a double back chevron on every week/deck push. Drop the Settings tab, reach it from a gear button on Dashboard that presents SettingsView as a sheet, and keep the visible tab count at five so no More overflow exists. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Conjuga/Views/Dashboard/DashboardView.swift | 14 ++++++++++++++ Conjuga/Conjuga/Views/MainTabView.swift | 3 --- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Conjuga/Conjuga/Views/Dashboard/DashboardView.swift b/Conjuga/Conjuga/Views/Dashboard/DashboardView.swift index ef70b02..2d810c4 100644 --- a/Conjuga/Conjuga/Views/Dashboard/DashboardView.swift +++ b/Conjuga/Conjuga/Views/Dashboard/DashboardView.swift @@ -8,6 +8,7 @@ struct DashboardView: View { @State private var dailyLogs: [DailyLog] = [] @State private var testResults: [TestResult] = [] @State private var reviewCards: [ReviewCard] = [] + @State private var showingSettings = false private var cloudModelContext: ModelContext { cloudModelContextProvider() } @@ -33,6 +34,19 @@ struct DashboardView: View { .adaptiveContainer(maxWidth: 800) } .navigationTitle("Dashboard") + .toolbar { + ToolbarItem(placement: .topBarTrailing) { + Button { + showingSettings = true + } label: { + Image(systemName: "gearshape") + } + .accessibilityLabel("Settings") + } + } + .sheet(isPresented: $showingSettings) { + SettingsView() + } .onAppear(perform: loadData) } } diff --git a/Conjuga/Conjuga/Views/MainTabView.swift b/Conjuga/Conjuga/Views/MainTabView.swift index 885a3ab..73f1a91 100644 --- a/Conjuga/Conjuga/Views/MainTabView.swift +++ b/Conjuga/Conjuga/Views/MainTabView.swift @@ -18,9 +18,6 @@ struct MainTabView: View { Tab("Course", systemImage: "list.clipboard") { CourseView() } - Tab("Settings", systemImage: "gearshape") { - SettingsView() - } } } }