From 4fcaab65f2e029e56e0979b08c096e7b3554876c Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Mon, 2 Sep 2024 16:06:10 +0100 Subject: [PATCH 01/32] Adding logo test --- .DS_Store | Bin 6148 -> 6148 bytes .../Contents.json | 2 +- .../Screenshot 2024-09-02 at 15.59.50.png | Bin 0 -> 169919 bytes .../makers-logo.imageset/makers-logo.png | Bin 13280 -> 0 bytes MobileAcebook/WelcomePageView.swift | 2 +- 5 files changed, 2 insertions(+), 2 deletions(-) rename MobileAcebook/Assets.xcassets/{makers-logo.imageset => Logo.imageset}/Contents.json (81%) create mode 100644 MobileAcebook/Assets.xcassets/Logo.imageset/Screenshot 2024-09-02 at 15.59.50.png delete mode 100644 MobileAcebook/Assets.xcassets/makers-logo.imageset/makers-logo.png diff --git a/.DS_Store b/.DS_Store index 7fa1be84d357e72af5ed943ecd6fe9ee00e303cc..aa44966853af418bd5abc15663ce08842a8d08f5 100644 GIT binary patch delta 53 zcmZoMXfc@JFUrcmz`)4BAi%(o!;s40$dC*qlQuK5EN5h7-Q33H$hi4GGY8AWhE1E< IIsWnk03q!R83}%aG!klb@WFlb-}s4K#(p4v6*sg8`7mz`(=c&EN^t;SDs$4G3}RTMtz0f~1dk qvjCGVqb3hS5Q8g&BZCWrFOb$_NM%UDYVG>XcFf`|o7p-3@&f?fUoQLr diff --git a/MobileAcebook/Assets.xcassets/makers-logo.imageset/Contents.json b/MobileAcebook/Assets.xcassets/Logo.imageset/Contents.json similarity index 81% rename from MobileAcebook/Assets.xcassets/makers-logo.imageset/Contents.json rename to MobileAcebook/Assets.xcassets/Logo.imageset/Contents.json index 216c5e2c..7d56d46f 100644 --- a/MobileAcebook/Assets.xcassets/makers-logo.imageset/Contents.json +++ b/MobileAcebook/Assets.xcassets/Logo.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "makers-logo.png", + "filename" : "Screenshot 2024-09-02 at 15.59.50.png", "idiom" : "universal", "scale" : "1x" }, diff --git a/MobileAcebook/Assets.xcassets/Logo.imageset/Screenshot 2024-09-02 at 15.59.50.png b/MobileAcebook/Assets.xcassets/Logo.imageset/Screenshot 2024-09-02 at 15.59.50.png new file mode 100644 index 0000000000000000000000000000000000000000..0be2bb066f260d0cc6e35f34cc0c0ddcbc9524fb GIT binary patch literal 169919 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 Y90hURYK2WkH*h~SB`w7=dCT|z2gC4vz5oCK literal 0 HcmV?d00001 diff --git a/MobileAcebook/Assets.xcassets/makers-logo.imageset/makers-logo.png b/MobileAcebook/Assets.xcassets/makers-logo.imageset/makers-logo.png deleted file mode 100644 index 8e9844cb6daab61d57384dfa4835275caa12e4b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13280 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 YGPM^I#Stq><1b7}PF=QI`c3fv0P2|{bN~PV diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 96006af9..d427baf8 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -20,7 +20,7 @@ struct WelcomePageView: View { Spacer() - Image("makers-logo") + Image("Logo") .resizable() .scaledToFit() .frame(width: 200, height: 200) From 96f4a258d08c9b63d77511df9c5111755fe4caf6 Mon Sep 17 00:00:00 2001 From: Marya Date: Mon, 2 Sep 2024 16:09:14 +0100 Subject: [PATCH 02/32] added login button --- .DS_Store | Bin 6148 -> 6148 bytes MobileAcebook.xcodeproj/project.pbxproj | 2 ++ MobileAcebook/WelcomePageView.swift | 20 ++++++++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.DS_Store b/.DS_Store index 7fa1be84d357e72af5ed943ecd6fe9ee00e303cc..7efde0b1c7641ec5ecf4b395b700efc0b7c7a2d1 100644 GIT binary patch delta 343 zcmZoMXfc=|#>B!ku~2NHo;G(5Ln?zKLo$#|+RVtZoSBhhavPKF;i=7gSqCvcn{QR6G7&|d3 zEHkw{UO>b-Kd&S)GcUCWtRXWc6{sX8JTosPzuYOmG%uwXtTz}U!NJMF880AF?OJVQ zZmOeTY++ohqfl*WWT2y9Vr*7h%gG_CtZy9@pPiGNm)`|+91t)vLTCnFC=H{!fxeOB zDGM&j%gN762dUhAfQg+^my;og!4>Fn7Y1J-t;dkdkm8w>pA7Y`08pVL5bOO1gN=oa hjGNgx_&I>V1`MR{%#-;=965kiGJ&kw93irX8337lS`GjJ delta 263 zcmZoMXfc=|#>B)qu~2NHo;G&~gFiz&gENqH+*r7rv7Up0fkBYL1IP~tiX+Ja)p#)I zF;oC?E<=iEPJVJyPJR+lwEz&?0kPhHFaWX`7w#)rko56R z_F|Emti>YFC_Y&L$SPocsmsF<#Nf){$l$`@3#9cJQW;XPx&dU?mdy=p?Ti~6dYCq| gbMSKjy}4PC<2& Date: Mon, 2 Sep 2024 16:26:38 +0100 Subject: [PATCH 03/32] Add page structure --- MobileAcebook.xcodeproj/project.pbxproj | 20 +++ .../xcschemes/MobileAcebook.xcscheme | 114 ++++++++++++++++++ MobileAcebook/CreatePostsPageView.swift | 8 ++ MobileAcebook/FeedPageView.swift | 8 ++ MobileAcebook/LoginPageView.swift | 8 ++ MobileAcebook/ProfilePageView.swift | 8 ++ MobileAcebook/SignUpPageView.swift | 8 ++ 7 files changed, 174 insertions(+) create mode 100644 MobileAcebook.xcodeproj/xcshareddata/xcschemes/MobileAcebook.xcscheme create mode 100644 MobileAcebook/CreatePostsPageView.swift create mode 100644 MobileAcebook/FeedPageView.swift create mode 100644 MobileAcebook/LoginPageView.swift create mode 100644 MobileAcebook/ProfilePageView.swift create mode 100644 MobileAcebook/SignUpPageView.swift diff --git a/MobileAcebook.xcodeproj/project.pbxproj b/MobileAcebook.xcodeproj/project.pbxproj index 8bdbfcbb..375f5cc0 100644 --- a/MobileAcebook.xcodeproj/project.pbxproj +++ b/MobileAcebook.xcodeproj/project.pbxproj @@ -19,6 +19,11 @@ AE5D85E32AC9AFD2009680C6 /* MockAuthenticationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE5D85E22AC9AFD2009680C6 /* MockAuthenticationService.swift */; }; AE5D85E62AC9B077009680C6 /* AuthenticationServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE5D85E52AC9B077009680C6 /* AuthenticationServiceProtocol.swift */; }; AE5D85E82AC9B29A009680C6 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE5D85E72AC9B29A009680C6 /* User.swift */; }; + F8E51E812C861051005418F9 /* SignUpPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E51E802C861051005418F9 /* SignUpPageView.swift */; }; + F8E51E832C861062005418F9 /* LoginPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E51E822C861062005418F9 /* LoginPageView.swift */; }; + F8E51E852C861071005418F9 /* FeedPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E51E842C861071005418F9 /* FeedPageView.swift */; }; + F8E51E872C861086005418F9 /* CreatePostsPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E51E862C861086005418F9 /* CreatePostsPageView.swift */; }; + F8E51E892C861095005418F9 /* ProfilePageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E51E882C861095005418F9 /* ProfilePageView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -54,6 +59,11 @@ AE5D85E22AC9AFD2009680C6 /* MockAuthenticationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAuthenticationService.swift; sourceTree = ""; }; AE5D85E52AC9B077009680C6 /* AuthenticationServiceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationServiceProtocol.swift; sourceTree = ""; }; AE5D85E72AC9B29A009680C6 /* User.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = ""; }; + F8E51E802C861051005418F9 /* SignUpPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpPageView.swift; sourceTree = ""; }; + F8E51E822C861062005418F9 /* LoginPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginPageView.swift; sourceTree = ""; }; + F8E51E842C861071005418F9 /* FeedPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedPageView.swift; sourceTree = ""; }; + F8E51E862C861086005418F9 /* CreatePostsPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePostsPageView.swift; sourceTree = ""; }; + F8E51E882C861095005418F9 /* ProfilePageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePageView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -111,6 +121,11 @@ AE5D85B32AC8A224009680C6 /* Assets.xcassets */, AE5D85B52AC8A224009680C6 /* Preview Content */, AE5D85D92AC8A337009680C6 /* WelcomePageView.swift */, + F8E51E802C861051005418F9 /* SignUpPageView.swift */, + F8E51E822C861062005418F9 /* LoginPageView.swift */, + F8E51E842C861071005418F9 /* FeedPageView.swift */, + F8E51E862C861086005418F9 /* CreatePostsPageView.swift */, + F8E51E882C861095005418F9 /* ProfilePageView.swift */, ); path = MobileAcebook; sourceTree = ""; @@ -305,8 +320,13 @@ buildActionMask = 2147483647; files = ( AE5D85E12AC9AFA9009680C6 /* AuthenticationService.swift in Sources */, + F8E51E892C861095005418F9 /* ProfilePageView.swift in Sources */, + F8E51E852C861071005418F9 /* FeedPageView.swift in Sources */, AE5D85E62AC9B077009680C6 /* AuthenticationServiceProtocol.swift in Sources */, + F8E51E832C861062005418F9 /* LoginPageView.swift in Sources */, AE5D85B02AC8A221009680C6 /* MobileAcebookApp.swift in Sources */, + F8E51E812C861051005418F9 /* SignUpPageView.swift in Sources */, + F8E51E872C861086005418F9 /* CreatePostsPageView.swift in Sources */, AE5D85E82AC9B29A009680C6 /* User.swift in Sources */, AE5D85DA2AC8A337009680C6 /* WelcomePageView.swift in Sources */, ); diff --git a/MobileAcebook.xcodeproj/xcshareddata/xcschemes/MobileAcebook.xcscheme b/MobileAcebook.xcodeproj/xcshareddata/xcschemes/MobileAcebook.xcscheme new file mode 100644 index 00000000..2ded4968 --- /dev/null +++ b/MobileAcebook.xcodeproj/xcshareddata/xcschemes/MobileAcebook.xcscheme @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift new file mode 100644 index 00000000..bafaf222 --- /dev/null +++ b/MobileAcebook/CreatePostsPageView.swift @@ -0,0 +1,8 @@ +// +// CreatePostsPageView.swift +// MobileAcebook +// +// Created by Santosh Dasari on 02/09/2024. +// + +import Foundation diff --git a/MobileAcebook/FeedPageView.swift b/MobileAcebook/FeedPageView.swift new file mode 100644 index 00000000..5b3170f3 --- /dev/null +++ b/MobileAcebook/FeedPageView.swift @@ -0,0 +1,8 @@ +// +// FeedPageView.swift +// MobileAcebook +// +// Created by Santosh Dasari on 02/09/2024. +// + +import Foundation diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift new file mode 100644 index 00000000..092ce5be --- /dev/null +++ b/MobileAcebook/LoginPageView.swift @@ -0,0 +1,8 @@ +// +// LoginPageView.swift +// MobileAcebook +// +// Created by Santosh Dasari on 02/09/2024. +// + +import Foundation diff --git a/MobileAcebook/ProfilePageView.swift b/MobileAcebook/ProfilePageView.swift new file mode 100644 index 00000000..fd04359f --- /dev/null +++ b/MobileAcebook/ProfilePageView.swift @@ -0,0 +1,8 @@ +// +// ProfilePageView.swift +// MobileAcebook +// +// Created by Santosh Dasari on 02/09/2024. +// + +import Foundation diff --git a/MobileAcebook/SignUpPageView.swift b/MobileAcebook/SignUpPageView.swift new file mode 100644 index 00000000..2ba16b54 --- /dev/null +++ b/MobileAcebook/SignUpPageView.swift @@ -0,0 +1,8 @@ +// +// SignUpPageView.swift +// MobileAcebook +// +// Created by Santosh Dasari on 02/09/2024. +// + +import Foundation From 110047bb2a32c5619aeebf581d9e551d8872db48 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Mon, 2 Sep 2024 20:42:12 +0100 Subject: [PATCH 04/32] Welcome Page updated design and styling --- .../AccentColor.colorset/Contents.json | 9 ++++ MobileAcebook/WelcomePageView.swift | 53 +++++++++++-------- 2 files changed, 41 insertions(+), 21 deletions(-) diff --git a/MobileAcebook/Assets.xcassets/AccentColor.colorset/Contents.json b/MobileAcebook/Assets.xcassets/AccentColor.colorset/Contents.json index eb878970..7c4d70c2 100644 --- a/MobileAcebook/Assets.xcassets/AccentColor.colorset/Contents.json +++ b/MobileAcebook/Assets.xcassets/AccentColor.colorset/Contents.json @@ -1,6 +1,15 @@ { "colors" : [ { + "color" : { + "color-space" : "display-p3", + "components" : { + "alpha" : "1.000", + "blue" : "0.697", + "green" : "0.696", + "red" : "0.671" + } + }, "idiom" : "universal" } ], diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 95074f6a..ada04cc2 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -10,45 +10,56 @@ import SwiftUI struct WelcomePageView: View { var body: some View { ZStack { + Color.black + .ignoresSafeArea() VStack { - Spacer() - - Text("Welcome to Acebook!") - .font(.largeTitle) - .padding(.bottom, 20) - .accessibilityIdentifier("welcomeText") - - Spacer() - Image("Logo") .resizable() .scaledToFit() .frame(width: 200, height: 200) - .accessibilityIdentifier("makers-logo") + .accessibilityIdentifier("Acebook-Logo") - Spacer() + Text("Welcome to acebook!") + .font(.largeTitle) + .padding(.bottom, 20) + .accessibilityIdentifier("welcomeText") + .foregroundColor(Color.white) + .background(Color.black) + .font(.system(.body, design: .monospaced)) -// HStack{ - + HStack{ Button("Sign Up") { + print("Button Tapped") // TODO: sign up logic } .accessibilityIdentifier("signUpButton") + .buttonStyle(.borderedProminent) + .foregroundColor(Color.white) + .buttonBorderShape(.roundedRectangle(radius: 20)) + .font(.system(.body, design: .monospaced)) Button("Login") { + print("Button Tapped") + // TODO: sign up logic } .accessibilityIdentifier("LogInButton") - Spacer() -// } + .buttonStyle(.borderedProminent) + .foregroundColor(Color.white) + .buttonBorderShape(.roundedRectangle(radius: 20)) + .font(.system(.body, design: .monospaced)) + + } + } + } } } -} - -struct WelcomePageView_Previews: PreviewProvider { - static var previews: some View { - WelcomePageView() + + struct WelcomePageView_Previews: PreviewProvider { + static var previews: some View { + WelcomePageView() + } } -} + From f08c7cbaab79ae78a863157f7acc09f84a84baa1 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Mon, 2 Sep 2024 21:06:18 +0100 Subject: [PATCH 05/32] Further styling changes --- MobileAcebook/WelcomePageView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index ada04cc2..038c7a69 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -27,7 +27,9 @@ struct WelcomePageView: View { .background(Color.black) .font(.system(.body, design: .monospaced)) + Spacer() HStack{ + Button("Sign Up") { print("Button Tapped") // TODO: sign up logic @@ -38,7 +40,7 @@ struct WelcomePageView: View { .buttonBorderShape(.roundedRectangle(radius: 20)) .font(.system(.body, design: .monospaced)) - + Button("Login") { print("Button Tapped") From 2a47d37c25ceef185ebccc6af4b8be35827370d1 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Mon, 2 Sep 2024 23:57:45 +0100 Subject: [PATCH 06/32] For changes --- MobileAcebook/WelcomePageView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 038c7a69..bd56a15d 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -40,7 +40,7 @@ struct WelcomePageView: View { .buttonBorderShape(.roundedRectangle(radius: 20)) .font(.system(.body, design: .monospaced)) - + Button("Login") { print("Button Tapped") From de8d94f47e6096d2831fd1155b3c080528f5e303 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 00:10:10 +0100 Subject: [PATCH 07/32] Final Styling changes --- MobileAcebook.xcodeproj/project.pbxproj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MobileAcebook.xcodeproj/project.pbxproj b/MobileAcebook.xcodeproj/project.pbxproj index 375f5cc0..fa347038 100644 --- a/MobileAcebook.xcodeproj/project.pbxproj +++ b/MobileAcebook.xcodeproj/project.pbxproj @@ -253,7 +253,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1420; - LastUpgradeCheck = 1420; + LastUpgradeCheck = 1540; TargetAttributes = { AE5D85AB2AC8A221009680C6 = { CreatedOnToolsVersion = 14.2; @@ -403,6 +403,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -463,6 +464,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; From 1fc70f328b9bf341830932efd60ee47ff3b11186 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 10:17:48 +0100 Subject: [PATCH 08/32] Spacer Changes --- MobileAcebook/WelcomePageView.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index bd56a15d..7fdf351a 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -27,7 +27,7 @@ struct WelcomePageView: View { .background(Color.black) .font(.system(.body, design: .monospaced)) - Spacer() + HStack{ Button("Sign Up") { @@ -39,7 +39,7 @@ struct WelcomePageView: View { .foregroundColor(Color.white) .buttonBorderShape(.roundedRectangle(radius: 20)) .font(.system(.body, design: .monospaced)) - + .padding(40) Button("Login") { print("Button Tapped") @@ -51,6 +51,7 @@ struct WelcomePageView: View { .foregroundColor(Color.white) .buttonBorderShape(.roundedRectangle(radius: 20)) .font(.system(.body, design: .monospaced)) + .padding(40) } } From 03c6e300aa08f0ba6f8229c2929da7ec55835923 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 10:33:00 +0100 Subject: [PATCH 09/32] Further changes --- MobileAcebook/WelcomePageView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 7fdf351a..02b587e7 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -18,7 +18,7 @@ struct WelcomePageView: View { .scaledToFit() .frame(width: 200, height: 200) .accessibilityIdentifier("Acebook-Logo") - + Text("Welcome to acebook!") .font(.largeTitle) .padding(.bottom, 20) From cc6944acb6f372b3ed5001301970064f12b5d12e Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 11:37:20 +0100 Subject: [PATCH 10/32] Login Page Styling --- MobileAcebook/LoginPageView.swift | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift index 092ce5be..059e9188 100644 --- a/MobileAcebook/LoginPageView.swift +++ b/MobileAcebook/LoginPageView.swift @@ -6,3 +6,58 @@ // import Foundation +import SwiftUI + +struct LoginPageView: View { + @State private var username = "" + @State private var password = "" + var body: some View { + ZStack { + Color.black + .ignoresSafeArea() + VStack { + Image("Logo") + .resizable() + .scaledToFit() + .frame(width: 200, height: 200) + .accessibilityIdentifier("Acebook-Logo") + + Text("Login") + .font(.largeTitle) + .padding(.bottom, 20) + .accessibilityIdentifier("Login Button") + .foregroundColor(Color.white) + .background(Color.black) + .font(.system(.body, design: .monospaced)) + Form { + Section { + TextField("Username", text: $username) + TextField("Password", text: $password) + } header:{ + Text("Account Details") + .foregroundColor(Color.white) + .background(Color.black) + .font(.system(.body, design: .monospaced)) + // TODO: sign up logic + } + + } + + .frame(width: 300.0, height: 150.0) + .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) + Button("Login") { + print("Button Tapped") + } + } + + + } + } + } + + +struct LoginPageView_Previews: PreviewProvider { + static var previews: some View { + LoginPageView() + } +} From f39e8ebb547b8dd86d52b424a397e06cafd1d468 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 11:41:11 +0100 Subject: [PATCH 11/32] Adding style for login button --- MobileAcebook/LoginPageView.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift index 059e9188..b616aa42 100644 --- a/MobileAcebook/LoginPageView.swift +++ b/MobileAcebook/LoginPageView.swift @@ -48,6 +48,12 @@ struct LoginPageView: View { Button("Login") { print("Button Tapped") } + .accessibilityIdentifier("LogInButton") + .buttonStyle(.borderedProminent) + .foregroundColor(Color.white) + .buttonBorderShape(.roundedRectangle(radius: 20)) + .font(.system(.body, design: .monospaced)) + .padding(40) } From f0861e6636776cd40011181fad6cdc2ef11cf915 Mon Sep 17 00:00:00 2001 From: John King Date: Tue, 3 Sep 2024 12:01:11 +0100 Subject: [PATCH 12/32] first draft of user profile page --- MobileAcebook/ProfilePageView.swift | 190 ++++++++++++++++++++++++++-- 1 file changed, 182 insertions(+), 8 deletions(-) diff --git a/MobileAcebook/ProfilePageView.swift b/MobileAcebook/ProfilePageView.swift index fd04359f..9d0715c7 100644 --- a/MobileAcebook/ProfilePageView.swift +++ b/MobileAcebook/ProfilePageView.swift @@ -1,8 +1,182 @@ -// -// ProfilePageView.swift -// MobileAcebook -// -// Created by Santosh Dasari on 02/09/2024. -// - -import Foundation +import SwiftUI + +struct ProfilePageView: View { + var body: some View { + VStack { + ScrollView { + VStack { + VStack { + Image("profilePicture") // Replace with your actual image name + .resizable() + .aspectRatio(contentMode: .fill) + .frame(width: 150, height: 150) + .clipShape(Circle()) + .overlay( + Circle().stroke(Color.white, lineWidth: 4) + ) + .shadow(radius: 10) + + Text("John King") + .font(.title) + .foregroundColor(.white) + .padding(.top, 8) + } + .padding() + + VStack(spacing: 20) { + // Image Post + PostView(imageName: "post1", caption: "Had a great time hiking!") + + // Text-Only Post + TextPostView(text: "Enjoying a quiet evening with a good book. Highly recommend 'The Midnight Library'!") + + // Another Image Post + PostView(imageName: "post2", caption: "Loving the new cafe in town!") + + // Another Text-Only Post + TextPostView(text: "Excited for the weekend! Anyone up for a road trip?") + } + .padding([.leading, .trailing]) + } + } + + HStack { + Spacer() + + VStack { + Image(systemName: "house.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Home") + .font(.caption) + .foregroundColor(.white) + } + Spacer() + + VStack { + Image(systemName: "person.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("My Profile") + .font(.caption) + .foregroundColor(.white) + } + Spacer() + + VStack { + Image(systemName: "plus.circle.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Create Post") + .font(.caption) + .foregroundColor(.white) + } + Spacer() + + VStack { + Image(systemName: "arrowshape.turn.up.left.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Logout") + .font(.caption) + .foregroundColor(.white) + } + Spacer() + } + .padding() + .background(Color.gray.opacity(0.8)) + } + .background(Color.black.edgesIgnoringSafeArea(.all)) + } +} + +struct PostView: View { + var imageName: String + var caption: String + + var body: some View { + VStack(alignment: .leading, spacing: 10) { + Image(imageName) + .resizable() + .aspectRatio(contentMode: .fill) + .frame(maxHeight: 300) + .cornerRadius(10) + + Text(caption) + .font(.body) + .foregroundColor(.white) + .padding([.leading, .trailing]) + + HStack { + Button(action: { + // Like action + }) { + Text("Like") + .foregroundColor(.gray) + } + Spacer() + Button(action: { + // Comment action + }) { + Text("Comment") + .foregroundColor(.gray) + } + Spacer() + Button(action: { + // Share action + }) { + Text("Share") + .foregroundColor(.gray) + } + } + .padding([.leading, .trailing, .bottom]) + } + .background(Color.gray.opacity(0.2)) + .cornerRadius(10) + } +} + +struct TextPostView: View { + var text: String + + var body: some View { + VStack(alignment: .leading, spacing: 10) { + Text(text) + .font(.body) + .foregroundColor(.white) + .padding([.leading, .trailing, .top]) + + HStack { + Button(action: { + // Like action + }) { + Text("Like") + .foregroundColor(.gray) + } + Spacer() + Button(action: { + // Comment action + }) { + Text("Comment") + .foregroundColor(.gray) + } + Spacer() + Button(action: { + // Share action + }) { + Text("Share") + .foregroundColor(.gray) + } + } + .padding([.leading, .trailing, .bottom]) + } + .background(Color.gray.opacity(0.2)) + .cornerRadius(10) + } +} + +struct ProfilePageView_Previews: PreviewProvider { + static var previews: some View { + ProfilePageView() + } +} From 16716caf2f61d2c4b0dab30a0991ebad32c693da Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 12:06:01 +0100 Subject: [PATCH 13/32] Changes --- MobileAcebook/LoginPageView.swift | 2 +- MobileAcebook/WelcomePageView.swift | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift index b616aa42..1c5b75ba 100644 --- a/MobileAcebook/LoginPageView.swift +++ b/MobileAcebook/LoginPageView.swift @@ -42,9 +42,9 @@ struct LoginPageView: View { } } - .frame(width: 300.0, height: 150.0) .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) + Button("Login") { print("Button Tapped") } diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 02b587e7..7b2aa6a7 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -41,17 +41,14 @@ struct WelcomePageView: View { .font(.system(.body, design: .monospaced)) .padding(40) - Button("Login") { - print("Button Tapped") + NavigationLink("Login Page", destination: LoginPageView()) - // TODO: sign up logic - } - .accessibilityIdentifier("LogInButton") - .buttonStyle(.borderedProminent) - .foregroundColor(Color.white) - .buttonBorderShape(.roundedRectangle(radius: 20)) - .font(.system(.body, design: .monospaced)) - .padding(40) + .accessibilityIdentifier("LogInButton") + .buttonStyle(.borderedProminent) + .foregroundColor(Color.white) + .buttonBorderShape(.roundedRectangle(radius: 20)) + .font(.system(.body, design: .monospaced)) + .padding(40) } } @@ -59,7 +56,6 @@ struct WelcomePageView: View { } } } - struct WelcomePageView_Previews: PreviewProvider { static var previews: some View { WelcomePageView() From 598d23904d4d1299f9b915d292ef602c5f5adffb Mon Sep 17 00:00:00 2001 From: Marya Date: Tue, 3 Sep 2024 12:08:42 +0100 Subject: [PATCH 14/32] added basic signup form --- MobileAcebook/MobileAcebookApp.swift | 3 +++ MobileAcebook/SignUpPageView.swift | 33 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/MobileAcebook/MobileAcebookApp.swift b/MobileAcebook/MobileAcebookApp.swift index e0c3eb42..6c4ce161 100644 --- a/MobileAcebook/MobileAcebookApp.swift +++ b/MobileAcebook/MobileAcebookApp.swift @@ -13,5 +13,8 @@ struct MobileAcebookApp: App { WindowGroup { WelcomePageView() } + WindowGroup { + SignUpPageView() + } } } diff --git a/MobileAcebook/SignUpPageView.swift b/MobileAcebook/SignUpPageView.swift index 2ba16b54..fe7b83de 100644 --- a/MobileAcebook/SignUpPageView.swift +++ b/MobileAcebook/SignUpPageView.swift @@ -5,4 +5,35 @@ // Created by Santosh Dasari on 02/09/2024. // -import Foundation +import SwiftUI + +struct SignUpPageView: View { + + @State private var username = "" + @State private var email = "" + @State private var password = "" + @State private var confirmed_password = "" + + var body: some View { + + Form{ + Section{ + TextField("Username", text: $username) + TextField("Email", text: $email) + TextField("Password", text: $password) + TextField("Confirm password", text: $confirmed_password) + } header: { + Text("Sign up for an account") + } + } + .frame(width: 300.0, height: 150.0) + .scrollContentBackground(.hidden) + } +} + +struct SignUpPageView_Previews: PreviewProvider { + static var previews: some View { + SignUpPageView() + } + } + From b05f76bc331a0138d1f34aa67e8355bd65eebe25 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Tue, 3 Sep 2024 12:32:21 +0100 Subject: [PATCH 15/32] Added functionality for Login button to navigate to login page --- MobileAcebook/WelcomePageView.swift | 84 +++++++++++++++-------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 7b2aa6a7..d1193292 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -5,60 +5,66 @@ // Created by Josué Estévez Fernández on 30/09/2023. // +import SwiftUI + + + import SwiftUI struct WelcomePageView: View { var body: some View { - ZStack { - Color.black - .ignoresSafeArea() - VStack { - Image("Logo") - .resizable() - .scaledToFit() - .frame(width: 200, height: 200) - .accessibilityIdentifier("Acebook-Logo") + NavigationView { + ZStack { + Color.black + .ignoresSafeArea() + VStack { + Image("Logo") + .resizable() + .scaledToFit() + .frame(width: 200, height: 200) + .accessibilityIdentifier("Acebook-Logo") - Text("Welcome to acebook!") - .font(.largeTitle) - .padding(.bottom, 20) - .accessibilityIdentifier("welcomeText") - .foregroundColor(Color.white) - .background(Color.black) - .font(.system(.body, design: .monospaced)) - - - HStack{ - - Button("Sign Up") { - print("Button Tapped") - // TODO: sign up logic - } - .accessibilityIdentifier("signUpButton") - .buttonStyle(.borderedProminent) - .foregroundColor(Color.white) - .buttonBorderShape(.roundedRectangle(radius: 20)) - .font(.system(.body, design: .monospaced)) - .padding(40) - - NavigationLink("Login Page", destination: LoginPageView()) + Text("Welcome to acebook!") + .font(.largeTitle) + .padding(.bottom, 20) + .accessibilityIdentifier("welcomeText") + .foregroundColor(Color.white) + .background(Color.black) + .font(.system(.body, design: .monospaced)) + HStack { + Button("Sign Up") { + print("Button Tapped") + // TODO: sign up logic + } + .accessibilityIdentifier("signUpButton") + .buttonStyle(.borderedProminent) + .foregroundColor(Color.white) + .buttonBorderShape(.roundedRectangle(radius: 20)) + .font(.system(.body, design: .monospaced)) + .padding(40) + + NavigationLink(destination: LoginPageView()) { // Changed to LoginView + Text("Login") + + } .accessibilityIdentifier("LogInButton") .buttonStyle(.borderedProminent) .foregroundColor(Color.white) .buttonBorderShape(.roundedRectangle(radius: 20)) .font(.system(.body, design: .monospaced)) .padding(40) - } } - } } } - struct WelcomePageView_Previews: PreviewProvider { - static var previews: some View { - WelcomePageView() - } - } +} + + +struct WelcomePageView_Previews: PreviewProvider { + static var previews: some View { + WelcomePageView() + } +} From 6cd3bd45e0fb32ac8f7969242562a6b34b5031ec Mon Sep 17 00:00:00 2001 From: Reza Jugon <63777177+rokesby@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:02:45 +0100 Subject: [PATCH 16/32] starter for feed page structure --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 1 + MobileAcebook.xcodeproj/project.pbxproj | 8 ++ MobileAcebook/FeedPageView.swift | 102 ++++++++++++++++++++++ MobileAcebook/Models/Post.swift | 17 ++++ MobileAcebook/Models/PostsViewModel.swift | 29 ++++++ 6 files changed, 157 insertions(+) create mode 100644 MobileAcebook/Models/Post.swift create mode 100644 MobileAcebook/Models/PostsViewModel.swift diff --git a/.DS_Store b/.DS_Store index 7efde0b1c7641ec5ecf4b395b700efc0b7c7a2d1..53d3d5befa2ad79d70be2fd4bf743b241d2e1365 100644 GIT binary patch delta 150 zcmZoMXfc@J&&abeU^g=(&t@K$>5PoxlLc6$CKs@Zh~%Uj1}Ep|7BGMSqpt{%giA`~ t=DWBg<>V&;1vzfty>`0Q`IsY`f)u<8_zN5Q8 Date: Tue, 3 Sep 2024 14:28:42 +0100 Subject: [PATCH 17/32] committing changes to merge from main --- MobileAcebook/ProfilePageView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MobileAcebook/ProfilePageView.swift b/MobileAcebook/ProfilePageView.swift index 9d0715c7..b72f19b1 100644 --- a/MobileAcebook/ProfilePageView.swift +++ b/MobileAcebook/ProfilePageView.swift @@ -23,7 +23,7 @@ struct ProfilePageView: View { } .padding() - VStack(spacing: 20) { + VStack(spacing: 10) { // Image Post PostView(imageName: "post1", caption: "Had a great time hiking!") From 5a0e5d562e24316647272e79451a8c89fe6bf08c Mon Sep 17 00:00:00 2001 From: Marya Date: Tue, 3 Sep 2024 16:30:37 +0100 Subject: [PATCH 18/32] Revert "Merge pull request #8 from rokesby/signup-view" This reverts commit 5645fe68e6fc1c4ad98b3ceb172ccd9416bf0876, reversing changes made to b9ae52f2116ea71a223f349d83c87ce50650c5f3. --- MobileAcebook/WelcomePageView.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index d1193292..a4934d6b 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -2,14 +2,14 @@ // WelcomePageView.swift // MobileAcebook // -// Created by Josué Estévez Fernández on 30/09/2023. +// Created by MARYA Estévez Fernández on 30/09/2023. // import SwiftUI -import SwiftUI + struct WelcomePageView: View { var body: some View { From 3e185e819622cc5ae80f63a2a82d393fe2489d4d Mon Sep 17 00:00:00 2001 From: John King Date: Tue, 3 Sep 2024 16:41:51 +0100 Subject: [PATCH 19/32] committing to create main backup --- MobileAcebook/ProfilePageView.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MobileAcebook/ProfilePageView.swift b/MobileAcebook/ProfilePageView.swift index b72f19b1..0102576d 100644 --- a/MobileAcebook/ProfilePageView.swift +++ b/MobileAcebook/ProfilePageView.swift @@ -25,13 +25,13 @@ struct ProfilePageView: View { VStack(spacing: 10) { // Image Post - PostView(imageName: "post1", caption: "Had a great time hiking!") + ImagePostView(imageName: "post1", caption: "Had a great time hiking!") // Text-Only Post TextPostView(text: "Enjoying a quiet evening with a good book. Highly recommend 'The Midnight Library'!") // Another Image Post - PostView(imageName: "post2", caption: "Loving the new cafe in town!") + ImagePostView(imageName: "post2", caption: "Loving the new cafe in town!") // Another Text-Only Post TextPostView(text: "Excited for the weekend! Anyone up for a road trip?") @@ -90,7 +90,7 @@ struct ProfilePageView: View { } } -struct PostView: View { +struct ImagePostView: View { var imageName: String var caption: String From 0136492a7fbe40be5243b9b97998c82dc9dd073a Mon Sep 17 00:00:00 2001 From: Santosh Date: Tue, 3 Sep 2024 21:59:14 +0100 Subject: [PATCH 20/32] create-post-page --- MobileAcebook/CreatePostsPageView.swift | 30 ++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index bafaf222..2392f099 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -5,4 +5,32 @@ // Created by Santosh Dasari on 02/09/2024. // -import Foundation +import SwiftUI + +struct CreatePostsPageView: View { + @State private var postMessage = "" + + var body: some View { + ZStack { + Color.black + .ignoresSafeArea() + ZStack { + + VStack (alignment: .center) { + TextField("What's on your mind...", text: $postMessage) + .padding() + // .frame(maxHeight: 300) + .scrollContentBackground(.hidden) + Spacer() + } + Button("Submit") { + } + } + } + } +} +struct CreatePostsPageView_Previews: PreviewProvider { + static var previews: some View { + CreatePostsPageView() + } +} From ca3085202e27759516f96a5f36acad0977bcc093 Mon Sep 17 00:00:00 2001 From: Santosh Date: Tue, 3 Sep 2024 22:55:58 +0100 Subject: [PATCH 21/32] upload image --- MobileAcebook/CreatePostsPageView.swift | 87 ++++++++++++++++++++----- 1 file changed, 71 insertions(+), 16 deletions(-) diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index 2392f099..ae07d175 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -1,34 +1,89 @@ -// -// CreatePostsPageView.swift -// MobileAcebook -// -// Created by Santosh Dasari on 02/09/2024. -// - import SwiftUI +import UIKit + +// The ImagePicker struct +struct ImagePicker: UIViewControllerRepresentable { + @Binding var selectedImage: UIImage? + @Environment(\.presentationMode) private var presentationMode + + class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { + let parent: ImagePicker + + init(parent: ImagePicker) { + self.parent = parent + } + + func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { + if let uiImage = info[.originalImage] as? UIImage { + parent.selectedImage = uiImage + } + parent.presentationMode.wrappedValue.dismiss() + } + } + + func makeCoordinator() -> Coordinator { + Coordinator(parent: self) + } + + func makeUIViewController(context: Context) -> UIImagePickerController { + let picker = UIImagePickerController() + picker.delegate = context.coordinator + return picker + } + + func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} +} +// The main view struct CreatePostsPageView: View { @State private var postMessage = "" + @State private var selectedImage: UIImage? = nil + @State private var isImagePickerPresented = false var body: some View { - ZStack { - Color.black - .ignoresSafeArea() - ZStack { - - VStack (alignment: .center) { - TextField("What's on your mind...", text: $postMessage) + VStack(alignment: .center) { + // Display the selected image, or a button to select one + if let image = selectedImage { + Image(uiImage: image) + .resizable() + .scaledToFit() + .frame(width: 200, height: 200) + .padding() + } else { + Button(action: { + isImagePickerPresented = true + }) { + TextField("1What's on your mind...", text: $postMessage) .padding() - // .frame(maxHeight: 300) .scrollContentBackground(.hidden) - Spacer() + } + .padding() + } + +// Text("Hello, \(postMessage)") +// .padding() + + Spacer() + + Form { + Section { +// TextField("What's on your mind.", text: $postMessage) + Text("Select an Image") + .foregroundColor(.blue) } Button("Submit") { + // Action for the button } } } + .padding() + .sheet(isPresented: $isImagePickerPresented) { + ImagePicker(selectedImage: $selectedImage) + } } } + +// Preview struct CreatePostsPageView_Previews: PreviewProvider { static var previews: some View { CreatePostsPageView() From 9ee49814aa62e8b087eb414089297f12fe10ddfb Mon Sep 17 00:00:00 2001 From: Santosh Date: Wed, 4 Sep 2024 09:56:41 +0100 Subject: [PATCH 22/32] add image --- MobileAcebook/CreatePostsPageView.swift | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index ae07d175..042d8ff4 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -53,17 +53,13 @@ struct CreatePostsPageView: View { Button(action: { isImagePickerPresented = true }) { - TextField("1What's on your mind...", text: $postMessage) + TextField("What's on your mind...", text: $postMessage) .padding() +// .frame(width:100, height:100) .scrollContentBackground(.hidden) } .padding() } - -// Text("Hello, \(postMessage)") -// .padding() - - Spacer() Form { Section { From 3207ad20dc7ad9606014091abe14c9e350b70ec5 Mon Sep 17 00:00:00 2001 From: Marya Date: Wed, 4 Sep 2024 10:04:04 +0100 Subject: [PATCH 23/32] FIXED THE PBXPROJ FILE!!!! --- MobileAcebook.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MobileAcebook.xcodeproj/project.pbxproj b/MobileAcebook.xcodeproj/project.pbxproj index d5580928..1c4dbde4 100644 --- a/MobileAcebook.xcodeproj/project.pbxproj +++ b/MobileAcebook.xcodeproj/project.pbxproj @@ -44,7 +44,6 @@ remoteGlobalIDString = AE5D85AB2AC8A221009680C6; remoteInfo = MobileAcebook; }; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -79,7 +78,8 @@ buildActionMask = 2147483647; files = ( ); - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 0; + }; AE5D85B92AC8A224009680C6 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; From 184b4c0dcb305057db22566a18588625c318c3af Mon Sep 17 00:00:00 2001 From: Reza Jugon <63777177+rokesby@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:10:46 +0100 Subject: [PATCH 24/32] Second iteration for form work --- .DS_Store | Bin 6148 -> 6148 bytes MobileAcebook/FeedPageView.swift | 43 ++++--------- MobileAcebook/Models/Post.swift | 6 +- MobileAcebook/Models/PostsViewModel.swift | 75 +++++++++++++++++++--- 4 files changed, 83 insertions(+), 41 deletions(-) diff --git a/.DS_Store b/.DS_Store index 53d3d5befa2ad79d70be2fd4bf743b241d2e1365..00b84f8054ab63822a064fbc51979ae915997ceb 100644 GIT binary patch delta 67 zcmZoMXffFEfR$e!i%7Uci{ delta 67 zcmZoMXffFEfR)KtWby)5Baz&E7nh`*{3Hej29DczubpmnKIRCLm>k8%gDS9qjgN7` J=Jjl$f&f^N8Os0w diff --git a/MobileAcebook/FeedPageView.swift b/MobileAcebook/FeedPageView.swift index a40a3cd3..72a8fdc1 100644 --- a/MobileAcebook/FeedPageView.swift +++ b/MobileAcebook/FeedPageView.swift @@ -1,40 +1,13 @@ -// // FeedPageView.swift // MobileAcebook -// -// Created by Santosh Dasari on 02/09/2024. -// import Foundation +import SwiftUI // Mock up a simple posting // Make a call to the Acebook API to retreive a posting // Loop through and render each posting -import SwiftUI - - -// View Model to manage the list of posts -class PostViewModel: ObservableObject { - - @Published var posts: [Post] = [ - Post(title: "This is my first post", comment: "This is a comment on post 1", likes: 0), - Post(title: "This is my second post", comment: "This is a comment on post 2", likes: 0), - Post(title: "This is my third post", comment: "This is a comment on post 3", likes: 0) - ] - - func likePost(_ post: Post) { - if let index = posts.firstIndex(where: { $0.id == post.id }) { - posts[index].likes += 1 - } - } - - func addComment(_ post: Post, newComment: String) { - if let index = posts.firstIndex(where: { $0.id == post.id }) { - posts[index].comment = newComment - } - } -} // Main View struct ContentView: View { @@ -61,13 +34,21 @@ struct PostView: View { var body: some View { VStack(alignment: .leading) { - Text(post.title) + Text(post.message) .font(.headline) Text(post.comment) .font(.subheadline) .foregroundColor(.gray) + Text(post.imageUrl) + .font(.subheadline) + .foregroundColor(.gray) + + Text(post.createdAt) + .font(.subheadline) + .foregroundColor(.gray) + HStack { Button(action: { viewModel.likePost(post) @@ -91,6 +72,10 @@ struct PostView: View { .padding(.top, 5) } .padding() + .onAppear{ + viewModel.fetchPosts() + viewModel.printPosts() + } } } diff --git a/MobileAcebook/Models/Post.swift b/MobileAcebook/Models/Post.swift index ca647f8f..d1af7c87 100644 --- a/MobileAcebook/Models/Post.swift +++ b/MobileAcebook/Models/Post.swift @@ -4,14 +4,14 @@ // // Created by Reza Jugon on 03/09/2024. // - import Foundation - // Model for a single Post struct Post: Codable, Identifiable { let id = UUID() - var title: String + var message: String var comment: String var likes: Int + var imageUrl: String + var createdAt: String } diff --git a/MobileAcebook/Models/PostsViewModel.swift b/MobileAcebook/Models/PostsViewModel.swift index dd89e58b..600721e5 100644 --- a/MobileAcebook/Models/PostsViewModel.swift +++ b/MobileAcebook/Models/PostsViewModel.swift @@ -7,23 +7,80 @@ import Foundation -class PostsViewModel: ObservableObject { - //@Published var posts: [Post] = [] +class PostViewModel: ObservableObject { + + @Published var posts: [Post] = [ + Post(message: "This is my first post", comment: "This is a comment on post 1", likes: 0, imageUrl: "placeholder img url 1", createdAt: "2024-09-03"), + Post(message: "This is my second post", comment: "This is a comment on post 2", likes: 0, imageUrl: "placeholder img url 2", createdAt: "2024-09-04"), + Post(message: "This is my third post", comment: "This is a comment on post 3", likes: 0, imageUrl: "placeholder img url 3", createdAt: "2024-09-05") + ] - + @Published var posts2: [Post] = [] func fetchPosts() { - // Implementfunc fetchPosts() { - /*guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts") else { return } + + guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts") else { return } URLSession.shared.dataTask(with: url) { data, response, error in guard let data = data, error == nil else { return } - let posts = try? JSONDecoder().decode([Post].self, from: data) + let posts2 = try? JSONDecoder().decode([Post].self, from: data) DispatchQueue.main.async { - self.posts = posts ?? [] + self.posts2 = posts2 ?? [] } - }.resume()*/ - + print("=> fetch posts2") + //print(posts2) + + }.resume() } + + func printPosts() { + // Loop through the array and print each Post's properties + for post in posts { + print("Post ID: \(post.id)") + print("Message: \(post.message)") + print("Comment: \(post.comment)") + print("Likes: \(post.likes)") + print("Image URL: \(post.imageUrl)") + print("Created At: \(post.createdAt)") + print("-----") // Separator between posts + } + } + + func likePost(_ post: Post) { + if let index = posts.firstIndex(where: { $0.id == post.id }) { + posts[index].likes += 1 + } + } + + func addComment(_ post: Post, newComment: String) { + if let index = posts.firstIndex(where: { $0.id == post.id }) { + posts[index].comment = newComment + } + } } + +// ----------------------------------------------------------------------------------------------- + + +//// View Model to manage the list of posts +//class PostViewModel: ObservableObject { +// +// @Published var posts: [Post] = [ +// Post(title: "This is my first post", comment: "This is a comment on post 1", likes: 0), +// Post(title: "This is my second post", comment: "This is a comment on post 2", likes: 0), +// Post(title: "This is my third post", comment: "This is a comment on post 3", likes: 0) +// ] +// +// func likePost(_ post: Post) { +// if let index = posts.firstIndex(where: { $0.id == post.id }) { +// posts[index].likes += 1 +// } +// } +// +// func addComment(_ post: Post, newComment: String) { +// if let index = posts.firstIndex(where: { $0.id == post.id }) { +// posts[index].comment = newComment +// } +// } +//} From 3bb9700753a27a04cbd9e7d0de1e2b9a87ae4857 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Wed, 4 Sep 2024 10:20:24 +0100 Subject: [PATCH 25/32] Fixing image Picker --- MobileAcebook/CreatePostsPageView.swift | 64 ++++++++++++------------- MobileAcebook/LoginPageView.swift | 2 - MobileAcebook/SignUpPageView.swift | 4 +- kin | 0 4 files changed, 34 insertions(+), 36 deletions(-) create mode 100644 kin diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index 042d8ff4..aedd3be8 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -2,37 +2,37 @@ import SwiftUI import UIKit // The ImagePicker struct -struct ImagePicker: UIViewControllerRepresentable { - @Binding var selectedImage: UIImage? - @Environment(\.presentationMode) private var presentationMode - - class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { - let parent: ImagePicker - - init(parent: ImagePicker) { - self.parent = parent - } - - func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { - if let uiImage = info[.originalImage] as? UIImage { - parent.selectedImage = uiImage - } - parent.presentationMode.wrappedValue.dismiss() - } - } - - func makeCoordinator() -> Coordinator { - Coordinator(parent: self) - } - - func makeUIViewController(context: Context) -> UIImagePickerController { - let picker = UIImagePickerController() - picker.delegate = context.coordinator - return picker - } - - func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} -} +//struct ImagePicker: UIViewControllerRepresentable { +// @Binding var selectedImage: UIImage? +// @Environment(\.presentationMode) private var presentationMode +// +// class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { +// let parent: ImagePicker +// +// init(parent: ImagePicker) { +// self.parent = parent +// } +// +// func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { +// if let uiImage = info[.originalImage] as? UIImage { +// parent.selectedImage = uiImage +// } +// parent.presentationMode.wrappedValue.dismiss() +// } +// } +// +// func makeCoordinator() -> Coordinator { +// Coordinator(parent: self) +// } +// +// func makeUIViewController(context: Context) -> UIImagePickerController { +// let picker = UIImagePickerController() +// picker.delegate = context.coordinator +// return picker +// } +// +// func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} +//} // The main view struct CreatePostsPageView: View { @@ -74,7 +74,7 @@ struct CreatePostsPageView: View { } .padding() .sheet(isPresented: $isImagePickerPresented) { - ImagePicker(selectedImage: $selectedImage) + ImagePicker(image: $selectedImage) } } } diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift index 1c5b75ba..623bbd6d 100644 --- a/MobileAcebook/LoginPageView.swift +++ b/MobileAcebook/LoginPageView.swift @@ -55,8 +55,6 @@ struct LoginPageView: View { .font(.system(.body, design: .monospaced)) .padding(40) } - - } } } diff --git a/MobileAcebook/SignUpPageView.swift b/MobileAcebook/SignUpPageView.swift index 23387b14..176612d2 100644 --- a/MobileAcebook/SignUpPageView.swift +++ b/MobileAcebook/SignUpPageView.swift @@ -75,10 +75,10 @@ struct SignUpPageView: View { .font(.system(.body, design: .monospaced)) // TODO: sign up logic } -// .frame(width: 250.0, height: 250.0) - .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) } + .frame(width: 300.0, height: 250.0) + .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) Button("Signup") { print("Button Tapped") diff --git a/kin b/kin new file mode 100644 index 00000000..e69de29b From 8764776c6b4b493fd39383651c61ef8a5e592dad Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Wed, 4 Sep 2024 10:24:31 +0100 Subject: [PATCH 26/32] Adding functionality for sign up --- MobileAcebook/WelcomePageView.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index a4934d6b..354b3236 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -33,9 +33,9 @@ struct WelcomePageView: View { .font(.system(.body, design: .monospaced)) HStack { - Button("Sign Up") { - print("Button Tapped") - // TODO: sign up logic + NavigationLink(destination: SignUpPageView()){ + Text("Sign Up") + } .accessibilityIdentifier("signUpButton") .buttonStyle(.borderedProminent) From d7b2afadf1e7d44c951103f70aebb84b4791f1f2 Mon Sep 17 00:00:00 2001 From: Santosh Date: Wed, 4 Sep 2024 10:25:29 +0100 Subject: [PATCH 27/32] fix-image-picker --- MobileAcebook/CreatePostsPageView.swift | 32 ------------------------- 1 file changed, 32 deletions(-) diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index aedd3be8..dbb28425 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -1,38 +1,6 @@ import SwiftUI import UIKit -// The ImagePicker struct -//struct ImagePicker: UIViewControllerRepresentable { -// @Binding var selectedImage: UIImage? -// @Environment(\.presentationMode) private var presentationMode -// -// class Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate { -// let parent: ImagePicker -// -// init(parent: ImagePicker) { -// self.parent = parent -// } -// -// func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { -// if let uiImage = info[.originalImage] as? UIImage { -// parent.selectedImage = uiImage -// } -// parent.presentationMode.wrappedValue.dismiss() -// } -// } -// -// func makeCoordinator() -> Coordinator { -// Coordinator(parent: self) -// } -// -// func makeUIViewController(context: Context) -> UIImagePickerController { -// let picker = UIImagePickerController() -// picker.delegate = context.coordinator -// return picker -// } -// -// func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} -//} // The main view struct CreatePostsPageView: View { From b622a444ea122ba8bb02d3c58ab7c7a516491e76 Mon Sep 17 00:00:00 2001 From: John King Date: Wed, 4 Sep 2024 11:17:52 +0100 Subject: [PATCH 28/32] added a functioning nav bar, hidden back button on other pages where necessary --- MobileAcebook/NavigationBar.swift | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 MobileAcebook/NavigationBar.swift diff --git a/MobileAcebook/NavigationBar.swift b/MobileAcebook/NavigationBar.swift new file mode 100644 index 00000000..31a71c0c --- /dev/null +++ b/MobileAcebook/NavigationBar.swift @@ -0,0 +1,18 @@ +// +// NavigationBar.swift +// MobileAcebook +// +// Created by John King on 04/09/2024. +// + +import SwiftUI + +struct NavigationBar: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +#Preview { + NavigationBar() +} From dfd6997358080d35e5ad74947356688fbd267e89 Mon Sep 17 00:00:00 2001 From: John King Date: Wed, 4 Sep 2024 11:22:22 +0100 Subject: [PATCH 29/32] previous commit didn't actually do what I needed, this commit is correct --- MobileAcebook.xcodeproj/project.pbxproj | 6 +- MobileAcebook/CreatePostsPageView.swift | 1 + MobileAcebook/FeedPageView.swift | 2 + MobileAcebook/NavigationBar.swift | 73 +++++++++++--- MobileAcebook/ProfilePageView.swift | 120 ++++++++---------------- MobileAcebook/WelcomePageView.swift | 1 + 6 files changed, 111 insertions(+), 92 deletions(-) diff --git a/MobileAcebook.xcodeproj/project.pbxproj b/MobileAcebook.xcodeproj/project.pbxproj index 1c4dbde4..119e3713 100644 --- a/MobileAcebook.xcodeproj/project.pbxproj +++ b/MobileAcebook.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 919D73622C886922000BA941 /* NavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 919D73612C886922000BA941 /* NavigationBar.swift */; }; AE5D85B02AC8A221009680C6 /* MobileAcebookApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE5D85AF2AC8A221009680C6 /* MobileAcebookApp.swift */; }; AE5D85B42AC8A224009680C6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AE5D85B32AC8A224009680C6 /* Assets.xcassets */; }; AE5D85B72AC8A224009680C6 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AE5D85B62AC8A224009680C6 /* Preview Assets.xcassets */; }; @@ -47,6 +48,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 919D73612C886922000BA941 /* NavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBar.swift; sourceTree = ""; }; AE5D85AC2AC8A221009680C6 /* MobileAcebook.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MobileAcebook.app; sourceTree = BUILT_PRODUCTS_DIR; }; AE5D85AF2AC8A221009680C6 /* MobileAcebookApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MobileAcebookApp.swift; sourceTree = ""; }; AE5D85B32AC8A224009680C6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -78,7 +80,7 @@ buildActionMask = 2147483647; files = ( ); - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 0; }; AE5D85B92AC8A224009680C6 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -133,6 +135,7 @@ F8E51E862C861086005418F9 /* CreatePostsPageView.swift */, F8E51E882C861095005418F9 /* ProfilePageView.swift */, F12EC4E22C873A1700467C46 /* ImagePicker.swift */, + 919D73612C886922000BA941 /* NavigationBar.swift */, ); path = MobileAcebook; sourceTree = ""; @@ -339,6 +342,7 @@ F12EC4E32C873A1800467C46 /* ImagePicker.swift in Sources */, F52702852C872FB500C5B8E7 /* PostsViewModel.swift in Sources */, F8E51E872C861086005418F9 /* CreatePostsPageView.swift in Sources */, + 919D73622C886922000BA941 /* NavigationBar.swift in Sources */, AE5D85E82AC9B29A009680C6 /* User.swift in Sources */, AE5D85DA2AC8A337009680C6 /* WelcomePageView.swift in Sources */, ); diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index dbb28425..f63f4db6 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -44,6 +44,7 @@ struct CreatePostsPageView: View { .sheet(isPresented: $isImagePickerPresented) { ImagePicker(image: $selectedImage) } + .navigationBarBackButtonHidden(true) } } diff --git a/MobileAcebook/FeedPageView.swift b/MobileAcebook/FeedPageView.swift index 72a8fdc1..53713c14 100644 --- a/MobileAcebook/FeedPageView.swift +++ b/MobileAcebook/FeedPageView.swift @@ -23,7 +23,9 @@ struct ContentView: View { } .navigationTitle("Postings") } + .navigationBarBackButtonHidden(true) } + } // View for a single post diff --git a/MobileAcebook/NavigationBar.swift b/MobileAcebook/NavigationBar.swift index 31a71c0c..0301a8d0 100644 --- a/MobileAcebook/NavigationBar.swift +++ b/MobileAcebook/NavigationBar.swift @@ -1,18 +1,69 @@ -// -// NavigationBar.swift -// MobileAcebook -// -// Created by John King on 04/09/2024. -// - import SwiftUI -struct NavigationBar: View { +struct CustomNavigationBar: View { var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + HStack { + Spacer() + + NavigationLink(destination: ContentView()) { + VStack { + Image(systemName: "house.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Home") + .font(.caption) + .foregroundColor(.white) + } + } + + Spacer() + + NavigationLink(destination: ProfilePageView()) { + VStack { + Image(systemName: "person.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("My Profile") + .font(.caption) + .foregroundColor(.white) + } + } + + Spacer() + + NavigationLink(destination: CreatePostsPageView()) { + VStack { + Image(systemName: "plus.circle.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Create Post") + .font(.caption) + .foregroundColor(.white) + } + } + + Spacer() + + NavigationLink(destination: WelcomePageView()) { + VStack { + Image(systemName: "arrowshape.turn.up.left.fill") + .font(.system(size: 24)) + .foregroundColor(.white) + Text("Logout") + .font(.caption) + .foregroundColor(.white) + } + } + + Spacer() + } + .padding() + .background(Color.gray.opacity(0.8)) } } -#Preview { - NavigationBar() +struct CustomNavigationBar_Previews: PreviewProvider { + static var previews: some View { + CustomNavigationBar() + } } diff --git a/MobileAcebook/ProfilePageView.swift b/MobileAcebook/ProfilePageView.swift index 0102576d..dce946de 100644 --- a/MobileAcebook/ProfilePageView.swift +++ b/MobileAcebook/ProfilePageView.swift @@ -2,93 +2,53 @@ import SwiftUI struct ProfilePageView: View { var body: some View { - VStack { - ScrollView { - VStack { + NavigationView { + VStack { + ScrollView { VStack { - Image("profilePicture") // Replace with your actual image name - .resizable() - .aspectRatio(contentMode: .fill) - .frame(width: 150, height: 150) - .clipShape(Circle()) - .overlay( - Circle().stroke(Color.white, lineWidth: 4) - ) - .shadow(radius: 10) + VStack { + Image("profilePicture") // Replace with your actual image name + .resizable() + .aspectRatio(contentMode: .fill) + .frame(width: 150, height: 150) + .clipShape(Circle()) + .overlay( + Circle().stroke(Color.white, lineWidth: 4) + ) + .shadow(radius: 10) + + Text("John King") + .font(.title) + .foregroundColor(.white) + .padding(.top, 8) + } + .padding() - Text("John King") - .font(.title) - .foregroundColor(.white) - .padding(.top, 8) + VStack(spacing: 10) { + // Image Post + ImagePostView(imageName: "post1", caption: "Had a great time hiking!") + + // Text-Only Post + TextPostView(text: "Enjoying a quiet evening with a good book. Highly recommend 'The Midnight Library'!") + + // Another Image Post + ImagePostView(imageName: "post2", caption: "Loving the new cafe in town!") + + // Another Text-Only Post + TextPostView(text: "Excited for the weekend! Anyone up for a road trip?") + } + .padding([.leading, .trailing]) } - .padding() - - VStack(spacing: 10) { - // Image Post - ImagePostView(imageName: "post1", caption: "Had a great time hiking!") - - // Text-Only Post - TextPostView(text: "Enjoying a quiet evening with a good book. Highly recommend 'The Midnight Library'!") - - // Another Image Post - ImagePostView(imageName: "post2", caption: "Loving the new cafe in town!") - - // Another Text-Only Post - TextPostView(text: "Excited for the weekend! Anyone up for a road trip?") - } - .padding([.leading, .trailing]) - } - } - - HStack { - Spacer() - - VStack { - Image(systemName: "house.fill") - .font(.system(size: 24)) - .foregroundColor(.white) - Text("Home") - .font(.caption) - .foregroundColor(.white) } - Spacer() + CustomNavigationBar() - VStack { - Image(systemName: "person.fill") - .font(.system(size: 24)) - .foregroundColor(.white) - Text("My Profile") - .font(.caption) - .foregroundColor(.white) - } - Spacer() - - VStack { - Image(systemName: "plus.circle.fill") - .font(.system(size: 24)) - .foregroundColor(.white) - Text("Create Post") - .font(.caption) - .foregroundColor(.white) - } - Spacer() - - VStack { - Image(systemName: "arrowshape.turn.up.left.fill") - .font(.system(size: 24)) - .foregroundColor(.white) - Text("Logout") - .font(.caption) - .foregroundColor(.white) + } + .background(Color.black.edgesIgnoringSafeArea(.all)) + .navigationBarHidden(true) // Hides the default navigation bar + } + .navigationBarBackButtonHidden(true) } - Spacer() } - .padding() - .background(Color.gray.opacity(0.8)) - } - .background(Color.black.edgesIgnoringSafeArea(.all)) - } -} struct ImagePostView: View { var imageName: String diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 354b3236..9e02a7ee 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -58,6 +58,7 @@ struct WelcomePageView: View { } } } + .navigationBarBackButtonHidden(true) } } From bfec0654586c7302dd2b2a407a6eb24147a9a1d4 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Wed, 4 Sep 2024 15:40:03 +0100 Subject: [PATCH 30/32] adding terms and conditions check box --- MobileAcebook/LoginPageView.swift | 1 + MobileAcebook/SignUpPageView.swift | 26 +++++++++++++++++++++++++- MobileAcebook/WelcomePageView.swift | 2 ++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/MobileAcebook/LoginPageView.swift b/MobileAcebook/LoginPageView.swift index 623bbd6d..5b2278e4 100644 --- a/MobileAcebook/LoginPageView.swift +++ b/MobileAcebook/LoginPageView.swift @@ -15,6 +15,7 @@ struct LoginPageView: View { ZStack { Color.black .ignoresSafeArea() + VStack { Image("Logo") .resizable() diff --git a/MobileAcebook/SignUpPageView.swift b/MobileAcebook/SignUpPageView.swift index 176612d2..d98804d5 100644 --- a/MobileAcebook/SignUpPageView.swift +++ b/MobileAcebook/SignUpPageView.swift @@ -13,6 +13,7 @@ struct SignUpPageView: View { @State private var email = "" @State private var password = "" @State private var confirmed_password = "" + @State private var checkedBox = false // This is the image stuff added just now 3rd september by Marya @State private var selectedImage: UIImage? @@ -23,6 +24,7 @@ struct SignUpPageView: View { ZStack { Color.black .ignoresSafeArea() + VStack { Image("Logo") .resizable() @@ -76,9 +78,26 @@ struct SignUpPageView: View { // TODO: sign up logic } + } .frame(width: 300.0, height: 250.0) .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) + HStack{ + Text("Terms and Conditions") + .foregroundStyle(Color.white) + .font(.system(.body, design: .monospaced, weight: .light)) + Image(systemName: checkedBox ? "checkmark.circle.fill" : "circle") + .font(.system(size: 10)) + .scaleEffect(checkedBox ? 1.25 : 1.0) + .foregroundColor(checkedBox ? .green : .black) + .padding() + .onTapGesture { + withAnimation(.easeInOut(duration: 1.0)){ + checkedBox.toggle() + } + } + .background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: 20, style: .continuous)) + } Button("Signup") { print("Button Tapped") @@ -90,11 +109,16 @@ struct SignUpPageView: View { .font(.system(.body, design: .monospaced)) .padding(40) } + } - } + + + + } } + struct SignUpPageView_Previews: PreviewProvider { static var previews: some View { diff --git a/MobileAcebook/WelcomePageView.swift b/MobileAcebook/WelcomePageView.swift index 9e02a7ee..afd7b58e 100644 --- a/MobileAcebook/WelcomePageView.swift +++ b/MobileAcebook/WelcomePageView.swift @@ -17,12 +17,14 @@ struct WelcomePageView: View { ZStack { Color.black .ignoresSafeArea() + VStack { Image("Logo") .resizable() .scaledToFit() .frame(width: 200, height: 200) .accessibilityIdentifier("Acebook-Logo") + Text("Welcome to acebook!") .font(.largeTitle) From 9eec6b9393d744387104f1066244c68f2d602b26 Mon Sep 17 00:00:00 2001 From: Joey Allen Date: Wed, 4 Sep 2024 15:50:26 +0100 Subject: [PATCH 31/32] removing whitespace --- MobileAcebook/SignUpPageView.swift | 8 -------- 1 file changed, 8 deletions(-) diff --git a/MobileAcebook/SignUpPageView.swift b/MobileAcebook/SignUpPageView.swift index d98804d5..b65e53fd 100644 --- a/MobileAcebook/SignUpPageView.swift +++ b/MobileAcebook/SignUpPageView.swift @@ -77,8 +77,6 @@ struct SignUpPageView: View { .font(.system(.body, design: .monospaced)) // TODO: sign up logic } - - } .frame(width: 300.0, height: 250.0) .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) @@ -98,7 +96,6 @@ struct SignUpPageView: View { } .background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: 20, style: .continuous)) } - Button("Signup") { print("Button Tapped") } @@ -109,12 +106,7 @@ struct SignUpPageView: View { .font(.system(.body, design: .monospaced)) .padding(40) } - - } - - - } } From db3d79c90b11788c46d02c5bd65a98826c221364 Mon Sep 17 00:00:00 2001 From: Santosh Date: Thu, 5 Sep 2024 14:11:13 +0100 Subject: [PATCH 32/32] update styling --- MobileAcebook/CreatePostsPageView.swift | 111 +++++++++++++++++------- 1 file changed, 78 insertions(+), 33 deletions(-) diff --git a/MobileAcebook/CreatePostsPageView.swift b/MobileAcebook/CreatePostsPageView.swift index f63f4db6..b70086cf 100644 --- a/MobileAcebook/CreatePostsPageView.swift +++ b/MobileAcebook/CreatePostsPageView.swift @@ -7,46 +7,52 @@ struct CreatePostsPageView: View { @State private var postMessage = "" @State private var selectedImage: UIImage? = nil @State private var isImagePickerPresented = false + @State private var isLogin = true var body: some View { - VStack(alignment: .center) { - // Display the selected image, or a button to select one - if let image = selectedImage { - Image(uiImage: image) - .resizable() - .scaledToFit() - .frame(width: 200, height: 200) + NavigationView { + HStack { + VStack(alignment: .center) { + // Display the selected image, or a button to select one + if let image = selectedImage { + Image(uiImage: image) + .resizable() + .scaledToFit() + .frame(width: 200, height: 200) + .padding() + } else { + Button(action: { + }) { + TextField("What's on your mind...", text: $postMessage) + .padding() + // .scrollContentBackground(.hidden) + } + .padding() + } + + Form { + Button ("selected an Image", action:{ + + isImagePickerPresented = true + }) + NavigationLink(destination: ContentView()) { + Text("Submit") + } + } + .frame(width: 300.0, height: 150.0) + // .scrollContentBackground(/*@START_MENU_TOKEN@*/.hidden/*@END_MENU_TOKEN@*/) + } .padding() - } else { - Button(action: { - isImagePickerPresented = true - }) { - TextField("What's on your mind...", text: $postMessage) - .padding() -// .frame(width:100, height:100) - .scrollContentBackground(.hidden) - } - .padding() - } - - Form { - Section { -// TextField("What's on your mind.", text: $postMessage) - Text("Select an Image") - .foregroundColor(.blue) - } - Button("Submit") { - // Action for the button + .sheet(isPresented: $isImagePickerPresented) { + ImagePicker(image: $selectedImage) + } + + .navigationBarBackButtonHidden(false) } + CustomNavigationBar() } } - .padding() - .sheet(isPresented: $isImagePickerPresented) { - ImagePicker(image: $selectedImage) - } - .navigationBarBackButtonHidden(true) } -} // Preview struct CreatePostsPageView_Previews: PreviewProvider { @@ -54,3 +60,42 @@ struct CreatePostsPageView_Previews: PreviewProvider { CreatePostsPageView() } } + + +class PostService { + static let shared = PostService() + + let baseURL = "https://your-backend-url.com/api" // Replace with your actual backend URL + + func createPost(post: Post, completion: @escaping (Result) -> Void) { + guard let url = URL(string: "\(baseURL)/posts") else { return } + + var request = URLRequest(url: url) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + + do { + let jsonData = try JSONEncoder().encode(post) + request.httpBody = jsonData + + let task = URLSession.shared.dataTask(with: request) { data, response, error in + if let error = error { + completion(.failure(error)) + return + } + + guard let data = data else { return } + + do { + let createdPost = try JSONDecoder().decode(Post.self, from: data) + completion(.success(createdPost)) + } catch { + completion(.failure(error)) + } + } + task.resume() + } catch { + completion(.failure(error)) + } + } +}