From 9a866acf53362c1e8aed22839efb4f3d06c3bea9 Mon Sep 17 00:00:00 2001 From: huihuisang <101007168+huihuisang@users.noreply.github.com> Date: Sun, 10 Mar 2024 15:35:37 +0800 Subject: [PATCH] Place PlatformsPocket back to XcodeListView --- .../Common/NavigationSplitViewWrapper.swift | 2 +- Xcodes/Frontend/XcodeList/MainToolbar.swift | 8 ----- Xcodes/Frontend/XcodeList/XcodeListView.swift | 29 +++++++++++++++++++ Xcodes/Resources/Localizable.xcstrings | 2 +- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Xcodes/Frontend/Common/NavigationSplitViewWrapper.swift b/Xcodes/Frontend/Common/NavigationSplitViewWrapper.swift index edd12260..120cd779 100644 --- a/Xcodes/Frontend/Common/NavigationSplitViewWrapper.swift +++ b/Xcodes/Frontend/Common/NavigationSplitViewWrapper.swift @@ -26,7 +26,7 @@ struct NavigationSplitViewWrapper: View where Sidebar: View, De if #available(macOS 14, *) { sidebar - .navigationSplitViewColumnWidth(min: 300, ideal: 300) + .navigationSplitViewColumnWidth(min: 290, ideal: 290) } else { sidebar } diff --git a/Xcodes/Frontend/XcodeList/MainToolbar.swift b/Xcodes/Frontend/XcodeList/MainToolbar.swift index b2c7aeaa..55a0c357 100644 --- a/Xcodes/Frontend/XcodeList/MainToolbar.swift +++ b/Xcodes/Frontend/XcodeList/MainToolbar.swift @@ -5,7 +5,6 @@ struct MainToolbarModifier: ViewModifier { @Binding var category: XcodeListCategory @Binding var isInstalledOnly: Bool @Binding var isShowingInfoPane: Bool - @SwiftUI.Environment(\.openWindow) private var openWindow func body(content: Content) -> some View { content @@ -69,13 +68,6 @@ struct MainToolbarModifier: ViewModifier { } } .help("FilterInstalledDescription") - - Button(action: { - openWindow(id: "platforms") - }) { - Label("Platforms", systemImage: "square.3.layers.3d") - } - .help("PlatformsDescription") } } } diff --git a/Xcodes/Frontend/XcodeList/XcodeListView.swift b/Xcodes/Frontend/XcodeList/XcodeListView.swift index fdbdfc8e..e2ce3b63 100644 --- a/Xcodes/Frontend/XcodeList/XcodeListView.swift +++ b/Xcodes/Frontend/XcodeList/XcodeListView.swift @@ -43,6 +43,35 @@ struct XcodeListView: View { XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id, appState: appState) } .listStyle(.sidebar) + .safeAreaInset(edge: .bottom, spacing: 0) { + PlatformsPocket() + .padding(.horizontal) + .padding(.vertical, 8) + } + } +} + +struct PlatformsPocket: View { + @SwiftUI.Environment(\.openWindow) private var openWindow + + var body: some View { + Button(action: { + openWindow(id: "platforms") + } + ) { + HStack(spacing: 5) { + Image(systemName: "square.3.layers.3d") + .font(.title3.weight(.medium)) + Text("PlatformsDescription") + } + .font(.body.weight(.medium)) + .padding(.horizontal) + .padding(.vertical, 12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(.quaternary.opacity(0.75)) + .clipShape(RoundedRectangle(cornerRadius: 8, style: .continuous)) + } + .buttonStyle(.plain) } } diff --git a/Xcodes/Resources/Localizable.xcstrings b/Xcodes/Resources/Localizable.xcstrings index c6e57a11..2ec2dd13 100644 --- a/Xcodes/Resources/Localizable.xcstrings +++ b/Xcodes/Resources/Localizable.xcstrings @@ -14467,7 +14467,7 @@ "en" : { "stringUnit" : { "state" : "translated", - "value" : "Installed platforms" + "value" : "Installed Platforms" } } }