- Worked on autolayout and did fixes for screen iphone 6s and iphone 11pro max resolutions

- 12-1 woka meeting
- Did Rnd on Container view. This will help for theming
- Made a custom class to add the child view and remove child view.
- Added Moon if the theme color is night
- added the Ca animation for the stars to show glowing effect
- Mapped all the stars with the delay time
- Handled the theme switch
This commit is contained in:
Bilal
2024-05-24 19:26:54 +05:30
parent 33180a55ab
commit 025aa41585
92 changed files with 1251 additions and 458 deletions

View File

@@ -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 = "<group>"; };
52FDBA772BFF23F4009D7AC7 /* TimePeriod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimePeriod.swift; sourceTree = "<group>"; };
52FDBA7A2BFF2712009D7AC7 /* AuthFuncTimeHandling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFuncTimeHandling.swift; sourceTree = "<group>"; };
52FDBA7C2BFF481A009D7AC7 /* HomeVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVM.swift; sourceTree = "<group>"; };
52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeOneVM.swift; sourceTree = "<group>"; };
52FDDAB42BF34DC300E037C1 /* YesNoAlertVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YesNoAlertVC.swift; sourceTree = "<group>"; };
9C0A853E2BEE35340093783D /* ForgotPassDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForgotPassDM.swift; sourceTree = "<group>"; };
9C0A85402BEE35670093783D /* ResetPassUserNameVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPassUserNameVM.swift; sourceTree = "<group>"; };
@@ -276,6 +283,13 @@
9C27E16E2BDB866500EC1DA9 /* CellIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellIdentifier.swift; sourceTree = "<group>"; };
9C27E1702BDB86B600EC1DA9 /* OnBoardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnBoardCell.swift; sourceTree = "<group>"; };
9C27E1712BDB86B600EC1DA9 /* OnBoardCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OnBoardCell.xib; sourceTree = "<group>"; };
9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyWindowFix.swift; sourceTree = "<group>"; };
9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewButtonAnimation.swift; sourceTree = "<group>"; };
9C535DBF2C00B36000DA6DCD /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = "<group>"; };
9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTwoVC.swift; sourceTree = "<group>"; };
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 = "<group>"; };
9C56E82E2BDBC3EF00E4CA14 /* Exo2-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Bold.ttf"; sourceTree = "<group>"; };
9C56E82F2BDBC3EF00E4CA14 /* Exo2-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Medium.ttf"; sourceTree = "<group>"; };
9C56E8302BDBC3EF00E4CA14 /* Exo2-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-SemiBold.ttf"; sourceTree = "<group>"; };
@@ -294,7 +308,7 @@
9CBCB2A22BE50C95007D7934 /* ResetPassUserNameVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetPassUserNameVC.swift; sourceTree = "<group>"; };
9CBCB2A42BE50D49007D7934 /* NewPasswordVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewPasswordVC.swift; sourceTree = "<group>"; };
9CBCB2A72BE5105A007D7934 /* Home.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Home.storyboard; sourceTree = "<group>"; };
9CBCB2A92BE51A52007D7934 /* HomeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = "<group>"; };
9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeOneVC.swift; sourceTree = "<group>"; };
9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectAgeVC.swift; sourceTree = "<group>"; };
9CDCE1412BDB94BA003FEF11 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Main.strings; sourceTree = "<group>"; };
9CDCE1422BDB94BD003FEF11 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
@@ -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 = "<group>";
};
525327D22BFCC1C400F64283 /* View */ = {
isa = PBXGroup;
children = (
);
path = View;
sourceTree = "<group>";
};
525327D32BFCC1C900F64283 /* ViewModel */ = {
isa = PBXGroup;
children = (
525327D52BFCC23600F64283 /* SideMenuVM.swift */,
52FDBA7C2BFF481A009D7AC7 /* HomeVM.swift */,
);
path = ViewModel;
sourceTree = "<group>";
@@ -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 = "<group>";
};
9C535DB62C0089A700DA6DCD /* Animation */ = {
isa = PBXGroup;
children = (
9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */,
);
path = Animation;
sourceTree = "<group>";
};
9C535DC72C00BF3E00DA6DCD /* View */ = {
isa = PBXGroup;
children = (
9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */,
9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */,
);
path = View;
sourceTree = "<group>";
};
9C535DC82C00C34000DA6DCD /* Theme */ = {
isa = PBXGroup;
children = (
9C535DCC2C00CD1200DA6DCD /* ViewModel */,
9C535DCB2C00CD0800DA6DCD /* Controller */,
9C535DC92C00C34A00DA6DCD /* Theme.storyboard */,
);
path = Theme;
sourceTree = "<group>";
};
9C535DCB2C00CD0800DA6DCD /* Controller */ = {
isa = PBXGroup;
children = (
9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */,
9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */,
);
path = Controller;
sourceTree = "<group>";
};
9C535DCC2C00CD1200DA6DCD /* ViewModel */ = {
isa = PBXGroup;
children = (
52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */,
);
path = ViewModel;
sourceTree = "<group>";
};
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;
};

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -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"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -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
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -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)])
}

View File

@@ -22,5 +22,9 @@ extension K{
static let selectAvatarCell = "SelectAvatarCell"
static let linkedChildCell = "LinkedChildCell"
}
struct Theme2{
static let homeExploreCell = "HomeExploreCell"
}
}
}

View File

@@ -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)
}

View File

@@ -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*/()
}
}
}
}

View File

@@ -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)
}
}

View File

@@ -12,8 +12,8 @@
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
<array key="Exo2-Regular.ttf">
<string>Exo2-Regular</string>
<array key="Exo2-Medium.ttf">
<string>Exo2-Medium</string>
</array>
</customFonts>
<scenes>
@@ -71,7 +71,7 @@
<rect key="frame" x="114" y="48" width="300" height="814"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="t37-ec-QfF">
<rect key="frame" x="0.0" y="20" width="300" height="962.5"/>
<rect key="frame" x="0.0" y="20" width="300" height="976"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xny-eg-3V4">
<rect key="frame" x="25" y="0.0" width="260" height="30"/>
@@ -101,10 +101,10 @@
<rect key="frame" x="25" y="60" width="260" height="186.5"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wst-a7-Npy">
<rect key="frame" x="10" y="0.0" width="240" height="90"/>
<rect key="frame" x="34" y="0.0" width="192" height="90"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HcQ-Ty-2GV">
<rect key="frame" x="75" y="0.0" width="90" height="90"/>
<rect key="frame" x="51" y="0.0" width="90" height="90"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ExploreWoka" translatesAutoresizingMaskIntoConstraints="NO" id="9zy-xC-ddd">
<rect key="frame" x="10" y="10" width="70" height="70"/>
@@ -162,7 +162,7 @@
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="NLo-Lc-0nk">
<rect key="frame" x="0.0" y="29.5" width="260" height="160"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Theme1" translatesAutoresizingMaskIntoConstraints="NO" id="5Wh-aJ-q5B">
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Theme1" translatesAutoresizingMaskIntoConstraints="NO" id="5Wh-aJ-q5B">
<rect key="frame" x="20" y="0.0" width="100" height="160"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -170,7 +170,7 @@
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Theme2" translatesAutoresizingMaskIntoConstraints="NO" id="nAY-LD-xxC">
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Theme2" translatesAutoresizingMaskIntoConstraints="NO" id="nAY-LD-xxC">
<rect key="frame" x="140" y="0.0" width="100" height="160"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -179,9 +179,6 @@
</userDefinedRuntimeAttributes>
</imageView>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="160" id="VeD-Hj-aCo"/>
</constraints>
<edgeInsets key="layoutMargins" top="0.0" left="20" bottom="0.0" right="20"/>
</stackView>
</subviews>
@@ -268,7 +265,7 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="eEN-Gz-Lba">
<rect key="frame" x="25" y="828" width="260" height="134.5"/>
<rect key="frame" x="25" y="828" width="260" height="148"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kdd-R6-VSK">
<rect key="frame" x="0.0" y="0.0" width="260" height="0.5"/>
@@ -341,22 +338,29 @@
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" distribution="equalSpacing" translatesAutoresizingMaskIntoConstraints="NO" id="8Nc-DS-Cyi">
<rect key="frame" x="0.0" y="116.5" width="260" height="18"/>
<rect key="frame" x="0.0" y="116.5" width="260" height="16"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WOKA Creations PVT LTD" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fMz-tw-JjQ">
<rect key="frame" x="0.0" y="0.0" width="178" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<rect key="frame" x="0.0" y="0.0" width="147" height="16"/>
<fontDescription key="fontDescription" name="Exo2-Medium" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="VER 25.5" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bOt-Ov-fli">
<rect key="frame" x="197.5" y="0.0" width="62.5" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<rect key="frame" x="213" y="0.0" width="47" height="16"/>
<fontDescription key="fontDescription" name="Exo2-Medium" family="Exo 2" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BZg-mG-X2p">
<rect key="frame" x="0.0" y="147.5" width="260" height="0.5"/>
<color key="backgroundColor" red="0.34901960780000002" green="0.81568627449999997" blue="0.99607843139999996" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="jFf-2J-C4a"/>
</constraints>
</view>
</subviews>
</stackView>
</subviews>
@@ -379,6 +383,7 @@
<color key="backgroundColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="iqc-o5-ovk" firstAttribute="width" secondItem="qHL-AI-7IP" secondAttribute="width" multiplier="0.724638" id="18H-xY-ShM"/>
<constraint firstItem="NLo-Lc-0nk" firstAttribute="height" secondItem="qHL-AI-7IP" secondAttribute="height" multiplier="0.178571" id="ROH-9O-qFA"/>
<constraint firstItem="iqc-o5-ovk" firstAttribute="top" secondItem="slh-HS-0OR" secondAttribute="top" id="SHa-dQ-wGm"/>
<constraint firstItem="iqc-o5-ovk" firstAttribute="trailing" secondItem="slh-HS-0OR" secondAttribute="trailing" id="V31-3u-cFE"/>
<constraint firstItem="slh-HS-0OR" firstAttribute="bottom" secondItem="iqc-o5-ovk" secondAttribute="bottom" id="yED-m1-qor"/>
@@ -399,298 +404,6 @@
</objects>
<point key="canvasLocation" x="-181" y="979"/>
</scene>
<!--HOME-->
<scene sceneID="1ci-Pa-RRI">
<objects>
<viewController storyboardIdentifier="HomeVC" id="zvD-eW-9c3" customClass="HomeVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="6gC-IE-A1o">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="m2u-Pj-U0D">
<rect key="frame" x="0.0" y="0.0" width="414" height="548"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Eq-Oq-9AL">
<rect key="frame" x="15" y="35" width="76" height="76"/>
<constraints>
<constraint firstAttribute="width" secondItem="5Eq-Oq-9AL" secondAttribute="height" multiplier="1:1" id="q5L-fE-w65"/>
</constraints>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="FM"/>
</button>
</subviews>
<color key="backgroundColor" red="0.34901960784313724" green="0.81568627450980391" blue="0.99607843137254903" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="5Eq-Oq-9AL" firstAttribute="leading" secondItem="m2u-Pj-U0D" secondAttribute="leading" constant="15" id="C84-50-AgR"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="mOn-7d-NqJ">
<rect key="frame" x="119.5" y="45" width="175" height="103.5"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="cgD-MF-7c5">
<rect key="frame" x="0.0" y="0.0" width="175" height="50"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hi, Vijay" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iQh-vn-18l">
<rect key="frame" x="0.0" y="55" width="175" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to WOKALAND" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Rn-fG-lxC" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="84" width="175" height="19.5"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Cloud1" translatesAutoresizingMaskIntoConstraints="NO" id="pks-MR-Gld">
<rect key="frame" x="-173" y="366" width="760" height="180"/>
<constraints>
<constraint firstAttribute="width" constant="760" id="KGQ-GJ-A4b"/>
<constraint firstAttribute="height" constant="180" id="xGk-zI-sgL"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vme-Ws-6Bd">
<rect key="frame" x="112" y="178.5" width="190" height="190"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTVBaloon" translatesAutoresizingMaskIntoConstraints="NO" id="HNh-fd-6x5">
<rect key="frame" x="25" y="0.0" width="146" height="85.5"/>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6gU-Sv-Xrz">
<rect key="frame" x="0.0" y="27.5" width="190" height="162.5"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="s2C-zU-CXJ">
<rect key="frame" x="15" y="45" width="160" height="107.5"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTVBorder" translatesAutoresizingMaskIntoConstraints="NO" id="7Ki-kV-CFa">
<rect key="frame" x="0.0" y="0.0" width="190" height="162.5"/>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="s2C-zU-CXJ" firstAttribute="top" secondItem="6gU-Sv-Xrz" secondAttribute="top" constant="45" id="6rl-se-w3J"/>
<constraint firstItem="7Ki-kV-CFa" firstAttribute="leading" secondItem="6gU-Sv-Xrz" secondAttribute="leading" id="BHg-uC-xXs"/>
<constraint firstItem="s2C-zU-CXJ" firstAttribute="leading" secondItem="6gU-Sv-Xrz" secondAttribute="leading" constant="15" id="EQK-PW-y7M"/>
<constraint firstItem="7Ki-kV-CFa" firstAttribute="top" secondItem="6gU-Sv-Xrz" secondAttribute="top" id="EaW-xf-olL"/>
<constraint firstAttribute="bottom" secondItem="s2C-zU-CXJ" secondAttribute="bottom" constant="10" id="OTN-3G-Y6O"/>
<constraint firstAttribute="bottom" secondItem="7Ki-kV-CFa" secondAttribute="bottom" id="QQa-1I-HBa"/>
<constraint firstAttribute="trailing" secondItem="s2C-zU-CXJ" secondAttribute="trailing" constant="15" id="niJ-3z-T0t"/>
<constraint firstAttribute="trailing" secondItem="7Ki-kV-CFa" secondAttribute="trailing" id="uza-Pd-6Rw"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="6gU-Sv-Xrz" firstAttribute="top" secondItem="HNh-fd-6x5" secondAttribute="bottom" constant="-58" id="2EZ-Gu-Nxm"/>
<constraint firstItem="HNh-fd-6x5" firstAttribute="top" secondItem="Vme-Ws-6Bd" secondAttribute="top" id="71E-LE-qab"/>
<constraint firstItem="6gU-Sv-Xrz" firstAttribute="leading" secondItem="Vme-Ws-6Bd" secondAttribute="leading" id="Ff9-qW-lwZ"/>
<constraint firstItem="HNh-fd-6x5" firstAttribute="width" secondItem="Vme-Ws-6Bd" secondAttribute="width" multiplier="0.768473" id="IMs-rq-39u"/>
<constraint firstItem="HNh-fd-6x5" firstAttribute="height" secondItem="Vme-Ws-6Bd" secondAttribute="height" multiplier="0.45" id="aWW-Ku-fIJ"/>
<constraint firstItem="HNh-fd-6x5" firstAttribute="centerX" secondItem="Vme-Ws-6Bd" secondAttribute="centerX" constant="3" id="eWP-C5-zik"/>
<constraint firstAttribute="width" secondItem="Vme-Ws-6Bd" secondAttribute="height" multiplier="6:6" id="exp-n0-IqT"/>
<constraint firstAttribute="trailing" secondItem="6gU-Sv-Xrz" secondAttribute="trailing" id="l4s-BG-Ky7"/>
<constraint firstAttribute="bottom" secondItem="6gU-Sv-Xrz" secondAttribute="bottom" id="y0M-oh-fnw"/>
</constraints>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Cloud2" translatesAutoresizingMaskIntoConstraints="NO" id="epD-0a-kfb">
<rect key="frame" x="-173" y="436" width="760" height="154"/>
<constraints>
<constraint firstAttribute="width" constant="760" id="vz6-jX-Lvo"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wyt-mn-spz">
<rect key="frame" x="359" y="53" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="CVa-aE-1tV"/>
<constraint firstAttribute="width" secondItem="Wyt-mn-spz" secondAttribute="height" multiplier="1:1" id="Orr-Ks-Tgl"/>
</constraints>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="15"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="SideMenu"/>
<connections>
<action selector="barButtonTapped:" destination="zvD-eW-9c3" eventType="touchUpInside" id="7Ly-MJ-OWB"/>
</connections>
</button>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="redraw" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="HomeGrassDay" translatesAutoresizingMaskIntoConstraints="NO" id="hMh-hI-J6A">
<rect key="frame" x="0.0" y="436" width="414" height="460"/>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="Vkd-kJ-gqX" userLabel="Shop">
<rect key="frame" x="304" y="416" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Shop" translatesAutoresizingMaskIntoConstraints="NO" id="i14-lA-FWT">
<rect key="frame" x="0.0" y="0.0" width="100" height="89.5"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SHOP" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S8P-2V-Mkh">
<rect key="frame" x="0.0" y="90.5" width="100" height="9.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="Vkd-kJ-gqX" secondAttribute="height" multiplier="1:1" id="Rnv-NA-6Pg"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="phZ-0l-RPJ" userLabel="LiveTV">
<rect key="frame" x="149" y="483" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTV" translatesAutoresizingMaskIntoConstraints="NO" id="PdC-4U-VEd">
<rect key="frame" x="0.0" y="0.0" width="100" height="88"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LIVE TV" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ej-xM-nR1">
<rect key="frame" x="0.0" y="89" width="100" height="11"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="phZ-0l-RPJ" secondAttribute="height" multiplier="1:1" id="QkE-e0-7a8"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="Qjx-9F-LBh" userLabel="WebSeries">
<rect key="frame" x="20" y="520" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WebSeries" translatesAutoresizingMaskIntoConstraints="NO" id="ZVx-7J-ain">
<rect key="frame" x="0.0" y="0.0" width="100" height="87.5"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WEB SERIES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LlM-R6-Hy6">
<rect key="frame" x="0.0" y="88.5" width="100" height="11.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="Qjx-9F-LBh" secondAttribute="height" multiplier="1:1" id="9Ld-zA-RS8"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="oep-bE-g5s" userLabel="Karaoke">
<rect key="frame" x="35" y="670" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Karaoke" translatesAutoresizingMaskIntoConstraints="NO" id="dVL-Oo-Gto">
<rect key="frame" x="0.0" y="0.0" width="100" height="89"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="KARAOKE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yYL-Fl-OKu">
<rect key="frame" x="0.0" y="90" width="100" height="10"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="oep-bE-g5s" secondAttribute="height" multiplier="1:1" id="bba-gq-xcA"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="kW7-M6-qQK" userLabel="Audio Books">
<rect key="frame" x="200" y="660" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="AudioBooks" translatesAutoresizingMaskIntoConstraints="NO" id="xdQ-iI-pAE">
<rect key="frame" x="0.0" y="0.0" width="100" height="87.5"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AUDIO BOOKS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MeN-SG-Vmg">
<rect key="frame" x="0.0" y="88.5" width="100" height="11.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="kW7-M6-qQK" secondAttribute="height" multiplier="1:1" id="Uii-GB-rQd"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="LQZ-YD-zMa" userLabel="Games">
<rect key="frame" x="304" y="570" width="100" height="100"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Games" translatesAutoresizingMaskIntoConstraints="NO" id="Ytc-Dt-d06">
<rect key="frame" x="0.0" y="0.0" width="100" height="88.5"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GAMES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BXD-kP-WJc">
<rect key="frame" x="0.0" y="89.5" width="100" height="10.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="LQZ-YD-zMa" secondAttribute="height" multiplier="1:1" id="DSD-uU-Vdn"/>
</constraints>
</stackView>
</subviews>
<viewLayoutGuide key="safeArea" id="Y8i-Lx-Cjg"/>
<color key="backgroundColor" systemColor="systemBrownColor"/>
<color key="tintColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="Y8i-Lx-Cjg" firstAttribute="trailing" secondItem="hMh-hI-J6A" secondAttribute="trailing" id="2vc-Wa-YQj"/>
<constraint firstItem="Vkd-kJ-gqX" firstAttribute="top" secondItem="hMh-hI-J6A" secondAttribute="top" constant="-20" id="3PS-Oa-YM7"/>
<constraint firstItem="epD-0a-kfb" firstAttribute="top" secondItem="hMh-hI-J6A" secondAttribute="top" id="4b6-kv-O2u"/>
<constraint firstItem="m2u-Pj-U0D" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.611607" id="52b-Ep-tk9"/>
<constraint firstItem="Qjx-9F-LBh" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.111607" id="5eq-0x-KAs"/>
<constraint firstItem="hMh-hI-J6A" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.513393" id="5fu-aG-WIw"/>
<constraint firstItem="epD-0a-kfb" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.171875" id="627-QY-zgV"/>
<constraint firstItem="Vkd-kJ-gqX" firstAttribute="trailing" secondItem="hMh-hI-J6A" secondAttribute="trailing" constant="-10" id="75k-9A-269"/>
<constraint firstItem="Vkd-kJ-gqX" firstAttribute="leading" secondItem="phZ-0l-RPJ" secondAttribute="trailing" constant="55" id="86z-zd-WcS"/>
<constraint firstItem="Vme-Ws-6Bd" firstAttribute="centerX" secondItem="Y8i-Lx-Cjg" secondAttribute="centerX" id="D5F-iU-os7"/>
<constraint firstItem="phZ-0l-RPJ" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.111607" id="Da9-e8-c0Z"/>
<constraint firstItem="mOn-7d-NqJ" firstAttribute="centerX" secondItem="Y8i-Lx-Cjg" secondAttribute="centerX" id="HYF-SU-Svf"/>
<constraint firstItem="Ytc-Dt-d06" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.0987723" id="K9I-TE-IHr"/>
<constraint firstItem="LQZ-YD-zMa" firstAttribute="centerX" secondItem="Vkd-kJ-gqX" secondAttribute="centerX" id="KHt-wi-tUz"/>
<constraint firstItem="pks-MR-Gld" firstAttribute="centerX" secondItem="Y8i-Lx-Cjg" secondAttribute="centerX" id="MC5-JJ-Hez"/>
<constraint firstItem="Vkd-kJ-gqX" firstAttribute="baseline" secondItem="phZ-0l-RPJ" secondAttribute="firstBaseline" constant="30" id="MCy-Vq-TcU"/>
<constraint firstItem="m2u-Pj-U0D" firstAttribute="leading" secondItem="Y8i-Lx-Cjg" secondAttribute="leading" id="Nxy-Df-Dem"/>
<constraint firstItem="Wyt-mn-spz" firstAttribute="top" secondItem="Y8i-Lx-Cjg" secondAttribute="top" constant="5" id="QqO-2g-qlE"/>
<constraint firstItem="oep-bE-g5s" firstAttribute="leading" secondItem="Y8i-Lx-Cjg" secondAttribute="leading" constant="35" id="R5j-4l-snP"/>
<constraint firstItem="epD-0a-kfb" firstAttribute="centerX" secondItem="Y8i-Lx-Cjg" secondAttribute="centerX" id="S0T-Up-N3g"/>
<constraint firstItem="m2u-Pj-U0D" firstAttribute="trailing" secondItem="Y8i-Lx-Cjg" secondAttribute="trailing" id="SpD-7V-7jJ"/>
<constraint firstItem="kW7-M6-qQK" firstAttribute="leading" secondItem="oep-bE-g5s" secondAttribute="trailing" constant="65" id="T8j-57-kY1"/>
<constraint firstItem="epD-0a-kfb" firstAttribute="top" secondItem="pks-MR-Gld" secondAttribute="bottom" constant="-110" id="Txs-pD-lJY"/>
<constraint firstItem="Vme-Ws-6Bd" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.212054" id="U9u-3m-8fI"/>
<constraint firstItem="Qjx-9F-LBh" firstAttribute="leading" secondItem="Y8i-Lx-Cjg" secondAttribute="leading" constant="20" id="VQe-O8-SNl"/>
<constraint firstItem="oep-bE-g5s" firstAttribute="top" secondItem="Qjx-9F-LBh" secondAttribute="bottom" constant="50" id="WYA-zr-tfS"/>
<constraint firstItem="oep-bE-g5s" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.111607" id="Xl9-77-6ZE"/>
<constraint firstItem="phZ-0l-RPJ" firstAttribute="baseline" secondItem="Qjx-9F-LBh" secondAttribute="firstBaseline" constant="60" id="Yrl-vd-Ykt"/>
<constraint firstItem="kW7-M6-qQK" firstAttribute="width" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="25:224" id="aCw-y7-WCv"/>
<constraint firstItem="kW7-M6-qQK" firstAttribute="centerY" secondItem="oep-bE-g5s" secondAttribute="centerY" constant="-10" id="c6G-D7-v7i"/>
<constraint firstItem="hMh-hI-J6A" firstAttribute="leading" secondItem="Y8i-Lx-Cjg" secondAttribute="leading" id="eXy-J7-aJo"/>
<constraint firstItem="Vme-Ws-6Bd" firstAttribute="top" secondItem="mOn-7d-NqJ" secondAttribute="bottom" constant="30" id="hf1-NU-B0T"/>
<constraint firstItem="5Eq-Oq-9AL" firstAttribute="centerY" secondItem="Wyt-mn-spz" secondAttribute="centerY" id="kmn-a1-MVg"/>
<constraint firstItem="m2u-Pj-U0D" firstAttribute="top" secondItem="6gC-IE-A1o" secondAttribute="top" id="lTI-qQ-uG3"/>
<constraint firstItem="LQZ-YD-zMa" firstAttribute="top" secondItem="Qjx-9F-LBh" secondAttribute="top" constant="50" id="mPl-sh-cN4"/>
<constraint firstItem="mOn-7d-NqJ" firstAttribute="top" secondItem="5Eq-Oq-9AL" secondAttribute="top" constant="10" id="me5-Rb-7Da"/>
<constraint firstItem="Vkd-kJ-gqX" firstAttribute="height" secondItem="6gC-IE-A1o" secondAttribute="height" multiplier="0.111607" id="tp3-Cd-gUG"/>
<constraint firstItem="Y8i-Lx-Cjg" firstAttribute="trailing" secondItem="Wyt-mn-spz" secondAttribute="trailing" constant="15" id="u67-sY-Tz5"/>
<constraint firstItem="hMh-hI-J6A" firstAttribute="bottom" secondItem="6gC-IE-A1o" secondAttribute="bottom" id="uCB-BK-Uds"/>
</constraints>
</view>
<tabBarItem key="tabBarItem" title="HOME" image="HomeIcon" selectedImage="HomeIcon" id="IrD-1O-RlD"/>
<navigationItem key="navigationItem" id="4aE-cY-VP6">
<barButtonItem key="leftBarButtonItem" image="trash" catalog="system" style="plain" id="W4z-bg-V69">
<button key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" id="dc0-IA-0u3">
<rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" image="tray.full.fill" catalog="system"/>
</button>
</barButtonItem>
</navigationItem>
<connections>
<outlet property="cloud1" destination="pks-MR-Gld" id="WsT-VT-30r"/>
<outlet property="cloud2" destination="epD-0a-kfb" id="l7h-Er-eKN"/>
<outlet property="gradientView" destination="m2u-Pj-U0D" id="3KF-2v-bPq"/>
<outlet property="homeGrass" destination="hMh-hI-J6A" id="5lH-YA-lJY"/>
<outlet property="liveTVView" destination="Vme-Ws-6Bd" id="ijU-CX-J8l"/>
<outlet property="liveTvPlayer" destination="s2C-zU-CXJ" id="cEc-C5-uXb"/>
<outlet property="nameLabel" destination="iQh-vn-18l" id="kqR-Xp-54k"/>
<outlet property="welcomeLabel" destination="6Rn-fG-lxC" id="2Se-Vf-Agw"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="ufW-nJ-WRj" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2198.5507246376815" y="-494.19642857142856"/>
</scene>
<!--Item-->
<scene sceneID="ZJ9-YU-7B1">
<objects>
@@ -761,9 +474,9 @@
<color key="barTintColor" systemColor="systemGreenColor"/>
</tabBar>
<connections>
<segue destination="zvD-eW-9c3" kind="relationship" relationship="viewControllers" id="SLT-ej-tKu"/>
<segue destination="adP-Pb-amR" kind="relationship" relationship="viewControllers" id="8ka-Vv-e3P"/>
<segue destination="55l-Gk-Npk" kind="relationship" relationship="viewControllers" id="zyf-tW-Djx"/>
<segue destination="M4c-Ct-Tjk" kind="relationship" relationship="viewControllers" id="03Y-ia-Cyy"/>
<segue destination="adP-Pb-amR" kind="relationship" relationship="viewControllers" id="hpN-7I-rcY"/>
<segue destination="55l-Gk-Npk" kind="relationship" relationship="viewControllers" id="me4-Ek-khU"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkq-DE-qYA" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
@@ -779,7 +492,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7Y-B6-f0Q">
<rect key="frame" x="359" y="53" width="40" height="40"/>
<rect key="frame" x="359" y="58" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="2KM-80-dp7"/>
<constraint firstAttribute="width" secondItem="a7Y-B6-f0Q" secondAttribute="height" multiplier="1:1" id="VYl-jc-u32"/>
@@ -789,7 +502,6 @@
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="SideMenu"/>
<connections>
<action selector="barButtonTapped:" destination="zvD-eW-9c3" eventType="touchUpInside" id="qJ8-sq-jmG"/>
<action selector="sideBarBtnTapped:" destination="55l-Gk-Npk" eventType="touchUpInside" id="L0r-44-zYU"/>
</connections>
</button>
@@ -798,7 +510,7 @@
<color key="backgroundColor" systemColor="systemCyanColor"/>
<constraints>
<constraint firstItem="fPD-rO-ZgU" firstAttribute="trailing" secondItem="a7Y-B6-f0Q" secondAttribute="trailing" constant="15" id="1TC-Nf-fdz"/>
<constraint firstItem="a7Y-B6-f0Q" firstAttribute="top" secondItem="fPD-rO-ZgU" secondAttribute="top" constant="5" id="L4o-KM-D1O"/>
<constraint firstItem="a7Y-B6-f0Q" firstAttribute="top" secondItem="fPD-rO-ZgU" secondAttribute="top" constant="10" id="L4o-KM-D1O"/>
</constraints>
</view>
<tabBarItem key="tabBarItem" title="MY LIST" image="HeartIcon" id="dhn-IV-GcD"/>
@@ -825,37 +537,49 @@
</objects>
<point key="canvasLocation" x="3365" y="195"/>
</scene>
<!--Home-->
<scene sceneID="QO5-LY-LJh">
<objects>
<viewController storyboardIdentifier="HomeVC" id="M4c-Ct-Tjk" customClass="HomeVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="gVN-vo-dvr">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<containerView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xah-cJ-vgJ">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</containerView>
</subviews>
<viewLayoutGuide key="safeArea" id="VWO-dy-l5s"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="xah-cJ-vgJ" firstAttribute="trailing" secondItem="VWO-dy-l5s" secondAttribute="trailing" id="NU6-wR-F1T"/>
<constraint firstItem="xah-cJ-vgJ" firstAttribute="leading" secondItem="VWO-dy-l5s" secondAttribute="leading" id="Tcw-XW-OGw"/>
<constraint firstItem="xah-cJ-vgJ" firstAttribute="top" secondItem="gVN-vo-dvr" secondAttribute="top" id="n8c-JC-5Lw"/>
<constraint firstAttribute="bottom" secondItem="xah-cJ-vgJ" secondAttribute="bottom" id="rLs-r9-LQb"/>
</constraints>
</view>
<tabBarItem key="tabBarItem" title="Home" image="HomeIcon" id="9MY-CD-HSi"/>
<connections>
<outlet property="containerView" destination="xah-cJ-vgJ" id="Q7S-hL-c03"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="6HX-uP-sOS" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2198.5507246376815" y="-875.22321428571422"/>
</scene>
</scenes>
<resources>
<image name="AudioBooks" width="172" height="120"/>
<image name="Boy" width="49.5" height="50"/>
<image name="CloseIcon" width="61.333332061767578" height="61.333332061767578"/>
<image name="Cloud1" width="2469.666748046875" height="734.66668701171875"/>
<image name="Cloud2" width="2469.333251953125" height="354.66665649414062"/>
<image name="ExploreWoka" width="36.5" height="25"/>
<image name="FM" width="76" height="76"/>
<image name="Games" width="164" height="130.5"/>
<image name="HeartIcon" width="26.5" height="26.5"/>
<image name="HomeGrassDay" width="570.66668701171875" height="641.33331298828125"/>
<image name="HomeIcon" width="26.5" height="26.5"/>
<image name="Karaoke" width="172" height="137"/>
<image name="LiveTV" width="172" height="122.5"/>
<image name="LiveTVBaloon" width="135" height="135"/>
<image name="LiveTVBorder" width="79.333335876464844" height="67"/>
<image name="Shop" width="165" height="148"/>
<image name="SideMenu" width="44" height="44"/>
<image name="Theme1" width="106" height="160"/>
<image name="Theme2" width="106" height="160"/>
<image name="WebSeries" width="164" height="118.5"/>
<image name="trash" catalog="system" width="117" height="128"/>
<image name="tray.full.fill" catalog="system" width="128" height="88"/>
<image name="xmark" catalog="system" width="128" height="113"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
<systemColor name="systemBrownColor">
<color red="0.63529411764705879" green="0.51764705882352946" blue="0.36862745098039218" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
<systemColor name="systemCyanColor">
<color red="0.19607843137254902" green="0.67843137254901964" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>

View File

@@ -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
}
}

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="HomeExploreCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="145" height="145"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="145" height="145"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zJF-6G-BCX">
<rect key="frame" x="10" y="5" width="125" height="135"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="WokaFM"/>
</button>
</subviews>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="zJF-6G-BCX" secondAttribute="trailing" constant="10" id="0aI-CE-h7w"/>
<constraint firstItem="zJF-6G-BCX" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="JVa-UY-3k4"/>
<constraint firstAttribute="bottom" secondItem="zJF-6G-BCX" secondAttribute="bottom" constant="5" id="bRI-VS-Ul3"/>
<constraint firstItem="zJF-6G-BCX" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="5" id="vN2-2h-fzm"/>
</constraints>
<size key="customSize" width="145" height="145"/>
<point key="canvasLocation" x="199.23664122137404" y="22.183098591549296"/>
</collectionViewCell>
</objects>
<resources>
<image name="WokaFM" width="111.66666412353516" height="137"/>
</resources>
</document>

View File

@@ -31,6 +31,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
//Configure and modify the side bar
configureSideBar()
return true
}

View File

@@ -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 })
}
}

View File

@@ -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
}

View File

@@ -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
}
}

View File

@@ -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#>
// }
//
//
//}

519
WOKA/Theme/Theme.storyboard Normal file
View File

@@ -0,0 +1,519 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
<array key="Exo2-Regular.ttf">
<string>Exo2-Regular</string>
</array>
</customFonts>
<scenes>
<!--HOME-->
<scene sceneID="5h5-gH-C3y">
<objects>
<viewController storyboardIdentifier="ThemeOneVC" id="VXi-XB-hOy" customClass="ThemeOneVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="UEh-jl-IQp">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jdZ-WQ-xcr">
<rect key="frame" x="0.0" y="0.0" width="393" height="532.66666666666663"/>
<color key="backgroundColor" red="0.34901960780000002" green="0.81568627449999997" blue="0.99607843139999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Star" translatesAutoresizingMaskIntoConstraints="NO" id="s5k-HV-Zkc">
<rect key="frame" x="101" y="74.333333333333329" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="T5w-0w-VHk"/>
<constraint firstAttribute="height" constant="40" id="ijF-vI-jb7"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Star" translatesAutoresizingMaskIntoConstraints="NO" id="XTn-ID-1Yb">
<rect key="frame" x="20" y="225" width="30" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="Kjd-Nt-Asn"/>
<constraint firstAttribute="width" secondItem="XTn-ID-1Yb" secondAttribute="height" multiplier="1:1" id="WO6-Ed-Yfd"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Star" translatesAutoresizingMaskIntoConstraints="NO" id="U1W-OZ-7vR">
<rect key="frame" x="184" y="374" width="25" height="25"/>
<constraints>
<constraint firstAttribute="height" constant="25" id="vTp-0T-OjL"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Moon" translatesAutoresizingMaskIntoConstraints="NO" id="Jbf-Kl-35X">
<rect key="frame" x="293" y="175" width="70" height="100"/>
<color key="tintColor" red="0.59309977107359713" green="0.60037522820196854" blue="0.93852707153973092" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="2nN-YX-rc0"/>
<constraint firstAttribute="width" secondItem="Jbf-Kl-35X" secondAttribute="height" multiplier="7:10" id="arU-LO-tYS"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rkf-MW-5IL">
<rect key="frame" x="10" y="56.333333333333343" width="76" height="76"/>
<constraints>
<constraint firstAttribute="width" secondItem="rkf-MW-5IL" secondAttribute="height" multiplier="1:1" id="O3J-OU-t73"/>
</constraints>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="FM"/>
</button>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="sf9-me-n7i" userLabel="Avatar Stack">
<rect key="frame" x="109" y="64" width="175" height="101"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="o2x-QJ-V9A">
<rect key="frame" x="0.0" y="0.0" width="175" height="47.666666666666664"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hi, Vijay" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tQN-s8-9SK">
<rect key="frame" x="0.0" y="52.666666666666671" width="175" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to WOKALAND" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dnl-w0-q5K" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="81.666666666666657" width="175" height="19.333333333333329"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kzE-UE-7KK">
<rect key="frame" x="98.666666666666671" y="195" width="195.66666666666663" height="180.66666666666663"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTVBaloon" translatesAutoresizingMaskIntoConstraints="NO" id="bJW-hf-OzK">
<rect key="frame" x="35.666666666666671" y="0.0" width="128.33333333333331" height="75"/>
<constraints>
<constraint firstAttribute="height" constant="75" id="kT7-18-wB5"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="edI-4n-4AY">
<rect key="frame" x="14.333333333333329" y="58.333333333333336" width="167" height="114.33333333333331"/>
<color key="backgroundColor" systemColor="systemGreenColor"/>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTVBorder" translatesAutoresizingMaskIntoConstraints="NO" id="FTD-lO-6ko">
<rect key="frame" x="0.0" y="20" width="195.66666666666666" height="160.66666666666666"/>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="bJW-hf-OzK" firstAttribute="top" secondItem="kzE-UE-7KK" secondAttribute="top" id="7St-kz-z7L"/>
<constraint firstItem="FTD-lO-6ko" firstAttribute="top" secondItem="kzE-UE-7KK" secondAttribute="top" constant="20" id="8DV-Q9-qId"/>
<constraint firstItem="bJW-hf-OzK" firstAttribute="centerX" secondItem="kzE-UE-7KK" secondAttribute="centerX" constant="2" id="8ck-mr-gXI"/>
<constraint firstItem="edI-4n-4AY" firstAttribute="height" secondItem="kzE-UE-7KK" secondAttribute="height" multiplier="0.631579" id="8d2-p4-NX7"/>
<constraint firstAttribute="width" secondItem="kzE-UE-7KK" secondAttribute="height" multiplier="6.5:6" id="DFn-uz-LeD"/>
<constraint firstItem="edI-4n-4AY" firstAttribute="width" secondItem="kzE-UE-7KK" secondAttribute="width" multiplier="0.854369" id="In1-Gv-Td3"/>
<constraint firstItem="FTD-lO-6ko" firstAttribute="leading" secondItem="kzE-UE-7KK" secondAttribute="leading" id="MjF-Bf-i0B"/>
<constraint firstItem="bJW-hf-OzK" firstAttribute="width" secondItem="kzE-UE-7KK" secondAttribute="width" multiplier="0.65534" id="RPK-qk-aYn"/>
<constraint firstItem="bJW-hf-OzK" firstAttribute="top" secondItem="kzE-UE-7KK" secondAttribute="top" id="TfL-do-87D"/>
<constraint firstItem="edI-4n-4AY" firstAttribute="centerX" secondItem="kzE-UE-7KK" secondAttribute="centerX" id="elb-rG-Jom"/>
<constraint firstAttribute="bottom" secondItem="FTD-lO-6ko" secondAttribute="bottom" id="hxq-jC-EkJ"/>
<constraint firstAttribute="bottom" secondItem="edI-4n-4AY" secondAttribute="bottom" constant="8" id="qG7-HL-AwT"/>
<constraint firstAttribute="trailing" secondItem="FTD-lO-6ko" secondAttribute="trailing" id="seE-xo-G4v"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b3F-hf-9c8">
<rect key="frame" x="338" y="69" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="OKf-qx-8Sn"/>
<constraint firstAttribute="width" secondItem="b3F-hf-9c8" secondAttribute="height" multiplier="1:1" id="kMW-xB-hLg"/>
</constraints>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="15"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="SideMenu"/>
<connections>
<action selector="barButtonTapped:" destination="VXi-XB-hOy" eventType="touchUpInside" id="wHk-vO-OlX"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xgH-t8-LiX" userLabel="GrassCloudView">
<rect key="frame" x="0.0" y="404" width="393" height="448"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Cloud1" translatesAutoresizingMaskIntoConstraints="NO" id="hnb-h6-Rgs" userLabel="LightCloud">
<rect key="frame" x="-183.66666666666666" y="-50" width="760.33333333333337" height="180"/>
<constraints>
<constraint firstAttribute="width" constant="760" id="R0a-7m-o4f"/>
<constraint firstAttribute="height" constant="180" id="laa-aE-ve4"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Cloud2" translatesAutoresizingMaskIntoConstraints="NO" id="lMA-vm-xCk" userLabel="DenseCloud">
<rect key="frame" x="-183.66666666666666" y="13" width="760.33333333333337" height="154"/>
<constraints>
<constraint firstAttribute="height" constant="154" id="0Dz-kQ-2bb"/>
<constraint firstAttribute="width" constant="760" id="teJ-X3-Yjs"/>
</constraints>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="HomeGrassDay" translatesAutoresizingMaskIntoConstraints="NO" id="bNd-CB-wx1">
<rect key="frame" x="0.0" y="0.0" width="393" height="448"/>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="lMA-vm-xCk" firstAttribute="centerX" secondItem="xgH-t8-LiX" secondAttribute="centerX" id="7h7-Ex-TCx"/>
<constraint firstAttribute="trailing" secondItem="bNd-CB-wx1" secondAttribute="trailing" id="CPG-40-ajT"/>
<constraint firstItem="bNd-CB-wx1" firstAttribute="top" secondItem="xgH-t8-LiX" secondAttribute="top" id="MJg-64-lcd"/>
<constraint firstItem="lMA-vm-xCk" firstAttribute="top" secondItem="xgH-t8-LiX" secondAttribute="top" constant="13" id="NQL-bt-Gqw"/>
<constraint firstItem="hnb-h6-Rgs" firstAttribute="top" secondItem="xgH-t8-LiX" secondAttribute="top" constant="-50" id="Rod-zu-LQ6"/>
<constraint firstItem="bNd-CB-wx1" firstAttribute="leading" secondItem="xgH-t8-LiX" secondAttribute="leading" id="kHa-Rp-Whd"/>
<constraint firstItem="hnb-h6-Rgs" firstAttribute="centerX" secondItem="xgH-t8-LiX" secondAttribute="centerX" id="m6c-e5-dms"/>
<constraint firstAttribute="bottom" secondItem="bNd-CB-wx1" secondAttribute="bottom" id="z1s-rg-Wln"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ppi-HI-rj1" userLabel="IconView">
<rect key="frame" x="0.0" y="395.66666666666674" width="393" height="456.33333333333326"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="Ehe-Th-asW" userLabel="Shop">
<rect key="frame" x="288" y="0.0" width="95" height="95"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Shop" translatesAutoresizingMaskIntoConstraints="NO" id="z9r-YX-CUk">
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SHOP" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a1C-yY-cjD">
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="QSf-0H-Fwk"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="Ehe-Th-asW" secondAttribute="height" multiplier="1:1" id="afK-Dm-U4l"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="lRy-nX-Xia" userLabel="LiveTV">
<rect key="frame" x="149" y="72.333333333333314" width="95" height="95"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTV" translatesAutoresizingMaskIntoConstraints="NO" id="LoO-Qh-9ci">
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LIVE TV" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="arX-6A-JO0">
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="Ff3-ym-Dew"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="lRy-nX-Xia" secondAttribute="height" multiplier="1:1" id="l2d-W3-pqP"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="Sp0-yh-bdj" userLabel="WebSeries">
<rect key="frame" x="10" y="82.333333333333314" width="95" height="95"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WebSeries" translatesAutoresizingMaskIntoConstraints="NO" id="LGm-UX-yVh">
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WEB SERIES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zmu-oJ-DFc">
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="tmo-ie-b2U"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="Sp0-yh-bdj" secondAttribute="height" multiplier="1:1" id="w9u-Jp-Y4L"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="r88-JP-phS" userLabel="Games">
<rect key="frame" x="298" y="154.99999999999994" width="95" height="95"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Games" translatesAutoresizingMaskIntoConstraints="NO" id="rhc-kY-sTl">
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GAMES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="blr-Es-vfw">
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="cfa-zV-qLo"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="r88-JP-phS" secondAttribute="height" multiplier="1:1" id="Ylk-SV-7uT"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="JHO-R6-WGZ" userLabel="Audio Books">
<rect key="frame" x="169.33333333333334" y="222.33333333333334" width="114.33333333333334" height="95.333333333333343"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="AudioBooks" translatesAutoresizingMaskIntoConstraints="NO" id="za2-oW-KjU">
<rect key="frame" x="0.0" y="0.0" width="114.33333333333333" height="79.333333333333329"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AUDIO BOOKS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="11" translatesAutoresizingMaskIntoConstraints="NO" id="Y9F-E4-lgm">
<rect key="frame" x="0.0" y="80.333333333333371" width="114.33333333333333" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="978-3e-GXx"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="JHO-R6-WGZ" secondAttribute="height" multiplier="1.2:1" id="hqY-S6-6P7"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="1" translatesAutoresizingMaskIntoConstraints="NO" id="9fz-vc-Ufb" userLabel="Karaoke">
<rect key="frame" x="14.333333333333336" y="212.33333333333334" width="95" height="95.333333333333343"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Karaoke" translatesAutoresizingMaskIntoConstraints="NO" id="DWF-Lu-F24">
<rect key="frame" x="0.0" y="0.0" width="95" height="79.333333333333329"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="KARAOKE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yyo-6X-Jk4">
<rect key="frame" x="0.0" y="80.333333333333371" width="95" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="Z4M-G5-Rob"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="9fz-vc-Ufb" secondAttribute="height" multiplier="1:1" id="91B-pD-rvh"/>
</constraints>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="r88-JP-phS" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="0sg-36-CK8"/>
<constraint firstItem="Sp0-yh-bdj" firstAttribute="centerY" secondItem="lRy-nX-Xia" secondAttribute="centerY" constant="10" id="3t3-nm-6LF"/>
<constraint firstItem="Ehe-Th-asW" firstAttribute="baseline" secondItem="lRy-nX-Xia" secondAttribute="firstBaseline" constant="20" id="6HI-BQ-pxx"/>
<constraint firstItem="r88-JP-phS" firstAttribute="top" secondItem="Ehe-Th-asW" secondAttribute="bottom" constant="60" id="6wM-Ss-Lui"/>
<constraint firstItem="JHO-R6-WGZ" firstAttribute="centerX" secondItem="lRy-nX-Xia" secondAttribute="centerX" constant="30" id="KjY-SZ-e5Z"/>
<constraint firstItem="r88-JP-phS" firstAttribute="centerX" secondItem="Ehe-Th-asW" secondAttribute="centerX" constant="10" id="M0G-TU-M2T"/>
<constraint firstItem="9fz-vc-Ufb" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="RjE-7v-VJf"/>
<constraint firstItem="lRy-nX-Xia" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="Slx-Jj-1Nl"/>
<constraint firstItem="Sp0-yh-bdj" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="TkC-nc-gwE"/>
<constraint firstItem="lRy-nX-Xia" firstAttribute="centerX" secondItem="ppi-HI-rj1" secondAttribute="centerX" id="ZMq-Za-1eg"/>
<constraint firstItem="Ehe-Th-asW" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="bYM-Cl-mWm"/>
<constraint firstItem="Sp0-yh-bdj" firstAttribute="leading" secondItem="ppi-HI-rj1" secondAttribute="leading" constant="10" id="fen-AW-Pgf"/>
<constraint firstAttribute="trailing" secondItem="Ehe-Th-asW" secondAttribute="trailing" constant="10" id="h6R-gj-t8n"/>
<constraint firstItem="Ehe-Th-asW" firstAttribute="top" secondItem="ppi-HI-rj1" secondAttribute="top" id="rPo-rh-Nry"/>
<constraint firstItem="JHO-R6-WGZ" firstAttribute="firstBaseline" secondItem="r88-JP-phS" secondAttribute="baseline" constant="-25" id="snK-f5-Dqo"/>
<constraint firstItem="9fz-vc-Ufb" firstAttribute="centerY" secondItem="JHO-R6-WGZ" secondAttribute="centerY" constant="-10" id="tXZ-qB-fYT"/>
<constraint firstItem="JHO-R6-WGZ" firstAttribute="leading" secondItem="9fz-vc-Ufb" secondAttribute="trailing" constant="60" id="vgo-2s-64l"/>
<constraint firstItem="JHO-R6-WGZ" firstAttribute="height" secondItem="ppi-HI-rj1" secondAttribute="height" multiplier="0.208333" id="z24-hh-k41"/>
</constraints>
</view>
</subviews>
<viewLayoutGuide key="safeArea" id="vdl-cu-G32"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="jdZ-WQ-xcr" firstAttribute="trailing" secondItem="vdl-cu-G32" secondAttribute="trailing" id="1om-dS-PtT"/>
<constraint firstItem="kzE-UE-7KK" firstAttribute="top" secondItem="sf9-me-n7i" secondAttribute="bottom" constant="30" id="2cv-dI-9b7"/>
<constraint firstItem="xgH-t8-LiX" firstAttribute="trailing" secondItem="vdl-cu-G32" secondAttribute="trailing" id="55h-eD-07b"/>
<constraint firstItem="jdZ-WQ-xcr" firstAttribute="leading" secondItem="vdl-cu-G32" secondAttribute="leading" id="5lp-Gk-fkY"/>
<constraint firstItem="s5k-HV-Zkc" firstAttribute="leading" secondItem="rkf-MW-5IL" secondAttribute="trailing" constant="15" id="6G7-em-SiG"/>
<constraint firstItem="b3F-hf-9c8" firstAttribute="top" secondItem="vdl-cu-G32" secondAttribute="top" constant="10" id="7lv-2v-Vmb"/>
<constraint firstItem="vdl-cu-G32" firstAttribute="trailing" secondItem="b3F-hf-9c8" secondAttribute="trailing" constant="15" id="84K-nZ-Rfz"/>
<constraint firstAttribute="bottom" secondItem="ppi-HI-rj1" secondAttribute="bottom" id="Ahn-Nf-O3r"/>
<constraint firstItem="rkf-MW-5IL" firstAttribute="leading" secondItem="vdl-cu-G32" secondAttribute="leading" constant="10" id="B4I-l7-DMO"/>
<constraint firstItem="xgH-t8-LiX" firstAttribute="top" secondItem="U1W-OZ-7vR" secondAttribute="bottom" constant="5" id="CIy-vs-vwp"/>
<constraint firstItem="ppi-HI-rj1" firstAttribute="trailing" secondItem="vdl-cu-G32" secondAttribute="trailing" id="DQI-oo-bqb"/>
<constraint firstItem="ppi-HI-rj1" firstAttribute="leading" secondItem="vdl-cu-G32" secondAttribute="leading" id="DnV-cr-qUh"/>
<constraint firstAttribute="bottom" secondItem="xgH-t8-LiX" secondAttribute="bottom" id="KLp-zL-JIG"/>
<constraint firstItem="sf9-me-n7i" firstAttribute="top" secondItem="vdl-cu-G32" secondAttribute="top" constant="5" id="MnT-8w-p9T"/>
<constraint firstItem="U1W-OZ-7vR" firstAttribute="centerX" secondItem="vdl-cu-G32" secondAttribute="centerX" id="NqK-Cw-qNu"/>
<constraint firstItem="U1W-OZ-7vR" firstAttribute="width" secondItem="U1W-OZ-7vR" secondAttribute="height" multiplier="1:1" id="PvJ-97-UfQ"/>
<constraint firstItem="XTn-ID-1Yb" firstAttribute="top" secondItem="sf9-me-n7i" secondAttribute="bottom" constant="60" id="Q9c-DO-OgW"/>
<constraint firstItem="o2x-QJ-V9A" firstAttribute="height" secondItem="UEh-jl-IQp" secondAttribute="height" multiplier="0.0558036" id="UDY-Wb-Xsa"/>
<constraint firstItem="Jbf-Kl-35X" firstAttribute="top" secondItem="sf9-me-n7i" secondAttribute="bottom" constant="10" id="VLa-Ha-6Yo"/>
<constraint firstItem="rkf-MW-5IL" firstAttribute="centerY" secondItem="sf9-me-n7i" secondAttribute="centerY" constant="-20" id="ZVu-Px-dqT"/>
<constraint firstItem="xgH-t8-LiX" firstAttribute="leading" secondItem="vdl-cu-G32" secondAttribute="leading" id="axA-78-I8c"/>
<constraint firstItem="jdZ-WQ-xcr" firstAttribute="height" secondItem="UEh-jl-IQp" secondAttribute="height" multiplier="0.625" id="dfh-6o-p0D"/>
<constraint firstItem="s5k-HV-Zkc" firstAttribute="centerY" secondItem="rkf-MW-5IL" secondAttribute="centerY" id="fHp-Jm-GAf"/>
<constraint firstItem="jdZ-WQ-xcr" firstAttribute="top" secondItem="UEh-jl-IQp" secondAttribute="top" id="kVK-dJ-BXA"/>
<constraint firstItem="kzE-UE-7KK" firstAttribute="centerX" secondItem="vdl-cu-G32" secondAttribute="centerX" id="lxF-lj-Z1U"/>
<constraint firstItem="xgH-t8-LiX" firstAttribute="height" secondItem="UEh-jl-IQp" secondAttribute="height" multiplier="0.52567" id="pHy-CM-iKk"/>
<constraint firstItem="XTn-ID-1Yb" firstAttribute="leading" secondItem="vdl-cu-G32" secondAttribute="leading" constant="20" id="pPN-hO-fOe"/>
<constraint firstItem="vdl-cu-G32" firstAttribute="trailing" secondItem="Jbf-Kl-35X" secondAttribute="trailing" constant="30" id="pzf-si-aC5"/>
<constraint firstItem="kzE-UE-7KK" firstAttribute="height" secondItem="UEh-jl-IQp" secondAttribute="height" multiplier="0.212054" id="s5Y-TI-1sZ"/>
<constraint firstItem="ppi-HI-rj1" firstAttribute="height" secondItem="UEh-jl-IQp" secondAttribute="height" multiplier="0.535714" id="sLx-ty-T4s"/>
<constraint firstItem="sf9-me-n7i" firstAttribute="centerX" secondItem="vdl-cu-G32" secondAttribute="centerX" id="vZE-xF-UKh"/>
</constraints>
</view>
<tabBarItem key="tabBarItem" title="HOME" image="HomeIcon" selectedImage="HomeIcon" id="4Hm-tg-Heb"/>
<connections>
<outlet property="cloud1" destination="hnb-h6-Rgs" id="yq6-eE-20d"/>
<outlet property="cloud2" destination="lMA-vm-xCk" id="91P-Rv-qHZ"/>
<outlet property="gradientView" destination="jdZ-WQ-xcr" id="EPt-cC-wNC"/>
<outlet property="homeGrass" destination="bNd-CB-wx1" id="Rhs-zT-ChZ"/>
<outlet property="liveTVView" destination="kzE-UE-7KK" id="wh1-1v-X4B"/>
<outlet property="liveTvPlayer" destination="edI-4n-4AY" id="Ofv-d0-YP4"/>
<outlet property="nameLabel" destination="tQN-s8-9SK" id="GIQ-nv-8rM"/>
<outlet property="webSeriesView" destination="Sp0-yh-bdj" id="HMn-cX-z6Y"/>
<outlet property="welcomeLabel" destination="dnl-w0-q5K" id="ePX-F9-APX"/>
<outletCollection property="star" destination="XTn-ID-1Yb" collectionClass="NSMutableArray" id="8Fh-RB-UOY"/>
<outletCollection property="star" destination="s5k-HV-Zkc" collectionClass="NSMutableArray" id="icE-65-uve"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Xus-eA-saB" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2194.6564885496182" y="-1602.1126760563382"/>
</scene>
<!--Theme TwoVC-->
<scene sceneID="lyh-UP-4KB">
<objects>
<viewController storyboardIdentifier="ThemeTwoVC" id="3jm-7v-5GP" customClass="ThemeTwoVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Y2R-2G-NBv">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ksi-1c-xBG">
<rect key="frame" x="0.0" y="134" width="393" height="220"/>
<color key="backgroundColor" systemColor="systemGreenColor"/>
<constraints>
<constraint firstAttribute="height" constant="220" id="ezY-uu-Vnb"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4qI-5q-8TH">
<rect key="frame" x="338" y="69" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" secondItem="4qI-5q-8TH" secondAttribute="height" multiplier="1:1" id="HP0-u8-WP8"/>
<constraint firstAttribute="height" constant="40" id="pa1-no-jcD"/>
</constraints>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="15"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" image="SideMenu"/>
<connections>
<action selector="barButtonTapped:" destination="VXi-XB-hOy" eventType="touchUpInside" id="WFm-XG-XFm"/>
<action selector="sideBarBtnTapped:" destination="3jm-7v-5GP" eventType="touchUpInside" id="UpJ-Ec-H82"/>
</connections>
</button>
<stackView opaque="NO" contentMode="scaleToFill" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="wHk-XC-Cqq" userLabel="Avatar Stack">
<rect key="frame" x="10" y="64" width="234.66666666666666" height="50"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="4xI-oX-ffb">
<rect key="frame" x="0.0" y="0.0" width="49.666666666666664" height="50"/>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="LZa-k2-Fa1">
<rect key="frame" x="59.666666666666686" y="0.0" width="175" height="50"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="Hi, Vijay" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IFj-XX-sbq">
<rect key="frame" x="0.0" y="0.0" width="175" height="25.666666666666668"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to WOKALAND" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nbe-Ob-bia" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="30.666666666666671" width="175" height="19.333333333333329"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
</stackView>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wIw-DO-ba0">
<rect key="frame" x="0.0" y="359" width="393" height="493"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="1iA-oh-toI">
<rect key="frame" x="0.0" y="0.0" width="393" height="184"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="Explore WOKA" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cla-Q5-K2m">
<rect key="frame" x="10" y="10" width="373" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="4rq-xX-XRh">
<rect key="frame" x="10" y="44" width="373" height="140"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="140" id="82w-Zb-27Q"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" automaticEstimatedItemSize="YES" minimumLineSpacing="10" minimumInteritemSpacing="10" id="v7N-mj-NZr">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
<cells/>
</collectionView>
</subviews>
<edgeInsets key="layoutMargins" top="10" left="10" bottom="0.0" right="10"/>
</stackView>
</subviews>
<constraints>
<constraint firstItem="1iA-oh-toI" firstAttribute="top" secondItem="wIw-DO-ba0" secondAttribute="top" id="9NY-lE-5e9"/>
<constraint firstItem="1iA-oh-toI" firstAttribute="width" secondItem="Ic4-Dg-BFY" secondAttribute="width" id="CSJ-Jc-HgS"/>
<constraint firstItem="1iA-oh-toI" firstAttribute="leading" secondItem="aK0-ly-v23" secondAttribute="leading" id="DYM-KO-u78"/>
<constraint firstAttribute="bottom" secondItem="1iA-oh-toI" secondAttribute="bottom" id="c7E-64-wTG"/>
<constraint firstItem="aK0-ly-v23" firstAttribute="trailing" secondItem="1iA-oh-toI" secondAttribute="trailing" id="r4X-20-Dfe"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="Ic4-Dg-BFY"/>
<viewLayoutGuide key="frameLayoutGuide" id="aK0-ly-v23"/>
</scrollView>
</subviews>
<viewLayoutGuide key="safeArea" id="QRd-bR-MwE"/>
<color key="backgroundColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="wIw-DO-ba0" secondAttribute="bottom" id="8aT-sg-dlZ"/>
<constraint firstItem="wIw-DO-ba0" firstAttribute="top" secondItem="Ksi-1c-xBG" secondAttribute="bottom" constant="5" id="9iK-1y-iUL"/>
<constraint firstItem="wIw-DO-ba0" firstAttribute="trailing" secondItem="QRd-bR-MwE" secondAttribute="trailing" id="B2f-vS-BlM"/>
<constraint firstItem="wHk-XC-Cqq" firstAttribute="leading" secondItem="QRd-bR-MwE" secondAttribute="leading" constant="10" id="YGq-MK-aVC"/>
<constraint firstItem="wHk-XC-Cqq" firstAttribute="top" secondItem="QRd-bR-MwE" secondAttribute="top" constant="5" id="aC0-db-DaE"/>
<constraint firstItem="wIw-DO-ba0" firstAttribute="leading" secondItem="QRd-bR-MwE" secondAttribute="leading" id="icN-WK-7ux"/>
<constraint firstItem="QRd-bR-MwE" firstAttribute="trailing" secondItem="Ksi-1c-xBG" secondAttribute="trailing" id="l1S-Jm-gVK"/>
<constraint firstItem="Ksi-1c-xBG" firstAttribute="top" secondItem="wHk-XC-Cqq" secondAttribute="bottom" constant="20" id="nBa-4R-qSd"/>
<constraint firstItem="4qI-5q-8TH" firstAttribute="centerY" secondItem="wHk-XC-Cqq" secondAttribute="centerY" id="rWN-WN-Oxo"/>
<constraint firstItem="Ksi-1c-xBG" firstAttribute="leading" secondItem="QRd-bR-MwE" secondAttribute="leading" id="suG-9y-lQs"/>
<constraint firstItem="QRd-bR-MwE" firstAttribute="trailing" secondItem="4qI-5q-8TH" secondAttribute="trailing" constant="15" id="wHe-KW-pfN"/>
</constraints>
</view>
<connections>
<outlet property="collectionView" destination="4rq-xX-XRh" id="Z66-JF-bp2"/>
<outlet property="liveTvView" destination="Ksi-1c-xBG" id="xcg-na-dB1"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="AKa-H1-a6U" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2883" y="-1602"/>
</scene>
</scenes>
<resources>
<image name="AudioBooks" width="172" height="120"/>
<image name="Boy" width="49.666667938232422" height="50"/>
<image name="Cloud1" width="2469.666748046875" height="734.66668701171875"/>
<image name="Cloud2" width="2469.333251953125" height="354.66665649414062"/>
<image name="FM" width="76" height="76"/>
<image name="Games" width="108.33333587646484" height="115.33333587646484"/>
<image name="HomeGrassDay" width="570.66668701171875" height="641.33331298828125"/>
<image name="HomeIcon" width="26.666666030883789" height="26.666666030883789"/>
<image name="Karaoke" width="109.33333587646484" height="132.66667175292969"/>
<image name="LiveTV" width="106.66666412353516" height="128"/>
<image name="LiveTVBaloon" width="135" height="135"/>
<image name="LiveTVBorder" width="79.333335876464844" height="67"/>
<image name="Moon" width="144.66667175292969" height="144.66667175292969"/>
<image name="Shop" width="109.33333587646484" height="132.66667175292969"/>
<image name="SideMenu" width="44" height="44"/>
<image name="Star" width="62.666667938232422" height="62.666667938232422"/>
<image name="WebSeries" width="164" height="118.66666412353516"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
<systemColor name="systemGreenColor">
<color red="0.20392156862745098" green="0.7803921568627451" blue="0.34901960784313724" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources>
</document>

View File

@@ -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
}
}