diff --git a/nirvana-ios.xcodeproj/project.pbxproj b/nirvana-ios.xcodeproj/project.pbxproj index a21f1f4..7bbc92c 100644 --- a/nirvana-ios.xcodeproj/project.pbxproj +++ b/nirvana-ios.xcodeproj/project.pbxproj @@ -28,7 +28,6 @@ 89AD5573276DD790001658E0 /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5572276DD790001658E0 /* SplashView.swift */; }; 89AD5575276DE724001658E0 /* PhoneCodeVerificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5574276DE724001658E0 /* PhoneCodeVerificationView.swift */; }; 89AD5578276DEAB3001658E0 /* LogoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5577276DEAB3001658E0 /* LogoHeaderView.swift */; }; - 89AD557A276DF7C5001658E0 /* EditProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD5579276DF7C5001658E0 /* EditProfileView.swift */; }; 89AD557C276DF86A001658E0 /* FirestoreService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89AD557B276DF86A001658E0 /* FirestoreService.swift */; }; 89B46E71276893E200B74255 /* AuthSessionStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89B46E70276893E200B74255 /* AuthSessionStore.swift */; }; 89BCABE2276B3CB0009E9B10 /* NavigationStack in Frameworks */ = {isa = PBXBuildFile; productRef = 89BCABE1276B3CB0009E9B10 /* NavigationStack */; }; @@ -67,6 +66,7 @@ 89F18AEC276E92BF00115B1E /* CustomExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F18AEB276E92BF00115B1E /* CustomExtensions.swift */; }; 89F18AEE276EB55C00115B1E /* ServiceState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F18AED276EB55C00115B1E /* ServiceState.swift */; }; 89F18AF1276ECAA300115B1E /* RouterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F18AF0276ECAA300115B1E /* RouterView.swift */; }; + 89F18AF5276ECF2A00115B1E /* AddBasicInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F18AF4276ECF2A00115B1E /* AddBasicInfoView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -93,7 +93,6 @@ 89AD5572276DD790001658E0 /* SplashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = ""; }; 89AD5574276DE724001658E0 /* PhoneCodeVerificationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneCodeVerificationView.swift; sourceTree = ""; }; 89AD5577276DEAB3001658E0 /* LogoHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoHeaderView.swift; sourceTree = ""; }; - 89AD5579276DF7C5001658E0 /* EditProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditProfileView.swift; sourceTree = ""; }; 89AD557B276DF86A001658E0 /* FirestoreService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirestoreService.swift; sourceTree = ""; }; 89B46E70276893E200B74255 /* AuthSessionStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthSessionStore.swift; sourceTree = ""; }; 89BCABE4276B3D58009E9B10 /* InnerCircleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InnerCircleView.swift; sourceTree = ""; }; @@ -115,6 +114,7 @@ 89F18AEB276E92BF00115B1E /* CustomExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomExtensions.swift; sourceTree = ""; }; 89F18AED276EB55C00115B1E /* ServiceState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServiceState.swift; sourceTree = ""; }; 89F18AF0276ECAA300115B1E /* RouterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterView.swift; sourceTree = ""; }; + 89F18AF4276ECF2A00115B1E /* AddBasicInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddBasicInfoView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -199,10 +199,11 @@ 891A15F62765639B00B26659 /* Views */ = { isa = PBXGroup; children = ( + 89F18AF3276ECF1800115B1E /* AddBasicInfo */, + 89F18AF2276ECD5D00115B1E /* IntroView */, 89F18AEF276ECA9600115B1E /* Router */, 89AD5576276DEA9D001658E0 /* LogoHeader */, 89AD5571276DD77D001658E0 /* SplashView */, - 89AD5570276DBBD4001658E0 /* EditProfile */, 89BCABEE276D2DD6009E9B10 /* PhoneVerification */, 89BDCDED2769B3EB00577829 /* Contacts */, 89F1386B2767EB07006680ED /* SignIn */, @@ -220,7 +221,6 @@ isa = PBXGroup; children = ( 891A15F8276563CA00B26659 /* WelcomeView.swift */, - 89BDCDEB2769918D00577829 /* OnboardingTrioView.swift */, ); path = WelcomeView; sourceTree = ""; @@ -285,14 +285,6 @@ path = FooterControlsView; sourceTree = ""; }; - 89AD5570276DBBD4001658E0 /* EditProfile */ = { - isa = PBXGroup; - children = ( - 89AD5579276DF7C5001658E0 /* EditProfileView.swift */, - ); - path = EditProfile; - sourceTree = ""; - }; 89AD5571276DD77D001658E0 /* SplashView */ = { isa = PBXGroup; children = ( @@ -380,6 +372,22 @@ path = Router; sourceTree = ""; }; + 89F18AF2276ECD5D00115B1E /* IntroView */ = { + isa = PBXGroup; + children = ( + 89BDCDEB2769918D00577829 /* OnboardingTrioView.swift */, + ); + path = IntroView; + sourceTree = ""; + }; + 89F18AF3276ECF1800115B1E /* AddBasicInfo */ = { + isa = PBXGroup; + children = ( + 89F18AF4276ECF2A00115B1E /* AddBasicInfoView.swift */, + ); + path = AddBasicInfo; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -476,7 +484,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 89AD557A276DF7C5001658E0 /* EditProfileView.swift in Sources */, 89BDCDEC2769918D00577829 /* OnboardingTrioView.swift in Sources */, 891A15E327653A7000B26659 /* ContentView.swift in Sources */, 89F05B9F276A8D360002E9C7 /* Contact.swift in Sources */, @@ -510,6 +517,7 @@ 892179E42765FEB8001E6C60 /* FooterControlsView.swift in Sources */, 891A15FD276566B800B26659 /* constants.swift in Sources */, 89BCABE5276B3D58009E9B10 /* InnerCircleView.swift in Sources */, + 89F18AF5276ECF2A00115B1E /* AddBasicInfoView.swift in Sources */, 89BCABF0276D53C4009E9B10 /* PhoneVerificationViewModel.swift in Sources */, 89BDCDE72769616600577829 /* UIImage+Extension.swift in Sources */, 89F1386D2767EB19006680ED /* SignInView.swift in Sources */, diff --git a/nirvana-ios.xcodeproj/xcuserdata/talksik.xcuserdatad/xcschemes/xcschememanagement.plist b/nirvana-ios.xcodeproj/xcuserdata/talksik.xcuserdatad/xcschemes/xcschememanagement.plist index 84bd8a7..a6053c8 100644 --- a/nirvana-ios.xcodeproj/xcuserdata/talksik.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/nirvana-ios.xcodeproj/xcuserdata/talksik.xcuserdatad/xcschemes/xcschememanagement.plist @@ -49,7 +49,7 @@ nirvana-ios.xcscheme_^#shared#^_ orderHint - 1 + 0 diff --git a/nirvana-ios/ContentView.swift b/nirvana-ios/ContentView.swift index ad6187e..a7f3df6 100644 --- a/nirvana-ios/ContentView.swift +++ b/nirvana-ios/ContentView.swift @@ -14,7 +14,7 @@ struct ContentView: View { // welcome -> phone verification -> phone code verification -> onboarding trio -> first, last, avatar picker -> add contacts -> hub var body: some View { NavigationStackView { - PhoneVerificationView() + AddBasicInfoView() // TODO: remove this commenting to enable natural user flow // switch self.authSessionStore.sessionState { // case SessionState.isAuthenticated: diff --git a/nirvana-ios/Views/AddBasicInfo/AddBasicInfoView.swift b/nirvana-ios/Views/AddBasicInfo/AddBasicInfoView.swift new file mode 100644 index 0000000..f33985d --- /dev/null +++ b/nirvana-ios/Views/AddBasicInfo/AddBasicInfoView.swift @@ -0,0 +1,44 @@ +// +// AddBasicInfoView.swift +// nirvana-ios +// +// Created by Arjun Patel on 12/18/21. +// + +import SwiftUI + +struct AddBasicInfoView: View { + var body: some View { + ZStack { + // bg + WavesGlassBackgroundView() + + // programmatic back button + ZStack(alignment: .topLeading) { + Color.clear + + Button { + + } label: { + Label("back", systemImage:"chevron.left") + .labelStyle(.iconOnly) + .font(.title2) + } + .padding() + } + + // all content top down + VStack { + LogoHeaderView() + + Spacer() + } + } + } +} + +struct AddBasicInfoView_Previews: PreviewProvider { + static var previews: some View { + AddBasicInfoView().environmentObject(AuthSessionStore()) + } +} diff --git a/nirvana-ios/Views/EditProfile/EditProfileView.swift b/nirvana-ios/Views/EditProfile/EditProfileView.swift deleted file mode 100644 index 8dede6d..0000000 --- a/nirvana-ios/Views/EditProfile/EditProfileView.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// EditProfileView.swift -// nirvana-ios -// -// Created by Arjun Patel on 12/18/21. -// - -import SwiftUI -import NavigationStack - -struct EditProfileView: View { - @EnvironmentObject var navigationStack: NavigationStack - - var body: some View { - Button { - self.navigationStack.push(ContactsView()) - } label: { - - } - } -} - -struct EditProfileView_Previews: PreviewProvider { - static var previews: some View { - EditProfileView() - } -} diff --git a/nirvana-ios/Views/IntroView/OnboardingTrioView.swift b/nirvana-ios/Views/IntroView/OnboardingTrioView.swift new file mode 100644 index 0000000..1f956cf --- /dev/null +++ b/nirvana-ios/Views/IntroView/OnboardingTrioView.swift @@ -0,0 +1,49 @@ +// +// OnboardingTrio.swift +// nirvana-ios +// +// Created by Arjun Patel on 12/14/21. +// + +import SwiftUI +import NavigationStack + +struct OnboardingTrioView: View { + @EnvironmentObject var navigationStack: NavigationStack + + var body: some View { + VStack { + TabView { + OnboardingTemplateView(imgName: "undraw_through_the_park_lxnl", mainLeadingActText: "Stay present, stay ", mainHighlightedActText: "authentic.", mainTrailingActText: "", subActText: "No more consuming endless feeds and media, fomo, and anxiety.") + + OnboardingTemplateView(imgName: "undraw_connection_b-38-q", mainLeadingActText: "Be picky about your ", mainHighlightedActText: "inner circle.", mainTrailingActText: "", subActText: "You are who you hang out with. We limit your \"circle\" to 12 people.") + + OnboardingTemplateView(imgName: "undraw_voice_assistant_nrv7", mainLeadingActText: "A seamless way of communicating ", mainHighlightedActText: "voice.", mainTrailingActText: "", subActText: "Less screen time, no more endless text chats with meaningless junk. Start mindfully listening.", bottomActArea: AnyView( + VStack { + Button { + self.navigationStack.push(AddBasicInfoView()) + } label: { + Text("Start Your Detox") + .bold() + .foregroundColor(NirvanaColor.white) + .frame(maxWidth: .infinity) + .padding(.vertical, 20) + .background(NirvanaColor.teal) + .clipShape(Capsule()) + .shadow(radius:10) + } + }.padding(.bottom, 30) + ) + ) + } + .navigationBarHidden(true) + .tabViewStyle(.page(indexDisplayMode: .automatic)) + } + } +} + +struct OnboardingTrioView_Previews: PreviewProvider { + static var previews: some View { + OnboardingTrioView().environmentObject(AuthSessionStore()) + } +} diff --git a/nirvana-ios/Views/LogoHeader/LogoHeaderView.swift b/nirvana-ios/Views/LogoHeader/LogoHeaderView.swift index a0810d1..9a66b7c 100644 --- a/nirvana-ios/Views/LogoHeader/LogoHeaderView.swift +++ b/nirvana-ios/Views/LogoHeader/LogoHeaderView.swift @@ -9,7 +9,16 @@ import SwiftUI struct LogoHeaderView: View { var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + HStack { + Image("undraw_handcrafts_leaf") + .resizable() + .frame(width: 20.0, height: 32.132) + + Text("nirvana") + .font(Font.custom("Satisfy-Regular", size: 35)) + .foregroundColor(NirvanaColor.teal) + .multilineTextAlignment(.center) + } } } diff --git a/nirvana-ios/Views/WelcomeView/OnboardingTrioView.swift b/nirvana-ios/Views/WelcomeView/OnboardingTrioView.swift deleted file mode 100644 index c4534e0..0000000 --- a/nirvana-ios/Views/WelcomeView/OnboardingTrioView.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// OnboardingTrio.swift -// nirvana-ios -// -// Created by Arjun Patel on 12/14/21. -// - -import SwiftUI -import NavigationStack - -struct OnboardingTrioView: View { - @EnvironmentObject var navigationStack: NavigationStack - - var body: some View { - TabView { - OnboardingTemplateView(imgName: "undraw_through_the_park_lxnl", mainLeadingActText: "Stay present, stay ", mainHighlightedActText: "authentic.", mainTrailingActText: "", subActText: "No more consuming endless feeds and media, fomo, and anxiety.") - - OnboardingTemplateView(imgName: "undraw_connection_b-38-q", mainLeadingActText: "Be picky about your ", mainHighlightedActText: "inner circle.", mainTrailingActText: "", subActText: "You are who you hang out with. We limit your \"circle\" to 12 people.") - - OnboardingTemplateView(imgName: "undraw_voice_assistant_nrv7", mainLeadingActText: "A seamless way of communicating ", mainHighlightedActText: "voice.", mainTrailingActText: "", subActText: "Less screen time, no more endless text chats with meaningless junk. Start mindfully listening.", bottomActArea: AnyView( - VStack { - Button { - self.navigationStack.push(ContactsView()) - } label: { - Text("Start Your Detox") - .bold() - .foregroundColor(NirvanaColor.white) - .frame(maxWidth: .infinity) - .padding(.vertical, 20) - .background(NirvanaColor.teal) - .clipShape(Capsule()) - .shadow(radius:10) - } - }.padding(.bottom, 30) - ) - ) - } - .navigationBarHidden(true) - .tabViewStyle(.page(indexDisplayMode: .automatic)) - } -} - -struct OnboardingTrioView_Previews: PreviewProvider { - static var previews: some View { - OnboardingTrioView().environmentObject(AuthSessionStore()) - } -}