From 750cc59cdefa33372da49533d388a030bf6212bc Mon Sep 17 00:00:00 2001 From: BilalKhanWDI Date: Tue, 20 Aug 2024 19:50:11 +0530 Subject: [PATCH] - handled theme 2 player pause while the radio is opened and closed - Completed forget username flow with hindi language - Completed app update functionality, need the api to be updated as the version will not be a double, its going to be string --- WOKA.xcodeproj/project.pbxproj | 36 +- .../AppUpdate.imageset/Contents.json | 21 + .../AppUpdate.imageset/Group 52572.png | Bin 0 -> 121961 bytes .../AuthenticationStringConstant.swift | 3 + .../Base.lproj/AuthenticationSB.storyboard | 378 +++++++++++++++--- .../Controller/AppUpdateVC.swift | 126 ++++++ WOKA/Authentication/Controller/EmailVC.swift | 17 +- WOKA/Authentication/Controller/LoginVC.swift | 9 + .../Controller/UsernameCheckVC.swift | 62 +++ WOKA/Authentication/Model/UserNameDM.swift | 13 + .../Authentication/View/LinkedChildCell.swift | 5 + WOKA/Authentication/ViewModel/EmailVM.swift | 74 ++++ WOKA/Constants K/ConstantString.swift | 2 + WOKA/Constants K/StoryBoardID.swift | 2 + WOKA/Constants K/UserDefaultsStruct.swift | 2 + WOKA/Helpers/PopViewControllerGeneric.swift | 22 + .../UIElements Helper/TextFieldImage.swift | 4 +- .../hi.lproj/Localizable.strings | 8 +- WOKA/Network Adapter/APIEndPoints.swift | 10 + .../Controller/SplashVC.swift | 50 ++- .../OnBoarding Module/Model/AppUpdateDM.swift | 41 ++ .../ViewModel/SplashVM.swift | 92 ++++- WOKA/Theme/Base.lproj/Theme.storyboard | 24 +- 23 files changed, 903 insertions(+), 98 deletions(-) create mode 100644 WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Contents.json create mode 100644 WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Group 52572.png create mode 100644 WOKA/Authentication/Controller/AppUpdateVC.swift create mode 100644 WOKA/Authentication/Controller/UsernameCheckVC.swift create mode 100644 WOKA/Authentication/Model/UserNameDM.swift create mode 100644 WOKA/Helpers/PopViewControllerGeneric.swift create mode 100644 WOKA/OnBoarding Module/Model/AppUpdateDM.swift diff --git a/WOKA.xcodeproj/project.pbxproj b/WOKA.xcodeproj/project.pbxproj index 192b8e6..f0c5884 100644 --- a/WOKA.xcodeproj/project.pbxproj +++ b/WOKA.xcodeproj/project.pbxproj @@ -12,6 +12,12 @@ 5202AB012BDFA7900043B7BD /* EmailValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5202AB002BDFA7900043B7BD /* EmailValidation.swift */; }; 520346962C64E29A00D0BD20 /* MyListViewAllCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 520346952C64E29A00D0BD20 /* MyListViewAllCell.xib */; }; 520346972C64E29A00D0BD20 /* MyListViewAllCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520346942C64E29A00D0BD20 /* MyListViewAllCell.swift */; }; + 520B15092C74652D00C14E5E /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 520B15072C74652D00C14E5E /* WOKA.xcdatamodeld */; }; + 520B150B2C746A2700C14E5E /* UsernameCheckVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520B150A2C746A2700C14E5E /* UsernameCheckVC.swift */; }; + 520B150D2C746AFF00C14E5E /* UserNameDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520B150C2C746AFF00C14E5E /* UserNameDM.swift */; }; + 520CE6AD2C7483CE00974228 /* PopViewControllerGeneric.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520CE6AC2C7483CE00974228 /* PopViewControllerGeneric.swift */; }; + 520CE6AF2C74999200974228 /* AppUpdateDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520CE6AE2C74999200974228 /* AppUpdateDM.swift */; }; + 520CE6B12C74BB9D00974228 /* AppUpdateVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520CE6B02C74BB9D00974228 /* AppUpdateVC.swift */; }; 5219C2C22C086D9C00A1DF4D /* DataTypeConversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5219C2C12C086D9B00A1DF4D /* DataTypeConversion.swift */; }; 521CB1002C493DB80085BDF8 /* JWPlayerKit in Frameworks */ = {isa = PBXBuildFile; productRef = 521CB0FF2C493DB80085BDF8 /* JWPlayerKit */; }; 522242662BFC74380085C632 /* MyListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 522242632BFC74380085C632 /* MyListVC.swift */; }; @@ -337,7 +343,6 @@ 9CBE1B432C0F37B300CA6E61 /* DropDown.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBE1B382C0F37B200CA6E61 /* DropDown.swift */; }; 9CBE1B442C0F37B300CA6E61 /* DropDown+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBE1B392C0F37B200CA6E61 /* DropDown+Appearance.swift */; }; 9CBE1B452C0F37B300CA6E61 /* DropDownCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBE1B3A2C0F37B200CA6E61 /* DropDownCell.swift */; }; - 9CC0D2F82C6F339D0019DF73 /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 9CC0D2F62C6F339D0019DF73 /* WOKA.xcdatamodeld */; }; 9CC0D2FA2C6F33BE0019DF73 /* AuthFuncUserVideoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CC0D2F92C6F33BE0019DF73 /* AuthFuncUserVideoView.swift */; }; 9CC0D2FC2C6F5CAE0019DF73 /* PlayerVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CC0D2FB2C6F5CAE0019DF73 /* PlayerVM.swift */; }; 9CDAEB032C53B97B00890C47 /* VersionTexts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDAEB022C53B97B00890C47 /* VersionTexts.swift */; }; @@ -398,8 +403,14 @@ 5202AB002BDFA7900043B7BD /* EmailValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmailValidation.swift; sourceTree = ""; }; 520346942C64E29A00D0BD20 /* MyListViewAllCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyListViewAllCell.swift; sourceTree = ""; }; 520346952C64E29A00D0BD20 /* MyListViewAllCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MyListViewAllCell.xib; sourceTree = ""; }; + 520B15082C74652D00C14E5E /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = ""; }; + 520B150A2C746A2700C14E5E /* UsernameCheckVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UsernameCheckVC.swift; sourceTree = ""; }; + 520B150C2C746AFF00C14E5E /* UserNameDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserNameDM.swift; sourceTree = ""; }; 520B6E3E2C0751E90091C478 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Theme.strings; sourceTree = ""; }; 520B6E402C0751EF0091C478 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Theme.strings; sourceTree = ""; }; + 520CE6AC2C7483CE00974228 /* PopViewControllerGeneric.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopViewControllerGeneric.swift; sourceTree = ""; }; + 520CE6AE2C74999200974228 /* AppUpdateDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateDM.swift; sourceTree = ""; }; + 520CE6B02C74BB9D00974228 /* AppUpdateVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateVC.swift; sourceTree = ""; }; 5219C2C12C086D9B00A1DF4D /* DataTypeConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataTypeConversion.swift; sourceTree = ""; }; 522242632BFC74380085C632 /* MyListVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyListVC.swift; sourceTree = ""; }; 522242652BFC74380085C632 /* TabBarVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarVC.swift; sourceTree = ""; }; @@ -720,7 +731,6 @@ 9CBE1B392C0F37B200CA6E61 /* DropDown+Appearance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DropDown+Appearance.swift"; sourceTree = ""; }; 9CBE1B3A2C0F37B200CA6E61 /* DropDownCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropDownCell.swift; sourceTree = ""; }; 9CBE1B3C2C0F37B200CA6E61 /* DropDown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DropDown.h; sourceTree = ""; }; - 9CC0D2F72C6F339D0019DF73 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = ""; }; 9CC0D2F92C6F33BE0019DF73 /* AuthFuncUserVideoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFuncUserVideoView.swift; sourceTree = ""; }; 9CC0D2FB2C6F5CAE0019DF73 /* PlayerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerVM.swift; sourceTree = ""; }; 9CDAEB022C53B97B00890C47 /* VersionTexts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionTexts.swift; sourceTree = ""; }; @@ -934,7 +944,7 @@ 9C535DC82C00C34000DA6DCD /* Theme */, 52DAC6462C21761700E2F85B /* WebSeries */, 9C834ED92C1C20EC00B29A9C /* WOKA.entitlements */, - 9CC0D2F62C6F339D0019DF73 /* WOKA.xcdatamodeld */, + 520B15072C74652D00C14E5E /* WOKA.xcdatamodeld */, 52ACC1292C610EC900791528 /* PersistentStorage.swift */, ); path = WOKA; @@ -975,6 +985,7 @@ 9C27E16A2BDB774D00EC1DA9 /* CarouselData.swift */, 529B0DD52C070C0F00CFC54B /* GuestDataDM.swift */, 9C23FB782C62164600F4DC5C /* URLStaticDM.swift */, + 520CE6AE2C74999200974228 /* AppUpdateDM.swift */, ); path = Model; sourceTree = ""; @@ -1480,6 +1491,7 @@ 9CB4C5A82C118EF300737C00 /* NavBarColor.swift */, 525861CF2C4F9E3200C33C79 /* SwipeTableViewFont.swift */, 9CDAEB022C53B97B00890C47 /* VersionTexts.swift */, + 520CE6AC2C7483CE00974228 /* PopViewControllerGeneric.swift */, ); path = Helpers; sourceTree = ""; @@ -1764,6 +1776,7 @@ 5259545B2BEBB80400191286 /* AvatarDM.swift */, 52A3F6A42BECBA8D0000BB0B /* LinkedChildDM.swift */, 9C0A853E2BEE35340093783D /* ForgotPassDM.swift */, + 520B150C2C746AFF00C14E5E /* UserNameDM.swift */, ); path = Model; sourceTree = ""; @@ -1810,6 +1823,8 @@ 9CBCB2A42BE50D49007D7934 /* NewPasswordVC.swift */, 52A3F6AA2BECBF550000BB0B /* LinkedChildVC.swift */, 529B0DD32C06156B00CFC54B /* LoginNavVC.swift */, + 520B150A2C746A2700C14E5E /* UsernameCheckVC.swift */, + 520CE6B02C74BB9D00974228 /* AppUpdateVC.swift */, ); path = Controller; sourceTree = ""; @@ -2251,6 +2266,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 520B15092C74652D00C14E5E /* WOKA.xcdatamodeld in Sources */, 9C535DC62C00BF2400DA6DCD /* HomeExploreCell.swift in Sources */, 52D774EF2BDFC50D001D87DE /* StringValidations.swift in Sources */, 52A6DCC52C4F8EA800F63C51 /* CartListVC.swift in Sources */, @@ -2315,12 +2331,12 @@ 5202AB012BDFA7900043B7BD /* EmailValidation.swift in Sources */, 52D6A24E2C22B3AB00145908 /* WebSeriesShowListDM.swift in Sources */, 52B8D4E12C04A25E00ED65F3 /* BasicTransitionAnimator.swift in Sources */, + 520CE6B12C74BB9D00974228 /* AppUpdateVC.swift in Sources */, 52AF71F02C36B29A00BC5972 /* GamesListDM.swift in Sources */, 52BC3BF02C1701F8002FACA6 /* BlogDM.swift in Sources */, 52A6DCA02C4E3AA600F63C51 /* ShopListingCell.swift in Sources */, 525954192BE8CC3400191286 /* ConstantString.swift in Sources */, 52D774EB2BDFC0BF001D87DE /* OTPVC.swift in Sources */, - 9CC0D2F82C6F339D0019DF73 /* WOKA.xcdatamodeld in Sources */, 9C8446872C40FC6E003E3E53 /* AVPlayerTesting.swift in Sources */, 52AF71F42C36C40B00BC5972 /* GamesWebViewVC.swift in Sources */, 9C007F202C255DF200F798C2 /* EpisodeListingDM.swift in Sources */, @@ -2469,6 +2485,7 @@ 9C27E1722BDB86B600EC1DA9 /* OnBoardCell.swift in Sources */, 525861D82C4FD38D00C33C79 /* CartPaymentOptionsCell.swift in Sources */, 529B0DD42C06156B00CFC54B /* LoginNavVC.swift in Sources */, + 520B150B2C746A2700C14E5E /* UsernameCheckVC.swift in Sources */, 9C23FB792C62164600F4DC5C /* URLStaticDM.swift in Sources */, 52A981D72C1B0E27000E0BEC /* FavouriteCell.swift in Sources */, 52BFB0652C5B5B4F0038D750 /* BlogsVC.swift in Sources */, @@ -2478,6 +2495,7 @@ 52663FF72BDFACF60001D8CE /* ShadowView.swift in Sources */, 522D65602C1ACD8D0021E505 /* UserNotificationVC.swift in Sources */, 52AC2D252C295A7900337473 /* TeaserDM.swift in Sources */, + 520B150D2C746AFF00C14E5E /* UserNameDM.swift in Sources */, 9C535DC22C00B36900DA6DCD /* ThemeTwoVC.swift in Sources */, 9CA7C6C22C1095B600D73742 /* ProfileVM.swift in Sources */, 9CB3D0912C37D6930062869D /* KaraokeDetailsVC.swift in Sources */, @@ -2486,6 +2504,7 @@ 9C9BE46E2C663B1600C48D6A /* JWKaraokePlayerVM.swift in Sources */, 9CBE1B3F2C0F37B300CA6E61 /* DPDConstants.swift in Sources */, 9CDAEB102C53F12800890C47 /* SwiftyInnerShadowLayer.swift in Sources */, + 520CE6AD2C7483CE00974228 /* PopViewControllerGeneric.swift in Sources */, 52A6DCA42C4E48AF00F63C51 /* ShopSuperCategoryDM.swift in Sources */, 52B8D4DA2C04A25E00ED65F3 /* Preferences.swift in Sources */, 52FB2D8F2BDF898F0009B0C7 /* TextFieldPadding.swift in Sources */, @@ -2505,6 +2524,7 @@ 527A2BCA2C57776A0080DF9B /* AddNewAddressVC.swift in Sources */, 9C56E8462BDBEE6400E4CA14 /* EmailVC.swift in Sources */, 52A6DCC92C4F906900F63C51 /* CartListingDM.swift in Sources */, + 520CE6AF2C74999200974228 /* AppUpdateDM.swift in Sources */, 522D65622C1ACDA40021E505 /* CommonNwCall.swift in Sources */, 52D6A2482C21A3A500145908 /* WebSeriesVM.swift in Sources */, 525327D92BFCDDF700F64283 /* AuthFuncStartupSoundHandling.swift in Sources */, @@ -3076,14 +3096,14 @@ /* End XCSwiftPackageProductDependency section */ /* Begin XCVersionGroup section */ - 9CC0D2F62C6F339D0019DF73 /* WOKA.xcdatamodeld */ = { + 520B15072C74652D00C14E5E /* WOKA.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - 9CC0D2F72C6F339D0019DF73 /* WOKA.xcdatamodel */, + 520B15082C74652D00C14E5E /* WOKA.xcdatamodel */, ); - currentVersion = 9CC0D2F72C6F339D0019DF73 /* WOKA.xcdatamodel */; + currentVersion = 520B15082C74652D00C14E5E /* WOKA.xcdatamodel */; name = WOKA.xcdatamodeld; - path = /Users/bilal/Desktop/woka_native_ios_swift/WOKA/WOKA.xcdatamodeld; + path = /Users/macbookpro/Desktop/WOKA/WOKA/WOKA.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; }; diff --git a/WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Contents.json new file mode 100644 index 0000000..6a6c1a4 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Group 52572.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Group 52572.png b/WOKA/Assets/Assets.xcassets/Authentication/AppUpdate.imageset/Group 52572.png new file mode 100644 index 0000000000000000000000000000000000000000..a39dce6b64a71b7b819f2ecb6fc5669b35d79b1b GIT binary patch literal 121961 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

gN%GM3qjvxf(}Z$2a%}_0+WL3Y`s%?bWwmKW8>^ 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

  • !5Ey=gGcvGMZV3VeODwm3Q5T;Dd*ISfeJ(G$3Hi*Xu}&uv z-y9*NF={B{%l5+pp}>gAo>P4f`m=Mcvt{N2^l?}3M?R*c*D6~E&Eh>ewj)v?3ZuLE zz6Ys9?wIC)uq1Fxq9kZV61$!vSPT1p@@lE&rz7dr{wL1vpo1CvFu~FKDNg7-nk)zj|LJ%>Wrc$N)&tf zi+ZyXliqj9h>-nvr9?LtkM`))>cv*(YO4u~F1DwNE~~`})pr?9+uz9^!_Hcnb0be# z7*&W>IwhRSi-{;-B%=^o_#;KXE9^SRtDmi}B+w-T5)mR6aJJ2~q`>VujGS$iTg9z2 z8-ePm`nT;|)h4WmokJ$-PydNvaU#=ztCMMiemQT+&`ag{P&}Ov$gx>TuOm}e(|->d zE_gzPF+phbjZ5HU3CaG3-INaR}r-`np?fAJ`cYVK`Vu6 zS8z^xswQ^XLEv~tx}pHIHV94|ninErqNlpdzpcx!SUACkY=ETUkM(-=&l@aA^nUyx z&xlt=TLcrQLj2#GLInazg~cyOz-Q2Xw^JkEg^NJhbUDH>A}>EACr3tmi@pHoR+{g? z`q@J{9;ETU(dSwbs})TKF|85sGKH^P?DT9k$@i=Rso_t!F<q$1@ zDBz=64cV=}H_LBfISB#-N9CsFEY_{UO!4f3EOhW4-#;Lx_{5eT?Uqb(oAE5sfk;=# zn$ke3uCysKnk5dCxf!06L^soZH*V2fv1{<7Df8I#M1Tzc16wRvalfgI7R?yH`{RvV zvGC$MMjP-K9ISH?St~{Yl#5SM=-32$%{i1$bS2Xrt3`GVUWoVDY9@*gdVmo}hFVE+DKHYD&|Lh9-WJOWnd7Ux9@H_|yRAUy=6kDZpES25|Q??McyU zt?$evGjPubFFS|pbDvn9pAw;w9F$D?{|#0=SNoM(*iEorA|n(B zlEoElv2Xh4rtoja(a(AsC}JV?2-6u)#qHC7^_pL?gSrD>IR*64H|CesnE-YpU(A|7 z)SKJJKs3s}i=Q1bOet3F`5ysOpoC{}Pm$1hio}tE4pF;ku&>4#<;mbW7G4xs1`10# zmTNQJn_Fi_y`u)Z{|7Y{0~6#!g@hJ?BB=$<@Yf9hd zWM=4aiCer1$3)=tmjmWi7ExN=$Rl+fPZ}1M9M`ScE7tDO55-BfFuqkFY`=wFzBKUH@IICfr`$XhajPv*xS9 z;@UsjC2bZ8s+6|BiJ|5e)>75dQ~1BU;0VG}-bq?RI@sZECN4B+)Er)(SUix~x@p&V zjeD4rZ=KYqd2#Z5qL5`b0V<&CqeKorN%>ri&*{TEOU@&jFX)WD)4 zg}e!19?_4RT#e<}(;cE5wVrs=mXw%tlg5i=0ZI6OaOVY2XhcyEy`%Z*vvrBENRK_Q~^PV4CcHDy0BJWRwANSlfte922;QMf4wu>MDsBp%&3PAerVCOVoxE1ocS}4 zwAuPa4Ur2-0ft6~S%)e?oZUm<6+m`UkL?_HwHplU@N+>d0(EI_Tzt$#i&>FLy}S)j z@{jhUq{3BYyb76opVGdxJU+#~IDbV^SSid@hmKIz_5Otf0UFXTx z3cic=v#fq;sNWpfYiDe~(a&#k+h`;@r)l`KR_R*2lpzHk5o)+Y#0TZ+^`s1q$a_r; zd}{W5EA=dOzIVk}7(Q{sB8(P=VktxjgyeZKtmy4ih=tTk&lee+gGt2&yyhvSb^)7j zI~z>kf&+7xRZaE!#Jxmj1i;`?kQdT43W1a+J#3Y12?YYll2Q41lufqM}Med~HV@PP&ee$a5Y0!4j?w)4&lY@ppF zrX-h&1w0Yta|3I)S2n7N&|%_j#S0n5a!oXko>3G=iQXvfcN4^Z38ndw?YBcX_Ic<= zxS}@X8P|o#C=X8{{>y091nPAY0bsi;6WmP#e)*R6M$V1V3wNSuCYy^P}Q_bC9+dJ0$PG zAAFe+U^4gHhoX3x@lPH|xWE3##PHd^aRdJzdU9)kbZqHm)dv2z1L!v^*m)IvzzJA( zBlcX$y|3P6X|%-=J>id8J1EWuu2lJN<#WL8T>relmkF(i>0?5L4RCZm`1fZ>x^)v_ zV4+fiDhkgm#H%-tR2Z-bk=W5~ig+T1*^?J*0!TpBYH2Y)Nd)Kwly0l_ z-%4BKE))lO`bk?V98EQr|DcsX(gofj3J5ejfQt~QS+=Vl5QIaX3<4+Gh2x4IfWXC&`KcSnx#>`W!%`w{0t+0Fd3IgNWh>{>cluy;b$3mRY%+c(<}OlV1TJxHwJ2JDE*7F+D@gdwfC`O>sNt)_Z@KxR<#b6 z0!-4UvD2S1O7QrVS#B!DsQ|tOa(>)jJX;ci6IcySX&C)lusS9&EF)}#+YVR*IZ8xG z?`HPuw$;-7@Pt~p7M3!3JGAm6y2ofG!tGOK(R}Zrn9I>9s zf9?7>&E3G|W!LYH#@r<$t4vX=$RDb(Ce)I4UWJZhtux zk;Yq~zwJR{Oz`NwQ1L2V10Z3Md?YJz_eoT6Ug@jzzJe)D zM1)(pOXMyt-h$L%1UPKKm$R4Sg)4fJOVyrAtZ{#8IyQIJIRkQKy0jPoBPlXUQ%7g4 ztg(DxCMfOk4F+8VI-0Ra3M*ee>opLU6~p{7qy zb6>Kj2#gZsGmQ>N=B)El0l~a@e&<^{yIpuXDC&Y`v&0;u6c|jt=$8Rdf4%j-Bab7q z7qQ1GiW`OU6v|O9A&wzN=PdmTup7Nu91#Dx_EUSjjC1rSr0q}%d;v84PVsJ)kS{O* z_M^?FTpXF^b=<0s3wb~1_x}O5gR#l`joZuQY4GBCUO~(komGYaNJzq|F$&P|C*8n> zfK@_!W}b=~HI&F>I}5C5>Y~Aa=HjSj5FsDwabSWHiO?hf@zD}cWd7#{(w^umUCd>6 z?})wNa-fph3LL==?gLfW)4*|w?|&(<134kki>1SLG}sM@N$S#QV$6MSvb! z)pwH$MdrG)TyJ@UrQ;A)_{+xs%#FZbMndNIxN*3S)cD_HAs=1wUq-`3#Z4v!Kl$jx zQZ0?h>P0pLz=C!x*i%l8qPSB8zC&X-isp6vkRe%KC++OP=3P*K6m~p?6(yx9VB!Ql zP1*JhBA=LnAcz_FANC+(51qFV5~KCc)O!I2gJs!mq6|PX)jbOf*K9R&DXl9 zz?6b9nuPLYISp*Lr|j~(Ga5lMLhxt@c+?3z>M_?(F=e-vBahf4_&~Ws(F^6MN&dT$ zOXuAC0(G0onD1ZH6UeAUE)EXNnLts0N$=0Fcj40`_|7_p+;@HCvS;;%3 z7=tTzqr=q~b~)?G;MpvkHW|J8)q*@#XhBQ|+z#>R9O=IlIDEi&gJ-?Yf3@rYn&?$? z93}rR#%AF#j&mDnHmtsrLo^KP(X_loOIR)itHzM<+$y&cO$dmMg`)~eFnrJXw#JX- zN@l6_Nl!hR$@tx~rb9*yNEq^8s6OK<;z|*q)MrH(V*X5I5AmONFGq4aoqNY>L)S+N z29N>+$ZqpT%gz-wy3Tjj>o!$zL1+D^;1@%H8ow2VuPxR3b zHfZ{o{{JuE76ej8(nuPji(%M#Wm1oZlRxcy0{YpSaVo*rG! zx8sNqQ;0bh=71c+6aQrv$2|vy*Swwyo;@O8Et8rXBS(ix=#OaNFm=mM z^-f2`qK`Y#i~j626wqgq1q^6GuG*Tsi4PBRYTKQf&hsmB(t=IhPas(GFAKmQ5U&Hu z&miy}h@9lLh_wg6O z%iet7~>07gESvoM>T;A z{24@h7Tm3pyUQ}J2duV0kMp0eguJhjzKaAmI7rC!>G8M1_mn{tN{_szYvVf2y`b%I}Lyg=U~3k zcP+0q;`b6}(EP!n!omj>vTMZj+JV<+t)wfkeE2fJj-=2IF9GrbQsumyN&Z;c{ zG>RcI6oRH?o9WKD@MALm&zS0_-5nkIXDWwuOljLzY*;qs5BX1H?2 z?PkC&PU=vX^WpFGT!iw2IdJKNaerY9fs1Jz5=*B(i?UYyHs1yjtU4ef*m*d@30Ij~ z!rC7uy7;g(nhY!XT0Go=*n`D^CXWg(Nnq@ancb8Lmk?)kr4SY7Vbpj9_Xp~>&W2Wh5SLCVvzSbCok<-e#nz3uYg;P=ktwrG(J~5jQp*S-rbu(@%Fvb3(-8w zAmhggv{I~yA3M&q>2*z$v-<{--Ter+VAxx(^V;-4lvr><1+J-*z?hU*Krops;d+zMD<^d&sV zkYDqRv`^2jolquFIVWdm|BIX-ep;W4iPbT&S)5h1b`$q-ME*y^YrXm)ZCHg>VWIc6 z)xG0anSHvquI`fjT*3@1AAy zju*rnk;`_gu*P=T<=-4X94vggtN+WJlII+ z*SEA}Xw}X(j~+K+x0g~rIJi#*IF8)2gl53i6ZplJ`j=NP5VbRizX^#q#)T~N5xvrv zXRD?Nv_JX8^xpZWT^9MZp&(bBI~2Wdlnl1&5J|V~!xXmWz6W}z$Z?;t%E<6ToQGnu z&U_I_$dy-!WGtv<&~WifT7IQL$^I`(&gJoSXIOD|&w_W3oNyFF#lRWx)Y|_mF46BD zt0QdWzfB8TPC>?I{b0MCL8~pvsxGSZ&93Lqty+T1m$QvzjM;uY#O)yGoka1_#KeQ{dOq%^$QxjoQEr1EW3+4YqK5)lt;~Vko zDpF?Bf|}USj!myqR@Z=DVktM(*Ulbn2GAu;ETCBKX9zZDXXlgAMjyyKlpe@qzZVpJ zZ9$Br>nEL{61s$C1y6wLzXV|4iFe4x;*~?2!syXBM-DF4qfR1hy-u zrf`JMX>oY!(;4cn+W^=mB)bIypN<5tvbh$~1h>}0cGkJ)0Y_MT)WZv(i>sghnJ}xi z6mNtR5{OR-w>}=dwvb74s>w8RIKhO?G6%CBH#_jX`AK8O49=+>=bzi(plT=EtYqe` zNBjI@*l61!QLuU6s}4=eHYlrDu+UMZ9mL!R$M_MRB^3JKgHd@n>au1c+rPJ_`i%|KX;VdhITipMXOfuf65J z**ZzpE#A30W1%My#gLlxyZm6wcxXvpX00_^_3!LugS?Am^g^YP74L0(MzsJW~W%O_Zhl*Jj!EHbrxx1*N%Gd_}q6Cd$U zDs0Om%^XEY9CV`O!M+9rqXY&Y@oj=>YB$3mmLBBdh-2#d=|jwMVOPrg}zVD%|&a&gCt_c^*a;esV8faz{Jd&_jTsqw}l26PEca`=aK5 zf@0B@miK(4r}X=n%(bVOL*Zp}vK^{D3wdV}u$q~qGnj~ogkDt2 z_Q`iQLFC`wx$2JqqiNoToIQf=Z#@e1=Ol@=?^dRlkCMCNbMUSY)55|js4QNA%QjS} z-|Wg2%n5K{L)qpCF{%BvR=#nN<>%DS-&9zyEFvOGCSJ}bEkxg)hS?8}&TcXAsTzdZ zz=_{iyy5?q4iebpJ3d(~R}_NOzqMW>TQZIxN0GI1VRD-9geW5B`RSy_Kc;zeEh=;N z(aa36X$g*Va7!Ud`DHtq_TWyUef&qU&o^H#G`_z;;4WBKonVvb*-zAgIJP%Q2g;7* z>fj@+EaiR})%L9qVjKD>ETf3V^otAXUJ>~I>~-h7g3`lv7tK4)5y<0Rhl@?0Ca8?w zA%V!Vdij}$j`ZakF(3DKNVMtBp26;QpwauZOZbjUg{5q)E)T}m=I71W`PQG~ zSdMku{Bu`<%R%^<9}aTV`DvKn2GXLo?*lbCqD1K1|C`E(H=9P{&(2=Fz)|n`L_K1J zx*Q>F9Q5ZUW%zhM;0LVo-WOH#!C9ASCxN;V#VgNz#l_d(UgKDV8VTOE6bd4ekaV&_ z%~H@Hze3?CN*8HDD=J0te0u3D{z{^H)4}?!a)FkEUfts1iyvec`lJT2@SBgaKMbbS zm#>H0i8=nFLLk(#U~6V1GPteuK$lUM&Kbi{{>_h>As$HdIjrTkGV?h9v_@p_1u-T09pL1ZzFwjbjY3V=z zGu)kb3j2f|8Ws_Fg$IA1KfIantFN=4B8Fg6=as1yKF=1!2n}Dc6?-J33$Z7V{=c$d ztn{fd@kN9sHl5EFIJD>mDc62b& z0#@|DVgTILiHkeR^q6zwKbkfxqMeXgzE)ZMtpy)M6V5K^$A6FxnrES;#-GG{i5*{m zP7kB6ma<;oc-z%cHrGt{PX@6^Uv$Ep@{8Hqsdy&f@DK>+e>pTJ#ba~#MW?wn}Ym8vqYFy z5cI1o`a$_2L!Nfn6l4uxVc+3-M^*{oN8|0dr7>WYSCUC{ z!lZLz{k$@pdOPdvgO|2M3A%FFf%J}4&#!*PL$&XO$HdLzr&%zTMHU?34vMSFKWYpJDzlXYWPate3v8$fIXe(YIeI@83}EeR|9df@*vIzQEET zniG1B)|n0hcIM#^0;>MZ)wh^aYONl0+cU{$u3YR7wceR9rzsh~jgPX6xEUgIx9v%Q zPlIsM<3UKIN^AGsL8bfG>-(IV%EgUmuD^Gv{=yXsn`2&#+k{idcUbyH3NvGBpJwv{ zD)-Z^(FDR-qj+BnE_I?Ma8<3Rnb)3ig3vGFD+gi56d-OPxyYb%jwSZ_=Bcmh~;wC~im> zP)pF|llBSt1c(HATb}1a3Lg>@zQB<~U#GzqGoo|#qXYbs$nCXknjev5cGo^JHy(Vx zgkZidU%H%gH8r=p1HPA-kr!T1t{#5A(#IKFN3J9LH8{IY(4W>UjP7D>e0_m9s$B8v zql&ljPWOB3B}erctv4xqj*mBgjuZxtJum=<_!dGDx6)=<4)9!ub^n$vIyGI4H&WOg zQ&NghqwWlUvM(<`ez5$#DL`?}Q(To#k6jw?HwCWafAEbzq=~oi{fxzQwW8kYQps3( zq@WaR4jle($1^(!g`Q4Bke=pLJkGI%9VMNXnKd1_#p;n+4HJ1>jyxw=G^jF2}_=5!~%DBj+lHDQtb?ZETjNEBO%Kn(WX9}nQ${?R~K11%uZve9E}F|m7vxU@Y7=(ZCwT+&_V!+5b%uQ4Xu4#YmW zyhu*%Jj}8`ILf16WCD%#f}CalFU>*ja1UAp-;H>B2;q1o_(7Quprlzg5Hg5+AG~89 z!FjQ&NVbt)E9ntcl(Y1Sk=lr+jm`Z%{;I(kc`oP&PgpE0mk=Y2gxFnX5Tm>7-%V#! z_IHZ#GQ?U6J^$-56&2vKM~Lj!lSbeVhwUsXk{2jh;+V{C64FbWV z1iZ>n-)08(Xk&Ub5Xuxz-OEka=y;-!HoS?r&1}6Ycikv`ZCxMZaccG~*sJaAh49|( zx)E)(-XMY4^rG_5jd$G~_J+Ae@dPYz)LuqzemZUA62NxLx0w&^-5- zZ;V|d_mpadA$D)@WrPDGg~JPWn1n3M13E#9^j_M~}g#ozO>ET!S$FIEZ+tT-eil z5A!4Bj&E^)fp)P@FBN3A%RganQ!UO~VdHmvAdTSfG++pKaipF@4sf8rUGDU&AEx>z zsIe4t3lfj88J?73}X zy>y8t#Dqt>qFRJ113xgOKJ_};X;D5oWl_(`=sO`?pUMMNq|oDsxVRnSht*EE^M(F> za_{f@3qMZoXL@keWcz$wfJ62LFF_7ZN2{4U9UO4&dU4C!!%!}kh`fSb`?x{o!OuR? zcu%^nbIzA$A=(H4a`0!xXTBO<&7P1A+=m_O&oNI)BA@Cu#GDDq_&T1{tfhSoW7Au& z^)$UUq83Di)|ok+kv>Yi${*+tMxLux^BrT7 zNgeFmdi1qfXh8}+)m{{?>=D|?l;>ZI4?I<6gfffKJFpq*G+#f!{78Q&{mrhN4749a|~5u$Ht ztQ}ad_PjT?e$Si+A|rQ%L7h>qZ&Ig6r|@I4{h6t0($2UirRkBz7U$Y>M28~MQ%99@ z=7(a92w&@el;9(9;8M`qC!KPsl6|*cDblA|pEvW#$mxAgJBF1Thm_|O`ByK}(dS@w zd1O=y*A}emp4c93$tsFKqeQxKhsl_{wD8|kDPOMIp=ZV?zbt8 zzNNZ$@p2pjZ}HL%5HLWKiaW@I6DGt)d3e0u`>0Ig{asunKdImutG^RjvCo*BHr{Z% zL2PT2ec(!Zbn`e;Rjx2c7FGCim%3KB#09mHDORw4nuUte@)lsP--GcWrk-0y!@}xQ z*K_+VT-}gV^Ws>0vK^bI)}w}ZULXqp>NllHTRh>lQ0}WBphb4TSp;uOHOO90Em_R& zNS%eLo-45-S@g+e2e|8M@-kqBl~b)yv)mx!(zX3jG;oZ57N}l%N!)Vz^reK|Z0$Vn zyU!Qrp$3T0(3N?)Q$n6by(6ia`Ab|jTGk`>!^2}EZq#HR$^D8sZ(Wt%+) zpJcT3d-F(YB42Iu#iz&kTw38{HGj~aT0go=IIl9I1`z>IuGhrj$_z|tFR6GTJ6rFk zj=ui>hVx=SHFvp7=JoK3)RGeA5H!e`fpx4STc;60yPeQvVT`OuQn#Z1=8o<0lP{U* zXsOmR!s5RZ1!Bxx=-R z^+yIREkCshio3E zSl1`kyNzcKOVUaiHnj$7zK?PN^6^>*%wy6^@0;j%NF`-u|??%}(j9@2?#EJ90OPF`|?%kD@9DXJ% z4rO)EW~3@BO89=o@}PQQD!f#WF>_iremg!Jgs2qVpzMf@$k< zqQvqK7uqmi`Bw#cB-Qc#WOoRpX8wFT5;xcXmOw29Kcm8qsk0QG)w!IE93FV=)mCE> ziDUBg)hDESuV&&QKOv}lLcLow-~ai)3fR|oWO29B)6WeSRF`MV#Dl=8aGI%SRMdBw zyo>ZEfmQ(#%6&V-=1JTJ$BJ(+{>x9#mWOSAefK=vX}As^F1}CMQ~{el0xYfyKj#Gh z@TyNCsz)~(iVd0B__L|xQ{~t0jQ9#2zG$ePA%57&{f1#%&zt&U;BqNwgB^HTGoIi_ywC3!?6x?eXrW`zRlx^2LfZQKr0Nc1u) zTbhB-+0`^L{xuhQ#^Za*>kmBhD!zemd$M~G*ZYx3i2U0iQArr{fP{~D$&FUS8Bt;v zP)7|qU|xkcwA-DgVtjMhCq^m>3C0I9__(%*+jwQ1m>Z(rQ~m#TXp8sdt&9sMWsCsK z##vFvr<@~x(RP=Tva#vhPTU>>W*B`XyQ{pnAmd3!>PD?YSY2wp|o%|!(30mtK< z1C=r>2GZ$I%Q6M&}5n?Z_Zn@6|Es_pU${{*cRF57jdjRsm~s&-DTc2 zZ-auPWKu2e^cJaq^Oto@c;s+-hg}2*r>hWe7v2+LG5E<6ePBr_b`j``w@)~h>(De@|7-7%r;Xn1 zZB%seYj}7-6X^fk{!9!c%q0ndggPI7h7h|3|1u-`% zpf`5x4;CH;E&v9{-%b)^o5e)MT+~>o{`*iMV$+?q;|4hhEl`J=L}XN5qU6caWd4GI z7sz@<`aPzFYhvXfQ-`4CqzP$LhM~AE@EEQ!|5Ui;qIqJ-ms&1}gMG}x**9<~j!X%- zjzH$0k;6;;w)NxRmWpkbE-|b`&6+c(UfdwS(6N6Njw5^ohY9ij5`yAMB&hRRr`|zi zKiVsHIJN?f_=0d*%x?)6AtwxZ$yn_~%EB3q(o~vLj8MGnMI0z2sFF%gsQdBkR~Xv1BWsnaZo3348ISj3*>L5OLiX>_-uw5uIR zWV?q+r0SW>d9(MMmV>p##gQ|Ou~C-^Aiu!ncVK{D&@ - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -141,6 +176,8 @@ + + @@ -833,14 +870,14 @@ Sent to Your Parent’s Email - + - + - + @@ -888,7 +925,7 @@ Sent to Your Parent’s Email - + @@ -926,21 +963,37 @@ Sent to Your Parent’s Email - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1463,6 +1732,9 @@ Sent to Your Parent’s Email + + + @@ -1477,10 +1749,14 @@ Sent to Your Parent’s Email + + + + diff --git a/WOKA/Authentication/Controller/AppUpdateVC.swift b/WOKA/Authentication/Controller/AppUpdateVC.swift new file mode 100644 index 0000000..50fa904 --- /dev/null +++ b/WOKA/Authentication/Controller/AppUpdateVC.swift @@ -0,0 +1,126 @@ +// +// AppUpdateVC.swift +// WOKA +// +// Created by MacBook Pro on 20/08/24. +// + +import UIKit +import Alamofire + +class AppUpdateVC: UIViewController { + + @IBOutlet weak var updateBtn: LocalisedElementsButton! + @IBOutlet weak var skipBtn: LocalisedElementsButton! + + var isForceUpdate = Bool() + var forceUpdateVer = String() + override func viewDidLoad() { + super.viewDidLoad() + handleViewUpdate() + } + + func handleViewUpdate(){ + let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1) + let color2 = #colorLiteral(red: 0.6901960784, green: 0.2745098039, blue: 0.7568627451, alpha: 1) + updateBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0)) + updateBtn.roundCorner() + + skipBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0)) + skipBtn.roundCorner() + + if isForceUpdate{ + skipBtn.isHidden = true + }else{ + skipBtn.isHidden = false + } + } + + @IBAction func btnTapped(_ sender: LocalisedElementsButton) { + if sender == updateBtn{ + print("Update") + // take user to appstore + redirectToAppStore() + }else{ + //if user clicks skip update it to our user defaults + UserDefaults.standard.set(forceUpdateVer, forKey: K.UserDefaultsStruct.appUpdateSkipVer) +// getUserData() + if AuthFunc.shareInstance.checkLogin(){ + getUserData() + }else{ + //check if the static url data is fetched + UIApplication.setRootView(LoginNavVC.instantiate(from: .AuthenticationSB)) + } + } + } + + func redirectToAppStore() { + let appID = "6465305185" // Replace with your actual App Store ID + let appStoreURL = "https://apps.apple.com/app/id\(appID)" + + if let url = URL(string: appStoreURL), UIApplication.shared.canOpenURL(url) { + UIApplication.shared.open(url, options: [:], completionHandler: { success in + if success { + print("Redirected to the App Store.") + } else { + print("Failed to open the App Store URL.") + } + }) + } else { + print("Invalid App Store URL.") + } + } + + func getUserData(){ + /* + If user is guest then dont do the nw call + */ + if AuthFunc.shareInstance.getUserType() == 3{ + //setusertype + AuthFunc.shareInstance.userData = UserDataDM.ResultData(id: nil, genderData: nil, birthdate: nil, email: nil, avtar: nil, avtarURL: nil, userType: "3", languageMasterID: nil, lastLogin: nil, rememberToken: nil, childDetail: nil, language: nil, alreadyLoggedIn: nil, isDeactive: nil) + UIApplication.setRootView(SideMenuController.instantiate(from: .Home)) + return + } + + +// if AuthFunc.shareInstance.getUserType() == 3{ +// UIApplication.setRootView(SideMenuController.instantiate(from: .Home)) +// return +// } + Utilities.startProgressHUD() + let headers : HTTPHeaders = ["Accept-Language" : AuthFunc.shareInstance.languageSelected == .english ? "English" : "Hindi", + "access-token": AuthFunc.shareInstance.getAccessToken()] + NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Auth.get_user_data, method: .get, headers: headers) { [weak self](result : Result, NetworkManager.APIError>) in + switch result{ + case .success(let data): + guard let self else{return} + switch data.success{ + case 0: + self.toast(msg: data.message ?? "Unrecognised error" , time: 2) + case 1: + guard let data = data.data?.result else{ + Utilities.dismissProgressHUD() + return + } + AuthFunc.shareInstance.userData = data + Utilities.dismissProgressHUD() + //check if the static url data is fetched + if AuthFunc.shareInstance.staticURLs == nil{ + AuthFunc.shareInstance.getStaticURLs() + } + DispatchQueue.main.async { + UIApplication.setRootView(SideMenuController.instantiate(from: .Home)) + } + print("User Token --> ", AuthFunc.shareInstance.getAccessToken()) + default: + Utilities.dismissProgressHUD() + break + } + case .failure(let error): + Utilities.dismissProgressHUD() + guard let self else{return} + self.toast(msg: error.localizedDescription , time: 2) + } + } + } +} diff --git a/WOKA/Authentication/Controller/EmailVC.swift b/WOKA/Authentication/Controller/EmailVC.swift index 6e47999..a8c1983 100644 --- a/WOKA/Authentication/Controller/EmailVC.swift +++ b/WOKA/Authentication/Controller/EmailVC.swift @@ -12,6 +12,8 @@ class EmailVC: UIViewController { @IBOutlet weak var nextBtn: LocalisedElementsButton! @IBOutlet weak var enterEmailTF: UITextField! @IBOutlet weak var wokaLogoTopConstriant: NSLayoutConstraint! + @IBOutlet weak var userType: UITextField! + @IBOutlet weak var userTypeStack: UIStackView! @IBOutlet weak var beSafeLabel: UILabel! @IBOutlet weak var emailLabel: UILabel! @@ -44,11 +46,11 @@ class EmailVC: UIViewController { @IBAction func nextBtnTapped(_ sender: LocalisedElementsButton) { PersistentStorage.shared.addOthersCount() + /* If child registers dont call api to check email, directly hit sendotp and navigate to otp screen if parent registers check if the email exist or not and then hit sendotp */ - Utilities.startProgressHUD() DispatchQueue.main.async { [weak self] in guard let self else{return} //validate email fiirst @@ -60,10 +62,19 @@ class EmailVC: UIViewController { return } + if vm.forgetUsername != nil{ + if userType.text == ""{ + self.toast(msg: K.ConstantString.userType, time: 1.5) + } + Utilities.startProgressHUD() + vm.getUserName() + return + } + /* as per the user type */ - + Utilities.startProgressHUD() switch AuthFunc.shareInstance.userType{ //if parent verify the email case .adult: @@ -99,6 +110,8 @@ extension EmailVC : UITextFieldDelegate{ } return ValidatorClass.sharedInstanec.limitCharacter(length: 255,textField, shouldChangeCharactersIn: range, replacementString: string) + case userType: + return false default: return true } diff --git a/WOKA/Authentication/Controller/LoginVC.swift b/WOKA/Authentication/Controller/LoginVC.swift index 528d0d1..7d92387 100644 --- a/WOKA/Authentication/Controller/LoginVC.swift +++ b/WOKA/Authentication/Controller/LoginVC.swift @@ -83,6 +83,15 @@ class LoginVC: UIViewController { let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.resetPassUserNameVC) as! ResetPassUserNameVC self.navigationController?.pushViewController(vc, animated: true) } + + @IBAction func forgotUsername(_ sender: LocalisedElementsButton) { + vm.hideErrors() + PersistentStorage.shared.addOthersCount() + let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil) + let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.emailVC) as! EmailVC + vc.vm.forgetUsername = true + self.navigationController?.pushViewController(vc, animated: true) + } } diff --git a/WOKA/Authentication/Controller/UsernameCheckVC.swift b/WOKA/Authentication/Controller/UsernameCheckVC.swift new file mode 100644 index 0000000..aa5b5d6 --- /dev/null +++ b/WOKA/Authentication/Controller/UsernameCheckVC.swift @@ -0,0 +1,62 @@ +// +// UsernameCheckVC.swift +// WOKA +// +// Created by MacBook Pro on 20/08/24. +// + +import UIKit +import Alamofire + +class UsernameCheckVC: UIViewController { + + var userData = [UserNameDM]() + @IBOutlet weak var tableView: UITableView! + @IBOutlet weak var nextBtn: LocalisedElementsButton! + + override func viewDidLoad() { + super.viewDidLoad() + setupCell() + let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1) + let color2 = #colorLiteral(red: 0.6901960784, green: 0.2745098039, blue: 0.7568627451, alpha: 1) + nextBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0)) + nextBtn.roundCorner() + self.title = "" + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + navigationController?.setNavigationBarHidden(false, animated: animated) + } + + func setupCell(){ + tableView.register(UINib(nibName: K.CellIdentifier.Authentication.linkedChildCell, bundle: nil), forCellReuseIdentifier: K.CellIdentifier.Authentication.linkedChildCell) + tableView.delegate = self + tableView.dataSource = self + } + + + @IBAction func goToLoginTapped(_ sender: LocalisedElementsButton) { + navigationController?.setNavigationBarHidden(true, animated: true) + self.navigationController?.popToViewController(of: LoginVC.self, animated: true) + } +} + +// MARK: - TableView + +extension UsernameCheckVC : TableViewSRC{ + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return userData.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: K.CellIdentifier.Authentication.linkedChildCell, for: indexPath) as! LinkedChildCell + cell.setLinkedData(data: userData[indexPath.row]) + return cell + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 100 + } +} diff --git a/WOKA/Authentication/Model/UserNameDM.swift b/WOKA/Authentication/Model/UserNameDM.swift new file mode 100644 index 0000000..28d3349 --- /dev/null +++ b/WOKA/Authentication/Model/UserNameDM.swift @@ -0,0 +1,13 @@ +// +// UserNameDM.swift +// WOKA +// +// Created by MacBook Pro on 20/08/24. +// + +import Foundation + +// MARK: - UserNameDM +struct UserNameDM: Codable { + let username: String? +} diff --git a/WOKA/Authentication/View/LinkedChildCell.swift b/WOKA/Authentication/View/LinkedChildCell.swift index 5ef78b7..081dc5c 100644 --- a/WOKA/Authentication/View/LinkedChildCell.swift +++ b/WOKA/Authentication/View/LinkedChildCell.swift @@ -33,4 +33,9 @@ class LinkedChildCell: UITableViewCell { } self.childName.text = data.username } + + func setLinkedData(data : UserNameDM){ + self.childName.text = data.username + self.childAvatarImage.image = UIImage(named: "DefaultAvatar") + } } diff --git a/WOKA/Authentication/ViewModel/EmailVM.swift b/WOKA/Authentication/ViewModel/EmailVM.swift index c805df0..c4307bc 100644 --- a/WOKA/Authentication/ViewModel/EmailVM.swift +++ b/WOKA/Authentication/ViewModel/EmailVM.swift @@ -12,12 +12,17 @@ class EmailVM{ weak var vc : EmailVC! + var forgetUsername : Bool? + let dropDownModule = DropDown() + var dataSource = [String]() + func initView(){ let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1) let color2 = #colorLiteral(red: 0.6901960784, green: 0.2745098039, blue: 0.7568627451, alpha: 1) vc.nextBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0)) vc.nextBtn.roundCorner() vc.enterEmailTF.roundCorner() + vc.userType.roundCorner() // Set up text field delegate vc.enterEmailTF.delegate = vc.self @@ -38,6 +43,42 @@ class EmailVM{ vc.beSafeLabel.text = K.AuthenticationStringConstant.safeBelow.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue) vc.emailLabel.text = K.AuthenticationStringConstant.emailBelow.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue) } + + + if forgetUsername != nil{ // if user is coming from forget username + vc.userTypeStack.isHidden = false + vc.beSafeLabel.text = K.AuthenticationStringConstant.forgotUsername.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue) + vc.userType.delegate = self.vc + dataSource = ["I am above 16 years" , "I am below 16 years"] + vc.userType.addRightButton(title: "", tintColor: UIColor.appColor(.TextDarkBlue)!, btnImage: UIImage(named: "SupportBottomArrow"),rightPadding: 15, target: self, action: #selector(dropDownTapped)) + initDropDown() + } + } + + // this func will initialize the dropdown menu + func initDropDown(){ + dropDownModule.anchorView = vc.userType + dropDownModule.dataSource = dataSource + dropDownModule.cornerRadius = 10 + dropDownModule.bottomOffset = CGPoint(x: 0, y:(dropDownModule.anchorView?.plainView.bounds.height)!) + dropDownModule.topOffset = CGPoint(x: 0, y:-(dropDownModule.anchorView?.plainView.bounds.height)!) + dropDownModule.direction = .bottom + dropDownModule.textFont = FontCustom.shareInstance.customFont(fontName: .Exo2_Medium, size: 16) + dropDownModule.shadowColor = UIColor.appColor(.TextDarkBlue)! + dropDownModule.backgroundColor = .white + dropDownModule.shadowOffset = CGSize(width: 0, height: 1) + dropDownModule.separatorColor = UIColor.lightGray + dropDownModule.width = vc.userType.frame.width - 20 + dropDownModule.selectionBackgroundColor = UIColor.appColor(.TextDarkBlue)! + dropDownModule.selectedTextColor = UIColor.white + dropDownModule.selectionAction = { [weak self] (index: Int, item: String) in + self?.vc.userType.text = item + } + } + + @objc func dropDownTapped(){ + self.vc.enterEmailTF.resignFirstResponder() + self.dropDownModule.show() } // Function to handle tap on validation icon @@ -48,6 +89,39 @@ class EmailVM{ } } + // MARK: - After all checks do the api call + + func getUserName(){ + let params: Parameters = ["email": vc.enterEmailTF.text!, + "user_type": dropDownModule.indexForSelectedRow == 0 ? 2 : 1] + let header : HTTPHeaders = ["device-id" : AuthFunc.shareInstance.getDeviceUUID(), + "Accept-Language" : AuthFunc.shareInstance.languageSelected == .english ? "English" : "Hindi"] + + Utilities.startProgressHUD() + NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Auth.forgot_username, method: .post ,parameters: params, headers: header) {(result : Result, NetworkManager.APIError>) in + switch result{ + case .success(let data): + switch data.success{ + case 0: + Utilities.dismissProgressHUD() + self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2) + case 1: + Utilities.dismissProgressHUD() + guard let dataResult = data.data else{return} + let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil) + let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.usernameCheckVC) as! UsernameCheckVC + vc.userData = dataResult + self.vc.navigationController?.pushViewController(vc, animated: true) + default: + break + } + case .failure(let error): + Utilities.dismissProgressHUD() + self.vc.toast(msg: error.localizedDescription, time: 2) + } + } + } + func checkEmail(){ let params: Parameters = [ "email": vc.enterEmailTF.text!, diff --git a/WOKA/Constants K/ConstantString.swift b/WOKA/Constants K/ConstantString.swift index 52019a4..70a1bc3 100644 --- a/WOKA/Constants K/ConstantString.swift +++ b/WOKA/Constants K/ConstantString.swift @@ -30,6 +30,8 @@ extension K{ static let dob = "Please select DOB." static let registerUser = "Please wait registering user." + static let userType = "Please select user type." + static let error = "Error" static let rupeeSign = "₹" diff --git a/WOKA/Constants K/StoryBoardID.swift b/WOKA/Constants K/StoryBoardID.swift index 2e8b257..16d4ae3 100644 --- a/WOKA/Constants K/StoryBoardID.swift +++ b/WOKA/Constants K/StoryBoardID.swift @@ -27,6 +27,8 @@ extension K{ static let resetPassUserNameVC = "ResetPassUserNameVC" static let newPasswordVC = "NewPasswordVC" static let linkedChildVC = "LinkedChildVC" + static let usernameCheckVC = "UsernameCheckVC" + static let appUpdateVC = "AppUpdateVC" } struct Home{ diff --git a/WOKA/Constants K/UserDefaultsStruct.swift b/WOKA/Constants K/UserDefaultsStruct.swift index 6257f42..ca1a907 100644 --- a/WOKA/Constants K/UserDefaultsStruct.swift +++ b/WOKA/Constants K/UserDefaultsStruct.swift @@ -22,6 +22,8 @@ extension K{ static let userAccessToken = "userAccessToken" static let defaultLanguage = "defaultLanguage" static let userType = "userType" + + static let skippedVersion = "skippedVersion" } } diff --git a/WOKA/Helpers/PopViewControllerGeneric.swift b/WOKA/Helpers/PopViewControllerGeneric.swift new file mode 100644 index 0000000..508fddc --- /dev/null +++ b/WOKA/Helpers/PopViewControllerGeneric.swift @@ -0,0 +1,22 @@ +// +// PopViewControllerGeneric.swift +// WOKA +// +// Created by MacBook Pro on 20/08/24. +// + +import UIKit + +/* + this helps in navigation back or pop the viewcontroller as generic type + */ +extension UINavigationController { + func getViewController(of type: T.Type) -> UIViewController? { + return self.viewControllers.first(where: { $0 is T }) + } + + func popToViewController(of type: T.Type, animated: Bool) { + guard let viewController = self.getViewController(of: type) else { return } + self.popToViewController(viewController, animated: animated) + } +} diff --git a/WOKA/Helpers/UIElements Helper/TextFieldImage.swift b/WOKA/Helpers/UIElements Helper/TextFieldImage.swift index b4fd2e5..bfad22b 100644 --- a/WOKA/Helpers/UIElements Helper/TextFieldImage.swift +++ b/WOKA/Helpers/UIElements Helper/TextFieldImage.swift @@ -36,7 +36,7 @@ extension UITextField { extension UITextField { - func addRightButton(title: String?, tintColor : UIColor, btnImage : UIImage?, selectedImage : UIImage? = nil, target: Any?, action: Selector) { + func addRightButton(title: String?, tintColor : UIColor, btnImage : UIImage?, selectedImage : UIImage? = nil,rightPadding : CGFloat? = 10, target: Any?, action: Selector) { // Create a button let button = UIButton(type: .system) button.setTitle(title, for: .normal) @@ -46,7 +46,7 @@ extension UITextField { button.setImage(selectedImage, for: .selected) } button.tintColor = tintColor - button.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10) + button.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: rightPadding ?? 10) // Set the button as the right view of the text field self.rightView = button self.rightViewMode = .always diff --git a/WOKA/Localized Module/hi.lproj/Localizable.strings b/WOKA/Localized Module/hi.lproj/Localizable.strings index 66f45dd..253cf01 100644 --- a/WOKA/Localized Module/hi.lproj/Localizable.strings +++ b/WOKA/Localized Module/hi.lproj/Localizable.strings @@ -20,7 +20,13 @@ "Login to WOKA" = "WOKA में लॉग इन करें"; "Enter your username" = "अपना उपयोगकर्ता नाम दर्ज करें"; "Enter your password" = "अपना उपयोगकर्ता नाम दर्ज करें"; -"Forgot Password" = "पासवर्ड भूल गए?"; +"Forgot Password?" = "पासवर्ड भूल गए?"; +"Forgot Username" = "उपयोगकर्ता नाम भूल गए"; +"Forgot Username?" = "उपयोगकर्ता नाम भूल गए?"; +"SELECT USER TYPE" = "उपयोगकर्ता प्रकार चुनें"; +"Username Found" = "उपयोगकर्ता नाम मिला"; +"Username linked to your account" = "आपके खाते से जुड़ा उपयोगकर्ता नाम"; +"Go to login?" = "लॉगिन पर जाएं?"; /* Forgot Password VC diff --git a/WOKA/Network Adapter/APIEndPoints.swift b/WOKA/Network Adapter/APIEndPoints.swift index bef2f9c..ed5de1a 100644 --- a/WOKA/Network Adapter/APIEndPoints.swift +++ b/WOKA/Network Adapter/APIEndPoints.swift @@ -61,6 +61,16 @@ struct APIEndPoints { UserData */ static let get_user_data = makeURL(path: "get_user_data") + + /* + Get username + */ + static let forgot_username = makeURL(path: "forgot_username") + + /* + + */ + static let version_history = makeURL(path: "version_history") } struct SideBarNav{ diff --git a/WOKA/OnBoarding Module/Controller/SplashVC.swift b/WOKA/OnBoarding Module/Controller/SplashVC.swift index 4031fb5..385ec55 100644 --- a/WOKA/OnBoarding Module/Controller/SplashVC.swift +++ b/WOKA/OnBoarding Module/Controller/SplashVC.swift @@ -79,29 +79,35 @@ class SplashVC: UIViewController { If user is loggined no need to shift the woka logo upside to new constant. Directly Navigate user to home */ - if AuthFunc.shareInstance.checkLogin(){ - vm.getUserData() - return - } else{ - //check if the static url data is fetched - if AuthFunc.shareInstance.staticURLs == nil{ - AuthFunc.shareInstance.getStaticURLs() - } +// vm.getVersionHistory() + animateForward() + } + } + + func animateForward(){ + if AuthFunc.shareInstance.checkLogin(){ + vm.getUserData() + return + }else{ + //check if the static url data is fetched + if AuthFunc.shareInstance.staticURLs == nil{ + AuthFunc.shareInstance.getStaticURLs() } - UIView.animate(withDuration: 0.5, animations: { - // Update the constant value of the top constraint - self.wokaOriginY.constant = newConstant - // Inform the layout system to update - self.view.layoutIfNeeded() - }) { _ in - if !AuthFunc.shareInstance.checkLogin(){ - UIView.animate(withDuration: 0.3, delay: 0,options : [.transitionCrossDissolve],animations: { - // Set the isHidden property of the view - self.languageBtnStack.isHidden = false - }) {_ in - // Inform the stack view to update its layout - self.languageBtnStack.layoutIfNeeded() - } + } + UIView.animate(withDuration: 0.5, animations: { [weak self] in + guard let self else{return} + // Update the constant value of the top constraint + self.wokaOriginY.constant = wokaOriginY.constant - 50 + // Inform the layout system to update + self.view.layoutIfNeeded() + }) { _ in + if !AuthFunc.shareInstance.checkLogin(){ + UIView.animate(withDuration: 0.3, delay: 0,options : [.transitionCrossDissolve],animations: { + // Set the isHidden property of the view + self.languageBtnStack.isHidden = false + }) {_ in + // Inform the stack view to update its layout + self.languageBtnStack.layoutIfNeeded() } } } diff --git a/WOKA/OnBoarding Module/Model/AppUpdateDM.swift b/WOKA/OnBoarding Module/Model/AppUpdateDM.swift new file mode 100644 index 0000000..36be709 --- /dev/null +++ b/WOKA/OnBoarding Module/Model/AppUpdateDM.swift @@ -0,0 +1,41 @@ +// +// AppUpdateDM.swift +// WOKA +// +// Created by MacBook Pro on 20/08/24. +// + +import Foundation + +// MARK: - AppUpdateDM +struct AppUpdateDM: Codable { + let the0: The0? + let msg: String? + let url: String? + + enum CodingKeys: String, CodingKey { + case the0 = "0" + case msg, url + } + + // MARK: - The0 + struct The0: Codable { + let id: Int? + let versionID, releaseDate: String? + let oldVersion: Int? + let newVersion, forceUpdateVersion: Double? + let forceUpdate: Int? + let releaseNotes: String? + + enum CodingKeys: String, CodingKey { + case id + case versionID = "version_id" + case releaseDate = "release_date" + case oldVersion = "old_version" + case newVersion = "new_version" + case forceUpdateVersion = "force_update_version" + case forceUpdate = "force_update" + case releaseNotes = "release_notes" + } + } +} diff --git a/WOKA/OnBoarding Module/ViewModel/SplashVM.swift b/WOKA/OnBoarding Module/ViewModel/SplashVM.swift index b6180dd..f72a70f 100644 --- a/WOKA/OnBoarding Module/ViewModel/SplashVM.swift +++ b/WOKA/OnBoarding Module/ViewModel/SplashVM.swift @@ -16,7 +16,9 @@ class SplashVM{ var player: AVAudioPlayer? func initView(){ - AuthFunc.shareInstance.getStaticURLs() + if AuthFunc.shareInstance.staticURLs == nil{ + AuthFunc.shareInstance.getStaticURLs() + } vc.activityIndicator.hidesWhenStopped = true let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1) let color2 = #colorLiteral(red: 0.4862745098, green: 0.1960784314, blue: 0.7019607843, alpha: 1) @@ -111,6 +113,72 @@ class SplashVM{ } } + func getVersionHistory(){ + let newVersion = "25.1.7" + let forceUpdateVersion = "25.1.7" + let forceUpdate = false + let currentAppVersion = Bundle.main.appVersionLong + + /* + If user is guest then dont do the nw call + */ + let params : Parameters = ["device" : "2"] //1-android , 2- iOS + NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Auth.version_history, method: .get,parameters: params) { [weak self](result : Result, NetworkManager.APIError>) in + switch result{ + case .success(let data): + guard let self else{return} + switch data.success{ + case 0: + self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2) + case 1: + guard let data = data.data?.the0 else{return} + if newVersion.isVersion(greaterThan: currentAppVersion) { + // Case: New version is greater than the current version + print("New version is greater than current version.") + + /* + Check if user has skipped the force update version + */ + let skippedVer = UserDefaults.standard.string(forKey: K.UserDefaultsStruct.appUpdateSkipVer) + if skippedVer == forceUpdateVersion{ + // it means user has skipped this version. + vc.animateForward() + return + } + + // If ver is not skipped let user navigate to app update vc + if forceUpdate { + print("Force update required by the API.") + // nav user to force update screen + let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil) + let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.appUpdateVC) as! AppUpdateVC + vcPush.forceUpdateVer = forceUpdateVersion + self.vc.navigationController?.pushViewController(vcPush, animated: true) + } else { + print("Update available, but not mandatory.") + // Optional update let user skip + let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil) + let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.appUpdateVC) as! AppUpdateVC + vcPush.forceUpdateVer = forceUpdateVersion + self.vc.navigationController?.pushViewController(vcPush, animated: true) + } + } else { + // Case: Current version is equal to the new version + print("Current version is up-to-date.") + vc.animateForward() + } + + print("data:- ", data.forceUpdateVersion) + default: + break + } + case .failure(let error): + guard let self else{return} + self.vc.toast(msg: error.localizedDescription , time: 2) + } + } + } + // handling activity indicator func startStopIndicator(start : Bool , hide : Bool = false){ @@ -131,3 +199,25 @@ class SplashVM{ } } } + + +extension String { + func isVersion(greaterThan version: String) -> Bool { + let versionComponents = self.split(separator: ".").compactMap { Int($0) } + let comparisonComponents = version.split(separator: ".").compactMap { Int($0) } + + for (index, component) in versionComponents.enumerated() { + if index < comparisonComponents.count { + if component > comparisonComponents[index] { + return true + } else if component < comparisonComponents[index] { + return false + } + } else { + return true + } + } + + return versionComponents.count > comparisonComponents.count + } +} diff --git a/WOKA/Theme/Base.lproj/Theme.storyboard b/WOKA/Theme/Base.lproj/Theme.storyboard index c323fda..73c3bc9 100644 --- a/WOKA/Theme/Base.lproj/Theme.storyboard +++ b/WOKA/Theme/Base.lproj/Theme.storyboard @@ -397,6 +397,7 @@ + @@ -464,6 +465,7 @@ + @@ -562,16 +564,16 @@ - + - + @@ -605,7 +607,7 @@ - + - + @@ -659,16 +661,16 @@ - + - + @@ -1331,7 +1333,7 @@ - +