diff --git a/Outpost/Features/Account/SettingsView.swift b/Outpost/Features/Account/SettingsView.swift index a35a71b..76f18b5 100644 --- a/Outpost/Features/Account/SettingsView.swift +++ b/Outpost/Features/Account/SettingsView.swift @@ -2,11 +2,11 @@ import SwiftUI import OutlineKit -/// Full-page Settings — rendered as a `RootView`-level overlay (see -/// `AppNavigation`), not a separate popup window. Replaces the old -/// `Settings {}` scene / `PreferencesView` and folds in what used to be the -/// standalone "About Outpost" window's content too, so everything about the -/// app lives in one place. +/// Full-page Settings — swapped into `ContentView_macOS`'s detail pane (see +/// `AppNavigation`), alongside the sidebar, not a separate popup window. +/// Replaces the old `Settings {}` scene / `PreferencesView` and folds in +/// what used to be the standalone "About Outpost" window's content too, so +/// everything about the app lives in one place. struct SettingsView: View { let onDone: () -> Void @@ -28,13 +28,21 @@ struct SettingsView: View { Divider() ScrollView { VStack(alignment: .leading, spacing: 20) { - appearanceSection - accountSection + // Appearance and Account are short — let them sit + // side-by-side when there's room instead of each + // claiming a full-width row on their own. Offline & Sync + // and About stay full-width, own row each: both are + // taller and visibly uneven height content, paired with + // an adaptive grid, looks worse than just stacking. + LazyVGrid(columns: [GridItem(.adaptive(minimum: 260), spacing: 20)], alignment: .leading, spacing: 20) { + appearanceSection + accountSection + } offlineSyncSection aboutSection } .padding(24) - .frame(maxWidth: 640) + .frame(maxWidth: 900) } .frame(maxWidth: .infinity) }