From a87ba499a2fed5580354399e25bae861e5379eb4 Mon Sep 17 00:00:00 2001 From: Matte23 Date: Tue, 15 Dec 2020 12:44:16 +0100 Subject: [PATCH] Integrate settings in application, add LaunchScreen --- ios/circolapp/Podfile | 1 + ios/circolapp/Podfile.lock | 6 +- .../circolapp.xcodeproj/project.pbxproj | 12 ++-- .../xcshareddata/xcschemes/circolapp.xcscheme | 2 +- ios/circolapp/circolapp/Info.plist | 2 + .../circolapp/LaunchScreen.storyboard | 49 ++++++++++++++++ .../circolapp/Settings.bundle/Root.plist | 53 ------------------ .../Settings.bundle/en.lproj/Root.strings | Bin 628 -> 0 bytes .../circolapp/View/ContentView.swift | 6 ++ .../circolapp/View/OnboardingView.swift | 7 +-- .../circolapp/View/SettingsView.swift | 50 +++++++++++++++++ 11 files changed, 124 insertions(+), 64 deletions(-) create mode 100644 ios/circolapp/circolapp/LaunchScreen.storyboard delete mode 100644 ios/circolapp/circolapp/Settings.bundle/Root.plist delete mode 100644 ios/circolapp/circolapp/Settings.bundle/en.lproj/Root.strings create mode 100644 ios/circolapp/circolapp/View/SettingsView.swift diff --git a/ios/circolapp/Podfile b/ios/circolapp/Podfile index 050ab5d..b3b872a 100644 --- a/ios/circolapp/Podfile +++ b/ios/circolapp/Podfile @@ -8,4 +8,5 @@ target 'circolapp' do pod 'shared', :path => '../../shared' pod 'Firebase/Messaging' pod 'Firebase/AppDistribution' + pod 'AppStorage', '~> 1.0.3' end diff --git a/ios/circolapp/Podfile.lock b/ios/circolapp/Podfile.lock index edb4d55..62dbd78 100644 --- a/ios/circolapp/Podfile.lock +++ b/ios/circolapp/Podfile.lock @@ -1,4 +1,5 @@ PODS: + - AppStorage (1.0.3) - Firebase/AppDistribution (7.1.0): - Firebase/CoreOnly - FirebaseAppDistribution (~> 7.1.0-beta) @@ -69,12 +70,14 @@ PODS: - HTMLKit (~> 3.1.0) DEPENDENCIES: + - AppStorage (~> 1.0.3) - Firebase/AppDistribution - Firebase/Messaging - shared (from `../../shared`) SPEC REPOS: trunk: + - AppStorage - Firebase - FirebaseAppDistribution - FirebaseCore @@ -93,6 +96,7 @@ EXTERNAL SOURCES: :path: "../../shared" SPEC CHECKSUMS: + AppStorage: dc9e2c18b5ebb7fed666af00c103b1c1432d459b Firebase: 78e8dd2e39d653de6270432ad84fe8b59f7bf4e8 FirebaseAppDistribution: 055561ff2d0682e92492c00f4bd2acf562f9eb6f FirebaseCore: 20046127eef0fcb8fa25df7fc12f7b97d4e48611 @@ -107,6 +111,6 @@ SPEC CHECKSUMS: PromisesObjC: 8c196f5a328c2cba3e74624585467a557dcb482f shared: fb3154b4def038b2b13aa88e01dd9f91bb2de9b5 -PODFILE CHECKSUM: a487659931a7673e546d39f1a5fb311269291d94 +PODFILE CHECKSUM: 072fc8452438117fc96c91f862d3a31d3cf40f14 COCOAPODS: 1.10.0 diff --git a/ios/circolapp/circolapp.xcodeproj/project.pbxproj b/ios/circolapp/circolapp.xcodeproj/project.pbxproj index 0e9aa50..93e7b9f 100644 --- a/ios/circolapp/circolapp.xcodeproj/project.pbxproj +++ b/ios/circolapp/circolapp.xcodeproj/project.pbxproj @@ -9,7 +9,7 @@ /* Begin PBXBuildFile section */ 9512D3C1257AB4F60023C3A1 /* NewReminderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9512D3C0257AB4F60023C3A1 /* NewReminderView.swift */; }; 952DEDDF2576F8DC001DF85D /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952DEDDE2576F8DC001DF85D /* SceneDelegate.swift */; }; - 9547205B2573B688005AA401 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9547205A2573B688005AA401 /* Settings.bundle */; }; + 953DDE7E2580312500C457CE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 953DDE7D2580312500C457CE /* LaunchScreen.storyboard */; }; 954AF8F62588A5C300666D0C /* CircularList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954AF8F52588A5C300666D0C /* CircularList.swift */; }; 954AF8F82588A5CF00666D0C /* FavouritesList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954AF8F72588A5CF00666D0C /* FavouritesList.swift */; }; 954AF8FA2588A5DD00666D0C /* RemindersList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954AF8F92588A5DD00666D0C /* RemindersList.swift */; }; @@ -23,6 +23,7 @@ 955B7A10257D10A70091B1F9 /* ViewControllerResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 955B7A0F257D10A70091B1F9 /* ViewControllerResolver.swift */; }; 95906F48257508660060F5D0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95906F47257506360060F5D0 /* Assets.xcassets */; }; 95906F4D257510370060F5D0 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 95906F4C257510370060F5D0 /* GoogleService-Info.plist */; }; + 95B4CE142588BC890090D5E8 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B4CE132588BC890090D5E8 /* SettingsView.swift */; }; 95BC3BF82572BCF900F24400 /* AttachmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BC3BF72572BCF900F24400 /* AttachmentView.swift */; }; 95C46A51255D3A34007A75E5 /* CircularViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C46A50255D3A34007A75E5 /* CircularViewModel.swift */; }; 95C9CBA32570EDEE005F879D /* Pods_circolapp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BEA78E7C5BBEF0119834B33 /* Pods_circolapp.framework */; settings = {ATTRIBUTES = (Required, ); }; }; @@ -53,7 +54,7 @@ 9512D3C0257AB4F60023C3A1 /* NewReminderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewReminderView.swift; sourceTree = ""; }; 952C5954255C57650018C010 /* shared.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = shared.framework; path = "../../shared/build/xcode-frameworks/shared.framework"; sourceTree = ""; }; 952DEDDE2576F8DC001DF85D /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 9547205A2573B688005AA401 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 953DDE7D2580312500C457CE /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 954AF8F52588A5C300666D0C /* CircularList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularList.swift; sourceTree = ""; }; 954AF8F72588A5CF00666D0C /* FavouritesList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavouritesList.swift; sourceTree = ""; }; 954AF8F92588A5DD00666D0C /* RemindersList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemindersList.swift; sourceTree = ""; }; @@ -68,6 +69,7 @@ 95906F47257506360060F5D0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 95906F4C257510370060F5D0 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 959B531E25764726009AD895 /* circolapp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = circolapp.entitlements; sourceTree = ""; }; + 95B4CE132588BC890090D5E8 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; 95BC3BF72572BCF900F24400 /* AttachmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachmentView.swift; sourceTree = ""; }; 95C46A50255D3A34007A75E5 /* CircularViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularViewModel.swift; sourceTree = ""; }; 95CA31AC255C1EDE00AC095B /* circolapp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = circolapp.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -132,6 +134,7 @@ 954AF8F52588A5C300666D0C /* CircularList.swift */, 954AF8F72588A5CF00666D0C /* FavouritesList.swift */, 954AF8F92588A5DD00666D0C /* RemindersList.swift */, + 95B4CE132588BC890090D5E8 /* SettingsView.swift */, ); path = View; sourceTree = ""; @@ -173,10 +176,10 @@ 95CA31AF255C1EDE00AC095B /* AppDelegate.swift */, 952DEDDE2576F8DC001DF85D /* SceneDelegate.swift */, 954E683C2574ED9E0034EBA8 /* UserDefaultsExtensions.swift */, + 953DDE7D2580312500C457CE /* LaunchScreen.storyboard */, 95CA31B8255C1EE000AC095B /* Info.plist */, 95906F4C257510370060F5D0 /* GoogleService-Info.plist */, 95906F47257506360060F5D0 /* Assets.xcassets */, - 9547205A2573B688005AA401 /* Settings.bundle */, 95CA31B5255C1EE000AC095B /* Preview Content */, ); path = circolapp; @@ -253,7 +256,7 @@ 95CA31B7255C1EE000AC095B /* Preview Assets.xcassets in Resources */, 95906F4D257510370060F5D0 /* GoogleService-Info.plist in Resources */, 95906F48257508660060F5D0 /* Assets.xcassets in Resources */, - 9547205B2573B688005AA401 /* Settings.bundle in Resources */, + 953DDE7E2580312500C457CE /* LaunchScreen.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -324,6 +327,7 @@ 955B7A0E257D098C0091B1F9 /* SearchBar.swift in Sources */, 9554BDB8257E498F00D8925B /* OnboardingView.swift in Sources */, 95C46A51255D3A34007A75E5 /* CircularViewModel.swift in Sources */, + 95B4CE142588BC890090D5E8 /* SettingsView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/circolapp/circolapp.xcodeproj/xcshareddata/xcschemes/circolapp.xcscheme b/ios/circolapp/circolapp.xcodeproj/xcshareddata/xcschemes/circolapp.xcscheme index 367b553..cacb474 100644 --- a/ios/circolapp/circolapp.xcodeproj/xcshareddata/xcschemes/circolapp.xcscheme +++ b/ios/circolapp/circolapp.xcodeproj/xcshareddata/xcschemes/circolapp.xcscheme @@ -1,6 +1,6 @@ UILaunchScreen + UILaunchStoryboardName + LaunchScreen UIRequiredDeviceCapabilities armv7 diff --git a/ios/circolapp/circolapp/LaunchScreen.storyboard b/ios/circolapp/circolapp/LaunchScreen.storyboard new file mode 100644 index 0000000..6cbd626 --- /dev/null +++ b/ios/circolapp/circolapp/LaunchScreen.storyboard @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/circolapp/circolapp/Settings.bundle/Root.plist b/ios/circolapp/circolapp/Settings.bundle/Root.plist deleted file mode 100644 index 9450304..0000000 --- a/ios/circolapp/circolapp/Settings.bundle/Root.plist +++ /dev/null @@ -1,53 +0,0 @@ - - - - - StringsTable - Root - PreferenceSpecifiers - - - Type - PSGroupSpecifier - Title - General - - - Type - PSMultiValueSpecifier - Title - School - Key - school - DefaultValue - 0 - Titles - - Liceo scientifico Maria Curie - Liceo G.F. Porporato - - Values - - 0 - 1 - - - - Type - PSGroupSpecifier - Title - Notifications - - - Type - PSToggleSwitchSpecifier - Title - Notifications - Key - enable_notifications - DefaultValue - - - - - diff --git a/ios/circolapp/circolapp/Settings.bundle/en.lproj/Root.strings b/ios/circolapp/circolapp/Settings.bundle/en.lproj/Root.strings deleted file mode 100644 index 70c33ce1665723657ddc33b59b28aeded4066317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcma)&!A`}pgF5kqgE@e6?4^VJ0Kl(&DouM&L4VJf^S|A-VZYkn04Ohl;EC;s=%xqv}bCE zYJjn&Q?tCcu;VaWq8+tSp$B-+xw7W(Y3ygMq<1_jCY{I%flLYAg1ylvh;x)+Eew11 znVa}mFr0b~d;g7|b$0Ze({GUS9^pA>psxA~bV-i&pPPc!=w u55KYB(zo&1cjzuA|KeE1u1`5}V)oMWCwg*RpkC+&o?o%O!T. + */ + +import SwiftUI +import AppStorage +import Shared + +struct SettingsView: View { + @AppStorageCompat("school") var school = 0 + + private let serverCompanion = ServerAPI.Companion() + + var body: some View { + NavigationView { + Form { + Picker("School", selection: $school) { + ForEach(0..