From c9381bfad313e3a1414e87f92112e4ff89c6b6d2 Mon Sep 17 00:00:00 2001 From: dscyrescotti Date: Thu, 18 Jul 2024 00:34:31 +0700 Subject: [PATCH] feat: update for macos --- .../Features/Dashboard/Sidebar/Sidebar.swift | 2 ++ .../Features/Settings/About/AboutView.swift | 12 +++++++-- .../Settings/Settings/SettingsView.swift | 25 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Memola/Features/Dashboard/Sidebar/Sidebar.swift b/Memola/Features/Dashboard/Sidebar/Sidebar.swift index 0041e3e..860bd49 100644 --- a/Memola/Features/Dashboard/Sidebar/Sidebar.swift +++ b/Memola/Features/Dashboard/Sidebar/Sidebar.swift @@ -58,6 +58,7 @@ struct Sidebar: View { .navigationSplitViewColumnWidth(min: 250, ideal: 250, max: 250) } + #if os(iOS) private var compactList: some View { list .toolbar { @@ -66,6 +67,7 @@ struct Sidebar: View { } } } + #endif private var list: some View { List(selection: $sidebarItem) { diff --git a/Memola/Features/Settings/About/AboutView.swift b/Memola/Features/Settings/About/AboutView.swift index 871c3ab..24682f0 100644 --- a/Memola/Features/Settings/About/AboutView.swift +++ b/Memola/Features/Settings/About/AboutView.swift @@ -16,14 +16,22 @@ struct AboutView: View { Spacer() Text("v\(Bundle.main.appVersion) (\(Bundle.main.appBuild))") } + #if os(macOS) + .listRowSeparator(.hidden) + #endif } - Section("Copyright") { + Section("COPYRIGHT") { Text(Bundle.main.copyright) .font(.callout) + #if os(macOS) + .listRowSeparator(.hidden) + #endif } } - .listStyle(.insetGrouped) .navigationTitle("About") + #if os(iOS) + .listStyle(.insetGrouped) .navigationBarTitleDisplayMode(.inline) + #endif } } diff --git a/Memola/Features/Settings/Settings/SettingsView.swift b/Memola/Features/Settings/Settings/SettingsView.swift index dde6017..626d699 100644 --- a/Memola/Features/Settings/Settings/SettingsView.swift +++ b/Memola/Features/Settings/Settings/SettingsView.swift @@ -8,6 +8,8 @@ import SwiftUI struct SettingsView: View { + @Environment(\.dismiss) private var dismiss + var body: some View { NavigationStack { List { @@ -19,10 +21,33 @@ struct SettingsView: View { } } .navigationTitle("Settings") + #if os(iOS) .navigationBarTitleDisplayMode(.large) + #endif + .toolbar { + #if os(iOS) + ToolbarItem(placement: .topBarTrailing) { + Button { + dismiss() + } label: { + Text("Close") + } + } + #endif + } } .focusedSceneValue(\.activeSceneKey, .settings) .interactiveDismissDisabled() + #if os(macOS) + .onAppear { + DispatchQueue.main.async { + NSApplication.shared.windows.forEach { window in + guard window.identifier?.rawValue.contains(AppWindow.settings.id) == true else { return } + window.standardWindowButton(.zoomButton)?.isEnabled = false + } + } + } + #endif } }