From a5a39cf2eb4fc92a73de24aee8633b9d95d77290 Mon Sep 17 00:00:00 2001 From: Chandram-Dutta Date: Tue, 18 Jun 2024 22:36:59 +0530 Subject: [PATCH 1/4] feat: initial mac support --- VITTY/VITTY.xcodeproj/project.pbxproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/VITTY/VITTY.xcodeproj/project.pbxproj b/VITTY/VITTY.xcodeproj/project.pbxproj index e4f84e8..5778c8c 100644 --- a/VITTY/VITTY.xcodeproj/project.pbxproj +++ b/VITTY/VITTY.xcodeproj/project.pbxproj @@ -1052,6 +1052,9 @@ PRODUCT_BUNDLE_IDENTIFIER = com.gdscvit.vittyios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; @@ -1089,6 +1092,9 @@ PRODUCT_BUNDLE_IDENTIFIER = com.gdscvit.vittyios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; From 8952b53c8ba5bbcd9002079b176a0a1fc5730886 Mon Sep 17 00:00:00 2001 From: Chandram-Dutta Date: Tue, 18 Jun 2024 22:41:22 +0530 Subject: [PATCH 2/4] chore --- .../xcshareddata/swiftpm/Package.resolved | 204 ------------------ 1 file changed, 204 deletions(-) delete mode 100644 VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 8aa1991..0000000 --- a/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,204 +0,0 @@ -{ - "originHash" : "6f82248712b2a75248927c08ca58128690eff43fddf009041594657c80f6cd6d", - "pins" : [ - { - "identity" : "abseil-cpp-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/abseil-cpp-binary.git", - "state" : { - "revision" : "748c7837511d0e6a507737353af268484e1745e2", - "version" : "1.2024011601.1" - } - }, - { - "identity" : "alamofire", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Alamofire/Alamofire.git", - "state" : { - "revision" : "f455c2975872ccd2d9c81594c658af65716e9b9a", - "version" : "5.9.1" - } - }, - { - "identity" : "app-check", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/app-check.git", - "state" : { - "revision" : "076b241a625e25eac22f8849be256dfb960fcdfe", - "version" : "10.19.1" - } - }, - { - "identity" : "appauth-ios", - "kind" : "remoteSourceControl", - "location" : "https://github.com/openid/AppAuth-iOS.git", - "state" : { - "revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2", - "version" : "1.7.5" - } - }, - { - "identity" : "firebase-ios-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/firebase-ios-sdk", - "state" : { - "revision" : "8bcaf973b1d84e119b7c7c119abad72ed460979f", - "version" : "10.27.0" - } - }, - { - "identity" : "googleappmeasurement", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleAppMeasurement.git", - "state" : { - "revision" : "70df02431e216bed98dd461e0c4665889245ba70", - "version" : "10.27.0" - } - }, - { - "identity" : "googledatatransport", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleDataTransport.git", - "state" : { - "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", - "version" : "9.4.0" - } - }, - { - "identity" : "googlesignin-ios", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleSignIn-iOS", - "state" : { - "revision" : "a7965d134c5d3567026c523e0a8a583f73b62b0d", - "version" : "7.1.0" - } - }, - { - "identity" : "googleutilities", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleUtilities.git", - "state" : { - "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", - "version" : "7.13.3" - } - }, - { - "identity" : "grpc-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/grpc-binary.git", - "state" : { - "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", - "version" : "1.62.2" - } - }, - { - "identity" : "gtm-session-fetcher", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/gtm-session-fetcher.git", - "state" : { - "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193", - "version" : "3.4.1" - } - }, - { - "identity" : "gtmappauth", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GTMAppAuth.git", - "state" : { - "revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a", - "version" : "4.1.1" - } - }, - { - "identity" : "interop-ios-for-google-sdks", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/interop-ios-for-google-sdks.git", - "state" : { - "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", - "version" : "100.0.0" - } - }, - { - "identity" : "leveldb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/leveldb.git", - "state" : { - "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", - "version" : "1.22.5" - } - }, - { - "identity" : "nanopb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/nanopb.git", - "state" : { - "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", - "version" : "2.30910.0" - } - }, - { - "identity" : "promises", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/promises.git", - "state" : { - "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", - "version" : "2.4.0" - } - }, - { - "identity" : "swift-argument-parser", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-argument-parser.git", - "state" : { - "revision" : "0fbc8848e389af3bb55c182bc19ca9d5dc2f255b", - "version" : "1.4.0" - } - }, - { - "identity" : "swift-cmark", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-cmark.git", - "state" : { - "revision" : "f218e5d7691f78b55bfa39b367763f4612486c35", - "version" : "0.3.0" - } - }, - { - "identity" : "swift-format", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-format", - "state" : { - "revision" : "83248b4fa37919f78ffbd4650946759bcc54c2b5", - "version" : "509.0.0" - } - }, - { - "identity" : "swift-markdown", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-markdown.git", - "state" : { - "revision" : "e4f95e2dc23097a1a9a1dfdfe3fe3ee44de77378", - "version" : "0.3.0" - } - }, - { - "identity" : "swift-protobuf", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-protobuf.git", - "state" : { - "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", - "version" : "1.26.0" - } - }, - { - "identity" : "swift-syntax", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-syntax.git", - "state" : { - "revision" : "64889f0c732f210a935a0ad7cda38f77f876262d", - "version" : "509.1.1" - } - } - ], - "version" : 3 -} From c3f25aeece043c312427f8d9d165f4cc8fc4891d Mon Sep 17 00:00:00 2001 From: Chandram-Dutta Date: Tue, 18 Jun 2024 22:45:13 +0530 Subject: [PATCH 3/4] feat: init(widgets) --- VITTY/VITTY.xcodeproj/project.pbxproj | 177 +++++++++++++++++- .../AccentColor.colorset/Contents.json | 11 ++ .../AppIcon.appiconset/Contents.json | 13 ++ .../Assets.xcassets/Contents.json | 6 + .../WidgetBackground.colorset/Contents.json | 11 ++ VITTY/vittyios-widgets/Info.plist | 11 ++ VITTY/vittyios-widgets/vittyios_widgets.swift | 80 ++++++++ .../vittyios_widgetsBundle.swift | 16 ++ 8 files changed, 320 insertions(+), 5 deletions(-) create mode 100644 VITTY/vittyios-widgets/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 VITTY/vittyios-widgets/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 VITTY/vittyios-widgets/Assets.xcassets/Contents.json create mode 100644 VITTY/vittyios-widgets/Assets.xcassets/WidgetBackground.colorset/Contents.json create mode 100644 VITTY/vittyios-widgets/Info.plist create mode 100644 VITTY/vittyios-widgets/vittyios_widgets.swift create mode 100644 VITTY/vittyios-widgets/vittyios_widgetsBundle.swift diff --git a/VITTY/VITTY.xcodeproj/project.pbxproj b/VITTY/VITTY.xcodeproj/project.pbxproj index 0ed0859..45b3e4e 100644 --- a/VITTY/VITTY.xcodeproj/project.pbxproj +++ b/VITTY/VITTY.xcodeproj/project.pbxproj @@ -7,8 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 09AA6AF72BE25ED800C21D8E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 09AA6AF62BE25ED800C21D8E /* GoogleService-Info.plist */; }; - 09AA6AF92BE25EDC00C21D8E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 09AA6AF82BE25EDC00C21D8E /* GoogleService-Info.plist */; }; 3109639F27824F6F0009A29C /* AppStorageConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3109639E27824F6F0009A29C /* AppStorageConstants.swift */; }; 31128CF92772F57E0084C9EA /* Poppins-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128CF32772F57E0084C9EA /* Poppins-Medium.ttf */; }; 31128CFA2772F57E0084C9EA /* Poppins-SemiBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128CF42772F57E0084C9EA /* Poppins-SemiBoldItalic.ttf */; }; @@ -78,6 +76,12 @@ 5251A7FE2B46E3A800D44CFE /* swift-format in Frameworks */ = {isa = PBXBuildFile; productRef = 5251A7FD2B46E3A800D44CFE /* swift-format */; }; 525AA7A92B4B0164003C6A12 /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525AA7A82B4B0164003C6A12 /* SearchView.swift */; }; 525F759D2B809F8400E3B418 /* LectureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525F759C2B809F8400E3B418 /* LectureDetailView.swift */; }; + 52644D112C21F7BD00D92917 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52644D102C21F7BD00D92917 /* WidgetKit.framework */; }; + 52644D122C21F7BD00D92917 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3105871C27A3ECBB00C2FC41 /* SwiftUI.framework */; }; + 52644D152C21F7BD00D92917 /* vittyios_widgetsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52644D142C21F7BD00D92917 /* vittyios_widgetsBundle.swift */; }; + 52644D172C21F7BD00D92917 /* vittyios_widgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52644D162C21F7BD00D92917 /* vittyios_widgets.swift */; }; + 52644D192C21F7BF00D92917 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 52644D182C21F7BF00D92917 /* Assets.xcassets */; }; + 52644D1D2C21F7BF00D92917 /* vittyios-widgetsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 527E3E082B7662920086F23D /* TimeTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527E3E072B7662920086F23D /* TimeTableView.swift */; }; 528B25602C1D7E960071EB6E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 528B255F2C1D7E960071EB6E /* GoogleService-Info.plist */; }; 528B25622C1D7E9C0071EB6E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 528B25612C1D7E9C0071EB6E /* GoogleService-Info.plist */; }; @@ -99,6 +103,16 @@ 5DC0AF552AD2B586006B081D /* UserImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DC0AF542AD2B586006B081D /* UserImage.swift */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 52644D1B2C21F7BF00D92917 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 314A408327383BEC0058082F /* Project object */; + proxyType = 1; + remoteGlobalIDString = 52644D0E2C21F7BD00D92917; + remoteInfo = "vittyios-widgetsExtension"; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 3105872727A3ECBD00C2FC41 /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; @@ -106,6 +120,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( + 52644D1D2C21F7BF00D92917 /* vittyios-widgetsExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -113,8 +128,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 09AA6AF62BE25ED800C21D8E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; - 09AA6AF82BE25EDC00C21D8E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; 3105871C27A3ECBB00C2FC41 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 3109639E27824F6F0009A29C /* AppStorageConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStorageConstants.swift; sourceTree = ""; }; 31128CF02772F0210084C9EA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; @@ -155,6 +168,12 @@ 5251A7FF2B46E3C000D44CFE /* .swift-format */ = {isa = PBXFileReference; lastKnownFileType = text; path = ".swift-format"; sourceTree = ""; }; 525AA7A82B4B0164003C6A12 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = ""; }; 525F759C2B809F8400E3B418 /* LectureDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LectureDetailView.swift; sourceTree = ""; }; + 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "vittyios-widgetsExtension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + 52644D102C21F7BD00D92917 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; + 52644D142C21F7BD00D92917 /* vittyios_widgetsBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = vittyios_widgetsBundle.swift; sourceTree = ""; }; + 52644D162C21F7BD00D92917 /* vittyios_widgets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = vittyios_widgets.swift; sourceTree = ""; }; + 52644D182C21F7BF00D92917 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 52644D1A2C21F7BF00D92917 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 527E3E072B7662920086F23D /* TimeTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeTableView.swift; sourceTree = ""; }; 528B255F2C1D7E960071EB6E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; 528B25612C1D7E9C0071EB6E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../../../Downloads/GoogleService-Info.plist"; sourceTree = ""; }; @@ -219,6 +238,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 52644D0C2C21F7BD00D92917 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 52644D122C21F7BD00D92917 /* SwiftUI.framework in Frameworks */, + 52644D112C21F7BD00D92917 /* WidgetKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -226,6 +254,7 @@ isa = PBXGroup; children = ( 3105871C27A3ECBB00C2FC41 /* SwiftUI.framework */, + 52644D102C21F7BD00D92917 /* WidgetKit.framework */, ); name = Frameworks; sourceTree = ""; @@ -285,6 +314,7 @@ AFEFCB6C27C90233007B2029 /* VITTY.entitlements */, AFEFCB6B27C90042007B2029 /* VITTYRelease.entitlements */, 314A408D27383BEC0058082F /* VITTY */, + 52644D132C21F7BD00D92917 /* vittyios-widgets */, 3105871927A3ECBB00C2FC41 /* Frameworks */, 314A408C27383BEC0058082F /* Products */, ); @@ -294,6 +324,7 @@ isa = PBXGroup; children = ( 314A408B27383BEC0058082F /* VITTY.app */, + 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */, ); name = Products; sourceTree = ""; @@ -533,6 +564,17 @@ path = Views; sourceTree = ""; }; + 52644D132C21F7BD00D92917 /* vittyios-widgets */ = { + isa = PBXGroup; + children = ( + 52644D142C21F7BD00D92917 /* vittyios_widgetsBundle.swift */, + 52644D162C21F7BD00D92917 /* vittyios_widgets.swift */, + 52644D182C21F7BF00D92917 /* Assets.xcassets */, + 52644D1A2C21F7BF00D92917 /* Info.plist */, + ); + path = "vittyios-widgets"; + sourceTree = ""; + }; 527E3E022B76626A0086F23D /* TimeTable */ = { isa = PBXGroup; children = ( @@ -706,6 +748,7 @@ buildRules = ( ); dependencies = ( + 52644D1C2C21F7BF00D92917 /* PBXTargetDependency */, ); name = VITTY; packageProductDependencies = ( @@ -747,6 +790,23 @@ productReference = 314A408B27383BEC0058082F /* VITTY.app */; productType = "com.apple.product-type.application"; }; + 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = 52644D202C21F7BF00D92917 /* Build configuration list for PBXNativeTarget "vittyios-widgetsExtension" */; + buildPhases = ( + 52644D0B2C21F7BD00D92917 /* Sources */, + 52644D0C2C21F7BD00D92917 /* Frameworks */, + 52644D0D2C21F7BD00D92917 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "vittyios-widgetsExtension"; + productName = "vittyios-widgetsExtension"; + productReference = 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -754,12 +814,15 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1520; + LastSwiftUpdateCheck = 1540; LastUpgradeCheck = 1520; TargetAttributes = { 314A408A27383BEC0058082F = { CreatedOnToolsVersion = 13.0; }; + 52644D0E2C21F7BD00D92917 = { + CreatedOnToolsVersion = 15.4; + }; }; }; buildConfigurationList = 314A408627383BEC0058082F /* Build configuration list for PBXProject "VITTY" */; @@ -782,6 +845,7 @@ projectRoot = ""; targets = ( 314A408A27383BEC0058082F /* VITTY */, + 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */, ); }; /* End PBXProject section */ @@ -805,6 +869,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 52644D0D2C21F7BD00D92917 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 52644D192C21F7BF00D92917 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -900,8 +972,25 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 52644D0B2C21F7BD00D92917 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 52644D172C21F7BD00D92917 /* vittyios_widgets.swift in Sources */, + 52644D152C21F7BD00D92917 /* vittyios_widgetsBundle.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 52644D1C2C21F7BF00D92917 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */; + targetProxy = 52644D1B2C21F7BF00D92917 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 314A409C27383BEE0058082F /* Debug */ = { isa = XCBuildConfiguration; @@ -1027,6 +1116,7 @@ 314A409F27383BEE0058082F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = VITTY/VITTY.entitlements; @@ -1068,6 +1158,7 @@ 314A40A027383BEE0058082F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = VITTY/VITTYRelease.entitlements; @@ -1105,6 +1196,73 @@ }; name = Release; }; + 52644D1E2C21F7BF00D92917 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 2TS98F9X52; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "vittyios-widgets/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "vittyios-widgets"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.gdscvit.vittyios.vittyios-widgets"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 52644D1F2C21F7BF00D92917 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 2TS98F9X52; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "vittyios-widgets/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "vittyios-widgets"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.gdscvit.vittyios.vittyios-widgets"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1126,6 +1284,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 52644D202C21F7BF00D92917 /* Build configuration list for PBXNativeTarget "vittyios-widgetsExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52644D1E2C21F7BF00D92917 /* Debug */, + 52644D1F2C21F7BF00D92917 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ diff --git a/VITTY/vittyios-widgets/Assets.xcassets/AccentColor.colorset/Contents.json b/VITTY/vittyios-widgets/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/VITTY/vittyios-widgets/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VITTY/vittyios-widgets/Assets.xcassets/AppIcon.appiconset/Contents.json b/VITTY/vittyios-widgets/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/VITTY/vittyios-widgets/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VITTY/vittyios-widgets/Assets.xcassets/Contents.json b/VITTY/vittyios-widgets/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/VITTY/vittyios-widgets/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VITTY/vittyios-widgets/Assets.xcassets/WidgetBackground.colorset/Contents.json b/VITTY/vittyios-widgets/Assets.xcassets/WidgetBackground.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/VITTY/vittyios-widgets/Assets.xcassets/WidgetBackground.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/VITTY/vittyios-widgets/Info.plist b/VITTY/vittyios-widgets/Info.plist new file mode 100644 index 0000000..0f118fb --- /dev/null +++ b/VITTY/vittyios-widgets/Info.plist @@ -0,0 +1,11 @@ + + + + + NSExtension + + NSExtensionPointIdentifier + com.apple.widgetkit-extension + + + diff --git a/VITTY/vittyios-widgets/vittyios_widgets.swift b/VITTY/vittyios-widgets/vittyios_widgets.swift new file mode 100644 index 0000000..8c8c0f7 --- /dev/null +++ b/VITTY/vittyios-widgets/vittyios_widgets.swift @@ -0,0 +1,80 @@ +// +// vittyios_widgets.swift +// vittyios-widgets +// +// Created by Chandram Dutta on 18/06/24. +// + +import WidgetKit +import SwiftUI + +struct Provider: TimelineProvider { + func placeholder(in context: Context) -> SimpleEntry { + SimpleEntry(date: Date(), emoji: "😀") + } + + func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> ()) { + let entry = SimpleEntry(date: Date(), emoji: "😀") + completion(entry) + } + + func getTimeline(in context: Context, completion: @escaping (Timeline) -> ()) { + var entries: [SimpleEntry] = [] + + // Generate a timeline consisting of five entries an hour apart, starting from the current date. + let currentDate = Date() + for hourOffset in 0 ..< 5 { + let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)! + let entry = SimpleEntry(date: entryDate, emoji: "😀") + entries.append(entry) + } + + let timeline = Timeline(entries: entries, policy: .atEnd) + completion(timeline) + } +} + +struct SimpleEntry: TimelineEntry { + let date: Date + let emoji: String +} + +struct vittyios_widgetsEntryView : View { + var entry: Provider.Entry + + var body: some View { + VStack { + Text("Time:") + Text(entry.date, style: .time) + + Text("Emoji:") + Text(entry.emoji) + } + } +} + +struct vittyios_widgets: Widget { + let kind: String = "vittyios_widgets" + + var body: some WidgetConfiguration { + StaticConfiguration(kind: kind, provider: Provider()) { entry in + if #available(iOS 17.0, *) { + vittyios_widgetsEntryView(entry: entry) + .containerBackground(.fill.tertiary, for: .widget) + } else { + vittyios_widgetsEntryView(entry: entry) + .padding() + .background() + } + } + .configurationDisplayName("My Widget") + .description("This is an example widget.") + } +} + +#Preview(as: .systemSmall) { + vittyios_widgets() +} timeline: { + SimpleEntry(date: .now, emoji: "😀") + SimpleEntry(date: .now, emoji: "🤩") +} diff --git a/VITTY/vittyios-widgets/vittyios_widgetsBundle.swift b/VITTY/vittyios-widgets/vittyios_widgetsBundle.swift new file mode 100644 index 0000000..eb2eb43 --- /dev/null +++ b/VITTY/vittyios-widgets/vittyios_widgetsBundle.swift @@ -0,0 +1,16 @@ +// +// vittyios_widgetsBundle.swift +// vittyios-widgets +// +// Created by Chandram Dutta on 18/06/24. +// + +import WidgetKit +import SwiftUI + +@main +struct vittyios_widgetsBundle: WidgetBundle { + var body: some Widget { + vittyios_widgets() + } +} From 7cf6283cbb044f0a0485aa4850359b58538db179 Mon Sep 17 00:00:00 2001 From: Chandram-Dutta Date: Sun, 7 Jul 2024 00:30:45 +0530 Subject: [PATCH 4/4] feat: improved auth and minor design changes --- .../AccentColor.colorset/Contents.json | 11 - .../HomeBG.imageset/Contents.json | 21 -- .../HomeBG.imageset/HomeBG.png | Bin 3273 -> 0 bytes .../HomeNoClassesBG.imageset/Contents.json | 21 -- .../HomeNoClassesBG.png | Bin 115325 -> 0 bytes .../InstructionsBG.imageset/Contents.json | 21 -- .../InstructionsBG.png | Bin 32707 -> 0 bytes .../LoginSignupBG.imageset/Contents.json | 21 -- .../LoginSignupBG.imageset/LoginSignupBG.png | Bin 29381 -> 0 bytes .../SplashScreen13BG.imageset/Contents.json | 21 -- .../SplashScreen13BG.png | Bin 42520 -> 0 bytes .../SplashScreen2BG.imageset/Contents.json | 21 -- .../SpashScreen2BG.png | Bin 37156 -> 0 bytes .../Accent.colorset}/Contents.json | 16 +- .../Background.colorset}/Contents.json | 16 +- .../Contents.json | 0 .../Secondary.colorset}/Contents.json | 8 +- .../Text.colorset}/Contents.json | 16 +- .../Gray.colorset/Contents.json | 20 -- .../SecondaryBlue.colorset/Contents.json | 20 -- .../Contents.json | 38 -- .../Contents.json | 38 -- .../SecondaryTextColor.colorset/Contents.json | 20 -- .../SmileFace.imageset/Contents.json | 21 -- .../SmileFace.imageset/Vector.png | Bin 747 -> 0 bytes .../SplashScreenIllustrations/Contents.json | 6 - .../TextFieldImages/Contents.json | 6 - .../unlock.imageset/Contents.json | 21 -- .../unlock.imageset/unlock.png | Bin 296 -> 0 bytes .../user.imageset/Contents.json | 21 -- .../TextFieldImages/user.imageset/user.png | Bin 302 -> 0 bytes .../blueBG.colorset/Contents.json | 38 -- .../brightBlue.colorset/Contents.json | 20 -- .../calendar.imageset/Contents.json | 21 -- .../calendar.imageset/calendar.png | Bin 1278 -> 0 bytes .../class.imageset/Contents.json | 21 -- .../Assets.xcassets/class.imageset/class.png | Bin 1329 -> 0 bytes .../gcalendar.imageset/Contents.json | 21 -- .../gcalendar.imageset/gcalendar.png | Bin 772 -> 0 bytes VITTY/Assets.xcassets/icons/Contents.json | 6 - .../friend-activity.imageset/Contents.json | 21 -- .../friend-activity.png | Bin 2514 -> 0 bytes .../friend-circle.imageset/Contents.json | 21 -- .../friend-circle.imageset/friend-circle.png | Bin 3232 -> 0 bytes .../icons/link.imageset/Contents.json | 21 -- .../icons/link.imageset/link.png | Bin 4296 -> 0 bytes .../icons/logout.imageset/Contents.json | 21 -- .../icons/logout.imageset/logout.png | Bin 3911 -> 0 bytes .../icons/profile.imageset/Contents.json | 21 -- .../icons/profile.imageset/profile.png | Bin 2445 -> 0 bytes .../icons/settings.imageset/Contents.json | 21 -- .../icons/settings.imageset/settings.png | Bin 3763 -> 0 bytes .../icons/smile.imageset/Contents.json | 21 -- .../icons/smile.imageset/smile.png | Bin 4949 -> 0 bytes .../selectedTabColor.colorset/Contents.json | 38 -- .../sick.imageset/Contents.json | 21 -- VITTY/Assets.xcassets/sick.imageset/sick.png | Bin 1481 -> 0 bytes .../tfBlue.colorset/Contents.json | 38 -- .../vacation.imageset/Contents.json | 21 -- .../vacation.imageset/vacation.png | Bin 1252 -> 0 bytes VITTY/ContentView.swift | 2 +- VITTY/VITTY.xcodeproj/project.pbxproj | 169 +-------- .../xcshareddata/swiftpm/Package.resolved | 204 +++++++++++ VITTY/VITTY/Auth/Models/AppUser.swift | 8 + .../VITTY/Auth/ViewModels/AuthViewModel.swift | 335 ++++++++---------- VITTY/VITTY/Auth/Views/LoginView.swift | 43 +-- .../AddFriends/View/AddFriendsView.swift | 8 +- .../Views/Components/FriendReqCard.swift | 2 +- .../Views/FriendRequestView.swift | 6 +- .../Search/Views/AddFriendCardSearch.swift | 3 +- .../Connect/Search/Views/SearchView.swift | 23 +- .../Views/Components/AddFriendCard.swift | 2 +- .../Views/SuggestedFriendsView.swift | 2 +- .../Connect/View/Components/FriendCard.swift | 6 +- VITTY/VITTY/Connect/View/ConnectPage.swift | 20 +- .../Instruction/Views/InstructionView.swift | 111 +++--- VITTY/VITTY/Settings/View/SettingsView.swift | 6 +- VITTY/VITTY/Shared/BackgroundView.swift | 9 +- VITTY/VITTY/Shared/UserDefaultKeys.swift | 11 +- .../TimeTable/Views/LectureDetailView.swift | 11 +- .../VITTY/TimeTable/Views/TimeTableView.swift | 12 +- VITTY/VITTY/Username/Views/UsernameView.swift | 13 +- .../Utilities/Constants/StringConstants.swift | 2 +- VITTY/VITTY/Utilities/Extensions/Color.swift | 27 -- VITTY/VITTY/Utilities/Extensions/Colors.swift | 26 -- .../VITTY/Utilities/Extensions/Gradient.swift | 16 - 86 files changed, 523 insertions(+), 1350 deletions(-) delete mode 100644 VITTY/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/HomeBG.png delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/HomeNoClassesBG.png delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/InstructionsBG.png delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/LoginSignupBG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/LoginSignupBG.imageset/LoginSignupBG.png delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/SplashScreen13BG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/SplashScreen13BG.imageset/SplashScreen13BG.png delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/SpashScreen2BG.png rename VITTY/Assets.xcassets/{DarkBG.colorset => Colors/Accent.colorset}/Contents.json (65%) rename VITTY/Assets.xcassets/{Primary.colorset => Colors/Background.colorset}/Contents.json (65%) rename VITTY/Assets.xcassets/{BackgroundImages => Colors}/Contents.json (100%) rename VITTY/Assets.xcassets/{tfBlueLight.colorset => Colors/Secondary.colorset}/Contents.json (63%) rename VITTY/Assets.xcassets/{Secondary.colorset => Colors/Text.colorset}/Contents.json (65%) delete mode 100644 VITTY/Assets.xcassets/Gray.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SecondaryBlue.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SecondaryGradientEnd.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SecondaryGradientStart.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SecondaryTextColor.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SmileFace.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/SmileFace.imageset/Vector.png delete mode 100644 VITTY/Assets.xcassets/SplashScreenIllustrations/Contents.json delete mode 100644 VITTY/Assets.xcassets/TextFieldImages/Contents.json delete mode 100644 VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/unlock.png delete mode 100644 VITTY/Assets.xcassets/TextFieldImages/user.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/TextFieldImages/user.imageset/user.png delete mode 100644 VITTY/Assets.xcassets/blueBG.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/brightBlue.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/calendar.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/calendar.imageset/calendar.png delete mode 100644 VITTY/Assets.xcassets/class.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/class.imageset/class.png delete mode 100644 VITTY/Assets.xcassets/gcalendar.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/gcalendar.imageset/gcalendar.png delete mode 100644 VITTY/Assets.xcassets/icons/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/friend-activity.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/friend-activity.imageset/friend-activity.png delete mode 100644 VITTY/Assets.xcassets/icons/friend-circle.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/friend-circle.imageset/friend-circle.png delete mode 100644 VITTY/Assets.xcassets/icons/link.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/link.imageset/link.png delete mode 100644 VITTY/Assets.xcassets/icons/logout.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/logout.imageset/logout.png delete mode 100644 VITTY/Assets.xcassets/icons/profile.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/profile.imageset/profile.png delete mode 100644 VITTY/Assets.xcassets/icons/settings.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/settings.imageset/settings.png delete mode 100644 VITTY/Assets.xcassets/icons/smile.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/icons/smile.imageset/smile.png delete mode 100644 VITTY/Assets.xcassets/selectedTabColor.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/sick.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/sick.imageset/sick.png delete mode 100644 VITTY/Assets.xcassets/tfBlue.colorset/Contents.json delete mode 100644 VITTY/Assets.xcassets/vacation.imageset/Contents.json delete mode 100644 VITTY/Assets.xcassets/vacation.imageset/vacation.png create mode 100644 VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 VITTY/VITTY/Utilities/Extensions/Color.swift delete mode 100644 VITTY/VITTY/Utilities/Extensions/Colors.swift delete mode 100644 VITTY/VITTY/Utilities/Extensions/Gradient.swift diff --git a/VITTY/Assets.xcassets/AccentColor.colorset/Contents.json b/VITTY/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/VITTY/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/Contents.json b/VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/Contents.json deleted file mode 100644 index 4b28260..0000000 --- a/VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "HomeBG.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/HomeBG.png b/VITTY/Assets.xcassets/BackgroundImages/HomeBG.imageset/HomeBG.png deleted file mode 100644 index 2e677211dc173eb4cfcaed71440186ec01035930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3273 zcmeAS@N?(olHy`uVBq!ia0y~yV4TOmz}&#W1{C447d;E4I14-?iy0WWg+Z8+Vb&Z8 zpde#$kh>GZx^prwfgF}}M_)$E)e-c?47mdKI;Vst0F8I{lmGw# diff --git a/VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/Contents.json b/VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/Contents.json deleted file mode 100644 index 280928d..0000000 --- a/VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "HomeNoClassesBG.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/HomeNoClassesBG.png b/VITTY/Assets.xcassets/BackgroundImages/HomeNoClassesBG.imageset/HomeNoClassesBG.png deleted file mode 100644 index d5d1f44aabcdf86f36ee66a3d539d3e7acc4c67b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115325 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 TQ(6uD&FdvEts+$;VH*5@1GUEQ diff --git a/VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/Contents.json b/VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/Contents.json deleted file mode 100644 index d21f705..0000000 --- a/VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "InstructionsBG.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/InstructionsBG.png b/VITTY/Assets.xcassets/BackgroundImages/InstructionsBG.imageset/InstructionsBG.png deleted file mode 100644 index 83bfb65c3d2723ca7c3a6848fe4cc9d59254e16a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32707 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 diff --git a/VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/Contents.json b/VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/Contents.json deleted file mode 100644 index 8def669..0000000 --- a/VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "SpashScreen2BG.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/SpashScreen2BG.png b/VITTY/Assets.xcassets/BackgroundImages/SplashScreen2BG.imageset/SpashScreen2BG.png deleted file mode 100644 index db2c206ea305ba2b43fff6c783ed26f4d186244d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37156 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 MPgg&ebxsLQ0JujpCIA2c diff --git a/VITTY/Assets.xcassets/DarkBG.colorset/Contents.json b/VITTY/Assets.xcassets/Colors/Accent.colorset/Contents.json similarity index 65% rename from VITTY/Assets.xcassets/DarkBG.colorset/Contents.json rename to VITTY/Assets.xcassets/Colors/Accent.colorset/Contents.json index f54b7c5..fc85500 100644 --- a/VITTY/Assets.xcassets/DarkBG.colorset/Contents.json +++ b/VITTY/Assets.xcassets/Colors/Accent.colorset/Contents.json @@ -2,12 +2,12 @@ "colors" : [ { "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x1F", - "red" : "0x07" + "blue" : "0.988", + "green" : "0.902", + "red" : "0.769" } }, "idiom" : "universal" @@ -20,12 +20,12 @@ } ], "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x1F", - "red" : "0x07" + "blue" : "0.988", + "green" : "0.902", + "red" : "0.769" } }, "idiom" : "universal" diff --git a/VITTY/Assets.xcassets/Primary.colorset/Contents.json b/VITTY/Assets.xcassets/Colors/Background.colorset/Contents.json similarity index 65% rename from VITTY/Assets.xcassets/Primary.colorset/Contents.json rename to VITTY/Assets.xcassets/Colors/Background.colorset/Contents.json index cbbcac2..7ca1468 100644 --- a/VITTY/Assets.xcassets/Primary.colorset/Contents.json +++ b/VITTY/Assets.xcassets/Colors/Background.colorset/Contents.json @@ -2,12 +2,12 @@ "colors" : [ { "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0xA1", - "green" : "0x7C", - "red" : "0x5B" + "blue" : "0.149", + "green" : "0.090", + "red" : "0.031" } }, "idiom" : "universal" @@ -20,12 +20,12 @@ } ], "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0xA1", - "green" : "0x7C", - "red" : "0x5B" + "blue" : "0.149", + "green" : "0.090", + "red" : "0.031" } }, "idiom" : "universal" diff --git a/VITTY/Assets.xcassets/BackgroundImages/Contents.json b/VITTY/Assets.xcassets/Colors/Contents.json similarity index 100% rename from VITTY/Assets.xcassets/BackgroundImages/Contents.json rename to VITTY/Assets.xcassets/Colors/Contents.json diff --git a/VITTY/Assets.xcassets/tfBlueLight.colorset/Contents.json b/VITTY/Assets.xcassets/Colors/Secondary.colorset/Contents.json similarity index 63% rename from VITTY/Assets.xcassets/tfBlueLight.colorset/Contents.json rename to VITTY/Assets.xcassets/Colors/Secondary.colorset/Contents.json index 0c2ed04..9785fb8 100644 --- a/VITTY/Assets.xcassets/tfBlueLight.colorset/Contents.json +++ b/VITTY/Assets.xcassets/Colors/Secondary.colorset/Contents.json @@ -2,12 +2,12 @@ "colors" : [ { "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0xA1", - "green" : "0x7C", - "red" : "0x5B" + "blue" : "0.192", + "green" : "0.118", + "red" : "0.051" } }, "idiom" : "universal" diff --git a/VITTY/Assets.xcassets/Secondary.colorset/Contents.json b/VITTY/Assets.xcassets/Colors/Text.colorset/Contents.json similarity index 65% rename from VITTY/Assets.xcassets/Secondary.colorset/Contents.json rename to VITTY/Assets.xcassets/Colors/Text.colorset/Contents.json index 3eb4add..53d696c 100644 --- a/VITTY/Assets.xcassets/Secondary.colorset/Contents.json +++ b/VITTY/Assets.xcassets/Colors/Text.colorset/Contents.json @@ -2,12 +2,12 @@ "colors" : [ { "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0xFC", - "green" : "0x6A", - "red" : "0x12" + "blue" : "0.984", + "green" : "0.957", + "red" : "0.957" } }, "idiom" : "universal" @@ -20,12 +20,12 @@ } ], "color" : { - "color-space" : "srgb", + "color-space" : "display-p3", "components" : { "alpha" : "1.000", - "blue" : "0xFC", - "green" : "0x6A", - "red" : "0x12" + "blue" : "0.984", + "green" : "0.957", + "red" : "0.957" } }, "idiom" : "universal" diff --git a/VITTY/Assets.xcassets/Gray.colorset/Contents.json b/VITTY/Assets.xcassets/Gray.colorset/Contents.json deleted file mode 100644 index b196338..0000000 --- a/VITTY/Assets.xcassets/Gray.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "0.700", - "blue" : "232", - "green" : "232", - "red" : "232" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SecondaryBlue.colorset/Contents.json b/VITTY/Assets.xcassets/SecondaryBlue.colorset/Contents.json deleted file mode 100644 index cd7d964..0000000 --- a/VITTY/Assets.xcassets/SecondaryBlue.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x33", - "green" : "0x1F", - "red" : "0x07" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SecondaryGradientEnd.colorset/Contents.json b/VITTY/Assets.xcassets/SecondaryGradientEnd.colorset/Contents.json deleted file mode 100644 index 000f6f9..0000000 --- a/VITTY/Assets.xcassets/SecondaryGradientEnd.colorset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "0.120", - "blue" : "0xFC", - "green" : "0x6A", - "red" : "0x12" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "0.120", - "blue" : "0xFC", - "green" : "0x6A", - "red" : "0x12" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SecondaryGradientStart.colorset/Contents.json b/VITTY/Assets.xcassets/SecondaryGradientStart.colorset/Contents.json deleted file mode 100644 index 5ef1bbf..0000000 --- a/VITTY/Assets.xcassets/SecondaryGradientStart.colorset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "0.532", - "blue" : "0xFC", - "green" : "0x6A", - "red" : "0x12" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "0.532", - "blue" : "0.988", - "green" : "0.416", - "red" : "0.071" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SecondaryTextColor.colorset/Contents.json b/VITTY/Assets.xcassets/SecondaryTextColor.colorset/Contents.json deleted file mode 100644 index c392fbc..0000000 --- a/VITTY/Assets.xcassets/SecondaryTextColor.colorset/Contents.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x7B", - "green" : "0x76", - "red" : "0x71" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SmileFace.imageset/Contents.json b/VITTY/Assets.xcassets/SmileFace.imageset/Contents.json deleted file mode 100644 index 446d6be..0000000 --- a/VITTY/Assets.xcassets/SmileFace.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "Vector.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/SmileFace.imageset/Vector.png b/VITTY/Assets.xcassets/SmileFace.imageset/Vector.png deleted file mode 100644 index 22ef8f5001e80ed9e0dcdddd094cf37d189aaebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 747 zcmVO%Bn(X=r)bz4# zLmh&7(R)0`8tIef(+@(4IG$fk5?v>xIucb0agBtb)=4<=-1RXZJOWaSQ|k(W93rS5 zjf6OJ0W^?e1-Zz%2L}K5EmPmvC}GM>S5A_|y?p z^KR5xD!CvuzGReYbMX=&5h;S$v)?-Nm&{tdZw^<>XN5Z(x|2Mr6rs-*jAoy=PY`K! zZ~KT;E0TZN^FIQqFOr?&)ZPi1J0KAO0wM>E@j4tV1CpR%Jkf7rwI{t|!DO2q*@}p2 zoZu6(kqjfS zF4_~&N-C?NM2gQor7MbN#EAcEMdf8L_$84_z4#^5q5bCnC%)$FLdB;CPP8t4Q!uZ> zDLEK3nO~lom115d;vC18vyVjP>uD?qc4w(_2CmFp39(rLkowYJVxToh>C46`{HwV| zVB3$p5c=XTeCj+CmuGCj<8jXh&3whYZS{Odk!9z^tO?SG>CheLKr&AEe5^^;wAesQIR>@WQ|+dSPi3O z{ZIoXQ)33x8~6DN+DW!v5+#xBV_6A^Aqb2%;~%G%V^PkTlUE7w+U6BQir2Q`v4QZ9 dhOlh2`~&|mQF9(;x|{$2002ovPDHLkV1l+yO7s8# diff --git a/VITTY/Assets.xcassets/SplashScreenIllustrations/Contents.json b/VITTY/Assets.xcassets/SplashScreenIllustrations/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/VITTY/Assets.xcassets/SplashScreenIllustrations/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/TextFieldImages/Contents.json b/VITTY/Assets.xcassets/TextFieldImages/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/VITTY/Assets.xcassets/TextFieldImages/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/Contents.json b/VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/Contents.json deleted file mode 100644 index f599000..0000000 --- a/VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "unlock.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/unlock.png b/VITTY/Assets.xcassets/TextFieldImages/unlock.imageset/unlock.png deleted file mode 100644 index 649ef89e48f19bc2d13e9f5dc03bf211f14d6b9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9GG!XV7ZFl!D-1!HlL zyA#8@b22Z19F}xPUq=Rpjs4tz5?O)#y`C$aX|@S|N=EG?Ef zc7>e`?^DI}d{1@347-?93&Jlh5crkz?}De7jDu?7+_`rb9Zo22o^F%%U15!Aci*$c mvcH?nZoCkBvgYutJ&bz3MG+o} z7ISWFmuQ`@^jK?Wz&!5798;G~GM;lg$}}(Ib6elRBdq#zv8vx6eC!PTQ7twnW0UxA z?lgh3YXl2e{=_C{YMs|z$NhG%yK|6I1KivAr`u$6REAM@;e3;kQU6L=P74mfI u=3VAfUr8(}i~GDN^PT-`(c(20vhuvMww*GNEA|3bMM`~cXikOQP*|5b${wl<7)kBB`%Q$LZg_pSW_Awq!1|m3AO24p-;hwLZJ_Z z6#4^&5-7D#z6AObX@y8$+B_5`F``D-RkG^pTFtud{h7>}y?0m5><%-`Ip;gych1Zu zfP+#pI(GAdez+HFXbJwYw!HoI#LwT}82$9CpPB-THx|;(*K9W70TD!9%O52wjLa|l zqVI=^AHVr%(jnI4V4;+uz^3OM!sEaoHRj`!LqnP}lWFYpeHsqURi* z4-XCY-nsL@F*@>YOLKFxZ}_b~@1@KAEt8Xz$~%Mo3H0fI^K3$q{l0iC)Hyu#b|YnA zgh7gEJfF{ZtUOI!Tz|3{3GHRGOX>B&&(6F$zj}1=-fNmPpVJF{nc07-eSfDu`DF3T z)le{-I?4@Q3pYG`YN%JF$Nw!W4trvI`Jt@-{a5n#y?dL4vNGKL{EJ`jr;-;pa);zx zppH(itV$omqW0gDYq?AQT4DCtv;8VcEBsYexqs4W*X2-%P9&4It1kr|e{N-R9kN~7 z5yaf?|9e&M$K$_UxOM9j2^otbq4C-p8aOx*Y8?)_&tJ3eQWQ^bwI>^LyFHpHsy;=Q z2$1UDy4nMmEPE3^?~bq1>FLPlv&|l_vUzwY$u4J}5yi>^2L?jGElTyFu5NO)y$xsm zb>95eCUjQUhS3~#x!i>L5StCWE|-_dgx5naJN0}XIs^4VB8m{JtOUw@K+~WMtm|N} zbb_QPgw)gkkt9H1Y8YS*1eMrCLKK6U4U;?#;SO#`AHE~BA3S)qP8iJWlDhsrkY>@ym z#{^hSL1ezF#(X&AlENY-f`0;5y}@L1d{2&_p&P0(LlC?eN=hot8UvSstaZ+Wau&r$ zNx4)EvTS^>=^Pki(2h2%JSAWvuuN3ohgd(%iU6Wn3hu~ijOV&pV=L)#mUxbSCrWX8 zSedP1f#7QO16OO}kXe69M0k)+c_~nyVK++hO2Mq-yrI~A6QocmloH|@HW%$H%PZjb z`%T6|k)dQO%0)Toh|>7=W6iP7ttMLX?RGn#D!a!U8yhflf2Pd%wB*zBE#?+G{vg;q z%;jKxcNa3546LrMLNb{Ix7&RZxcF#vo*gCOwA41dB^cFgG^` zbF*{cbUC5%l}2c9Yd;B$(kzMA9&d|C%CAh6#G(%?4YHh>nSoR)1^zleuHC(?EnA(07*qoM6N<$g7+I)B>(^b diff --git a/VITTY/Assets.xcassets/class.imageset/Contents.json b/VITTY/Assets.xcassets/class.imageset/Contents.json deleted file mode 100644 index e54d509..0000000 --- a/VITTY/Assets.xcassets/class.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "class.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/class.imageset/class.png b/VITTY/Assets.xcassets/class.imageset/class.png deleted file mode 100644 index 55864c2f48a7f1c6a5583cde660138c61297beee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1329 zcmV-11N#O^l`M48zRaIrlr?Ip;fP z2y{85ltkU<=jU1J>cmkY02+udJYXIVpK~QRcU9ZOF=6MH;4wj*NON;atzo!iNVAJom?T2V@iU!q;bqHX60Jq!iB* zFigi`kk97{cR4W(Lv3giz*EEmf<_?MR#s%tY(ldYL}3(8FxNkI_{i~}6gVlBF5ETq z>y=TE;t;brxUNgGeOX|P5vl<-3v|8}n|?+DfN6qev!x<{Mx!BXwF-Wx-wo{B`@C5y zEw5(1%vbe#WoW7VcLqVo@^Tq!>lIMpGUmWWy#@~F5JfRWVGBGz1-0rrdX(V%X|le) z1}54jQ#%%kjJ|9%{#qd_4YRYC{n^sx={O8?hCwOT8pDl%QbThTA_hXKPJv=<7$$^a zsPjk>5S>XCek&ByM~6o4gTcYjR10|2u1{SV3tIJ8>Oml@)pas6zXXMTR6r^PVJn1d z*KY!MY`A+@UZ-GTu?)*Abr{^!54LTiKZ>laQ3blC5UGNa(wdw&^TYWs-j5Fs-y;qD zI5@CVo*#WrzWe4e$!sc<9+RJ+c}ISF>J8bG=8~e#v5^Pl_~-}X?CH11Hc4#|?lp6L^Ax%MD0)32+<-F96FV;3iz1bM6of9p5YfQOEh-k4(ni45Q_+IT)R8x7-s7&ELeM`IT()U<6o$cSs! z7N*F?mUa^fl)TX2fe5rs;N@V1E_4O9uptc70Ecm42x{95Ov}W(g?d(wOg%5G&O4zo z+A*zR!=$7uu#jzuI6Q$V$Y2-xdR^%@narRQ>_j}388!x>Zoxta?ak1gvFfTYijaYg z1>p!}V;Vft(GgVLo z!f4ey&Ig?)L$sq;Ye5kFCl&PH#}mY~Sub`Ef|{DO@4J{gOFL4MN_ei$CkkE5PDRAA z;Fhih%R#ZY1+FE69YdFH{(Lfyn=eFhNPM3W1B>+J;bF|J57eOOjKKXvd!SJ0$J9tj zB`rv&Q}EcM`_Ye@(~W`F@V@HlkI(&BEEZKOpQLf?)sbJWemh>RR<-zXqiRNoMSC+k3Fj~9^hF0BK61!(@)y;NxOZ-9@?v>$!IOj%iN#SvcoR_I+$Ej6 zT2~rYLqK-kVcQQ0*97Xl{LtesK1k+%`)2yu+{`XLxHTD}S;bOn9I0l6mSSgM=?8Qy nV^lBrf9Lmb2!y7mr@J}l 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 G5&j0od%@xW diff --git a/VITTY/Assets.xcassets/icons/friend-circle.imageset/Contents.json b/VITTY/Assets.xcassets/icons/friend-circle.imageset/Contents.json deleted file mode 100644 index f6f3a67..0000000 --- a/VITTY/Assets.xcassets/icons/friend-circle.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "friend-circle.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/icons/friend-circle.imageset/friend-circle.png b/VITTY/Assets.xcassets/icons/friend-circle.imageset/friend-circle.png deleted file mode 100644 index ae92d2e1fcd69e12472b6aeebb07ebfcedb82449..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3232 zcmV;R3}5q!P)(EctQSZ+u92AMhNKxE3}nu_qILaI;?D~g^+V_TGqDPD+=r> z8rzn(86hMF@(|inEI}bA8df-JMg}|FB&LR8^Z{v31PDpvQLUZ3i zP*%2m>_cE9=d~5&R2tA0E(h1yNY`>JCs1-_+H*`5;>NaDLgtO@WTXl1Y7C)0alT!I z_@j_{(h6?OzJ1J52;gn(25}gTm>Y?L`+$t?N2F_EYT&tmG#mGmOayqxF~&O~(}k;Dh}kX5-W#ZbHz3 zn+ouwXHB3p7cw*KHN8a`+P_o4cGO*<6YpiFxQ8-u-83I^2i^wMXfSgJ27Y8vqZX1c z@H4)O?Y#EkeGELjgH9|WXM(WST}mM!JczLnk{ok#(f`D#5JPOH+h}K<5VIUkT ztcB!5K2!g%&Yk=b7Y7r7U;Z7N3MTzA4LJN&)07yswqz z--K-WqAahZ0CE;yqby$w*`g({HZ-k9g!XP40jGBM@!l*oZ@^oAqP=^BrhO^ABVm-~ ztnqNn-^%jYzoBv!UhT&JU&tZao5;w_nVRr&+TSr7W%<8k=1}vJ$uc$JrL#tUk*n}( zLi!&eq-AQtOUN&B9$_PC7-jkF{exVEccU!lR|3Zr>mN)_csVqDjOGW-en2Nn;SCg+ z=7f`DjIx}5!&n3+oK!-70-t!W*a=KIJ8as#UD~}nw0p5BVFFXm!mHVAe+b!9Da(II z0ZdVNUzPAmOho(IWG!S|pywv2q;L@adYGow*g&sM#=H%__~0p+w;>0hXUusl-E;uc zVC4;bD2Qo|4ghnNO#|B*pFr*V8_=^v(qzbqh?ZGMVSxF0r$s>16sLWmr+A{)&5?+< zxsyVG9$_f*Ei@SrF6C6o%t5%Et6Oe_5qHQU-C4e+%XH+3>h4wb_ zL38WWLdu{O;FQ(STn?lnM00(jj44_9@8l(U4n&XT+VtIhg#s zKf;a77FQIs*5Vz%wRObSLVAP3djk0QY9&5$@KU@m8wm^bX0N#vqb^GE zorS)KgTmVp9E{2ZN)Ql22qA2riwIQGZx+l=d)y!G@iy)9=O>QaWuI@D2X2B`!Tpe^ zrJU2|$^ldz_wSs(OR~gwJ}!3okncMjgVm6x1k&tV*RdBTsm6I`$;G8`kzQgUD8Sj7 z4egED2H1`C%g-u5xxS9zn+s7f#8}W)sV;;M~*rgEQZLM2ew+@8HxHsbfgdbk_x54c{ zcsuqK3mF*r(ZUcbxi+|LIB`g7$pnP$+y++);KTRTVO%$6#`Jmo8aebC{A=(Q{S9OG zO(husf1g5J-Q$KAq9sOnz!4T;CriVw}z*LO8j2(Oa|yzPkB2 zW8h7zdFpl_SvgTdgRqxvq+sBkdyRhHNbsXUUF_Ob+i6A$2YQ5IDMX+<`Iki=;BDI_ z(sAonLVg1OrqM7$V%qn-w=}v&zh z8)peG;pauTG`*mwm*ejiZ(0C2-!!AU_EJr6rqpt-t_tLU%`A+mh*G(->H=4KaPaA)w)L6 z;4cpK_J%h4_)^F|+Wk1bf6$#Ydcr*tu;tQ%?*)LsU=9vHk3u*!RtxEkNXJw{e&(@2 zsv?E1bvaFM0H9B{UI+^L71BG<=kykDIw1U2b$z(TpRQ!aAnc^wYa5N0P?-DB*KUW7K*A`O+0tCP@~DTPla1HyK06Wh2^HZ(#;0b%pO@lIv{;$^!` zYzHS1GAan050fvj=N>?WS)}ZQ!kZ}w7ol+iY-EBUoZi)u_JJ>jH(wA>KhR7~fLpJ?+RlmI(yL12`Bde3USsTEgrltY?ZQ~ z3h5?-W86``L;-d*@HUi7TjXX9(Jsyiq{UtLS;1>qr@cR-o6tIimdE@Gq&onmvcyCl zR&>+CU2(SULULo^i=G3M8HGf8NUhWLV_6X&KWQ>yY+ru9pg%X_h4#gmf_pab2K@@eG5KnsNDF~w z7hOs+8#Lg}3Flo_;_GD@DaW*MX2M#$7Mev-MfgcruDurDj~m;*+V&+!E&C75fqJ19 S49BTXpuvQ$w{_QS(uh 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 VwcILex1s<5002ovPDHLkV1fYxG!g&+ diff --git a/VITTY/Assets.xcassets/icons/profile.imageset/Contents.json b/VITTY/Assets.xcassets/icons/profile.imageset/Contents.json deleted file mode 100644 index 962e49c..0000000 --- a/VITTY/Assets.xcassets/icons/profile.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "profile.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/icons/profile.imageset/profile.png b/VITTY/Assets.xcassets/icons/profile.imageset/profile.png deleted file mode 100644 index 6d5d690684fed72880504b895cd1b2dec9d71225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2445 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

b)Kp2Xb+cz#x0Et-{B^fa z58tKfKT&RHE>jI(*Z)NrY2HF+W18%i53aJT!-v*&pIDi*l#Ac%?5MUk!Fsf>)en=^ z1O)Ui#C`v#jwXK!d2aeW6tQ{TF}?tgYV%~p$S6}EL!uL!oWZ7&+d@L@Pr*M5trAg^ zn?s7#9BW$1SfF|1q&BdAe=)BguqR0z`)DxdRhaQDAp+?IFp_R?H3qH}fg0htgj{9c z?WqO(){6M!Tgx{sm^bQQIMEXBm`X`cTa7P#y04XNMb(qEauh+FcfZlZpZs?g$Nlen z!WeD0tS*~1OHm6PK{`6=eDqOVT2kxqhxw&SlpAwMJ-Y^PJ`V1B4dJlfXMG5`@A`GM zPdaixKe%dAP2P5pk8ws3M5R%XC9?3eP1V-iY7cBQqaQKXlTwBIV`6|HzKJT(t3!8` z{4pR065m+RG3mTFoueG33cq32Rzj&8R9)j*7DDZa8(knJg^GU?dFE|fB*PH}{avNA zLhQX*`H3dl3)X=Xk6`<0B_QJ}a;*H5`_gwEzh1GQh{*A_{Z5=JBkA37rZN;)TK|S2 zm=$fmoei~(*Q`&Z5|uq*lIi0LNnG=BlZ-1*>sIO7zv$|q(rPc{9AI&EGW4%xvpg~D zmF+30nmQkiK|9J--zkpcT8`qOIBK}0$BDz*-;y=L;`daH1*MZQs2LZ5pR5>dC!Osh zMtUJm^!G{jf==DLe8HF~nK2Y^a<-u$F4E(v8#@MvAX>kqSVV0jOrqW=WE;;Tur-6d zmIxMC1KLs;8l8XK!39%hN}97Bx>`^hJ5{JD+!LJ@4;R z{%ZO{H#DCukma!tBD{WMz)BoPJm13Zt36~8GMl2`d}C|86F@5>^^ z>mxz+H#QD?>cYXEXkBRT=*KaqbtU1(7E zT{1{LzKbpJRte#-5-ON8oH<5)V)^D(LAdVI8`}x|3d+g2OSVDdDOhT`Pej9qNsxID z!Hor3R=+gM5^&B9tS?bTtoRZWXNG5*nab{ku77j7SZ@>z*r|3lLUFsyIqrM)6f#y? zKB76*U4Jcj8tE>v%P>hSgCd^m$;VfrR^BDmkgjiB+)DXo>q^V*I1rY-L1~a?6Z01I zCR{P@*|!RZJR^)0&EBNljIDN+ z1?*^4RIUcLg6v4dRkie0))?9UDsQ(%_}MO^4G&#rH0fODuJzX%w!d0(&a6*Sy|nO# zFF>~0s^uwMk81EeJ;Eg&o=tn^ov_0-Mom+G(_-jb&CdXtv6q2K*=dSL&e(-6*=G3g z9Se`5Mdbm~rf+&$_0040eOcu-CMh4cmta5dz9c+i2o={2>PDw_FsjejfA^KzFeonM z-Dq#%7l$1cxGhfc!PhmPWj{U2M$6 zcf?7eE(N@BP`Wz3DCdb6KI|hL??%Nh5$7QH!@^^O@57B#;~bsGZcp(vEcRCv^FNty-k0qB7lPk0%^zPm1>q2_ z&(}J>k+G?9kE%ByI3X%*dbfSxotgkXNg=nVEXDTZjzR^B&^m9KNsx0y0c)0lD zULn>ZKELGCV{sxDDkBM-EE=btN`H({Nw!E+ni>B_lNPiJ)v;4*XDUbfA^wM3{Fj|L z)Ao^rS58zvPfG0n%?7!}CunNNs`q($COaQ_W=bU=dg3y$z}u|Lc~Su&xep4(uWT#2 zkAa+pV+=ic@51gob$u4-ImL%I@ebxMN!C9mf@2nKNOY~a~+-tnYRW|l==o~*v684N zI;=OIg&X4^&DfHrxYzWGxzF*Ygn#$ZVd^0$cxkY!f?4_er-;5fr z2KPZgm^;$rQ~>vr)sO&4iz|T!a0cIC8qrH{TcK z#u4nzde0E^g;K)(?0DzbbX|hbX%o?P$9_4#%gU#r=Ji?Rs@k*08!a@c{%pzqij^WRyYMe;>oJ7#;tCWBQN8k zy{?6~9Vqh-uwER@593pSCyy?CLHC+WbVw-^nj?e839v zY);aKnK!Q&NgjW|f@YZ047*40>UNr5B>g)6+HS+|1BSvD;1%zOkXnE diff --git a/VITTY/Assets.xcassets/icons/smile.imageset/Contents.json b/VITTY/Assets.xcassets/icons/smile.imageset/Contents.json deleted file mode 100644 index 503762a..0000000 --- a/VITTY/Assets.xcassets/icons/smile.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "smile.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/icons/smile.imageset/smile.png b/VITTY/Assets.xcassets/icons/smile.imageset/smile.png deleted file mode 100644 index c99390bc7a5357946ae7b73e0c6a6fdc3642d80b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4949 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 diff --git a/VITTY/Assets.xcassets/tfBlue.colorset/Contents.json b/VITTY/Assets.xcassets/tfBlue.colorset/Contents.json deleted file mode 100644 index 6a0e68f..0000000 --- a/VITTY/Assets.xcassets/tfBlue.colorset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x36", - "green" : "0x23", - "red" : "0x0E" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "0x36", - "green" : "0x23", - "red" : "0x0E" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/vacation.imageset/Contents.json b/VITTY/Assets.xcassets/vacation.imageset/Contents.json deleted file mode 100644 index 4764ea5..0000000 --- a/VITTY/Assets.xcassets/vacation.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "filename" : "vacation.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/VITTY/Assets.xcassets/vacation.imageset/vacation.png b/VITTY/Assets.xcassets/vacation.imageset/vacation.png deleted file mode 100644 index 380321a891fd500b9be47b4b0491ef40d0c42c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1252 zcmVKFBT7+HbwoAM1PPe-=JJ;h3?Ir~&Y0~pD^L;tzm;X86IS1h$ zBLWP*2Rq(S`)&@d7%7^p|F1D50oP|T(Q3Kmes5QdMN%k|NJPW=9}oW84}J(D&`b`_ zJhZpBv&^QR$Ma+P{kfsxt@)fTyRHmPnKGWfJE4Gz!NN7NjIpmC#i+E*}1B zN6+UCZFhkKDBt?iHq9s;)=C(vm~|}NFoBT@ty{7XkEX$JD_9=($TV-^c#+Y9bP7^w zi99sGHl-s6w)O0QY2{o4YOOle)_Z;6sOh+Zq4P+*i#Pj_7Pg4EW>W;R*%-*F8j1>{ zYtrE_F+*O;Fh)p!ym3qUX-k(D5tt&mOQUfp)7W_WC@WPO-$vp}eLUFg9YZ3#uG|$#vM_t?y+2o+!~1%uleYJ5hmG zj)zp`$ZPNK-DxmWn$XPj#jgkH_XFl-UQQjiCzZ%(!InK+d`e{eyLHFe;MiC&b-MF- zK`H3!iNcBTviU)!Y_0Osfr&w$LSp3MQ+oz>_U>yVzhM8c7&~7XtPZ)=+KTQ&#_4)h z=rweXbOTG;i07Q%bESw3zpU4tvs0xAx?&$-dB|Sp+I+4u>X2)Q#mN%?-c-i`$x?E+ zWGlN=l~ciGSiYja&b-)5GM7H@8bV3nIXTeTdEnAVTbf?{ArQ-^gFSHJ5E2)0E%BHH z!mD4r)lr!4N&4iObAxi{&$+tAUwv|Ml$^S*f7_pKU*T5$+yQ3Y7Cai`m3OLc%vUFIghBLU-K{-R&9nQN+7f1K;?GsnR#P zL2a@8+GB_p3GOi;j9uRfH=2`DOKH+cPx74T-zG@x`pFrEDP(g+c4M8y9=r^o>I zO5iFw2TRj};^|Yd_b#7?v6+Wiq0``Ol&3W-7eLK+SUANN23gGJ&R~wV*RQeYze6~t z;PS-@U#2t~)P3IIU{z>UPw_y2U~eR%nDRSdR>k~Wxvy+q``C&^t$Dau#nGxo^*V(f z6fjrCWLf6Z9?wJb!Z6fy3r1}W`HJTaMuqpdOe_oo10`rmsuO3oBapTNhbyG7koid2OF diff --git a/VITTY/ContentView.swift b/VITTY/ContentView.swift index 2ccf005..d891e38 100644 --- a/VITTY/ContentView.swift +++ b/VITTY/ContentView.swift @@ -14,7 +14,7 @@ struct ContentView: View { @State private var friendRequestViewModel = FriendRequestViewModel() @State private var authViewModel = AuthViewModel() var body: some View { - NavigationView { + Group { if authViewModel.loggedInFirebaseUser != nil { if authViewModel.loggedInBackendUser == nil { InstructionView() diff --git a/VITTY/VITTY.xcodeproj/project.pbxproj b/VITTY/VITTY.xcodeproj/project.pbxproj index 45b3e4e..5d418dc 100644 --- a/VITTY/VITTY.xcodeproj/project.pbxproj +++ b/VITTY/VITTY.xcodeproj/project.pbxproj @@ -14,7 +14,6 @@ 31128CFC2772F57E0084C9EA /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128CF62772F57E0084C9EA /* Poppins-Regular.ttf */; }; 31128CFD2772F57E0084C9EA /* Poppins-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128CF72772F57E0084C9EA /* Poppins-SemiBold.ttf */; }; 31128CFE2772F57E0084C9EA /* Poppins-MediumItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128CF82772F57E0084C9EA /* Poppins-MediumItalic.ttf */; }; - 31128D072772FA120084C9EA /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31128D062772FA120084C9EA /* Colors.swift */; }; 31128D0C277300470084C9EA /* StringConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31128D0B277300470084C9EA /* StringConstants.swift */; }; 31128D0E277302AC0084C9EA /* Poppins-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 31128D0D277302AC0084C9EA /* Poppins-Bold.ttf */; }; 314A408F27383BEC0058082F /* VITTYApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314A408E27383BEC0058082F /* VITTYApp.swift */; }; @@ -23,7 +22,6 @@ 314A409627383BEE0058082F /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 314A409527383BEE0058082F /* Preview Assets.xcassets */; }; 317715DE279F1431009A532E /* IndexedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317715DD279F1431009A532E /* IndexedCollection.swift */; }; 317EE1992775D3C6008AEB31 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317EE1982775D3C6008AEB31 /* SettingsView.swift */; }; - 31900F0A27759DB60014A58D /* Gradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31900F0927759DB60014A58D /* Gradient.swift */; }; 31A3BF4027D09AF300B6BB97 /* Date+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A3BF3F27D09AF300B6BB97 /* Date+Extension.swift */; }; 520BA6432B47FFF900124850 /* SuggestedFriendsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520BA6422B47FFF900124850 /* SuggestedFriendsViewModel.swift */; }; 520BA6452B48013200124850 /* SuggestedFriendsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520BA6442B48013200124850 /* SuggestedFriendsView.swift */; }; @@ -76,12 +74,6 @@ 5251A7FE2B46E3A800D44CFE /* swift-format in Frameworks */ = {isa = PBXBuildFile; productRef = 5251A7FD2B46E3A800D44CFE /* swift-format */; }; 525AA7A92B4B0164003C6A12 /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525AA7A82B4B0164003C6A12 /* SearchView.swift */; }; 525F759D2B809F8400E3B418 /* LectureDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525F759C2B809F8400E3B418 /* LectureDetailView.swift */; }; - 52644D112C21F7BD00D92917 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52644D102C21F7BD00D92917 /* WidgetKit.framework */; }; - 52644D122C21F7BD00D92917 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3105871C27A3ECBB00C2FC41 /* SwiftUI.framework */; }; - 52644D152C21F7BD00D92917 /* vittyios_widgetsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52644D142C21F7BD00D92917 /* vittyios_widgetsBundle.swift */; }; - 52644D172C21F7BD00D92917 /* vittyios_widgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52644D162C21F7BD00D92917 /* vittyios_widgets.swift */; }; - 52644D192C21F7BF00D92917 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 52644D182C21F7BF00D92917 /* Assets.xcassets */; }; - 52644D1D2C21F7BF00D92917 /* vittyios-widgetsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 527E3E082B7662920086F23D /* TimeTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527E3E072B7662920086F23D /* TimeTableView.swift */; }; 528B25602C1D7E960071EB6E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 528B255F2C1D7E960071EB6E /* GoogleService-Info.plist */; }; 528B25622C1D7E9C0071EB6E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 528B25612C1D7E9C0071EB6E /* GoogleService-Info.plist */; }; @@ -96,23 +88,12 @@ 52D5AB912B6FE90100B2E66D /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D5AB902B6FE90100B2E66D /* Constants.swift */; }; 52D5AB972B6FFC8F00B2E66D /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D5AB962B6FFC8F00B2E66D /* LoginView.swift */; }; 52DBBE882B47B6B30014C57A /* FriendCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52DBBE872B47B6B30014C57A /* FriendCard.swift */; }; - 5D3D92592A1818150013803E /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D3D92582A1818150013803E /* Color.swift */; }; 5D72EDD82AB98D6D00704BF5 /* URLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D72EDD72AB98D6D00704BF5 /* URLSession.swift */; }; 5D72EDDD2AB990BB00704BF5 /* AuthRequestBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D72EDDC2AB990BB00704BF5 /* AuthRequestBody.swift */; }; 5D7F04F72AAB9E9900ECED15 /* APIConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D7F04F62AAB9E9900ECED15 /* APIConstants.swift */; }; 5DC0AF552AD2B586006B081D /* UserImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DC0AF542AD2B586006B081D /* UserImage.swift */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 52644D1B2C21F7BF00D92917 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 314A408327383BEC0058082F /* Project object */; - proxyType = 1; - remoteGlobalIDString = 52644D0E2C21F7BD00D92917; - remoteInfo = "vittyios-widgetsExtension"; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ 3105872727A3ECBD00C2FC41 /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; @@ -120,7 +101,6 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - 52644D1D2C21F7BF00D92917 /* vittyios-widgetsExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -137,7 +117,6 @@ 31128CF62772F57E0084C9EA /* Poppins-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Regular.ttf"; sourceTree = ""; }; 31128CF72772F57E0084C9EA /* Poppins-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-SemiBold.ttf"; sourceTree = ""; }; 31128CF82772F57E0084C9EA /* Poppins-MediumItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-MediumItalic.ttf"; sourceTree = ""; }; - 31128D062772FA120084C9EA /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = ""; }; 31128D0B277300470084C9EA /* StringConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringConstants.swift; sourceTree = ""; }; 31128D0D277302AC0084C9EA /* Poppins-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Bold.ttf"; sourceTree = ""; }; 314A408B27383BEC0058082F /* VITTY.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VITTY.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -147,7 +126,6 @@ 314A409527383BEE0058082F /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 317715DD279F1431009A532E /* IndexedCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndexedCollection.swift; sourceTree = ""; }; 317EE1982775D3C6008AEB31 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; - 31900F0927759DB60014A58D /* Gradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Gradient.swift; sourceTree = ""; }; 31A3BF3F27D09AF300B6BB97 /* Date+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Extension.swift"; sourceTree = ""; }; 520BA6422B47FFF900124850 /* SuggestedFriendsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestedFriendsViewModel.swift; sourceTree = ""; }; 520BA6442B48013200124850 /* SuggestedFriendsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestedFriendsView.swift; sourceTree = ""; }; @@ -168,8 +146,6 @@ 5251A7FF2B46E3C000D44CFE /* .swift-format */ = {isa = PBXFileReference; lastKnownFileType = text; path = ".swift-format"; sourceTree = ""; }; 525AA7A82B4B0164003C6A12 /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = ""; }; 525F759C2B809F8400E3B418 /* LectureDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LectureDetailView.swift; sourceTree = ""; }; - 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "vittyios-widgetsExtension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; - 52644D102C21F7BD00D92917 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 52644D142C21F7BD00D92917 /* vittyios_widgetsBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = vittyios_widgetsBundle.swift; sourceTree = ""; }; 52644D162C21F7BD00D92917 /* vittyios_widgets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = vittyios_widgets.swift; sourceTree = ""; }; 52644D182C21F7BF00D92917 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -188,7 +164,6 @@ 52D5AB902B6FE90100B2E66D /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; 52D5AB962B6FFC8F00B2E66D /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = ""; }; 52DBBE872B47B6B30014C57A /* FriendCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendCard.swift; sourceTree = ""; }; - 5D3D92582A1818150013803E /* Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = ""; }; 5D72EDD72AB98D6D00704BF5 /* URLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSession.swift; sourceTree = ""; }; 5D72EDDC2AB990BB00704BF5 /* AuthRequestBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthRequestBody.swift; sourceTree = ""; }; 5D7F04F62AAB9E9900ECED15 /* APIConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIConstants.swift; sourceTree = ""; }; @@ -238,15 +213,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 52644D0C2C21F7BD00D92917 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 52644D122C21F7BD00D92917 /* SwiftUI.framework in Frameworks */, - 52644D112C21F7BD00D92917 /* WidgetKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -254,7 +220,6 @@ isa = PBXGroup; children = ( 3105871C27A3ECBB00C2FC41 /* SwiftUI.framework */, - 52644D102C21F7BD00D92917 /* WidgetKit.framework */, ); name = Frameworks; sourceTree = ""; @@ -284,9 +249,6 @@ 31128D052772FA030084C9EA /* Extensions */ = { isa = PBXGroup; children = ( - 5D3D92582A1818150013803E /* Color.swift */, - 31128D062772FA120084C9EA /* Colors.swift */, - 31900F0927759DB60014A58D /* Gradient.swift */, 317715DD279F1431009A532E /* IndexedCollection.swift */, 31A3BF3F27D09AF300B6BB97 /* Date+Extension.swift */, 5D72EDD72AB98D6D00704BF5 /* URLSession.swift */, @@ -324,7 +286,6 @@ isa = PBXGroup; children = ( 314A408B27383BEC0058082F /* VITTY.app */, - 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */, ); name = Products; sourceTree = ""; @@ -748,7 +709,6 @@ buildRules = ( ); dependencies = ( - 52644D1C2C21F7BF00D92917 /* PBXTargetDependency */, ); name = VITTY; packageProductDependencies = ( @@ -790,23 +750,6 @@ productReference = 314A408B27383BEC0058082F /* VITTY.app */; productType = "com.apple.product-type.application"; }; - 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 52644D202C21F7BF00D92917 /* Build configuration list for PBXNativeTarget "vittyios-widgetsExtension" */; - buildPhases = ( - 52644D0B2C21F7BD00D92917 /* Sources */, - 52644D0C2C21F7BD00D92917 /* Frameworks */, - 52644D0D2C21F7BD00D92917 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "vittyios-widgetsExtension"; - productName = "vittyios-widgetsExtension"; - productReference = 52644D0F2C21F7BD00D92917 /* vittyios-widgetsExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -820,9 +763,6 @@ 314A408A27383BEC0058082F = { CreatedOnToolsVersion = 13.0; }; - 52644D0E2C21F7BD00D92917 = { - CreatedOnToolsVersion = 15.4; - }; }; }; buildConfigurationList = 314A408627383BEC0058082F /* Build configuration list for PBXProject "VITTY" */; @@ -845,7 +785,6 @@ projectRoot = ""; targets = ( 314A408A27383BEC0058082F /* VITTY */, - 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */, ); }; /* End PBXProject section */ @@ -869,14 +808,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 52644D0D2C21F7BD00D92917 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 52644D192C21F7BF00D92917 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -932,7 +863,6 @@ 524B842F2B46EBBD006D18BD /* HomeView.swift in Sources */, 527E3E082B7662920086F23D /* TimeTableView.swift in Sources */, 524B843A2B46F5C6006D18BD /* AddFriendsView.swift in Sources */, - 5D3D92592A1818150013803E /* Color.swift in Sources */, 5D72EDD82AB98D6D00704BF5 /* URLSession.swift in Sources */, 52D5AB912B6FE90100B2E66D /* Constants.swift in Sources */, 317EE1992775D3C6008AEB31 /* SettingsView.swift in Sources */, @@ -949,7 +879,6 @@ 521E1E8B2C21DF0D00E8C7D2 /* AddFriendCardSearch.swift in Sources */, 5238C7F12B4AAE8700413946 /* FriendRequestView.swift in Sources */, 528CF1782B769E64007298A0 /* TimeTableAPIService.swift in Sources */, - 31128D072772FA120084C9EA /* Colors.swift in Sources */, 52D5AB972B6FFC8F00B2E66D /* LoginView.swift in Sources */, 314A409127383BEC0058082F /* ContentView.swift in Sources */, 520BA6482B4802EE00124850 /* AddFriendCard.swift in Sources */, @@ -965,32 +894,14 @@ 521562AC2B70B0FD0054F051 /* InstructionView.swift in Sources */, 522B8BAD2B47297A00EE686E /* CommunityPageViewModel.swift in Sources */, 528CF1762B769E22007298A0 /* TimeTableViewModel.swift in Sources */, - 31900F0A27759DB60014A58D /* Gradient.swift in Sources */, 52D5AB8F2B6FE82E00B2E66D /* AuthAPIService.swift in Sources */, 528CF1732B769B18007298A0 /* TimeTable.swift in Sources */, 521562AE2B710E730054F051 /* UsernameView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 52644D0B2C21F7BD00D92917 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 52644D172C21F7BD00D92917 /* vittyios_widgets.swift in Sources */, - 52644D152C21F7BD00D92917 /* vittyios_widgetsBundle.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 52644D1C2C21F7BF00D92917 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 52644D0E2C21F7BD00D92917 /* vittyios-widgetsExtension */; - targetProxy = 52644D1B2C21F7BF00D92917 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin XCBuildConfiguration section */ 314A409C27383BEE0058082F /* Debug */ = { isa = XCBuildConfiguration; @@ -1146,7 +1057,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.gdscvit.vittyios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1187,7 +1098,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.gdscvit.vittyios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1196,73 +1107,6 @@ }; name = Release; }; - 52644D1E2C21F7BF00D92917 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 2TS98F9X52; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "vittyios-widgets/Info.plist"; - INFOPLIST_KEY_CFBundleDisplayName = "vittyios-widgets"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 17.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.gdscvit.vittyios.vittyios-widgets"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 52644D1F2C21F7BF00D92917 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 2TS98F9X52; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = "vittyios-widgets/Info.plist"; - INFOPLIST_KEY_CFBundleDisplayName = "vittyios-widgets"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 17.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.gdscvit.vittyios.vittyios-widgets"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1284,15 +1128,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 52644D202C21F7BF00D92917 /* Build configuration list for PBXNativeTarget "vittyios-widgetsExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 52644D1E2C21F7BF00D92917 /* Debug */, - 52644D1F2C21F7BF00D92917 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ diff --git a/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..8aa1991 --- /dev/null +++ b/VITTY/VITTY.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,204 @@ +{ + "originHash" : "6f82248712b2a75248927c08ca58128690eff43fddf009041594657c80f6cd6d", + "pins" : [ + { + "identity" : "abseil-cpp-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/abseil-cpp-binary.git", + "state" : { + "revision" : "748c7837511d0e6a507737353af268484e1745e2", + "version" : "1.2024011601.1" + } + }, + { + "identity" : "alamofire", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Alamofire/Alamofire.git", + "state" : { + "revision" : "f455c2975872ccd2d9c81594c658af65716e9b9a", + "version" : "5.9.1" + } + }, + { + "identity" : "app-check", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/app-check.git", + "state" : { + "revision" : "076b241a625e25eac22f8849be256dfb960fcdfe", + "version" : "10.19.1" + } + }, + { + "identity" : "appauth-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/openid/AppAuth-iOS.git", + "state" : { + "revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2", + "version" : "1.7.5" + } + }, + { + "identity" : "firebase-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/firebase-ios-sdk", + "state" : { + "revision" : "8bcaf973b1d84e119b7c7c119abad72ed460979f", + "version" : "10.27.0" + } + }, + { + "identity" : "googleappmeasurement", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleAppMeasurement.git", + "state" : { + "revision" : "70df02431e216bed98dd461e0c4665889245ba70", + "version" : "10.27.0" + } + }, + { + "identity" : "googledatatransport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleDataTransport.git", + "state" : { + "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", + "version" : "9.4.0" + } + }, + { + "identity" : "googlesignin-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleSignIn-iOS", + "state" : { + "revision" : "a7965d134c5d3567026c523e0a8a583f73b62b0d", + "version" : "7.1.0" + } + }, + { + "identity" : "googleutilities", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleUtilities.git", + "state" : { + "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", + "version" : "7.13.3" + } + }, + { + "identity" : "grpc-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/grpc-binary.git", + "state" : { + "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", + "version" : "1.62.2" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193", + "version" : "3.4.1" + } + }, + { + "identity" : "gtmappauth", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GTMAppAuth.git", + "state" : { + "revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a", + "version" : "4.1.1" + } + }, + { + "identity" : "interop-ios-for-google-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/interop-ios-for-google-sdks.git", + "state" : { + "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", + "version" : "100.0.0" + } + }, + { + "identity" : "leveldb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/leveldb.git", + "state" : { + "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", + "version" : "1.22.5" + } + }, + { + "identity" : "nanopb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/nanopb.git", + "state" : { + "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", + "version" : "2.30910.0" + } + }, + { + "identity" : "promises", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/promises.git", + "state" : { + "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", + "version" : "2.4.0" + } + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser.git", + "state" : { + "revision" : "0fbc8848e389af3bb55c182bc19ca9d5dc2f255b", + "version" : "1.4.0" + } + }, + { + "identity" : "swift-cmark", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-cmark.git", + "state" : { + "revision" : "f218e5d7691f78b55bfa39b367763f4612486c35", + "version" : "0.3.0" + } + }, + { + "identity" : "swift-format", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-format", + "state" : { + "revision" : "83248b4fa37919f78ffbd4650946759bcc54c2b5", + "version" : "509.0.0" + } + }, + { + "identity" : "swift-markdown", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-markdown.git", + "state" : { + "revision" : "e4f95e2dc23097a1a9a1dfdfe3fe3ee44de77378", + "version" : "0.3.0" + } + }, + { + "identity" : "swift-protobuf", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-protobuf.git", + "state" : { + "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", + "version" : "1.26.0" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-syntax.git", + "state" : { + "revision" : "64889f0c732f210a935a0ad7cda38f77f876262d", + "version" : "509.1.1" + } + } + ], + "version" : 3 +} diff --git a/VITTY/VITTY/Auth/Models/AppUser.swift b/VITTY/VITTY/Auth/Models/AppUser.swift index 8899a13..2d62991 100644 --- a/VITTY/VITTY/Auth/Models/AppUser.swift +++ b/VITTY/VITTY/Auth/Models/AppUser.swift @@ -13,4 +13,12 @@ class AppUser: Codable { let role: String let token: String let username: String + + init(name: String, picture: String, role: String, token: String, username: String) { + self.name = name + self.picture = picture + self.role = role + self.token = token + self.username = username + } } diff --git a/VITTY/VITTY/Auth/ViewModels/AuthViewModel.swift b/VITTY/VITTY/Auth/ViewModels/AuthViewModel.swift index caf8f86..1e85892 100644 --- a/VITTY/VITTY/Auth/ViewModels/AuthViewModel.swift +++ b/VITTY/VITTY/Auth/ViewModels/AuthViewModel.swift @@ -4,16 +4,16 @@ // // Created by Chandram Dutta on 04/02/24. // +// import AuthenticationServices +import OSLog +import GoogleSignIn import CryptoKit -import Firebase import FirebaseAuth -import Foundation -import GoogleSignIn -import OSLog -enum LoginOption { + +enum LoginOptions { case googleSignIn case appleSignIn } @@ -23,120 +23,150 @@ class AuthViewModel: NSObject, ASAuthorizationControllerDelegate { var loggedInFirebaseUser: User? var loggedInBackendUser: AppUser? var isLoading: Bool = false - var error: NSError? let firebaseAuth = Auth.auth() fileprivate var currentNonce: String? - + private let logger = Logger( - subsystem: Bundle.main.bundleIdentifier!, - category: String( - describing: AuthViewModel.self - ) + subsystem: Bundle.main.bundleIdentifier!, category: String(describing: AuthViewModel.self) ) - + override init() { - logger.info("Auth Initialization Started") - + logger.info("Initialising Auth") + do { try firebaseAuth.useUserAccessGroup(nil) + } catch { + logger.error("Accessing user group keychain failed: \(error)") } - catch { - logger.error("\(error)") - } - + super.init() - + loggedInFirebaseUser = firebaseAuth.currentUser - - firebaseAuth.addStateDidChangeListener(authViewModelChanged) - - do { - Task { - if UserDefaults.standard.string(forKey: UserDefaultKeys.userKey) != nil { - await signInServer( - username: UserDefaults.standard.string(forKey: UserDefaultKeys.userKey) - ?? "", - regNo: "" - ) - } - } + firebaseAuth.addStateDidChangeListener(firebaseUserAuthUpdate) + + if UserDefaults.standard.string(forKey: UserDefaultKeys.tokenKey) != nil { + logger.info("Local User Exists") + self.loggedInBackendUser = AppUser( + name: UserDefaults.standard.string(forKey: UserDefaultKeys.usernameKey)!, + picture: UserDefaults.standard.string(forKey: UserDefaultKeys.pictureKey)!, + role: UserDefaults.standard.string(forKey: UserDefaultKeys.roleKey)!, + token: UserDefaults.standard.string(forKey: UserDefaultKeys.tokenKey)!, + username: UserDefaults.standard.string(forKey: UserDefaultKeys.usernameKey)!) } - - logger.info("Auth Initialization Ended") + + logger.info("Auth Initialisation Complete") } - - private func authViewModelChanged(with auth: Auth, user: User?) { - logger.info("Auth State Changed") + + +// private func signInServer(username: String, regNo: String) async { +// logger.info("Signing into server...") +// do { +// self.loggedInBackendUser = try await AuthAPIService.shared +// .signInUser( +// with: AuthRequestBody( +// uuid: loggedInFirebaseUser?.uid ?? "", +// reg_no: regNo, +// username: username +// ) +// ) +// } +// catch { +// logger.error("Signing into server error: \(error)") +// } +// logger.info("Signed into server") +// } + + private func firebaseUserAuthUpdate(with auth: Auth, user: User?) { + logger.info("Firebase User Auth State Updated") DispatchQueue.main.async { guard user != self.loggedInFirebaseUser else { return } self.loggedInFirebaseUser = user } } - - func login(with loginOption: LoginOption) async throws { - logger.info("Login Started") - error = nil - switch loginOption { + + func login(with loginOptions: LoginOptions) async { + logger.info("Loging In...") + + logger.info("Logging into Firebase...") + do { + switch loginOptions { case .googleSignIn: - logger.info("Google SignIn Started") try await signInWithGoogle() - logger.info("Google SignIn Ended") case .appleSignIn: - logger.info("Apple SignIn Started") signInWithApple() - logger.info("Apple SignIn Ended") + } + } catch { + logger.error("Error in logging in: \(error)") + return } - logger.info("Auth State Ended") - } - - private func signInWithGoogle() async throws { - guard let screen = await UIApplication.shared.connectedScenes.first as? UIWindowScene else { + logger.info("Logged Into Firebase") + + if (self.loggedInFirebaseUser == nil) { return } - guard let window = await screen.windows.first?.rootViewController else { return } - let signInResult = try await GIDSignIn.sharedInstance.signIn(withPresenting: window) - let credential = GoogleAuthProvider.credential( - withIDToken: signInResult.user.idToken?.tokenString ?? "", - accessToken: signInResult.user.accessToken.tokenString - ) - let authUser = try await firebaseAuth.signIn(with: credential) - self.loggedInFirebaseUser = authUser.user - let userDefaultsStandard = UserDefaults.standard - userDefaultsStandard.set(authUser.user.providerID, forKey: UserDefaultKeys.providerIdKey) - userDefaultsStandard.set(authUser.user.displayName, forKey: UserDefaultKeys.usernameKey) + + logger.info("Logging into Backend...") + do { - let doesUserExist = try await AuthAPIService.shared.checkUserExists( - with: authUser.user.uid - ) - if doesUserExist { - loggedInBackendUser = try await AuthAPIService.shared.signInUser( - with: AuthRequestBody(uuid: authUser.user.uid, reg_no: "", username: "") - ) + if (try await AuthAPIService.shared.checkUserExists(with: self.loggedInFirebaseUser!.uid)) { + self.loggedInBackendUser = try await AuthAPIService.shared.signInUser( + with: AuthRequestBody( + uuid: self.loggedInFirebaseUser!.uid, reg_no: "", username: "") + ) + UserDefaults.standard.set( - loggedInBackendUser?.token, + loggedInBackendUser!.token, forKey: UserDefaultKeys.tokenKey ) UserDefaults.standard.set( - loggedInBackendUser?.username, - forKey: UserDefaultKeys.userKey + loggedInBackendUser!.username, + forKey: UserDefaultKeys.usernameKey ) UserDefaults.standard.set( - loggedInBackendUser?.name, + loggedInBackendUser!.name, forKey: UserDefaultKeys.nameKey ) UserDefaults.standard.set( - loggedInBackendUser?.picture, - forKey: UserDefaultKeys.imageKey + loggedInBackendUser!.picture, + forKey: UserDefaultKeys.pictureKey ) + UserDefaults.standard.set( + loggedInBackendUser!.role, + forKey: UserDefaultKeys.roleKey + ) + + logger.debug("\(UserDefaults.standard.string(forKey: UserDefaultKeys.usernameKey)!)") + } else { + self.loggedInBackendUser = nil // tbh no need for this, but just to make sure } + } catch { + logger.error("Error in logging in: \(error)") + return } - catch { - logger.error("\(error)") - throw error - } + } - + + private func signInWithGoogle() async throws { + logger.info("Signing in with Google...") + + let screen = await UIApplication.shared.connectedScenes.first as! UIWindowScene + let window = await screen.windows.first!.rootViewController! + + let signInResult = try await GIDSignIn.sharedInstance.signIn(withPresenting: window) + let credential = GoogleAuthProvider.credential( + withIDToken: signInResult.user.idToken!.tokenString, + accessToken: signInResult.user.accessToken.tokenString + ) + + let authDataResult = try await firebaseAuth.signIn(with: credential) + self.loggedInFirebaseUser = authDataResult.user + + logger.info("Signed in with Google") + } + private func signInWithApple() { + logger.info("Signing in with Apple...") + let nonce = AppleSignInUtilties.randomNonceString() currentNonce = nonce let provider = ASAuthorizationAppleIDProvider() @@ -144,133 +174,77 @@ class AuthViewModel: NSObject, ASAuthorizationControllerDelegate { request.requestedScopes = [.email, .fullName] request.nonce = AppleSignInUtilties.sha256(nonce) let authController = ASAuthorizationController(authorizationRequests: [request]) + authController.delegate = self authController.performRequests() } - - internal func authorizationController( + + internal func authorizationController ( controller: ASAuthorizationController, didCompleteWithError error: Error ) { logger.error("Error signing in with Apple: \(error.localizedDescription)") - self.error = error as NSError } - - internal func authorizationController( - controller: ASAuthorizationController, - didCompleteWithAuthorization authorization: ASAuthorization - ) async throws { - if let appleIdCred = authorization.credential as? ASAuthorizationAppleIDCredential { + + internal func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential { guard let nonce = currentNonce else { - fatalError( - "Invalid state: A login callback was received but no login request was sent" - ) - } - guard let appleIdToken = appleIdCred.identityToken else { - logger.error("Unable to fetch identity token") + logger.error("Invalid state: A login callback was received, but no login request was sent.") return } - guard let idTokenString = String(data: appleIdToken, encoding: .utf8) else { - logger.error( - "Unable to serialize token string from data: \(appleIdToken.debugDescription)" - ) - return - } - guard let authCode = appleIdCred.authorizationCode else { - logger.error("Unable to getch Authorization Code") + guard let appleIDToken = appleIDCredential.identityToken else { + logger.error("Unable to fetch identity token") return } - guard String(data: authCode, encoding: .utf8) != nil else { - logger.error("Unable to serialize Authorization Code") + guard let idTokenString = String(data: appleIDToken, encoding: .utf8) else { + logger.error("Unable to serialize token string from data: \(appleIDToken.debugDescription)") return } - - let credential = OAuthProvider.credential( - withProviderID: "apple.com", - idToken: idTokenString, - rawNonce: nonce - ) - let authUser = try await firebaseAuth.signIn(with: credential) - self.loggedInFirebaseUser = authUser.user - let userDefaultsStandard = UserDefaults.standard - userDefaultsStandard.set( - authUser.user.providerID, - forKey: UserDefaultKeys.providerIdKey + + let credential = OAuthProvider.appleCredential( + withIDToken: idTokenString, + rawNonce: nonce, + fullName: appleIDCredential.fullName ) - userDefaultsStandard.set(authUser.user.displayName, forKey: UserDefaultKeys.usernameKey) - do { - let doesUserExist = try await AuthAPIService.shared.checkUserExists( - with: authUser.user.uid - ) - if doesUserExist { - loggedInBackendUser = try await AuthAPIService.shared.signInUser( - with: AuthRequestBody(uuid: authUser.user.uid, reg_no: "", username: "") - ) - UserDefaults.standard.set( - loggedInBackendUser?.token, - forKey: UserDefaultKeys.tokenKey - ) - UserDefaults.standard.set( - loggedInBackendUser?.username, - forKey: UserDefaultKeys.userKey - ) - UserDefaults.standard.set( - loggedInBackendUser?.name, - forKey: UserDefaultKeys.nameKey - ) - UserDefaults.standard.set( - loggedInBackendUser?.picture, - forKey: UserDefaultKeys.imageKey - ) + + firebaseAuth.signIn(with: credential) { (authResult, error) in + if (error != nil) { + self.logger.error("Error signing in with Apple to Firebase: \(error)") + return } + self.loggedInFirebaseUser = authResult!.user } - catch { - logger.error("\(error)") - throw error - } - } - else { - logger.error("Error during authorization") } } - + func signOut() { do { try firebaseAuth.signOut() UserDefaults.resetDefaults() } - catch let signOutError as NSError { - logger.error("Error Signing Out: \(signOutError)") + catch { + logger.error("Error Signing Out: \(error)") } } +} - func signInServer(username: String, regNo: String) async { - logger.info("Signing to Server Started") - do { - self.loggedInBackendUser = try await AuthAPIService.shared - .signInUser( - with: AuthRequestBody( - uuid: loggedInFirebaseUser?.uid ?? "", - reg_no: regNo, - username: username - ) - ) - } - catch { - logger.error("\(error)") +extension UserDefaults { + static func resetDefaults() { + if let bundleID = Bundle.main.bundleIdentifier { + UserDefaults.standard.removePersistentDomain(forName: bundleID) } - logger.info("Signing to Server Ended") } } + private class AppleSignInUtilties { static func randomNonceString(length: Int = 32) -> String { precondition(length > 0) let charset: [Character] = - Array("0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._") + Array("0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._") var result = "" var remainingLength = length - + while remainingLength > 0 { let randoms: [UInt8] = (0..<16) .map { _ in @@ -283,37 +257,30 @@ private class AppleSignInUtilties { } return random } - + randoms.forEach { random in if length == 0 { return } - + if random < charset.count { result.append(charset[Int(random)]) remainingLength -= 1 } } } - + return result } + static func sha256(_ input: String) -> String { let inputData = Data(input.utf8) let hashedData = SHA256.hash(data: inputData) let hashString = - hashedData.compactMap { - String(format: "%02x", $0) - } - .joined() - return hashString - } -} - -extension UserDefaults { - static func resetDefaults() { - if let bundleID = Bundle.main.bundleIdentifier { - UserDefaults.standard.removePersistentDomain(forName: bundleID) + hashedData.compactMap { + String(format: "%02x", $0) } + .joined() + return hashString } } diff --git a/VITTY/VITTY/Auth/Views/LoginView.swift b/VITTY/VITTY/Auth/Views/LoginView.swift index e08c108..1fa4ab9 100644 --- a/VITTY/VITTY/Auth/Views/LoginView.swift +++ b/VITTY/VITTY/Auth/Views/LoginView.swift @@ -9,16 +9,16 @@ import OSLog import SwiftUI struct LoginView: View { - + @Environment(AuthViewModel.self) private var authViewModel - + private let logger = Logger( subsystem: Bundle.main.bundleIdentifier!, category: String( describing: LoginView.self ) ) - + private let carouselItems = [ LoginViewCarouselItem( image: "LoginViewIllustration 2", @@ -36,12 +36,12 @@ struct LoginView: View { subtitle: "Instant Sync across all of your devices via the app" ), ] - + @State private var animationProgress = 0.0 - + var body: some View { ZStack { - BackgroundView(background: "SplashScreen13BG") + BackgroundView() ScrollViewReader { value in VStack(alignment: .center) { ScrollView(.horizontal) { @@ -71,17 +71,11 @@ struct LoginView: View { Button(action: { Task { authViewModel.isLoading = true - do { - try await authViewModel.login( - with: .appleSignIn - ) - } - catch { - logger.error("\(error)") - } + await authViewModel.login( + with: .appleSignIn + ) authViewModel.isLoading = false } - authViewModel.isLoading = false }) { Spacer() if authViewModel.isLoading { @@ -101,20 +95,15 @@ struct LoginView: View { } Spacer() } - .background(Color("brightBlue")) + .background(Color("Secondary")) .cornerRadius(18) .padding([.top, .leading, .trailing]) Button(action: { Task { authViewModel.isLoading = true - do { - try await authViewModel.login( - with: .googleSignIn - ) - } - catch { - logger.error("\(error)") - } + await authViewModel.login( + with: .googleSignIn + ) authViewModel.isLoading = false } }) { @@ -136,7 +125,7 @@ struct LoginView: View { } Spacer() } - .background(Color("brightBlue")) + .background(Color("Secondary")) .cornerRadius(18) .padding() } @@ -148,7 +137,7 @@ struct LoginView: View { .scaleEffect(phase.isIdentity ? 1.0 : 0.8) } } - + } .scrollTargetLayout() } @@ -173,7 +162,7 @@ struct LoginView: View { } } } - + } #Preview { diff --git a/VITTY/VITTY/Connect/AddFriends/View/AddFriendsView.swift b/VITTY/VITTY/Connect/AddFriends/View/AddFriendsView.swift index 3bfc2f7..fe5488c 100644 --- a/VITTY/VITTY/Connect/AddFriends/View/AddFriendsView.swift +++ b/VITTY/VITTY/Connect/AddFriends/View/AddFriendsView.swift @@ -18,11 +18,7 @@ struct AddFriendsView: View { var body: some View { NavigationStack { ZStack { - BackgroundView( - background: - suggestedFriendsViewModel.suggestedFriends.isEmpty - && friendRequestViewModel.requests.isEmpty ? "HomeNoClassesBG" : "HomeBG" - ) + BackgroundView() VStack(alignment: .leading) { if !suggestedFriendsViewModel.suggestedFriends.isEmpty || !friendRequestViewModel.requests.isEmpty @@ -31,7 +27,7 @@ struct AddFriendsView: View { if !suggestedFriendsViewModel.suggestedFriends.isEmpty { Text("Suggested Friends") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) .padding(.top) .padding(.horizontal) SuggestedFriendsView() diff --git a/VITTY/VITTY/Connect/FriendRequest/Views/Components/FriendReqCard.swift b/VITTY/VITTY/Connect/FriendRequest/Views/Components/FriendReqCard.swift index 882c1e8..45fba68 100644 --- a/VITTY/VITTY/Connect/FriendRequest/Views/Components/FriendReqCard.swift +++ b/VITTY/VITTY/Connect/FriendRequest/Views/Components/FriendReqCard.swift @@ -30,7 +30,7 @@ struct FriendReqCard: View { .foregroundColor(Color.white) Text(friend.username) .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } Spacer() if friend.friendStatus == "received" { diff --git a/VITTY/VITTY/Connect/FriendRequest/Views/FriendRequestView.swift b/VITTY/VITTY/Connect/FriendRequest/Views/FriendRequestView.swift index f8aedf2..d7dc865 100644 --- a/VITTY/VITTY/Connect/FriendRequest/Views/FriendRequestView.swift +++ b/VITTY/VITTY/Connect/FriendRequest/Views/FriendRequestView.swift @@ -15,9 +15,7 @@ struct FriendRequestView: View { var body: some View { NavigationStack { ZStack { - BackgroundView( - background: "HomeBG" - ) + BackgroundView() VStack(alignment: .leading) { if !friendRequestViewModel.loading { List(friendRequestViewModel.requests, id: \.username) { friend in @@ -25,7 +23,7 @@ struct FriendRequestView: View { .padding(.bottom) .listRowBackground( RoundedRectangle(cornerRadius: 15) - .fill(Color.theme.secondaryBlue) + .fill(Color("Secondary")) .padding(.bottom) ) .listRowSeparator(.hidden) diff --git a/VITTY/VITTY/Connect/Search/Views/AddFriendCardSearch.swift b/VITTY/VITTY/Connect/Search/Views/AddFriendCardSearch.swift index 7f3121b..3ca0679 100644 --- a/VITTY/VITTY/Connect/Search/Views/AddFriendCardSearch.swift +++ b/VITTY/VITTY/Connect/Search/Views/AddFriendCardSearch.swift @@ -31,7 +31,7 @@ struct AddFriendCardSearch: View { .foregroundColor(Color.white) Text(friend.username) .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } Spacer() if friend.friendStatus != "sent" && friend.friendStatus != "friends" { @@ -74,5 +74,6 @@ struct AddFriendCardSearch: View { Image(systemName: "person.fill.checkmark") } } + .padding(.bottom) } } diff --git a/VITTY/VITTY/Connect/Search/Views/SearchView.swift b/VITTY/VITTY/Connect/Search/Views/SearchView.swift index d05c1a4..0f89a0b 100644 --- a/VITTY/VITTY/Connect/Search/Views/SearchView.swift +++ b/VITTY/VITTY/Connect/Search/Views/SearchView.swift @@ -25,33 +25,30 @@ struct SearchView: View { var body: some View { NavigationStack { ZStack { - BackgroundView( - background: - "HomeBG" - ) + BackgroundView() VStack(alignment: .leading) { RoundedRectangle(cornerRadius: 20) - .foregroundColor(Color.theme.tfBlue) + .foregroundColor(Color("Secondary")) .frame(maxWidth: .infinity) .frame(height: 64) .padding() .overlay( RoundedRectangle(cornerRadius: 20) - .stroke(Color.theme.tfBlueLight, lineWidth: 1) + .stroke(Color("Accent"), lineWidth: 1) .frame(maxWidth: .infinity) .frame(height: 64) .padding() .overlay(alignment: .leading) { TextField(text: $searchText) { Text("Search Friends") - .foregroundColor(Color.theme.tfBlueLight) + .foregroundColor(Color("Accent")) } .onChange(of: searchText) { search() } .padding(.horizontal, 42) .foregroundColor(.white) - .foregroundColor(Color.theme.tfBlue) + .foregroundColor(Color("Secondary")) } ) if loading { @@ -62,8 +59,14 @@ struct SearchView: View { List($searchedFriends, id: \.username) { friend in AddFriendCardSearch(friend: friend, search: searchText) - - .listRowBackground(Color("DarkBG")) + + + .listRowBackground( + RoundedRectangle(cornerRadius: 15) + .fill(Color("Secondary")) + .padding(.bottom) + ) + .listRowSeparator(.hidden) } diff --git a/VITTY/VITTY/Connect/SuggestedFriends/Views/Components/AddFriendCard.swift b/VITTY/VITTY/Connect/SuggestedFriends/Views/Components/AddFriendCard.swift index bc8b309..2c6a466 100644 --- a/VITTY/VITTY/Connect/SuggestedFriends/Views/Components/AddFriendCard.swift +++ b/VITTY/VITTY/Connect/SuggestedFriends/Views/Components/AddFriendCard.swift @@ -30,7 +30,7 @@ struct AddFriendCard: View { .foregroundColor(Color.white) Text(friend.username) .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } Spacer() if friend.friendStatus != "sent" && friend.friendStatus != "friends" { diff --git a/VITTY/VITTY/Connect/SuggestedFriends/Views/SuggestedFriendsView.swift b/VITTY/VITTY/Connect/SuggestedFriends/Views/SuggestedFriendsView.swift index 6d23913..566e022 100644 --- a/VITTY/VITTY/Connect/SuggestedFriends/Views/SuggestedFriendsView.swift +++ b/VITTY/VITTY/Connect/SuggestedFriends/Views/SuggestedFriendsView.swift @@ -24,7 +24,7 @@ struct SuggestedFriendsView: View { AddFriendCard(friend: friend) .padding(.bottom) .listRowBackground( - RoundedRectangle(cornerRadius: 15).fill(Color.theme.secondaryBlue) + RoundedRectangle(cornerRadius: 15).fill(Color("Secondary")) .padding(.bottom) ) .listRowSeparator(.hidden) diff --git a/VITTY/VITTY/Connect/View/Components/FriendCard.swift b/VITTY/VITTY/Connect/View/Components/FriendCard.swift index 86bf96f..32212be 100644 --- a/VITTY/VITTY/Connect/View/Components/FriendCard.swift +++ b/VITTY/VITTY/Connect/View/Components/FriendCard.swift @@ -19,23 +19,21 @@ struct FriendCard: View { if friend.currentStatus.status == "free" { Text("Not in a class right now") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } else { Text(friend.currentStatus.class ?? "") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } } Spacer() VStack { Text("NOW") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) if friend.currentStatus.status == "free" { Text(friend.currentStatus.status.capitalized) .font(Font.custom("Poppins-SemiBold", size: 16)) - .foregroundColor(Color.white) } else { Text(friend.currentStatus.venue ?? "-") diff --git a/VITTY/VITTY/Connect/View/ConnectPage.swift b/VITTY/VITTY/Connect/View/ConnectPage.swift index fa4ca07..10ae060 100644 --- a/VITTY/VITTY/Connect/View/ConnectPage.swift +++ b/VITTY/VITTY/Connect/View/ConnectPage.swift @@ -19,9 +19,7 @@ struct ConnectPage: View { var body: some View { NavigationStack { ZStack { - BackgroundView( - background: communityPageViewModel.error ? "HomeNoClassesBG" : "HomeBG" - ) + BackgroundView() VStack(alignment: .center) { if communityPageViewModel.error { Spacer() @@ -55,19 +53,19 @@ struct ConnectPage: View { if friend.currentStatus.status == "free" { Text("Not in a class right now") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } else { Text(friend.currentStatus.class ?? "") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) } } Spacer() VStack { Text("NOW") .font(Font.custom("Poppins-Regular", size: 14)) - .foregroundColor(Color.vprimary) + .foregroundColor(Color.white) if friend.currentStatus.status == "free" { Text(friend.currentStatus.status.capitalized) .font(Font.custom("Poppins-SemiBold", size: 16)) @@ -79,10 +77,16 @@ struct ConnectPage: View { .foregroundColor(Color.white) } } - .padding(.trailing, 4) } + .padding(.bottom) } - .listRowBackground(Color("DarkBG")) + + .listRowBackground( + RoundedRectangle(cornerRadius: 15) + .fill(Color("Secondary")) + .padding(.bottom) + ) + .listRowSeparator(.hidden) } .scrollContentBackground(.hidden) .refreshable { diff --git a/VITTY/VITTY/Instruction/Views/InstructionView.swift b/VITTY/VITTY/Instruction/Views/InstructionView.swift index b8dd414..93f38e3 100644 --- a/VITTY/VITTY/Instruction/Views/InstructionView.swift +++ b/VITTY/VITTY/Instruction/Views/InstructionView.swift @@ -12,76 +12,67 @@ struct InstructionView: View { var body: some View { NavigationStack { ZStack { - BackgroundView(background: "SplashScreen13BG") - VStack { - ZStack(alignment: .leading) { + BackgroundView() + VStack(alignment: .leading) { + VStack(alignment: .leading) { + Text("Account Details") + .font(Font.custom("Poppins-SemiBold", size: 20)) + .foregroundColor(Color.white) + .padding(.vertical, 5) + Text( + "Name: \(authViewModel.loggedInFirebaseUser?.displayName ?? "-")" + ) + Text( + "Signed in with: \(authViewModel.loggedInFirebaseUser?.providerID ?? "-")" + ) + Text( + "Email: \(authViewModel.loggedInFirebaseUser?.email ?? "-")" + ) + } + .padding() + .frame(maxWidth: .infinity, alignment: .topLeading) + .font(Font.custom("Poppins-Regular", size: 16)) + .background{ RoundedRectangle(cornerRadius: 12, style: .circular) - .fill(Color.darkbg) + .fill(Color("Secondary")) .overlay( RoundedRectangle(cornerRadius: 12) - .stroke(Color.vprimary, lineWidth: 1.2) + .stroke(Color("Accent"), lineWidth: 1.2) ) + } + VStack(alignment: .leading) { + Text("Setup Instructions") + .font(Font.custom("Poppins-SemiBold", size: 20)) + .padding(.vertical, 5) VStack(alignment: .leading) { - Text("Account Details") - .font(Font.custom("Poppins-SemiBold", size: 20)) - .foregroundColor(Color.white) - .padding(.vertical, 5) - Text( - "Name: \(authViewModel.loggedInFirebaseUser?.displayName ?? "-")" + Text("1. Upload the timetable on") + Link( + destination: URL(string: "https://dscv.it/vittyconnect")!, + label: { + Text(StringConstants.websiteURL) + .underline() + } ) - .foregroundColor(Color.vprimary) - Text( - "Signed in with: \(authViewModel.loggedInFirebaseUser?.providerID ?? "-")" - ) - .foregroundColor(Color.vprimary) - Text( - "Email: \(authViewModel.loggedInFirebaseUser?.email ?? "-")" - ) - .foregroundColor(Color.vprimary) + Text("2. Log in with the same Apple/Google Account as shown above") + Text("3. Upload a screenshot of your timetable") + Text("4. Review it") + Text("5. When done, click on Upload") + Text("BRAVO! That's it. You did it!") + .padding(.vertical) } - .padding() - .font(Font.custom("Poppins-Regular", size: 16)) } - .frame(height: 100) - .padding(.vertical) - ZStack(alignment: .leading) { + .padding() + .frame(maxWidth: .infinity, alignment: .topLeading) + .font(Font.custom("Poppins-Regular", size: 16)) + .background{ RoundedRectangle(cornerRadius: 12, style: .circular) - .fill(Color.darkbg) + .fill(Color("Secondary")) .overlay( RoundedRectangle(cornerRadius: 12) - .stroke(Color.vprimary, lineWidth: 1.2) + .stroke(Color("Accent"), lineWidth: 1.2) ) - VStack(alignment: .leading) { - Text("Setup Instructions") - .font(Font.custom("Poppins-SemiBold", size: 20)) - .foregroundColor(Color.white) - .padding(.vertical, 5) - // ScrollView { - VStack(alignment: .leading) { - Text("1. Upload the timetable on") - Link( - destination: URL(string: "https://dscvit.com/vitty")!, - label: { - Text(StringConstants.websiteURL) - .underline() - .foregroundColor(Color.vprimary) - - } - ) - Text("2. Log in with the same Apple/Google Account as shown above") - Text("3. Upload a screenshot of your timetable") - Text("4. Review it") - Text("5. When done, click on Upload") - Text("BRAVO! That's it. You did it!") - .foregroundColor(Color.white) - .padding(.vertical) - } - .foregroundColor(Color.vprimary) - } - .padding() - .font(Font.custom("Poppins-Regular", size: 16)) } - .padding(.vertical) + Spacer() NavigationLink(destination: { if authViewModel.loggedInBackendUser == nil { UsernameView() @@ -95,15 +86,13 @@ struct InstructionView: View { .fontWeight(.bold) .foregroundColor(Color.white) .padding(.vertical, 16) - + Spacer() } - .background(Color("brightBlue")) + .background(Color("Secondary")) .cornerRadius(18) - Spacer() } .padding() - } .toolbar { Button(action: { diff --git a/VITTY/VITTY/Settings/View/SettingsView.swift b/VITTY/VITTY/Settings/View/SettingsView.swift index 02600c6..335cc18 100644 --- a/VITTY/VITTY/Settings/View/SettingsView.swift +++ b/VITTY/VITTY/Settings/View/SettingsView.swift @@ -12,7 +12,7 @@ struct SettingsView: View { let gdscURL = URL(string: "https://dscvit.com/") var body: some View { ZStack { - BackgroundView(background: "HomeBG") + BackgroundView() List { Section(header: Text("About")) { HStack { @@ -23,7 +23,7 @@ struct SettingsView: View { Text("GitHub Repository") } .frame(height: 35) - .listRowBackground(Color("DarkBG")) + .listRowBackground(Color("Secondary")) .onTapGesture { if let url = githubURL { UIApplication.shared.open(url) @@ -37,7 +37,7 @@ struct SettingsView: View { Text("GDSC VIT") } .frame(height: 35) - .listRowBackground(Color("DarkBG")) + .listRowBackground(Color("Secondary")) .onTapGesture { if let url = gdscURL { UIApplication.shared.open(url) diff --git a/VITTY/VITTY/Shared/BackgroundView.swift b/VITTY/VITTY/Shared/BackgroundView.swift index 752d4f1..eb63018 100644 --- a/VITTY/VITTY/Shared/BackgroundView.swift +++ b/VITTY/VITTY/Shared/BackgroundView.swift @@ -8,16 +8,13 @@ import SwiftUI struct BackgroundView: View { - - let background: String - + var body: some View { - Image(background) - .resizable() + Color("Background") .ignoresSafeArea(.all) } } #Preview { - BackgroundView(background: "HomeBG") + BackgroundView() } diff --git a/VITTY/VITTY/Shared/UserDefaultKeys.swift b/VITTY/VITTY/Shared/UserDefaultKeys.swift index a2978fb..cf9a859 100644 --- a/VITTY/VITTY/Shared/UserDefaultKeys.swift +++ b/VITTY/VITTY/Shared/UserDefaultKeys.swift @@ -8,14 +8,9 @@ import Foundation class UserDefaultKeys { - static let providerIdKey = "providerId" - static let usernameKey = "userName" - static let useremailKey = "userEmail" - static let instructionsCompleteKey = "instructionsComplete" - static let notifsSetupKey = "notifsSetupKey" - static let tokenKey = "token" - static let userKey = "userName" + static let usernameKey = "username" static let nameKey = "name" - static let imageKey = "image" + static let pictureKey = "image" + static let roleKey = "role" } diff --git a/VITTY/VITTY/TimeTable/Views/LectureDetailView.swift b/VITTY/VITTY/TimeTable/Views/LectureDetailView.swift index a1cee2e..8aa7a11 100644 --- a/VITTY/VITTY/TimeTable/Views/LectureDetailView.swift +++ b/VITTY/VITTY/TimeTable/Views/LectureDetailView.swift @@ -19,9 +19,6 @@ struct LectureDetailView: View { Marker(lecture.venue, coordinate: determineCoordinates(venue: lecture.venue)) } .mapStyle(.standard) - // .mapControls{ - // MapUserLocationButton() - // } VStack(alignment: .leading) { HStack { Text(lecture.name) @@ -29,7 +26,7 @@ struct LectureDetailView: View { .bold() Spacer() Text(lecture.slot).font(.caption) - .foregroundColor(Color("SecondaryTextColor")) + .foregroundColor(Color("Accent")) } HStack { Text(lecture.code) @@ -38,20 +35,20 @@ struct LectureDetailView: View { Text( "\(formatTime(time: lecture.startTime)) - \(formatTime(time: lecture.endTime))" ) - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) .font(.caption) } } .padding() } - .background(Color("DarkBG")) + .background(Color("Background")) Button(action: { dismiss() }) { Image(systemName: "xmark") .padding() } - .foregroundColor(Color("Secondary")) + .foregroundColor(Color("Background")) .background(.white) .frame(width: 40, height: 40) .clipShape(RoundedRectangle(cornerRadius: 10)) diff --git a/VITTY/VITTY/TimeTable/Views/TimeTableView.swift b/VITTY/VITTY/TimeTable/Views/TimeTableView.swift index 84f0b4f..613865d 100644 --- a/VITTY/VITTY/TimeTable/Views/TimeTableView.swift +++ b/VITTY/VITTY/TimeTable/Views/TimeTableView.swift @@ -28,7 +28,7 @@ struct TimeTableView: View { var body: some View { NavigationStack { ZStack { - BackgroundView(background: viewModel.lectures == [] ? "HomeNoClassesBG" : "HomeBG") + BackgroundView() switch viewModel.stage { case .loading: VStack { @@ -50,10 +50,12 @@ struct TimeTableView: View { HStack { ForEach(daysOfWeek, id: \.self) { day in Text(day) + .foregroundStyle(daysOfWeek[viewModel.dayNo] == day + ? Color("Background") : Color("Accent")) .frame(width: 60, height: 54) .background( daysOfWeek[viewModel.dayNo] == day - ? Color(Color.theme.secondary) : Color.clear + ? Color("Accent") : Color.clear ) .onTapGesture { withAnimation { @@ -68,7 +70,7 @@ struct TimeTableView: View { } } .scrollIndicators(.hidden) - .background(Color("DarkBG")) + .background(Color("Secondary")) .clipShape(RoundedRectangle(cornerRadius: 10)) .padding(.horizontal) if viewModel.lectures == [] { @@ -89,7 +91,7 @@ struct TimeTableView: View { Spacer() Text("\(lecture.venue)") } - .foregroundColor(Color.vprimary) + .foregroundColor(Color("Accent")) .font(.caption) } .onTapGesture { @@ -98,7 +100,7 @@ struct TimeTableView: View { .padding(.bottom) .listRowBackground( RoundedRectangle(cornerRadius: 15) - .fill(Color.theme.secondaryBlue) + .fill(Color("Secondary")) .padding(.bottom) ) .listRowSeparator(.hidden) diff --git a/VITTY/VITTY/Username/Views/UsernameView.swift b/VITTY/VITTY/Username/Views/UsernameView.swift index 6d71492..3e4e095 100644 --- a/VITTY/VITTY/Username/Views/UsernameView.swift +++ b/VITTY/VITTY/Username/Views/UsernameView.swift @@ -22,10 +22,9 @@ struct UsernameView: View { var body: some View { NavigationStack { ZStack { - BackgroundView(background: "HomeBG") + BackgroundView() VStack(alignment: .leading) { Text("Enter username and your registration number below.") - .foregroundColor(Color.vprimary) .font(.footnote) .frame(maxWidth: .infinity, alignment: .leading) .onChange(of: username) { _, _ in @@ -46,7 +45,6 @@ struct UsernameView: View { } } Text("Your username will help your friends find you!") - .foregroundColor(Color.vprimary) .font(.footnote) .frame(maxWidth: .infinity, alignment: .leading) .onChange(of: regNo) { _, _ in @@ -84,10 +82,11 @@ struct UsernameView: View { Spacer() Button(action: { Task { - - isLoading = true - await authViewModel.signInServer(username: username, regNo: regNo) - isLoading = false + // TODO: Important +// +// isLoading = true +// await authViewModel.signInServer(username: username, regNo: regNo) +// isLoading = false } }) { if isLoading { diff --git a/VITTY/VITTY/Utilities/Constants/StringConstants.swift b/VITTY/VITTY/Utilities/Constants/StringConstants.swift index 5f70e1e..ee13b11 100644 --- a/VITTY/VITTY/Utilities/Constants/StringConstants.swift +++ b/VITTY/VITTY/Utilities/Constants/StringConstants.swift @@ -61,7 +61,7 @@ struct StringConstants { "4. Review it", "5. When done, click on Upload.", ] - static let websiteURL = "https://dscv.it/vitty" + static let websiteURL = "https://dscv.it/vittyconnect" static let setupFinalText = "BRAVO! That's it. You did it!" static let followInstructionsText = "Fetching information. Follow the instructions given below" diff --git a/VITTY/VITTY/Utilities/Extensions/Color.swift b/VITTY/VITTY/Utilities/Extensions/Color.swift deleted file mode 100644 index 2dcc285..0000000 --- a/VITTY/VITTY/Utilities/Extensions/Color.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// Color.swift -// VITTY -// -// Created by Prashanna Rajbhandari on 20/05/2023. -// - -import Foundation -import SwiftUI - -extension Color { - static let theme = ColorTheme() -} - -struct ColorTheme { - let darkBG = Color("DarkBG") - let blueBG = Color("blueBG") - let primary = Color("Primary") - let tfBlue = Color("tfBlue") - let tfBlueLight = Color("tfBlueLight") - let brightBlue = Color("brightBlue") - let gray = Color("Gray") - let secTextColor = Color("SecondaryTextColor") - let secondaryBlue = Color("SecondaryBlue") - let selectedTabColor = Color("selectedTabColor") - let secondary = Color("Secondary") -} diff --git a/VITTY/VITTY/Utilities/Extensions/Colors.swift b/VITTY/VITTY/Utilities/Extensions/Colors.swift deleted file mode 100644 index 65a432a..0000000 --- a/VITTY/VITTY/Utilities/Extensions/Colors.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// Colors.swift -// VITTY -// -// Created by Ananya George on 12/22/21. -// - -import SwiftUI - -extension Color { - static let darkbg = Color(UIColor(named: ColorConstants.darkbg.rawValue)!) - static let vprimary = Color(UIColor(named: ColorConstants.vprimary.rawValue)!) - static let sec = Color(UIColor(named: ColorConstants.sec.rawValue)!) - static let widgbg = Color(UIColor(named: ColorConstants.widgetBG.rawValue)!) - static let secondaryGradEnd = Color(UIColor(named: ColorConstants.secGradEnd.rawValue)!) - static let secondaryGradStart = Color(UIColor(named: ColorConstants.secGradStart.rawValue)!) - - enum ColorConstants: String { - case darkbg = "DarkBG" - case vprimary = "Primary" - case sec = "Secondary" - case secGradEnd = "SecondaryGradientEnd" - case secGradStart = "SecondaryGradientStart" - case widgetBG = "WidgetBG" - } -} diff --git a/VITTY/VITTY/Utilities/Extensions/Gradient.swift b/VITTY/VITTY/Utilities/Extensions/Gradient.swift deleted file mode 100644 index a1c1634..0000000 --- a/VITTY/VITTY/Utilities/Extensions/Gradient.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// Gradient.swift -// VITTY -// -// Created by Ananya George on 12/24/21. -// - -import SwiftUI - -extension LinearGradient { - static let secGrad = LinearGradient( - colors: [Color.secondaryGradStart, Color.secondaryGradEnd], - startPoint: .bottomLeading, - endPoint: .topTrailing - ) -}