diff --git a/nirvana-ios.xcodeproj/project.pbxproj b/nirvana-ios.xcodeproj/project.pbxproj index 721f501..fdab6cb 100644 --- a/nirvana-ios.xcodeproj/project.pbxproj +++ b/nirvana-ios.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ 89B46E71276893E200B74255 /* AuthSessionStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89B46E70276893E200B74255 /* AuthSessionStore.swift */; }; 89BDCDE527695DB900577829 /* NirvanaImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDE427695DB900577829 /* NirvanaImage.swift */; }; 89BDCDE72769616600577829 /* UIImage+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDE62769616600577829 /* UIImage+Extension.swift */; }; + 89BDCDEA27697F9C00577829 /* UserMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89BDCDE927697F9C00577829 /* UserMenu.swift */; }; 89D99D2E2766FD6B00237814 /* Liquid in Frameworks */ = {isa = PBXBuildFile; productRef = 89D99D2D2766FD6B00237814 /* Liquid */; }; 89F1386D2767EB19006680ED /* SignInView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89F1386C2767EB19006680ED /* SignInView.swift */; }; 89F138702767F55F006680ED /* GoogleSignIn in Frameworks */ = {isa = PBXBuildFile; productRef = 89F1386F2767F55F006680ED /* GoogleSignIn */; }; @@ -63,6 +64,7 @@ 89B46E70276893E200B74255 /* AuthSessionStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthSessionStore.swift; sourceTree = ""; }; 89BDCDE427695DB900577829 /* NirvanaImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NirvanaImage.swift; sourceTree = ""; }; 89BDCDE62769616600577829 /* UIImage+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Extension.swift"; sourceTree = ""; }; + 89BDCDE927697F9C00577829 /* UserMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserMenu.swift; sourceTree = ""; }; 89F1386C2767EB19006680ED /* SignInView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInView.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -166,6 +168,7 @@ 891A1608276572BB00B26659 /* HomeView */ = { isa = PBXGroup; children = ( + 89BDCDE827697F6100577829 /* UserMenu */, 891A160F2765909400B26659 /* ChatsCarouselView */, 891A160227656FC700B26659 /* HomeView.swift */, 891A160A2765732700B26659 /* HomeViewModel.swift */, @@ -218,6 +221,14 @@ path = Auth; sourceTree = ""; }; + 89BDCDE827697F6100577829 /* UserMenu */ = { + isa = PBXGroup; + children = ( + 89BDCDE927697F9C00577829 /* UserMenu.swift */, + ); + path = UserMenu; + sourceTree = ""; + }; 89F1386B2767EB07006680ED /* SignIn */ = { isa = PBXGroup; children = ( @@ -324,6 +335,7 @@ 891A16132765A44300B26659 /* ChatsCarouselViewModel.swift in Sources */, 891A15E127653A7000B26659 /* nirvana_iosApp.swift in Sources */, 891A160127656FB200B26659 /* FooterView.swift in Sources */, + 89BDCDEA27697F9C00577829 /* UserMenu.swift in Sources */, 891A15FF27656F9200B26659 /* HeaderView.swift in Sources */, 892179E42765FEB8001E6C60 /* FooterControlsView.swift in Sources */, 891A15FD276566B800B26659 /* constants.swift in Sources */, diff --git a/nirvana-ios/Views/HomeView/UserMenu/UserMenu.swift b/nirvana-ios/Views/HomeView/UserMenu/UserMenu.swift new file mode 100644 index 0000000..208ca1d --- /dev/null +++ b/nirvana-ios/Views/HomeView/UserMenu/UserMenu.swift @@ -0,0 +1,27 @@ +// +// UserMenu.swift +// nirvana-ios +// +// Created by Arjun Patel on 12/14/21. +// + +import SwiftUI + +struct UserMenuView: View { + @Environment(\.dismiss) var dismiss + + var body: some View { + Button("Press to dismiss") { + dismiss() + } + .font(.title) + .padding() + .background(Color.black) + } +} + +struct UserMenuView_Previews: PreviewProvider { + static var previews: some View { + UserMenuView() + } +} diff --git a/nirvana-ios/Views/Templates/HeaderView.swift b/nirvana-ios/Views/Templates/HeaderView.swift index 9bb2cc9..5f15efd 100644 --- a/nirvana-ios/Views/Templates/HeaderView.swift +++ b/nirvana-ios/Views/Templates/HeaderView.swift @@ -10,6 +10,7 @@ import SwiftUI struct HeaderView: View { @EnvironmentObject var authStore:AuthSessionStore @State var averageColor: UIColor = UIColor(NirvanaColor.teal) + @State var showingMenu: Bool = false var body: some View { HStack(alignment:.center) { @@ -27,7 +28,9 @@ struct HeaderView: View { .frame(width: 40, height: 40) .clipShape(Circle()) .padding(5) - .shadow(radius:5) + .sheet(isPresented: $showingMenu) { + UserMenuView() + } } } .frame(maxWidth: .infinity) @@ -35,6 +38,7 @@ struct HeaderView: View { .background(NirvanaColor.solidBlue) .cornerRadius(100) .padding(.horizontal) + .shadow(radius: 10) .onAppear{ // set background color based on profile picture tint if authStore.sessionState == SessionState.isAuthenticated {