diff --git a/WOKA.xcodeproj/project.pbxproj b/WOKA.xcodeproj/project.pbxproj index ae04943..3a27a3b 100644 --- a/WOKA.xcodeproj/project.pbxproj +++ b/WOKA.xcodeproj/project.pbxproj @@ -107,7 +107,7 @@ 52FB2D8F2BDF898F0009B0C7 /* TextFieldPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FB2D8E2BDF898F0009B0C7 /* TextFieldPadding.swift */; }; 52FDBA782BFF23F4009D7AC7 /* TimePeriod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA772BFF23F4009D7AC7 /* TimePeriod.swift */; }; 52FDBA7B2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA7A2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift */; }; - 52FDBA7D2BFF481A009D7AC7 /* HomeVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA7C2BFF481A009D7AC7 /* HomeVM.swift */; }; + 52FDBA7D2BFF481A009D7AC7 /* ThemeOneVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */; }; 52FDDAB52BF34DC300E037C1 /* YesNoAlertVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FDDAB42BF34DC300E037C1 /* YesNoAlertVC.swift */; }; 619A5A1BD8BD968ADC83C106 /* Pods_WOKA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA543A4216400A2864E3D3E /* Pods_WOKA.framework */; }; 9C0A853F2BEE35340093783D /* ForgotPassDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C0A853E2BEE35340093783D /* ForgotPassDM.swift */; }; @@ -123,6 +123,13 @@ 9C27E16F2BDB866500EC1DA9 /* CellIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C27E16E2BDB866500EC1DA9 /* CellIdentifier.swift */; }; 9C27E1722BDB86B600EC1DA9 /* OnBoardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C27E1702BDB86B600EC1DA9 /* OnBoardCell.swift */; }; 9C27E1732BDB86B600EC1DA9 /* OnBoardCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C27E1712BDB86B600EC1DA9 /* OnBoardCell.xib */; }; + 9C535DB52C005A6D00DA6DCD /* KeyWindowFix.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */; }; + 9C535DB82C0089B400DA6DCD /* ViewButtonAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */; }; + 9C535DC02C00B36000DA6DCD /* HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DBF2C00B36000DA6DCD /* HomeVC.swift */; }; + 9C535DC22C00B36900DA6DCD /* ThemeTwoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */; }; + 9C535DC52C00BF2400DA6DCD /* HomeExploreCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */; }; + 9C535DC62C00BF2400DA6DCD /* HomeExploreCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */; }; + 9C535DCA2C00C34A00DA6DCD /* Theme.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C535DC92C00C34A00DA6DCD /* Theme.storyboard */; }; 9C56E83B2BDBC6E600E4CA14 /* SelectAgeVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E83A2BDBC6E600E4CA14 /* SelectAgeVM.swift */; }; 9C56E8462BDBEE6400E4CA14 /* EmailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E8452BDBEE6400E4CA14 /* EmailVC.swift */; }; 9C56E8482BDBEFAB00E4CA14 /* AssetColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E8472BDBEFAB00E4CA14 /* AssetColor.swift */; }; @@ -135,7 +142,7 @@ 9CBCB2A32BE50C95007D7934 /* ResetPassUserNameVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBCB2A22BE50C95007D7934 /* ResetPassUserNameVC.swift */; }; 9CBCB2A52BE50D49007D7934 /* NewPasswordVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBCB2A42BE50D49007D7934 /* NewPasswordVC.swift */; }; 9CBCB2A82BE5105A007D7934 /* Home.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9CBCB2A72BE5105A007D7934 /* Home.storyboard */; }; - 9CBCB2AA2BE51A52007D7934 /* HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBCB2A92BE51A52007D7934 /* HomeVC.swift */; }; + 9CBCB2AA2BE51A52007D7934 /* ThemeOneVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */; }; 9CDC343C2BDBBC6B00093089 /* SelectAgeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */; }; 9CDCE1452BDB9B9A003FEF11 /* OnBoardMainSound.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 9CDCE1442BDB9B9A003FEF11 /* OnBoardMainSound.m4a */; }; /* End PBXBuildFile section */ @@ -261,7 +268,7 @@ 52FB2D8E2BDF898F0009B0C7 /* TextFieldPadding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldPadding.swift; sourceTree = ""; }; 52FDBA772BFF23F4009D7AC7 /* TimePeriod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimePeriod.swift; sourceTree = ""; }; 52FDBA7A2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFuncTimeHandling.swift; sourceTree = ""; }; - 52FDBA7C2BFF481A009D7AC7 /* HomeVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVM.swift; sourceTree = ""; }; + 52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeOneVM.swift; sourceTree = ""; }; 52FDDAB42BF34DC300E037C1 /* YesNoAlertVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YesNoAlertVC.swift; sourceTree = ""; }; 9C0A853E2BEE35340093783D /* ForgotPassDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForgotPassDM.swift; sourceTree = ""; }; 9C0A85402BEE35670093783D /* ResetPassUserNameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPassUserNameVM.swift; sourceTree = ""; }; @@ -276,6 +283,13 @@ 9C27E16E2BDB866500EC1DA9 /* CellIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellIdentifier.swift; sourceTree = ""; }; 9C27E1702BDB86B600EC1DA9 /* OnBoardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnBoardCell.swift; sourceTree = ""; }; 9C27E1712BDB86B600EC1DA9 /* OnBoardCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OnBoardCell.xib; sourceTree = ""; }; + 9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyWindowFix.swift; sourceTree = ""; }; + 9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewButtonAnimation.swift; sourceTree = ""; }; + 9C535DBF2C00B36000DA6DCD /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = ""; }; + 9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTwoVC.swift; sourceTree = ""; }; + 9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = HomeExploreCell.swift; path = WOKA/Home/View/HomeExploreCell.swift; sourceTree = SOURCE_ROOT; }; + 9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = HomeExploreCell.xib; path = WOKA/Home/View/HomeExploreCell.xib; sourceTree = SOURCE_ROOT; }; + 9C535DC92C00C34A00DA6DCD /* Theme.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Theme.storyboard; sourceTree = ""; }; 9C56E82E2BDBC3EF00E4CA14 /* Exo2-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Bold.ttf"; sourceTree = ""; }; 9C56E82F2BDBC3EF00E4CA14 /* Exo2-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Medium.ttf"; sourceTree = ""; }; 9C56E8302BDBC3EF00E4CA14 /* Exo2-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-SemiBold.ttf"; sourceTree = ""; }; @@ -294,7 +308,7 @@ 9CBCB2A22BE50C95007D7934 /* ResetPassUserNameVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPassUserNameVC.swift; sourceTree = ""; }; 9CBCB2A42BE50D49007D7934 /* NewPasswordVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewPasswordVC.swift; sourceTree = ""; }; 9CBCB2A72BE5105A007D7934 /* Home.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Home.storyboard; sourceTree = ""; }; - 9CBCB2A92BE51A52007D7934 /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = ""; }; + 9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeOneVC.swift; sourceTree = ""; }; 9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectAgeVC.swift; sourceTree = ""; }; 9CDCE1412BDB94BA003FEF11 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Main.strings; sourceTree = ""; }; 9CDCE1422BDB94BD003FEF11 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = ""; }; @@ -400,6 +414,7 @@ 523ED25C2BDA2BC700CFED02 /* WOKA */ = { isa = PBXGroup; children = ( + 9C535DC82C00C34000DA6DCD /* Theme */, 525327D72BFCC30400F64283 /* TabBar & SideMenu */, 5259542C2BEA392A00191286 /* Alerts */, 525954152BE8CAC900191286 /* Network Adapter */, @@ -519,18 +534,10 @@ path = Model; sourceTree = ""; }; - 525327D22BFCC1C400F64283 /* View */ = { - isa = PBXGroup; - children = ( - ); - path = View; - sourceTree = ""; - }; 525327D32BFCC1C900F64283 /* ViewModel */ = { isa = PBXGroup; children = ( 525327D52BFCC23600F64283 /* SideMenuVM.swift */, - 52FDBA7C2BFF481A009D7AC7 /* HomeVM.swift */, ); path = ViewModel; sourceTree = ""; @@ -538,7 +545,7 @@ 525327D42BFCC1CF00F64283 /* Controller */ = { isa = PBXGroup; children = ( - 9CBCB2A92BE51A52007D7934 /* HomeVC.swift */, + 9C535DBF2C00B36000DA6DCD /* HomeVC.swift */, 525327CF2BFCBC4A00F64283 /* ExploreWokaVC.swift */, 522242632BFC74380085C632 /* MyListVC.swift */, ); @@ -608,6 +615,7 @@ 52C8B0512BDA4B51003B51D0 /* Helpers */ = { isa = PBXGroup; children = ( + 9C535DB62C0089A700DA6DCD /* Animation */, 525953D22BE8B2CD00191286 /* UIApplication */, 525953CD2BE8B28100191286 /* ActivityToast&Indicator */, 5202AAFF2BDFA7860043B7BD /* Validations */, @@ -697,10 +705,55 @@ 52FDBA792BFF26F9009D7AC7 /* AuthFunc */, 523ED25D2BDA2BC700CFED02 /* AppDelegate.swift */, 523ED25F2BDA2BC700CFED02 /* SceneDelegate.swift */, + 9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */, ); path = Main; sourceTree = ""; }; + 9C535DB62C0089A700DA6DCD /* Animation */ = { + isa = PBXGroup; + children = ( + 9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */, + ); + path = Animation; + sourceTree = ""; + }; + 9C535DC72C00BF3E00DA6DCD /* View */ = { + isa = PBXGroup; + children = ( + 9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */, + 9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */, + ); + path = View; + sourceTree = ""; + }; + 9C535DC82C00C34000DA6DCD /* Theme */ = { + isa = PBXGroup; + children = ( + 9C535DCC2C00CD1200DA6DCD /* ViewModel */, + 9C535DCB2C00CD0800DA6DCD /* Controller */, + 9C535DC92C00C34A00DA6DCD /* Theme.storyboard */, + ); + path = Theme; + sourceTree = ""; + }; + 9C535DCB2C00CD0800DA6DCD /* Controller */ = { + isa = PBXGroup; + children = ( + 9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */, + 9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */, + ); + path = Controller; + sourceTree = ""; + }; + 9C535DCC2C00CD1200DA6DCD /* ViewModel */ = { + isa = PBXGroup; + children = ( + 52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */, + ); + path = ViewModel; + sourceTree = ""; + }; 9C56E83E2BDBE4FB00E4CA14 /* Authentication */ = { isa = PBXGroup; children = ( @@ -777,7 +830,7 @@ isa = PBXGroup; children = ( 525327D12BFCC1BC00F64283 /* Model */, - 525327D22BFCC1C400F64283 /* View */, + 9C535DC72C00BF3E00DA6DCD /* View */, 525327D32BFCC1C900F64283 /* ViewModel */, 525327D42BFCC1CF00F64283 /* Controller */, 9CBCB2A72BE5105A007D7934 /* Home.storyboard */, @@ -917,11 +970,13 @@ 523ED26A2BDA2BC900CFED02 /* Base in Resources */, 52C8B05B2BDA5924003B51D0 /* WokaSplashSound.m4a in Resources */, 525954352BEB4B3B00191286 /* Exo2-Thin.ttf in Resources */, + 9C535DCA2C00C34A00DA6DCD /* Theme.storyboard in Resources */, 525954362BEB4B3B00191286 /* Exo2-Medium.ttf in Resources */, 525954372BEB4B3B00191286 /* Exo2-Bold.ttf in Resources */, 525954382BEB4B3B00191286 /* Exo2-Regular.ttf in Resources */, 525954392BEB4B3B00191286 /* Exo2-ExtraBold.ttf in Resources */, 5259543A2BEB4B3B00191286 /* Exo2-SemiBold.ttf in Resources */, + 9C535DC52C00BF2400DA6DCD /* HomeExploreCell.xib in Resources */, 52A3F6A92BECBF2A0000BB0B /* LinkedChildCell.xib in Resources */, 523ED2652BDA2BC700CFED02 /* Base in Resources */, 52C6E01C2BE383C000E22D59 /* YourIntrestCell.xib in Resources */, @@ -993,6 +1048,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9C535DC62C00BF2400DA6DCD /* HomeExploreCell.swift in Sources */, 52D774EF2BDFC50D001D87DE /* StringValidations.swift in Sources */, 5222425D2BFC73E40085C632 /* SideMenuController.swift in Sources */, 5272FCE32BDFDB05000ECB1D /* UserDetailsRegisterVC.swift in Sources */, @@ -1043,6 +1099,7 @@ 522242592BFC73E40085C632 /* BasicTransitionAnimator.swift in Sources */, 9CBCB29B2BE4D614007D7934 /* LoginVC.swift in Sources */, 9C56E83B2BDBC6E600E4CA14 /* SelectAgeVM.swift in Sources */, + 9C535DC02C00B36000DA6DCD /* HomeVC.swift in Sources */, 5259542E2BEA393700191286 /* AlertCustomVC.swift in Sources */, 52CA28FA2BE119F500708B49 /* UserIntrestVC.swift in Sources */, 9C27E16B2BDB774D00EC1DA9 /* CarouselData.swift in Sources */, @@ -1050,7 +1107,7 @@ 5259545A2BEB67D200191286 /* DateFormatterLib.swift in Sources */, 523ED2602BDA2BC700CFED02 /* SceneDelegate.swift in Sources */, 9C0A853F2BEE35340093783D /* ForgotPassDM.swift in Sources */, - 9CBCB2AA2BE51A52007D7934 /* HomeVC.swift in Sources */, + 9CBCB2AA2BE51A52007D7934 /* ThemeOneVC.swift in Sources */, 52D774E92BDFBDA4001D87DE /* AuthenticationStringConstant.swift in Sources */, 5259541B2BE8D6F900191286 /* NetworkReachibility.swift in Sources */, 9C27E1672BDB706700EC1DA9 /* StoryBoard.swift in Sources */, @@ -1064,12 +1121,13 @@ 522242622BFC73E40085C632 /* UIViewController+SideMenu.swift in Sources */, 5222425B2BFC73E40085C632 /* Preferences.swift in Sources */, 52C6E01E2BE3847F00E22D59 /* BorderView.swift in Sources */, - 52FDBA7D2BFF481A009D7AC7 /* HomeVM.swift in Sources */, + 52FDBA7D2BFF481A009D7AC7 /* ThemeOneVM.swift in Sources */, 52C8B0742BDA7626003B51D0 /* OnBoardVC.swift in Sources */, 525953CF2BE8B28F00191286 /* Utilities.swift in Sources */, 9CBCB2A12BE4E50A007D7934 /* TextFieldPassword.swift in Sources */, 9C56E8482BDBEFAB00E4CA14 /* AssetColor.swift in Sources */, 9C0A85432BEE3EC90093783D /* NewPasswordVM.swift in Sources */, + 9C535DB52C005A6D00DA6DCD /* KeyWindowFix.swift in Sources */, 9C9BEEC72BEE1BBF004ECC2F /* CollectionViewCenteredFlowLayout.swift in Sources */, 5222426A2BFC7AFC0085C632 /* SideMenuVC.swift in Sources */, 9CBCB29D2BE4D6BB007D7934 /* LoginVM.swift in Sources */, @@ -1084,6 +1142,7 @@ 9C27E1722BDB86B600EC1DA9 /* OnBoardCell.swift in Sources */, 52C8B05F2BDA5AFA003B51D0 /* SplashVM.swift in Sources */, 52663FF72BDFACF60001D8CE /* ShadowView.swift in Sources */, + 9C535DC22C00B36900DA6DCD /* ThemeTwoVC.swift in Sources */, 5222425F2BFC73E40085C632 /* TransitionContext.swift in Sources */, 52D774F12BDFC53B001D87DE /* StringSubScript.swift in Sources */, 52FB2D8F2BDF898F0009B0C7 /* TextFieldPadding.swift in Sources */, @@ -1099,6 +1158,7 @@ 52C6E0212BE3ADE300E22D59 /* GenderEnum.swift in Sources */, 525953D12BE8B2B200191286 /* LLSpinner.swift in Sources */, 52C6E0272BE3B46A00E22D59 /* SelectAvatarCell.swift in Sources */, + 9C535DB82C0089B400DA6DCD /* ViewButtonAnimation.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks.png diff --git a/WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/AudioBooks@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/AudioBooks@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/AudioBooks.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/AudioBooks.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Cloud1.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud1.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Cloud1.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud1.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Cloud1.imageset/cloud1.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud1.imageset/cloud1.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Cloud1.imageset/cloud1.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud1.imageset/cloud1.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Cloud2.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud2.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Cloud2.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud2.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Cloud2.imageset/cloud2.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud2.imageset/cloud2.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Cloud2.imageset/cloud2.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Cloud2.imageset/cloud2.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme1/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/FM.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/FM.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/FM.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/FM.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/FM.imageset/FM Logo Static_02 1.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/FM.imageset/FM Logo Static_02 1.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/FM.imageset/FM Logo Static_02 1.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/FM.imageset/FM Logo Static_02 1.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Games.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Games.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Games.imageset/Games@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Games.imageset/Games@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/HomeGrassDay.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassDay.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/HomeGrassDay.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassDay.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/HomeGrassDay.imageset/mountain.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassDay.imageset/mountain.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/HomeGrassDay.imageset/mountain.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassDay.imageset/mountain.png diff --git a/WOKA/Assets/Assets.xcassets/Home/HomeGrassNight.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassNight.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/HomeGrassNight.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassNight.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/HomeGrassNight.imageset/mountainNight.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassNight.imageset/mountainNight.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/HomeGrassNight.imageset/mountainNight.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/HomeGrassNight.imageset/mountainNight.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Image.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Image.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Image.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Image.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Image.imageset/Image@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Image.imageset/Image@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Image.imageset/Image@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Image.imageset/Image@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Karaoke.imageset/Karaoke@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Karaoke.imageset/Karaoke@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV.png diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTV.imageset/LiveTV@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTV.imageset/LiveTV@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTVBaloon.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBaloon.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTVBaloon.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBaloon.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTVBaloon.imageset/Live TV Balloon Icon (1).png b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBaloon.imageset/Live TV Balloon Icon (1).png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTVBaloon.imageset/Live TV Balloon Icon (1).png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBaloon.imageset/Live TV Balloon Icon (1).png diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTVBorder.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBorder.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTVBorder.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBorder.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/LiveTVBorder.imageset/image 8.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBorder.imageset/image 8.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/LiveTVBorder.imageset/image 8.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/LiveTVBorder.imageset/image 8.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/Contents.json new file mode 100644 index 0000000..fa014fe --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "moon.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/moon.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/moon.png new file mode 100644 index 0000000..81ac02e Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme1/Moon.imageset/moon.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/Shop.imageset/Shop@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/Shop.imageset/Shop@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/Contents.json new file mode 100644 index 0000000..930178e --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "star.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "star@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "star@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star.png new file mode 100644 index 0000000..529ea86 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@2x.png new file mode 100644 index 0000000..b2fb8e4 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@3x.png new file mode 100644 index 0000000..4ea2d13 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme1/Star.imageset/star@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Contents.json similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Contents.json rename to WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Contents.json diff --git a/WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series.png diff --git a/WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series@2x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series@2x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series@2x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series@3x.png similarity index 100% rename from WOKA/Assets/Assets.xcassets/Home/WebSeries.imageset/Web Series@3x.png rename to WOKA/Assets/Assets.xcassets/Home/Theme1/WebSeries.imageset/Web Series@3x.png diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks.png new file mode 100644 index 0000000..a61f403 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@2x.png new file mode 100644 index 0000000..47e4e26 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@3x.png new file mode 100644 index 0000000..4a2b937 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/AudioBooks@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/Contents.json new file mode 100644 index 0000000..899fe27 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/AudioBooks.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "AudioBooks.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "AudioBooks@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "AudioBooks@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Contents.json new file mode 100644 index 0000000..96b3cf2 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Games.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Games@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Games@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games.png new file mode 100644 index 0000000..c705ac8 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@2x.png new file mode 100644 index 0000000..10a29ba Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@3x.png new file mode 100644 index 0000000..00102eb Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Games.imageset/Games@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Contents.json new file mode 100644 index 0000000..8a980af --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Karaoke.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Karaoke@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Karaoke@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke.png new file mode 100644 index 0000000..7eaf743 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@2x.png new file mode 100644 index 0000000..a7b3c05 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@3x.png new file mode 100644 index 0000000..b475fdd Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Karaoke.imageset/Karaoke@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/Contents.json new file mode 100644 index 0000000..8ef8e24 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "LiveTV.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "LiveTV@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "LiveTV@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV.png new file mode 100644 index 0000000..2cf6ff3 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@2x.png new file mode 100644 index 0000000..5ddc119 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@3x.png new file mode 100644 index 0000000..118e554 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/LiveTV.imageset/LiveTV@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Contents.json new file mode 100644 index 0000000..f011106 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Shop.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Shop@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Shop@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop.png new file mode 100644 index 0000000..deb5205 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@2x.png new file mode 100644 index 0000000..902d3f4 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@3x.png new file mode 100644 index 0000000..df45303 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/Shop.imageset/Shop@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/Contents.json new file mode 100644 index 0000000..b898334 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "WebSeries.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "WebSeries@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "WebSeries@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries.png new file mode 100644 index 0000000..101aba0 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@2x.png new file mode 100644 index 0000000..ed750a3 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@3x.png new file mode 100644 index 0000000..70da666 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WebSeries.imageset/WebSeries@3x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/Contents.json b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/Contents.json new file mode 100644 index 0000000..e5c75a0 --- /dev/null +++ b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "WokaFM.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "WokaFM@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "WokaFM@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM.png new file mode 100644 index 0000000..6ee53fa Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@2x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@2x.png new file mode 100644 index 0000000..1563641 Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@2x.png differ diff --git a/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@3x.png b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@3x.png new file mode 100644 index 0000000..cba06fc Binary files /dev/null and b/WOKA/Assets/Assets.xcassets/Home/Theme2/WokaFM.imageset/WokaFM@3x.png differ diff --git a/WOKA/Authentication/Controller/UserIntrestVC.swift b/WOKA/Authentication/Controller/UserIntrestVC.swift index d432667..0f2ff11 100644 --- a/WOKA/Authentication/Controller/UserIntrestVC.swift +++ b/WOKA/Authentication/Controller/UserIntrestVC.swift @@ -148,7 +148,7 @@ extension UserIntrestVC : UICollectionViewDelegate , UICollectionViewDataSource{ AuthFunc.shareInstance.regData.interest_topic_id?.append(id) } } - print(AuthFunc.shareInstance.regData.interest_topic_id) +// print(AuthFunc.shareInstance.regData.interest_topic_id) UIView.performWithoutAnimation { self.collectionView.reloadItems(at: [IndexPath(row: indexPath.row, section: 0)]) } diff --git a/WOKA/Constants K/CellIdentifier.swift b/WOKA/Constants K/CellIdentifier.swift index 7e66519..1f90926 100644 --- a/WOKA/Constants K/CellIdentifier.swift +++ b/WOKA/Constants K/CellIdentifier.swift @@ -22,5 +22,9 @@ extension K{ static let selectAvatarCell = "SelectAvatarCell" static let linkedChildCell = "LinkedChildCell" } + + struct Theme2{ + static let homeExploreCell = "HomeExploreCell" + } } } diff --git a/WOKA/Helpers/ActivityToast&Indicator/Toast.swift b/WOKA/Helpers/ActivityToast&Indicator/Toast.swift index 31d0b36..af8f96d 100644 --- a/WOKA/Helpers/ActivityToast&Indicator/Toast.swift +++ b/WOKA/Helpers/ActivityToast&Indicator/Toast.swift @@ -52,11 +52,11 @@ public extension UIView { private var activeToasts: NSMutableArray { get { - if let activeToasts = objc_getAssociatedObject(self, &ToastKeys.activeToasts) as? NSMutableArray { + if let activeToasts = objc_getAssociatedObject(self, ToastKeys.activeToasts) as? NSMutableArray { return activeToasts } else { let activeToasts = NSMutableArray() - objc_setAssociatedObject(self, &ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + objc_setAssociatedObject(self, ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) return activeToasts } } @@ -64,11 +64,11 @@ public extension UIView { private var queue: NSMutableArray { get { - if let queue = objc_getAssociatedObject(self, &ToastKeys.queue) as? NSMutableArray { + if let queue = objc_getAssociatedObject(self, ToastKeys.queue) as? NSMutableArray { return queue } else { let queue = NSMutableArray() - objc_setAssociatedObject(self, &ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + objc_setAssociatedObject(self, ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) return queue } } @@ -148,11 +148,11 @@ public extension UIView { didTap will be `true` if the toast view was dismissed from a tap. */ func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, completion: ((_ didTap: Bool) -> Void)? = nil) { - objc_setAssociatedObject(toast, &ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject(toast, ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); if ToastManager.shared.isQueueEnabled, activeToasts.count > 0 { - objc_setAssociatedObject(toast, &ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); - objc_setAssociatedObject(toast, &ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject(toast, ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject(toast, ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC); queue.add(toast) } else { @@ -265,12 +265,12 @@ public extension UIView { Dismisses the active toast activity indicator view. */ func hideToastActivity() { - if let toast = objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView { + if let toast = objc_getAssociatedObject(self, ToastKeys.activityView) as? UIView { UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: { toast.alpha = 0.0 }) { _ in toast.removeFromSuperview() - objc_setAssociatedObject(self, &ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + objc_setAssociatedObject(self, ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) } } } @@ -281,7 +281,7 @@ public extension UIView { toast.alpha = 0.0 toast.center = point - objc_setAssociatedObject(self, &ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + objc_setAssociatedObject(self, ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) self.addSubview(toast) @@ -335,12 +335,12 @@ public extension UIView { }) { _ in let timer = Timer(timeInterval: duration, target: self, selector: #selector(UIView.toastTimerDidFinish(_:)), userInfo: toast, repeats: false) RunLoop.main.add(timer, forMode: .common) - objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + objc_setAssociatedObject(toast, ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) } } private func hideToast(_ toast: UIView, fromTap: Bool) { - if let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer { + if let timer = objc_getAssociatedObject(toast, ToastKeys.timer) as? Timer { timer.invalidate() } @@ -350,11 +350,11 @@ public extension UIView { toast.removeFromSuperview() self.activeToasts.remove(toast) - if let wrapper = objc_getAssociatedObject(toast, &ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion { + if let wrapper = objc_getAssociatedObject(toast, ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion { completion(fromTap) } - if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, &ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, &ToastKeys.point) as? NSValue { + if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, ToastKeys.point) as? NSValue { self.queue.removeObject(at: 0) self.showToast(nextToast, duration: duration.doubleValue, point: point.cgPointValue) } diff --git a/WOKA/Helpers/Animation/ViewButtonAnimation.swift b/WOKA/Helpers/Animation/ViewButtonAnimation.swift new file mode 100644 index 0000000..bb54cca --- /dev/null +++ b/WOKA/Helpers/Animation/ViewButtonAnimation.swift @@ -0,0 +1,27 @@ +// +// ViewButtonAnimation.swift +// WOKA +// +// Created by Bilal on 24/05/2024. +// + +import UIKit + +class ViewButtonAnimation { + + static let sharedInstance = ViewButtonAnimation() + + private init() {} + + @objc func btnTapped(in viewController: UIViewController, view: UIView ) { + // Apply click effect animation + UIView.animate(withDuration: 0.1, animations: { + view.transform = CGAffineTransform(scaleX: 0.9, y: 0.9) + }) { _ in + UIView.animate(withDuration: 0.1) { + view.transform = .identity + /*completionHandler*/() + } + } + } +} diff --git a/WOKA/Home/Controller/HomeVC.swift b/WOKA/Home/Controller/HomeVC.swift index 01ff3ce..118b080 100644 --- a/WOKA/Home/Controller/HomeVC.swift +++ b/WOKA/Home/Controller/HomeVC.swift @@ -2,109 +2,78 @@ // HomeVC.swift // WOKA // -// Created by Bilal on 03/05/2024. +// Created by Bilal on 24/05/2024. // import UIKit -class HomeVC: UIViewController { +protocol ChildViewControllerDelegate: AnyObject { + func didPressSwitchButton(from viewController: UIViewController) +} - @IBOutlet weak var gradientView: UIView! - @IBOutlet weak var cloud2: UIImageView! - @IBOutlet weak var cloud1: UIImageView! - @IBOutlet weak var liveTVView: UIView! - @IBOutlet weak var liveTvPlayer: UIView! - @IBOutlet weak var homeGrass: UIImageView! - @IBOutlet weak var nameLabel: UILabel! - @IBOutlet weak var welcomeLabel: LocalisedElementsLabel! - - var cloudMovingRight = false // Flag to track the direction of movement - var isMovingRight = false // Flag to track the direction of movement - var timer: Timer? +class HomeVC: UIViewController ,ChildViewControllerDelegate{ + + @IBOutlet weak var containerView: UIView! + var currentChildViewController: UIViewController? - var vm = HomeVM() - - deinit{ - timer?.invalidate() - } - override func viewDidLoad() { super.viewDidLoad() - vm.vc = self - vm.initView() - - moveCloudView() - moveLiveTVView() - - + // Initialize the first child view controller + let sb = UIStoryboard(name: "Theme", bundle: nil) + if let firstVC = sb.instantiateViewController(withIdentifier: "ThemeOneVC") as? ThemeOneVC { + add(asChildViewController: firstVC) + firstVC.delegate = self + } } - - - func moveLiveTVView() { - UIView.animate(withDuration: 6, delay: 0, options: [.allowUserInteraction], animations: { - let margin: CGFloat = 30 - let screenWidth = self.view.frame.width - let viewWidth = self.liveTVView.frame.width - let maxX = screenWidth - margin - viewWidth / 2 - let minX = margin + viewWidth / 2 - - if self.isMovingRight { - self.liveTVView.center.x = maxX // Move to the right - } else { - self.liveTVView.center.x = minX // Move to the left - } - }, completion: { _ in - self.isMovingRight.toggle() // Toggle the direction for the next iteration - self.moveLiveTVView() // Recursively call moveLiveTVView to create a continuous animation - }) - } - - func moveCloudView() { - UIView.animate(withDuration: 23, delay: 0, options: [], animations: { - if self.cloudMovingRight { - print("right") - self.cloud2.center.x += 140 // Move to the right - self.cloud1.center.x -= 140 // Move to the right - } else { - print("left") - self.cloud2.center.x -= 140 // Move to the left - self.cloud1.center.x += 140 // Move to the left - } - }, completion: { _ in - self.cloudMovingRight.toggle() // Toggle the direction for the next iteration - self.moveCloudView() // Recursively call moveView to create a continuous animation - }) - } - - - // Define a function to customize tab bar item icon size - func customizeTabBarItemIconSize() { - // Get a reference to the tab bar controller - if let tabBarController = self.tabBarController { - // Loop through each tab bar item - for item in tabBarController.tabBar.items! { - // Adjust the image insets to increase the icon size - item.imageInsets = UIEdgeInsets(top: 2, left: -5, bottom: -8, right: -5) - item.titlePositionAdjustment.vertical = CGFloat(8) - } + func didPressSwitchButton(from viewController: UIViewController) { + if viewController is ThemeOneVC { + switchToViewController(withIdentifier: "ThemeTwoVC") + } else if viewController is ThemeTwoVC { + switchToViewController(withIdentifier: "ThemeOneVC") } } - @IBAction func barButtonTapped(_ sender: UIButton) { - self.sideMenuController?.revealMenu() + + private func switchToViewController(withIdentifier identifier: String) { + let sb = UIStoryboard(name: "Theme", bundle: nil) + let newVC = sb.instantiateViewController(withIdentifier: identifier) + if let newVC = newVC as? ThemeOneVC { + newVC.delegate = self + } else if let newVC = newVC as? ThemeTwoVC { + newVC.delegate = self + } + + print("Switching to view controller with identifier \(identifier)") + replaceCurrentChildViewController(with: newVC) } -} - - -class NavigationController: UINavigationController { - - open override var childForStatusBarHidden: UIViewController? { - return self.topViewController + private func add(asChildViewController viewController: UIViewController) { + print("Adding child view controller: \(viewController)") + addChild(viewController) + viewController.view.frame = containerView.bounds + containerView.addSubview(viewController.view) + viewController.didMove(toParent: self) + currentChildViewController = viewController } - open override var childForStatusBarStyle: UIViewController? { - return self.topViewController + private func remove(asChildViewController viewController: UIViewController) { + print("Removing child view controller: \(viewController)") + viewController.willMove(toParent: nil) + viewController.view.removeFromSuperview() + viewController.removeFromParent() + } + + private func replaceCurrentChildViewController(with newViewController: UIViewController) { + // Clear previous views + containerView.subviews.forEach { $0.removeFromSuperview() } + + // Remove current child view controller if exists + if let currentVC = currentChildViewController { + remove(asChildViewController: currentVC) + } + + // Add new child view controller + add(asChildViewController: newViewController) } } diff --git a/WOKA/Home/Home.storyboard b/WOKA/Home/Home.storyboard index d719a6c..b83e62e 100644 --- a/WOKA/Home/Home.storyboard +++ b/WOKA/Home/Home.storyboard @@ -12,8 +12,8 @@ Exo2-Bold - - Exo2-Regular + + Exo2-Medium @@ -71,7 +71,7 @@ - + @@ -101,10 +101,10 @@ - + - + @@ -162,7 +162,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -179,9 +179,6 @@ - - - @@ -268,7 +265,7 @@ - + @@ -341,22 +338,29 @@ - + + + + + + + + @@ -379,6 +383,7 @@ + @@ -399,298 +404,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -761,9 +474,9 @@ - - - + + + @@ -779,7 +492,7 @@ @@ -798,7 +510,7 @@ - + @@ -825,37 +537,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - diff --git a/WOKA/Home/View/HomeExploreCell.swift b/WOKA/Home/View/HomeExploreCell.swift new file mode 100644 index 0000000..3a69275 --- /dev/null +++ b/WOKA/Home/View/HomeExploreCell.swift @@ -0,0 +1,17 @@ +// +// HomeExploreCell.swift +// WOKA +// +// Created by Bilal on 24/05/2024. +// + +import UIKit + +class HomeExploreCell: UICollectionViewCell { + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + } + +} diff --git a/WOKA/Home/View/HomeExploreCell.xib b/WOKA/Home/View/HomeExploreCell.xib new file mode 100644 index 0000000..711aed8 --- /dev/null +++ b/WOKA/Home/View/HomeExploreCell.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WOKA/Main/AppDelegate.swift b/WOKA/Main/AppDelegate.swift index 27d610c..8f1530a 100644 --- a/WOKA/Main/AppDelegate.swift +++ b/WOKA/Main/AppDelegate.swift @@ -31,6 +31,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { //Configure and modify the side bar configureSideBar() + + return true } diff --git a/WOKA/Main/KeyWindowFix.swift b/WOKA/Main/KeyWindowFix.swift new file mode 100644 index 0000000..ecd451a --- /dev/null +++ b/WOKA/Main/KeyWindowFix.swift @@ -0,0 +1,19 @@ +// +// KeyWindowFix.swift +// WOKA +// +// Created by Bilal on 24/05/2024. +// + +import UIKit + +extension UIApplication { + + /// The app's key window. + var keyWindowInConnectedScenes: UIWindow? { + let windowScenes: [UIWindowScene] = connectedScenes.compactMap({ $0 as? UIWindowScene }) + let windows: [UIWindow] = windowScenes.flatMap({ $0.windows }) + return windows.first(where: { $0.isKeyWindow }) + } + +} diff --git a/WOKA/TabBar & SideMenu/TabBarVC.swift b/WOKA/TabBar & SideMenu/TabBarVC.swift index 8233409..42f022f 100644 --- a/WOKA/TabBar & SideMenu/TabBarVC.swift +++ b/WOKA/TabBar & SideMenu/TabBarVC.swift @@ -170,7 +170,7 @@ extension TabBarVC: UITabBarControllerDelegate { var hasTopNotch: Bool { if #available(iOS 11.0, tvOS 11.0, *) { - return UIApplication.shared.keyWindow?.safeAreaInsets.top ?? 0 > 20 + return UIApplication.shared.keyWindowInConnectedScenes?.safeAreaInsets.top ?? 0 > 20 } return false } diff --git a/WOKA/Theme/Controller/ThemeOneVC.swift b/WOKA/Theme/Controller/ThemeOneVC.swift new file mode 100644 index 0000000..964e055 --- /dev/null +++ b/WOKA/Theme/Controller/ThemeOneVC.swift @@ -0,0 +1,70 @@ +// +// ThemeOneVC.swift +// WOKA +// +// Created by Bilal on 03/05/2024. +// + +import UIKit + +class ThemeOneVC: UIViewController { + + @IBOutlet weak var gradientView: UIView! + @IBOutlet weak var cloud2: UIImageView! + @IBOutlet weak var cloud1: UIImageView! + @IBOutlet weak var liveTVView: UIView! + @IBOutlet weak var liveTvPlayer: UIView! + @IBOutlet weak var homeGrass: UIImageView! + @IBOutlet weak var nameLabel: UILabel! + @IBOutlet weak var welcomeLabel: LocalisedElementsLabel! + + @IBOutlet weak var webSeriesView: UIStackView! + @IBOutlet var star: [UIImageView]! + + var timer: Timer? + + var vm = ThemeOneVM() + + weak var delegate: ChildViewControllerDelegate? + + deinit{ + timer?.invalidate() + } + + override func viewDidLoad() { + super.viewDidLoad() + vm.vc = self + vm.initView() + + } + + // Define a function to customize tab bar item icon size + func customizeTabBarItemIconSize() { + // Get a reference to the tab bar controller + if let tabBarController = self.tabBarController { + // Loop through each tab bar item + for item in tabBarController.tabBar.items! { + // Adjust the image insets to increase the icon size + item.imageInsets = UIEdgeInsets(top: 2, left: -5, bottom: -8, right: -5) + item.titlePositionAdjustment.vertical = CGFloat(8) + } + } + } + + @IBAction func barButtonTapped(_ sender: UIButton) { + self.sideMenuController?.revealMenu() + } + +} + + +class NavigationController: UINavigationController { + + open override var childForStatusBarHidden: UIViewController? { + return self.topViewController + } + + open override var childForStatusBarStyle: UIViewController? { + return self.topViewController + } +} diff --git a/WOKA/Theme/Controller/ThemeTwoVC.swift b/WOKA/Theme/Controller/ThemeTwoVC.swift new file mode 100644 index 0000000..de19245 --- /dev/null +++ b/WOKA/Theme/Controller/ThemeTwoVC.swift @@ -0,0 +1,36 @@ +// +// ThemeTwoVC.swift +// WOKA +// +// Created by Bilal on 24/05/2024. +// + +import UIKit + +class ThemeTwoVC: UIViewController { + + weak var delegate: ChildViewControllerDelegate? + @IBOutlet weak var collectionView: UICollectionView! + @IBOutlet weak var liveTvView: UIView! + + override func viewDidLoad() { + super.viewDidLoad() + liveTvView.addTapGesture { [weak self] in + guard let self else{return} + delegate?.didPressSwitchButton(from: self) + } + } + + @IBAction func sideBarBtnTapped(_ sender: UIButton) { + self.sideMenuController?.revealMenu() + } + +} + +//extension ThemeTwoVC : CollectionViewSRC{ +// func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { +// <#code#> +// } +// +// +//} diff --git a/WOKA/Theme/Theme.storyboard b/WOKA/Theme/Theme.storyboard new file mode 100644 index 0000000..9d704ec --- /dev/null +++ b/WOKA/Theme/Theme.storyboard @@ -0,0 +1,519 @@ + + + + + + + + + + + + + Exo2-Bold + + + Exo2-Regular + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WOKA/Home/ViewModel/HomeVM.swift b/WOKA/Theme/ViewModel/ThemeOneVM.swift similarity index 51% rename from WOKA/Home/ViewModel/HomeVM.swift rename to WOKA/Theme/ViewModel/ThemeOneVM.swift index 9a3fbaf..137ef2c 100644 --- a/WOKA/Home/ViewModel/HomeVM.swift +++ b/WOKA/Theme/ViewModel/ThemeOneVM.swift @@ -1,5 +1,5 @@ // -// HomeVM.swift +// ThemeOneVM.swift // WOKA // // Created by MacBook Pro on 23/05/24. @@ -7,16 +7,99 @@ import UIKit -class HomeVM{ +class ThemeOneVM{ - weak var vc : HomeVC! + weak var vc : ThemeOneVC! + var cloudMovingRight = false // Flag to track the direction of movement + var isMovingRight = false // Flag to track the direction of movement func initView(){ AuthFunc.shareInstance.initTimePeriods() startInitialTimer() + + moveCloudView() + moveLiveTVView() addTapGestureToMovingView() + + handleTaps() + + startGlowAnimation() } + func startGlowAnimation() { + for (index, imageView) in vc.star.enumerated() { + let animation = CABasicAnimation(keyPath: "opacity") + animation.fromValue = 1.0 + animation.toValue = 0.07 + animation.duration = 3.0 + animation.autoreverses = true + animation.repeatCount = .infinity + + // Calculate delay for each animation based on index + let delay = Double(index) * 1 // Adjust the delay as needed + + // Apply the delay to the animation + animation.beginTime = CACurrentMediaTime() + delay + + imageView.layer.add(animation, forKey: "glowAnimation") + } + } + + // MARK: - Handle Tap Gesture + + func handleTaps(){ + //WebSeries + vc.webSeriesView.addTapGesture { [weak self] in + guard let self else {return} + ViewButtonAnimation.sharedInstance.btnTapped(in: self.vc, view: vc.webSeriesView) + self.vc.delegate?.didPressSwitchButton(from: self.vc) + } + + //LiveTV + + } + + // MARK: - Animate Clouds and LiveTV + func moveLiveTVView() { + UIView.animate(withDuration: 6, delay: 0, options: [.allowUserInteraction], animations: { [weak self] in + guard let self else{return} + let margin: CGFloat = 30 + let screenWidth = self.vc.view.frame.width + let viewWidth = self.vc.liveTVView.frame.width + let maxX = screenWidth - margin - viewWidth / 2 + let minX = margin + viewWidth / 2 + + if isMovingRight { + vc.liveTVView.center.x = maxX // Move to the right + } else { + vc.liveTVView.center.x = minX // Move to the left + } + }, completion: { [weak self] _ in + guard let self else{return} + isMovingRight.toggle() // Toggle the direction for the next iteration + moveLiveTVView() // Recursively call moveLiveTVView to create a continuous animation + }) + } + + func moveCloudView() { + UIView.animate(withDuration: 23, delay: 0, options: [], animations: { [weak self] in + guard let self else{return} + if cloudMovingRight { + print("right") + vc.cloud2.center.x += 140 // Move to the right + vc.cloud1.center.x -= 140 // Move to the right + } else { + print("left") + vc.cloud2.center.x -= 140 // Move to the left + vc.cloud1.center.x += 140 // Move to the left + } + }, completion: { [weak self] _ in + guard let self else{return} + cloudMovingRight.toggle() // Toggle the direction for the next iteration + moveCloudView() // Recursively call moveView to create a continuous animation + }) + } + // MARK: - LiveTV Tap Handling private func addTapGestureToMovingView(){ @@ -81,10 +164,12 @@ class HomeVM{ if period.contains(currentTime: currentTime) { let details = period.details // Update view's background color with a gradient or single color - vc.gradientView.applyGradient(colors: [details.color1, details.color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8)) - vc.nameLabel.textColor = details.textColor - vc.welcomeLabel.textColor = details.textColor - vc.homeGrass.image = UIImage(named: details.grass) + DispatchQueue.main.async { [self] in + vc.gradientView.applyGradient(colors: [details.color1, details.color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8)) + vc.nameLabel.textColor = details.textColor + vc.welcomeLabel.textColor = details.textColor + vc.homeGrass.image = UIImage(named: details.grass) + } break } }