diff --git a/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Views/AddCloudKitAccountView.swift b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Views/AddCloudKitAccountView.swift new file mode 100644 index 000000000..135b825fb --- /dev/null +++ b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Views/AddCloudKitAccountView.swift @@ -0,0 +1,66 @@ +// +// AddCloudKitAccountView.swift +// Multiplatform macOS +// +// Created by Stuart Breckenridge on 03/12/2020. +// Copyright © 2020 Ranchero Software. All rights reserved. +// + +import SwiftUI +import Account + +struct AddCloudKitAccountView: View { + + @Environment (\.presentationMode) var presentationMode + + var body: some View { + VStack { + HStack(spacing: 16) { + VStack(alignment: .leading) { + AccountType.cloudKit.image() + .resizable() + .frame(width: 50, height: 50) + Spacer() + } + VStack(alignment: .leading, spacing: 8) { + Text("Sign in to your iCloud account.") + .font(.headline) + + Text("This account syncs across your Mac and iOS devices using your iCloud account.") + .foregroundColor(.secondary) + .font(.callout) + .lineLimit(2) + .padding(.top, 4) + + Spacer() + HStack(spacing: 8) { + Spacer() + Button(action: { + presentationMode.wrappedValue.dismiss() + }, label: { + Text("Cancel") + .frame(width: 60) + }).keyboardShortcut(.cancelAction) + + Button(action: { + presentationMode.wrappedValue.dismiss() + }, label: { + Text("Create") + .frame(width: 60) + }) + .keyboardShortcut(.defaultAction) + .disabled(AccountManager.shared.activeAccounts.filter({ $0.type == .cloudKit }).count > 0) + } + } + } + } + .padding() + .frame(width: 384, height: 150) + } +} + +struct AddCloudKitAccountView_Previews: PreviewProvider { + static var previews: some View { + AddCloudKitAccountView() + } +} diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index 29c020957..6de8850cb 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -1098,6 +1098,7 @@ D5F4EDB720074D6500B9E363 /* WebFeed+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */; }; D5F4EDB920074D7C00B9E363 /* Folder+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */; }; DD82AB0A231003F6002269DF /* SharingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD82AB09231003F6002269DF /* SharingTests.swift */; }; + DF98E29A2578A73A00F18944 /* AddCloudKitAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF98E2992578A73A00F18944 /* AddCloudKitAccountView.swift */; }; FA80C11724B0728000974098 /* AddFolderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA80C11624B0728000974098 /* AddFolderView.swift */; }; FA80C11824B0728000974098 /* AddFolderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA80C11624B0728000974098 /* AddFolderView.swift */; }; FA80C13E24B072AA00974098 /* AddFolderModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA80C13D24B072AA00974098 /* AddFolderModel.swift */; }; @@ -1932,6 +1933,7 @@ D5F4EDB620074D6500B9E363 /* WebFeed+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WebFeed+Scriptability.swift"; sourceTree = ""; }; D5F4EDB820074D7C00B9E363 /* Folder+Scriptability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Folder+Scriptability.swift"; sourceTree = ""; }; DD82AB09231003F6002269DF /* SharingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SharingTests.swift; sourceTree = ""; }; + DF98E2992578A73A00F18944 /* AddCloudKitAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCloudKitAccountView.swift; sourceTree = ""; }; FA80C11624B0728000974098 /* AddFolderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddFolderView.swift; sourceTree = ""; }; FA80C13D24B072AA00974098 /* AddFolderModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddFolderModel.swift; sourceTree = ""; }; FF3ABF09232599450074C542 /* ArticleSorterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSorterTests.swift; sourceTree = ""; }; @@ -2135,6 +2137,7 @@ children = ( 17386B792577C4BF0014C8B2 /* AddLocalAccountView.swift */, 17386BC32577CC600014C8B2 /* AddFeedbinAccountView.swift */, + DF98E2992578A73A00F18944 /* AddCloudKitAccountView.swift */, ); path = Views; sourceTree = ""; @@ -4683,6 +4686,7 @@ 514E6C0A24AD39AD00AC6F6E /* ArticleIconImageLoader.swift in Sources */, 51E4995024A8734C00B667CB /* ExtensionPoint.swift in Sources */, 51E4990E24A808CC00B667CB /* HTMLMetadataDownloader.swift in Sources */, + DF98E29A2578A73A00F18944 /* AddCloudKitAccountView.swift in Sources */, 51E498FB24A808BA00B667CB /* FaviconGenerator.swift in Sources */, 17D5F19524B0C1DD00375168 /* SidebarToolbarModifier.swift in Sources */, 51E4996724A8760B00B667CB /* ArticleStylesManager.swift in Sources */,