- Added native shimmer effect.
- Updated my list for handling the comma separated language. - Added shimmer to manila , language , list table - Added action for dropdown, if user clicks outside the dropdown it ill dismiss and change the arrow direction - Handled shimmer with api call, removed the progress hud - Updated Lingual file for webSeries VC
@@ -30,6 +30,8 @@
|
||||
523ED2752BDA2BC900CFED02 /* WOKATests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523ED2742BDA2BC900CFED02 /* WOKATests.swift */; };
|
||||
523ED27F2BDA2BC900CFED02 /* WOKAUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523ED27E2BDA2BC900CFED02 /* WOKAUITests.swift */; };
|
||||
523ED2812BDA2BC900CFED02 /* WOKAUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523ED2802BDA2BC900CFED02 /* WOKAUITestsLaunchTests.swift */; };
|
||||
5242FE592C24203E0086A86D /* WebSeriesSeasonVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5242FE582C24203E0086A86D /* WebSeriesSeasonVC.swift */; };
|
||||
5242FE5B2C24317A0086A86D /* WebSeriesSeasonVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5242FE5A2C24317A0086A86D /* WebSeriesSeasonVM.swift */; };
|
||||
524C422B2C04781B0016A11C /* ThemeTwoVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 524C422A2C04781B0016A11C /* ThemeTwoVM.swift */; };
|
||||
524C42312C0499560016A11C /* NotificationCenterReloads.swift in Sources */ = {isa = PBXBuildFile; fileRef = 524C42302C0499560016A11C /* NotificationCenterReloads.swift */; };
|
||||
524C42332C049D590016A11C /* CustomizableSegmentControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 524C42322C049D590016A11C /* CustomizableSegmentControl.swift */; };
|
||||
@@ -57,7 +59,6 @@
|
||||
525954302BEA394400191286 /* CustomAlerts.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5259542F2BEA394300191286 /* CustomAlerts.storyboard */; };
|
||||
525954322BEA39D200191286 /* AddTapGesture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525954312BEA39D200191286 /* AddTapGesture.swift */; };
|
||||
525954342BEA620800191286 /* IntrestTopicDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525954332BEA620800191286 /* IntrestTopicDM.swift */; };
|
||||
525954512BEB5EB700191286 /* SkeletonView in Frameworks */ = {isa = PBXBuildFile; productRef = 525954502BEB5EB700191286 /* SkeletonView */; };
|
||||
5259545A2BEB67D200191286 /* DateFormatterLib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525954592BEB67D200191286 /* DateFormatterLib.swift */; };
|
||||
5259545C2BEBB80400191286 /* AvatarDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5259545B2BEBB80400191286 /* AvatarDM.swift */; };
|
||||
5259545E2BEBBA1A00191286 /* LoadingIndicatorImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5259545D2BEBBA1A00191286 /* LoadingIndicatorImageView.swift */; };
|
||||
@@ -73,6 +74,9 @@
|
||||
527AC6FD2C173A5100434FB7 /* SongListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527AC6FB2C173A5100434FB7 /* SongListCell.swift */; };
|
||||
527AC6FE2C173A5100434FB7 /* SongListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 527AC6FC2C173A5100434FB7 /* SongListCell.xib */; };
|
||||
527AC7012C182DCE00434FB7 /* TimeStringToSeconds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527AC7002C182DCE00434FB7 /* TimeStringToSeconds.swift */; };
|
||||
528E5F1B2C24531200E33E4E /* SeasonListingDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 528E5F1A2C24531200E33E4E /* SeasonListingDM.swift */; };
|
||||
528E5F222C24660F00E33E4E /* SeasonCategoryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 528E5F202C24660F00E33E4E /* SeasonCategoryCell.swift */; };
|
||||
528E5F232C24660F00E33E4E /* SeasonCategoryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 528E5F212C24660F00E33E4E /* SeasonCategoryCell.xib */; };
|
||||
529B0DD42C06156B00CFC54B /* LoginNavVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529B0DD32C06156B00CFC54B /* LoginNavVC.swift */; };
|
||||
529B0DD62C070C0F00CFC54B /* GuestDataDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529B0DD52C070C0F00CFC54B /* GuestDataDM.swift */; };
|
||||
52A3F6A52BECBA8D0000BB0B /* LinkedChildDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A3F6A42BECBA8D0000BB0B /* LinkedChildDM.swift */; };
|
||||
@@ -130,6 +134,7 @@
|
||||
52CA28FC2BE11A0400708B49 /* UserIntrestVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CA28FB2BE11A0400708B49 /* UserIntrestVM.swift */; };
|
||||
52CC38C32BDF812F00B74C3E /* LocalisedElements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CC38C22BDF812F00B74C3E /* LocalisedElements.swift */; };
|
||||
52CCD7B02C1AF0F80078BD65 /* RadioVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52CCD7AF2C1AF0F80078BD65 /* RadioVC.swift */; };
|
||||
52D2F3D82C24043D009E52FF /* ShimmerEffectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D2F3D72C24043D009E52FF /* ShimmerEffectView.swift */; };
|
||||
52D6A2462C21A29800145908 /* ContinueWatchingDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D6A2452C21A29800145908 /* ContinueWatchingDM.swift */; };
|
||||
52D6A2482C21A3A500145908 /* WebSeriesVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52D6A2472C21A3A500145908 /* WebSeriesVM.swift */; };
|
||||
52D6A24B2C21B43300145908 /* WebSeriesCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52D6A24A2C21B43300145908 /* WebSeriesCell.xib */; };
|
||||
@@ -272,6 +277,8 @@
|
||||
523ED27A2BDA2BC900CFED02 /* WOKAUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WOKAUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
523ED27E2BDA2BC900CFED02 /* WOKAUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WOKAUITests.swift; sourceTree = "<group>"; };
|
||||
523ED2802BDA2BC900CFED02 /* WOKAUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WOKAUITestsLaunchTests.swift; sourceTree = "<group>"; };
|
||||
5242FE582C24203E0086A86D /* WebSeriesSeasonVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSeriesSeasonVC.swift; sourceTree = "<group>"; };
|
||||
5242FE5A2C24317A0086A86D /* WebSeriesSeasonVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSeriesSeasonVM.swift; sourceTree = "<group>"; };
|
||||
524C422A2C04781B0016A11C /* ThemeTwoVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTwoVM.swift; sourceTree = "<group>"; };
|
||||
524C42302C0499560016A11C /* NotificationCenterReloads.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCenterReloads.swift; sourceTree = "<group>"; };
|
||||
524C42322C049D590016A11C /* CustomizableSegmentControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizableSegmentControl.swift; sourceTree = "<group>"; };
|
||||
@@ -315,6 +322,9 @@
|
||||
527AC6FB2C173A5100434FB7 /* SongListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SongListCell.swift; sourceTree = "<group>"; };
|
||||
527AC6FC2C173A5100434FB7 /* SongListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SongListCell.xib; sourceTree = "<group>"; };
|
||||
527AC7002C182DCE00434FB7 /* TimeStringToSeconds.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeStringToSeconds.swift; sourceTree = "<group>"; };
|
||||
528E5F1A2C24531200E33E4E /* SeasonListingDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeasonListingDM.swift; sourceTree = "<group>"; };
|
||||
528E5F202C24660F00E33E4E /* SeasonCategoryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeasonCategoryCell.swift; sourceTree = "<group>"; };
|
||||
528E5F212C24660F00E33E4E /* SeasonCategoryCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SeasonCategoryCell.xib; sourceTree = "<group>"; };
|
||||
529B0DD32C06156B00CFC54B /* LoginNavVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginNavVC.swift; sourceTree = "<group>"; };
|
||||
529B0DD52C070C0F00CFC54B /* GuestDataDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuestDataDM.swift; sourceTree = "<group>"; };
|
||||
52A3F6A42BECBA8D0000BB0B /* LinkedChildDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkedChildDM.swift; sourceTree = "<group>"; };
|
||||
@@ -374,6 +384,7 @@
|
||||
52CA28FB2BE11A0400708B49 /* UserIntrestVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserIntrestVM.swift; sourceTree = "<group>"; };
|
||||
52CC38C22BDF812F00B74C3E /* LocalisedElements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalisedElements.swift; sourceTree = "<group>"; };
|
||||
52CCD7AF2C1AF0F80078BD65 /* RadioVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioVC.swift; sourceTree = "<group>"; };
|
||||
52D2F3D72C24043D009E52FF /* ShimmerEffectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShimmerEffectView.swift; sourceTree = "<group>"; };
|
||||
52D6A2452C21A29800145908 /* ContinueWatchingDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContinueWatchingDM.swift; sourceTree = "<group>"; };
|
||||
52D6A2472C21A3A500145908 /* WebSeriesVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSeriesVM.swift; sourceTree = "<group>"; };
|
||||
52D6A2492C21B43300145908 /* WebSeriesCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSeriesCell.swift; sourceTree = "<group>"; };
|
||||
@@ -470,7 +481,6 @@
|
||||
files = (
|
||||
522A93132C0DB5D50098FE49 /* JWPlayerKit in Frameworks */,
|
||||
9C1C69FA2C106B290035B2C7 /* RSKPlaceholderTextView in Frameworks */,
|
||||
525954512BEB5EB700191286 /* SkeletonView in Frameworks */,
|
||||
619A5A1BD8BD968ADC83C106 /* Pods_WOKA.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -954,6 +964,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
52DAC64D2C21775300E2F85B /* WebSeriesVC.swift */,
|
||||
5242FE582C24203E0086A86D /* WebSeriesSeasonVC.swift */,
|
||||
);
|
||||
path = Controller;
|
||||
sourceTree = "<group>";
|
||||
@@ -962,6 +973,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
52D6A2472C21A3A500145908 /* WebSeriesVM.swift */,
|
||||
5242FE5A2C24317A0086A86D /* WebSeriesSeasonVM.swift */,
|
||||
);
|
||||
path = ViewModel;
|
||||
sourceTree = "<group>";
|
||||
@@ -973,6 +985,8 @@
|
||||
52D6A24A2C21B43300145908 /* WebSeriesCell.xib */,
|
||||
52D6A24F2C22B58200145908 /* WebSeriesShowListingCell.swift */,
|
||||
52D6A2562C22C1E300145908 /* WebSeriesShowListingCell.xib */,
|
||||
528E5F202C24660F00E33E4E /* SeasonCategoryCell.swift */,
|
||||
528E5F212C24660F00E33E4E /* SeasonCategoryCell.xib */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -983,6 +997,7 @@
|
||||
52D6A2452C21A29800145908 /* ContinueWatchingDM.swift */,
|
||||
52D6A24D2C22B3AB00145908 /* WebSeriesShowListDM.swift */,
|
||||
52D6A2532C22B93F00145908 /* CategoryListingDM.swift */,
|
||||
528E5F1A2C24531200E33E4E /* SeasonListingDM.swift */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -1044,6 +1059,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9C535DB72C0089B400DA6DCD /* ViewButtonAnimation.swift */,
|
||||
52D2F3D72C24043D009E52FF /* ShimmerEffectView.swift */,
|
||||
);
|
||||
path = Animation;
|
||||
sourceTree = "<group>";
|
||||
@@ -1264,7 +1280,6 @@
|
||||
);
|
||||
name = WOKA;
|
||||
packageProductDependencies = (
|
||||
525954502BEB5EB700191286 /* SkeletonView */,
|
||||
522A93122C0DB5D50098FE49 /* JWPlayerKit */,
|
||||
9C1C69F92C106B290035B2C7 /* RSKPlaceholderTextView */,
|
||||
);
|
||||
@@ -1342,7 +1357,6 @@
|
||||
);
|
||||
mainGroup = 523ED2512BDA2BC700CFED02;
|
||||
packageReferences = (
|
||||
5259544F2BEB5EB700191286 /* XCRemoteSwiftPackageReference "SkeletonView" */,
|
||||
522A93112C0DB5D50098FE49 /* XCRemoteSwiftPackageReference "JWPlayerKit-package" */,
|
||||
9C1C69F82C106B290035B2C7 /* XCRemoteSwiftPackageReference "RSKPlaceholderTextView" */,
|
||||
);
|
||||
@@ -1362,6 +1376,7 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
528E5F232C24660F00E33E4E /* SeasonCategoryCell.xib in Resources */,
|
||||
9C27E1732BDB86B600EC1DA9 /* OnBoardCell.xib in Resources */,
|
||||
522A931A2C0DE8CC0098FE49 /* SideBarNav.storyboard in Resources */,
|
||||
9CDCE1452BDB9B9A003FEF11 /* OnBoardMainSound.m4a in Resources */,
|
||||
@@ -1480,6 +1495,7 @@
|
||||
525954102BE8B72900191286 /* FontCustom.swift in Sources */,
|
||||
5202AAFE2BDF90590043B7BD /* TextFieldImage.swift in Sources */,
|
||||
9C7939152C0F23AA00F5D6E6 /* NsNotificationExtension.swift in Sources */,
|
||||
528E5F1B2C24531200E33E4E /* SeasonListingDM.swift in Sources */,
|
||||
52FDDAB52BF34DC300E037C1 /* YesNoAlertVC.swift in Sources */,
|
||||
52C6E0232BE3B3E300E22D59 /* SelectAvatarVC.swift in Sources */,
|
||||
529B0DD62C070C0F00CFC54B /* GuestDataDM.swift in Sources */,
|
||||
@@ -1494,6 +1510,7 @@
|
||||
9C27E1602BDB6ECA00EC1DA9 /* UserDefaultsStruct.swift in Sources */,
|
||||
52A3F6AD2BECC0340000BB0B /* TypeAlias.swift in Sources */,
|
||||
52D6A24C2C21B43300145908 /* WebSeriesCell.swift in Sources */,
|
||||
5242FE5B2C24317A0086A86D /* WebSeriesSeasonVM.swift in Sources */,
|
||||
524C422B2C04781B0016A11C /* ThemeTwoVM.swift in Sources */,
|
||||
52B8D4DF2C04A25E00ED65F3 /* StatusBar.swift in Sources */,
|
||||
5259541D2BE8D94400191286 /* QueueHelper.swift in Sources */,
|
||||
@@ -1516,6 +1533,7 @@
|
||||
52BC3BF02C1701F8002FACA6 /* BlogDM.swift in Sources */,
|
||||
525954192BE8CC3400191286 /* ConstantString.swift in Sources */,
|
||||
52D774EB2BDFC0BF001D87DE /* OTPVC.swift in Sources */,
|
||||
52D2F3D82C24043D009E52FF /* ShimmerEffectView.swift in Sources */,
|
||||
9C27E16F2BDB866500EC1DA9 /* CellIdentifier.swift in Sources */,
|
||||
52BC3BF22C170264002FACA6 /* MoreVM.swift in Sources */,
|
||||
9CBE1B412C0F37B300CA6E61 /* DPDUIView+Extension.swift in Sources */,
|
||||
@@ -1597,6 +1615,7 @@
|
||||
52BC3BE22C0E02EE002FACA6 /* FaqVC.swift in Sources */,
|
||||
52A981D02C1AFEE8000E0BEC /* MyListVM.swift in Sources */,
|
||||
5272FCE52BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift in Sources */,
|
||||
528E5F222C24660F00E33E4E /* SeasonCategoryCell.swift in Sources */,
|
||||
525954272BE9178F00191286 /* UserDataDM.swift in Sources */,
|
||||
9C27E1652BDB6FBC00EC1DA9 /* StoryBoardID.swift in Sources */,
|
||||
52FDBA782BFF23F4009D7AC7 /* TimePeriod.swift in Sources */,
|
||||
@@ -1605,6 +1624,7 @@
|
||||
9CB4C5A92C118EF300737C00 /* NavBarColor.swift in Sources */,
|
||||
525954322BEA39D200191286 /* AddTapGesture.swift in Sources */,
|
||||
522242682BFC74380085C632 /* TabBarVC.swift in Sources */,
|
||||
5242FE592C24203E0086A86D /* WebSeriesSeasonVC.swift in Sources */,
|
||||
9C27E1722BDB86B600EC1DA9 /* OnBoardCell.swift in Sources */,
|
||||
529B0DD42C06156B00CFC54B /* LoginNavVC.swift in Sources */,
|
||||
52A981D72C1B0E27000E0BEC /* FavouriteCell.swift in Sources */,
|
||||
@@ -2050,14 +2070,6 @@
|
||||
minimumVersion = 4.19.1;
|
||||
};
|
||||
};
|
||||
5259544F2BEB5EB700191286 /* XCRemoteSwiftPackageReference "SkeletonView" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/Juanpe/SkeletonView.git";
|
||||
requirement = {
|
||||
kind = exactVersion;
|
||||
version = 1.31.0;
|
||||
};
|
||||
};
|
||||
9C1C69F82C106B290035B2C7 /* XCRemoteSwiftPackageReference "RSKPlaceholderTextView" */ = {
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/ruslanskorb/RSKPlaceholderTextView.git";
|
||||
@@ -2074,11 +2086,6 @@
|
||||
package = 522A93112C0DB5D50098FE49 /* XCRemoteSwiftPackageReference "JWPlayerKit-package" */;
|
||||
productName = JWPlayerKit;
|
||||
};
|
||||
525954502BEB5EB700191286 /* SkeletonView */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 5259544F2BEB5EB700191286 /* XCRemoteSwiftPackageReference "SkeletonView" */;
|
||||
productName = SkeletonView;
|
||||
};
|
||||
9C1C69F92C106B290035B2C7 /* RSKPlaceholderTextView */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 9C1C69F82C106B290035B2C7 /* XCRemoteSwiftPackageReference "RSKPlaceholderTextView" */;
|
||||
|
||||
23
WOKA/Assets/Assets.xcassets/WebSeries/PlayButton.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "PlayButton.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "PlayButton@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "PlayButton@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
WOKA/Assets/Assets.xcassets/WebSeries/PlayButton.imageset/PlayButton.png
vendored
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
WOKA/Assets/Assets.xcassets/WebSeries/PlayButton.imageset/PlayButton@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
WOKA/Assets/Assets.xcassets/WebSeries/PlayButton.imageset/PlayButton@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
23
WOKA/Assets/Assets.xcassets/WebSeries/ShareImage.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ShareImage.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ShareImage@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ShareImage@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
WOKA/Assets/Assets.xcassets/WebSeries/ShareImage.imageset/ShareImage.png
vendored
Normal file
|
After Width: | Height: | Size: 596 B |
BIN
WOKA/Assets/Assets.xcassets/WebSeries/ShareImage.imageset/ShareImage@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
WOKA/Assets/Assets.xcassets/WebSeries/ShareImage.imageset/ShareImage@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 852 B |
21
WOKA/Assets/Assets.xcassets/WebSeries/WebSeriesSeasonsBackground.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Modal1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
WOKA/Assets/Assets.xcassets/WebSeries/WebSeriesSeasonsBackground.imageset/Modal1.png
vendored
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
@@ -190,7 +190,9 @@ extension UIView {
|
||||
func startShimmeringViewAnimation() {
|
||||
|
||||
let gradientLayer = CAGradientLayer()
|
||||
gradientLayer.frame = bounds
|
||||
// gradientLayer.frame = bounds
|
||||
gradientLayer.frame = CGRect(x: -bounds.width, y: 0, width: 3 * bounds.width, height: bounds.height)
|
||||
|
||||
gradientLayer.startPoint = CGPoint(x: 0.0, y: 1.0)
|
||||
gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0)
|
||||
let gradientColorOne = #colorLiteral(red: 0.7529411765, green: 0.7529411765, blue: 0.7529411765, alpha: 1).cgColor
|
||||
|
||||
@@ -37,7 +37,7 @@ class UserDetailsRegisterVM{
|
||||
vc.enterUserNameTF.addRightButton(title: "", tintColor: UIColor.red, btnImage: UIImage(systemName: "exclamationmark.circle.fill"), target: self, action: #selector(errorUserName))
|
||||
vc.enterUserNameTF.rightView?.isHidden = true
|
||||
|
||||
if let createChildAccount{ // this is from the home screen when a parent can adda child
|
||||
if createChildAccount != nil{ // this is from the home screen when a parent can adda child
|
||||
vc.dontSharePassLabel.isHidden = true
|
||||
vc.viewTitleLabel.text = "Add Child Account".localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
vc.userNameTitleLabel.text = "USERNAME".localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
|
||||
@@ -41,6 +41,7 @@ extension K{
|
||||
struct WebSeries{
|
||||
static let webSeriesCell = "WebSeriesCell"
|
||||
static let webSeriesShowListingCell = "WebSeriesShowListingCell"
|
||||
static let seasonCategoryCell = "SeasonCategoryCell"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,6 +62,7 @@ extension K{
|
||||
|
||||
struct WebSeries{
|
||||
static let webSeriesVC = "WebSeriesVC"
|
||||
static let webSeriesSeasonVC = "WebSeriesSeasonVC"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
86
WOKA/Helpers/Animation/ShimmerEffectView.swift
Normal file
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// ShimmerEffectView.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 20/06/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class ShimmerEffectView: UIView {
|
||||
|
||||
var gradientColorOne: CGColor = UIColor(red: 0.176, green: 0.012, blue: 0.561, alpha: 1.0).cgColor
|
||||
var gradientColorTwo: CGColor = UIColor(white: 0.925, alpha: 1.0).cgColor
|
||||
|
||||
private var gradientLayer: CAGradientLayer?
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
commonInit()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
commonInit()
|
||||
}
|
||||
|
||||
private func commonInit() {
|
||||
self.clipsToBounds = true
|
||||
}
|
||||
|
||||
private func addGradientLayer() -> CAGradientLayer {
|
||||
let gradientLayer = CAGradientLayer()
|
||||
|
||||
gradientLayer.frame = self.bounds
|
||||
|
||||
// Calculate points for a 70-degree angle (slant)
|
||||
let angleInRadians = CGFloat(70) * .pi / 180.0 // Convert degrees to radians
|
||||
|
||||
let startPointX = sin(angleInRadians)
|
||||
let startPoint = CGPoint(x: -startPointX, y: 1.0)
|
||||
|
||||
let endPointX = cos(angleInRadians)
|
||||
let endPoint = CGPoint(x: 1.0 + endPointX, y: 1.0)
|
||||
|
||||
gradientLayer.startPoint = startPoint
|
||||
gradientLayer.endPoint = endPoint
|
||||
gradientLayer.colors = [gradientColorOne, gradientColorTwo, gradientColorOne]
|
||||
gradientLayer.locations = [0.0, 0.5, 1.0]
|
||||
self.layer.addSublayer(gradientLayer)
|
||||
|
||||
return gradientLayer
|
||||
}
|
||||
|
||||
private func addAnimation() -> CABasicAnimation {
|
||||
let animation = CABasicAnimation(keyPath: "locations")
|
||||
|
||||
// Adjust fromValue and toValue for a 70-degree angle (slant)
|
||||
animation.fromValue = [-1.0, -0.5, 0.0]
|
||||
animation.toValue = [1.0, 1.5, 2.0]
|
||||
|
||||
animation.repeatCount = .infinity
|
||||
animation.duration = 1.2
|
||||
return animation
|
||||
}
|
||||
|
||||
func startShimmer() {
|
||||
let gradientLayer = addGradientLayer()
|
||||
let animation = addAnimation()
|
||||
|
||||
gradientLayer.add(animation, forKey: animation.keyPath)
|
||||
self.gradientLayer = gradientLayer
|
||||
}
|
||||
|
||||
func stopShimmer() {
|
||||
guard let gradientLayer = self.gradientLayer else { return }
|
||||
|
||||
gradientLayer.removeAllAnimations()
|
||||
gradientLayer.removeFromSuperlayer()
|
||||
self.gradientLayer = nil
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
gradientLayer?.frame = self.bounds
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ internal extension UIView {
|
||||
internal extension UIWindow {
|
||||
|
||||
static func visibleWindow() -> UIWindow? {
|
||||
var currentWindow = UIApplication.shared.keyWindow
|
||||
var currentWindow = UIApplication.shared.keyWindowInConnectedScenes
|
||||
|
||||
if currentWindow == nil {
|
||||
let frontToBackWindows = Array(UIApplication.shared.windows.reversed())
|
||||
|
||||
@@ -27,6 +27,7 @@ extension UIImageView {
|
||||
|
||||
self.addSubview(activityIndicator)
|
||||
// Timer.scheduledTimer(withTimeInterval: 1.5, repeats: false) { _ in
|
||||
|
||||
self.sd_setImage(with: URL(string: url.replacingOccurrences(of: " ", with: "%20"))) { (image, error, cacheType, url) in
|
||||
activityIndicator.stopAnimating()
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ extension MyListVC : CollectionViewSRC{
|
||||
}
|
||||
}
|
||||
case .liked:
|
||||
guard let isLiked = data.isLiked ,let postID = data.id,let postType = data.contentMoreDetails?.first?.postType,let categoryID = data.bookmarkCategoryIDS else{return}
|
||||
guard let isLiked = data.isLiked ,let postID = data.id,let postType = data.contentMoreDetails?.first?.postType else{return}
|
||||
if isLiked{
|
||||
vm.unlikePost(postID: postID, postType: postType, index: index) { [unowned self] isDone in
|
||||
if isDone{
|
||||
|
||||
@@ -83,20 +83,27 @@ class MyListVM{
|
||||
*/
|
||||
webSeriesHindi = hindiData.compactMap { $0 }.filter { ($0.bookmarkCategoryIDS?.components(separatedBy: ",").first == "18" || $0.bookmarkCategoryIDS?.components(separatedBy: ",").last == "18") }
|
||||
|
||||
// Deleting the hindi series from main (those with category ID "18")
|
||||
for (index, element) in favListingData!.showData!.enumerated() {
|
||||
let bookMarkCatID = element.bookmarkCategoryIDS?.components(separatedBy: ",")
|
||||
if let data = favListingData?.showData{
|
||||
var indicesToRemove = [Int]()
|
||||
|
||||
// Deleting the hindi series from main (those with category ID "18")
|
||||
for (index, element) in data.enumerated() {
|
||||
if let bookMarkCatID = element.bookmarkCategoryIDS?.components(separatedBy: ","){
|
||||
if bookMarkCatID.count > 1{
|
||||
hindiData[index].bookmarkCategoryIDS = "1"
|
||||
}else{
|
||||
indicesToRemove.append(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if bookMarkCatID?.count == 2{
|
||||
hindiData[index-1].bookmarkCategoryIDS = "1"
|
||||
}else{
|
||||
|
||||
hindiData.remove(at: index-1)
|
||||
// Remove items in reverse order to avoid index shifting issues
|
||||
for index in indicesToRemove.reversed() {
|
||||
hindiData.remove(at: index)
|
||||
}
|
||||
}
|
||||
|
||||
// hindiData.removeAll { $0.bookmarkCategoryIDS?.components(separatedBy: ",").count == 1 ? $0.bookmarkCategoryIDS? }
|
||||
|
||||
|
||||
// Updating the showData with the filtered list
|
||||
favListingData?.showData = hindiData
|
||||
}
|
||||
|
||||
@@ -215,3 +215,10 @@
|
||||
"Karaoke" = "कराओके";
|
||||
"Games" = "खेल";
|
||||
|
||||
|
||||
/*
|
||||
Web Series
|
||||
*/
|
||||
|
||||
"Select Video Language" = "वीडियो भाषा चुनें";
|
||||
"TRAILER" = "ट्रेलर";
|
||||
|
||||
@@ -83,6 +83,7 @@ struct APIEndPoints {
|
||||
static let continue_watching = makeURL(path: "continue_watching")
|
||||
static let watch_show_listing = makeURL(path: "watch_show_listing")
|
||||
static let category_listing = makeURL(path: "category_listing")
|
||||
static let season_listing = makeURL(path: "season_listing")
|
||||
}
|
||||
|
||||
// Other endpoint categories...
|
||||
|
||||
158
WOKA/WebSeries/Controller/WebSeriesSeasonVC.swift
Normal file
@@ -0,0 +1,158 @@
|
||||
//
|
||||
// WebSeriesSeasonVC.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 20/06/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class WebSeriesSeasonVC: UIViewController {
|
||||
|
||||
var vm = WebSeriesSeasonVM()
|
||||
|
||||
@IBOutlet weak var seasonImage: UIImageView!
|
||||
@IBOutlet weak var seasonTitle: UILabel!
|
||||
@IBOutlet weak var seasonDate: UILabel!
|
||||
@IBOutlet weak var seasonEpisodes: UILabel!
|
||||
@IBOutlet weak var seasonMediaType: UILabel!
|
||||
@IBOutlet weak var seasonDesc: UILabel!
|
||||
|
||||
@IBOutlet weak var categoryCV: UICollectionView!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
vm.vc = self
|
||||
vm.initView()
|
||||
|
||||
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
|
||||
navigationController?.navigationBar.shadowImage = UIImage()
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
navigationController?.setNavigationBarHidden(false, animated: animated)
|
||||
self.navigationController?.setColor(color: .white)
|
||||
}
|
||||
|
||||
override func viewWillDisappear(_ animated: Bool) {
|
||||
super.viewWillDisappear(animated)
|
||||
self.navigationController?.setNavigationBarHidden(true, animated: animated)
|
||||
}
|
||||
|
||||
override func viewDidDisappear(_ animated: Bool) {
|
||||
super.viewDidDisappear(animated)
|
||||
|
||||
// Customize the navigation bar's appearance
|
||||
self.navigationController?.setColor(color: .black)
|
||||
}
|
||||
|
||||
|
||||
@IBAction func watchBtnTapped(_ sender: LocalisedElementsButton) {
|
||||
}
|
||||
|
||||
@IBAction func btnTapped(_ sender: LocalisedElementsButton) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - CollectionView Delegate
|
||||
|
||||
extension WebSeriesSeasonVC : CollectionViewSRC{
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
|
||||
return vm.seasonListingData.count
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
||||
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.WebSeries.seasonCategoryCell, for: indexPath) as! SeasonCategoryCell
|
||||
|
||||
let data = vm.seasonListingData[indexPath.row]
|
||||
cell.setData(title: data.seasonNumber ?? "Season", iselected: indexPath.row == vm.selectedCateogory)
|
||||
return cell
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
|
||||
print(indexPath.row)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Collection Flow Layout
|
||||
|
||||
extension WebSeriesSeasonVC : UICollectionViewDelegateFlowLayout{
|
||||
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
|
||||
// Generate a random string for testing purposes
|
||||
let randomText = vm.seasonListingData[indexPath.row].seasonNumber!
|
||||
|
||||
// Define the font for the text
|
||||
let font = FontCustom.shareInstance.customFont(fontName: .Exo2_Bold, size: 18) // You can adjust the font size as needed
|
||||
|
||||
// Calculate the width of the text
|
||||
let textWidth = randomText.size(withAttributes: [.font: font]).width
|
||||
|
||||
// Set the cell width based on the text width and any additional padding
|
||||
let cellWidth = textWidth + 25 // Add any additional spacing you want
|
||||
|
||||
return CGSize(width: cellWidth, height: 50)
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
|
||||
section == 0 ? 15 : 5
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
|
||||
UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Helper method to calculate text width
|
||||
extension String {
|
||||
func width(withConstrainedHeight height: CGFloat, font: UIFont) -> CGFloat {
|
||||
let constraintRect = CGSize(width: .greatestFiniteMagnitude, height: height)
|
||||
let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [.font: font], context: nil)
|
||||
return ceil(boundingBox.width)
|
||||
}
|
||||
}
|
||||
|
||||
@IBDesignable
|
||||
class VerticalButton: UIButton {
|
||||
|
||||
@IBInspectable public var padding: CGFloat = 20.0 {
|
||||
didSet {
|
||||
setNeedsLayout()
|
||||
}
|
||||
}
|
||||
|
||||
override var intrinsicContentSize: CGSize {
|
||||
let maxSize = CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude)
|
||||
|
||||
if let titleSize = titleLabel?.sizeThatFits(maxSize), let imageSize = imageView?.sizeThatFits(maxSize) {
|
||||
let width = ceil(max(imageSize.width, titleSize.width))
|
||||
let height = ceil(imageSize.height + titleSize.height + padding)
|
||||
|
||||
return CGSize(width: width, height: height)
|
||||
}
|
||||
|
||||
return super.intrinsicContentSize
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
if let image = imageView?.image, let title = titleLabel?.attributedText {
|
||||
let imageSize = image.size
|
||||
let titleSize = title.size()
|
||||
|
||||
if effectiveUserInterfaceLayoutDirection == .leftToRight {
|
||||
titleEdgeInsets = UIEdgeInsets(top: 0.0, left: -imageSize.width, bottom: -(imageSize.height + padding), right: 0.0)
|
||||
imageEdgeInsets = UIEdgeInsets(top: -(titleSize.height + padding), left: 0.0, bottom: 0.0, right: -titleSize.width)
|
||||
}
|
||||
else {
|
||||
titleEdgeInsets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: -(imageSize.height + padding), right: -imageSize.width)
|
||||
imageEdgeInsets = UIEdgeInsets(top: -(titleSize.height + padding), left: -titleSize.width, bottom: 0.0, right: 0.0)
|
||||
}
|
||||
}
|
||||
|
||||
super.layoutSubviews()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,7 +9,11 @@ import UIKit
|
||||
|
||||
class WebSeriesVC: UIViewController {
|
||||
|
||||
@IBOutlet weak var headerView: UIView!
|
||||
@IBOutlet weak var headerView: ShimmerEffectView!
|
||||
@IBOutlet weak var masilaTrailerView: ShimmerEffectView!
|
||||
|
||||
@IBOutlet weak var videoLanguageView: ShimmerEffectView!
|
||||
|
||||
@IBOutlet weak var topLabel: UILabel!
|
||||
@IBOutlet weak var scrollView: UIScrollView!
|
||||
@IBOutlet weak var headerViewTopConstraint: NSLayoutConstraint!
|
||||
@@ -23,6 +27,8 @@ class WebSeriesVC: UIViewController {
|
||||
@IBOutlet weak var showListingTableView: UITableView!
|
||||
@IBOutlet weak var tableHeight: NSLayoutConstraint!
|
||||
|
||||
@IBOutlet weak var continueWatchingStack: UIStackView!
|
||||
|
||||
var vm = WebSeriesVM()
|
||||
|
||||
override func viewDidLoad() {
|
||||
@@ -66,15 +72,20 @@ class WebSeriesVC: UIViewController {
|
||||
extension WebSeriesVC : TableViewSRC{
|
||||
|
||||
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||
return vm.showData.count
|
||||
return vm.showData.count == 0 ? 2 : vm.showData.count
|
||||
}
|
||||
|
||||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: K.CellIdentifier.WebSeries.webSeriesShowListingCell) as! WebSeriesShowListingCell
|
||||
let data = vm.showData[indexPath.row]
|
||||
let categoryID = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id ?? 0
|
||||
|
||||
cell.setData(data: data,selectedCategory: categoryID)
|
||||
if vm.showData.count == 0{
|
||||
cell.showShimmer()
|
||||
}else{
|
||||
let data = vm.showData[indexPath.row]
|
||||
let categoryID = vm.categoryListingData[vm.dropDownModule.indexForSelectedRow ?? 0].id ?? 0
|
||||
cell.setData(data: data,selectedCategory: categoryID)
|
||||
cell.stopShimmer()
|
||||
}
|
||||
|
||||
cell.btnTapped = { [self] (type) -> Void in
|
||||
updateFavLikes(type: type, index: indexPath.row)
|
||||
@@ -179,7 +190,17 @@ extension WebSeriesVC : TableViewSRC{
|
||||
}
|
||||
|
||||
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
||||
print(indexPath.row)
|
||||
if vm.showData.count == 0 {return}
|
||||
let showData = vm.showData[indexPath.row]
|
||||
|
||||
let sb = UIStoryboard(name: K.StoryBoard.webSeries, bundle: nil)
|
||||
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.WebSeries.webSeriesSeasonVC) as! WebSeriesSeasonVC
|
||||
vcPush.vm.watchShowID = showData.id
|
||||
if let selectedIndex = vm.dropDownModule.indexForSelectedRow{
|
||||
let categoryID = vm.categoryListingData[selectedIndex]
|
||||
vcPush.vm.categoryID = categoryID.id
|
||||
}
|
||||
self.navigationController?.pushViewController(vcPush, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
71
WOKA/WebSeries/Model/SeasonListingDM.swift
Normal file
@@ -0,0 +1,71 @@
|
||||
//
|
||||
// SeasonListingDM.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 20/06/24.
|
||||
//
|
||||
|
||||
|
||||
import Foundation
|
||||
|
||||
// MARK: - SeasonListingDM
|
||||
struct SeasonListingDM: Codable {
|
||||
let result: [Result]?
|
||||
let totalRecords: Int?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case result
|
||||
case totalRecords = "total_records"
|
||||
}
|
||||
|
||||
// MARK: - Result
|
||||
struct Result: Codable {
|
||||
let id, watchShowsMasterID: Int?
|
||||
let categoryMasterID, seasonNumber: String?
|
||||
let noOfEpisodes: Int?
|
||||
let seasonDescription: String?
|
||||
let releaseYear: Int?
|
||||
let seasonTitle: String?
|
||||
let trailerURL: String?
|
||||
let thumbnailPath: String?
|
||||
let thumbnailImgURL: String?
|
||||
let tagsKeyword, releaseDate, mediaType: String?
|
||||
let seasonMoreDetails: [SeasonMoreDetail]?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case watchShowsMasterID = "watch_shows_master_id"
|
||||
case categoryMasterID = "category_master_id"
|
||||
case seasonNumber = "season_number"
|
||||
case noOfEpisodes = "no_of_episodes"
|
||||
case seasonDescription = "season_description"
|
||||
case releaseYear = "release_year"
|
||||
case seasonTitle = "season_title"
|
||||
case trailerURL = "trailer_url"
|
||||
case thumbnailPath = "thumbnail_path"
|
||||
case thumbnailImgURL = "thumbnail_img_url"
|
||||
case tagsKeyword = "tags_keyword"
|
||||
case releaseDate = "release_date"
|
||||
case mediaType = "media_type"
|
||||
case seasonMoreDetails = "season_more_details"
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - SeasonMoreDetail
|
||||
struct SeasonMoreDetail: Codable {
|
||||
let id, contentID, postType, languageMasterID: Int?
|
||||
let title, description, tagsKeywords: String?
|
||||
let trailerHDURL, trailerSDURL: String?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case contentID = "content_id"
|
||||
case postType = "post_type"
|
||||
case languageMasterID = "language_master_id"
|
||||
case title, description
|
||||
case tagsKeywords = "tags_keywords"
|
||||
case trailerHDURL = "trailer_hd_url"
|
||||
case trailerSDURL = "trailer_sd_url"
|
||||
}
|
||||
}
|
||||
}
|
||||
38
WOKA/WebSeries/View/SeasonCategoryCell.swift
Normal file
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// SeasonCategoryCell.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 20/06/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class SeasonCategoryCell: UICollectionViewCell {
|
||||
|
||||
@IBOutlet weak var categoryTitle: UILabel!
|
||||
@IBOutlet weak var outerView: UIView!
|
||||
|
||||
override func awakeFromNib() {
|
||||
super.awakeFromNib()
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
outerView.roundCorner()
|
||||
}
|
||||
|
||||
func setData(title : String , iselected : Bool){
|
||||
self.categoryTitle.text = title
|
||||
selectDeselect(isSelected: iselected)
|
||||
}
|
||||
|
||||
func selectDeselect(isSelected : Bool){
|
||||
if isSelected{
|
||||
outerView.backgroundColor = #colorLiteral(red: 0.4495816827, green: 0.2344398499, blue: 0.8120074868, alpha: 1)
|
||||
categoryTitle.textColor = .white
|
||||
}else{
|
||||
outerView.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
|
||||
categoryTitle.textColor = .black
|
||||
}
|
||||
}
|
||||
}
|
||||
56
WOKA/WebSeries/View/SeasonCategoryCell.xib
Normal file
@@ -0,0 +1,56 @@
|
||||
<?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" reuseIdentifier="SeasonCategoryCell" id="gTV-IL-0wX" customClass="SeasonCategoryCell" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="193" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="193" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HMN-pO-RGh">
|
||||
<rect key="frame" x="10" y="5" width="173" height="48"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="83B-dW-gdG">
|
||||
<rect key="frame" x="10" y="0.0" width="153" height="48"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-SemiBold" family="Exo 2" pointSize="18"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="83B-dW-gdG" secondAttribute="bottom" id="KH0-hj-diX"/>
|
||||
<constraint firstAttribute="trailing" secondItem="83B-dW-gdG" secondAttribute="trailing" constant="10" id="SZk-hQ-AoF"/>
|
||||
<constraint firstItem="83B-dW-gdG" firstAttribute="leading" secondItem="HMN-pO-RGh" secondAttribute="leading" constant="10" id="bPU-V8-tsf"/>
|
||||
<constraint firstItem="83B-dW-gdG" firstAttribute="top" secondItem="HMN-pO-RGh" secondAttribute="top" id="mgG-mx-kxk"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
</view>
|
||||
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="HMN-pO-RGh" secondAttribute="trailing" constant="10" id="ERp-LI-fWH"/>
|
||||
<constraint firstItem="HMN-pO-RGh" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="hc8-Nb-nf4"/>
|
||||
<constraint firstAttribute="bottom" secondItem="HMN-pO-RGh" secondAttribute="bottom" constant="5" id="lwt-U3-qk0"/>
|
||||
<constraint firstItem="HMN-pO-RGh" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="5" id="r30-MA-j6Q"/>
|
||||
</constraints>
|
||||
<size key="customSize" width="193" height="58"/>
|
||||
<connections>
|
||||
<outlet property="categoryTitle" destination="83B-dW-gdG" id="2uE-ew-EY9"/>
|
||||
<outlet property="outerView" destination="HMN-pO-RGh" id="Fg8-sO-f0l"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="248.09160305343511" y="22.535211267605636"/>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
@@ -14,6 +14,7 @@ class WebSeriesShowListingCell: UITableViewCell {
|
||||
@IBOutlet weak var totalLikes: UILabel!
|
||||
@IBOutlet weak var likeBtn: UIButton!
|
||||
@IBOutlet weak var favBtn: UIButton!
|
||||
@IBOutlet weak var shimmerView: ShimmerEffectView!
|
||||
|
||||
typealias btnTappedBlock = ( _ from : FavCellCLick) -> Void // 0 - plus 1 - minus
|
||||
var btnTapped : btnTappedBlock!
|
||||
@@ -22,7 +23,15 @@ class WebSeriesShowListingCell: UITableViewCell {
|
||||
super.awakeFromNib()
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
|
||||
func showShimmer(){
|
||||
shimmerView.startShimmer()
|
||||
}
|
||||
|
||||
func stopShimmer(){
|
||||
shimmerView.stopShimmer()
|
||||
}
|
||||
|
||||
func setData(data : WebSeriesShowListDM.ShowDatum, selectedCategory : Int){
|
||||
//heart.fill , heart , hand.thumbsup.fill , hand.thumbsup
|
||||
if AuthFunc.shareInstance.getDefaultLanguage() == .english{
|
||||
@@ -69,8 +78,6 @@ class WebSeriesShowListingCell: UITableViewCell {
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@IBAction func btnTapped(_ sender: UIButton) {
|
||||
|
||||
@@ -24,98 +24,110 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="517" height="244"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" axis="vertical" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="G54-zR-8Xw">
|
||||
<rect key="frame" x="5" y="5" width="507" height="234"/>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sbJ-4V-z2d" customClass="ShimmerEffectView" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="5" y="5" width="507" height="228"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="EAi-LC-2U0">
|
||||
<rect key="frame" x="10" y="10" width="487" height="176"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="170" id="yPf-xi-Xrf"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="5"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" distribution="equalSpacing" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="nyj-pp-g9k">
|
||||
<rect key="frame" x="10" y="189" width="487" height="40"/>
|
||||
<stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="G54-zR-8Xw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="507" height="228"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m8K-7d-Jib">
|
||||
<rect key="frame" x="0.0" y="12.333333333333343" width="34" height="15.666666666666664"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" alignment="bottom" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="Yeo-E9-Zv6">
|
||||
<rect key="frame" x="355.33333333333331" y="0.0" width="131.66666666666669" height="40"/>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="EAi-LC-2U0">
|
||||
<rect key="frame" x="10" y="10" width="487" height="170"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="170" id="yPf-xi-Xrf"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="5"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" distribution="equalSpacing" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="nyj-pp-g9k">
|
||||
<rect key="frame" x="10" y="183" width="487" height="40"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="BXr-9k-Qk2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="131.66666666666666" height="40"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m8K-7d-Jib">
|
||||
<rect key="frame" x="0.0" y="12.333333333333343" width="34" height="15.666666666666664"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" alignment="bottom" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="Yeo-E9-Zv6">
|
||||
<rect key="frame" x="355.33333333333331" y="0.0" width="131.66666666666669" height="40"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1hk-86-QRw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="1hk-86-QRw" secondAttribute="height" multiplier="1:1" id="xxl-2N-8EP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JZR-Nd-wLM">
|
||||
<rect key="frame" x="42" y="0.0" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="JZR-Nd-wLM" secondAttribute="height" multiplier="1:1" id="atx-c5-FRS"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="hand.thumbsup.fill" catalog="system"/>
|
||||
<connections>
|
||||
<action selector="btnTapped:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="EuW-HE-LQb"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1ig-SQ-qye">
|
||||
<rect key="frame" x="84" y="0.0" width="5.6666666666666714" height="40"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JKZ-Mx-BE0">
|
||||
<rect key="frame" x="91.666666666666686" y="0.0" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="JKZ-Mx-BE0" secondAttribute="height" multiplier="1:1" id="Klv-tP-CFQ"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="heart.fill" catalog="system"/>
|
||||
<connections>
|
||||
<action selector="btnTapped:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="Lac-h1-kbx"/>
|
||||
</connections>
|
||||
</button>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="BXr-9k-Qk2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="131.66666666666666" height="40"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1hk-86-QRw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="1hk-86-QRw" secondAttribute="height" multiplier="1:1" id="xxl-2N-8EP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JZR-Nd-wLM">
|
||||
<rect key="frame" x="42" y="0.0" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="JZR-Nd-wLM" secondAttribute="height" multiplier="1:1" id="atx-c5-FRS"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="hand.thumbsup.fill" catalog="system"/>
|
||||
<connections>
|
||||
<action selector="btnTapped:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="EuW-HE-LQb"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1ig-SQ-qye">
|
||||
<rect key="frame" x="84" y="0.0" width="5.6666666666666714" height="40"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JKZ-Mx-BE0">
|
||||
<rect key="frame" x="91.666666666666686" y="0.0" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="JKZ-Mx-BE0" secondAttribute="height" multiplier="1:1" id="Klv-tP-CFQ"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="heart.fill" catalog="system"/>
|
||||
<connections>
|
||||
<action selector="btnTapped:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="Lac-h1-kbx"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="eHz-Hw-4GD"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="eHz-Hw-4GD"/>
|
||||
</constraints>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="layoutMargins" top="10" left="10" bottom="5" right="10"/>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="layoutMargins" top="10" left="10" bottom="5" right="10"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="G54-zR-8Xw" secondAttribute="trailing" id="R4z-Z4-Zrf"/>
|
||||
<constraint firstItem="G54-zR-8Xw" firstAttribute="leading" secondItem="sbJ-4V-z2d" secondAttribute="leading" id="UT7-xk-tyD"/>
|
||||
<constraint firstItem="G54-zR-8Xw" firstAttribute="top" secondItem="sbJ-4V-z2d" secondAttribute="top" id="mnF-1N-aYV"/>
|
||||
<constraint firstAttribute="bottom" secondItem="G54-zR-8Xw" secondAttribute="bottom" id="o5s-L8-erL"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="5"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</stackView>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="G54-zR-8Xw" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="Mzr-1D-4EY"/>
|
||||
<constraint firstItem="G54-zR-8Xw" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="ZAr-tc-Dd5"/>
|
||||
<constraint firstAttribute="trailing" secondItem="G54-zR-8Xw" secondAttribute="trailing" constant="5" id="lD2-m8-2nk"/>
|
||||
<constraint firstAttribute="bottom" secondItem="G54-zR-8Xw" secondAttribute="bottom" constant="5" id="rf1-fD-USN"/>
|
||||
<constraint firstAttribute="bottom" secondItem="sbJ-4V-z2d" secondAttribute="bottom" constant="5" id="FYN-Aj-h4V"/>
|
||||
<constraint firstAttribute="trailing" secondItem="sbJ-4V-z2d" secondAttribute="trailing" constant="5" id="Ga2-qR-nby"/>
|
||||
<constraint firstItem="sbJ-4V-z2d" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="olh-aX-bkU"/>
|
||||
<constraint firstItem="sbJ-4V-z2d" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="xCg-EJ-cU3"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
|
||||
@@ -123,6 +135,7 @@
|
||||
<connections>
|
||||
<outlet property="favBtn" destination="JKZ-Mx-BE0" id="RmY-pT-bZ9"/>
|
||||
<outlet property="likeBtn" destination="JZR-Nd-wLM" id="dfG-hW-1PZ"/>
|
||||
<outlet property="shimmerView" destination="sbJ-4V-z2d" id="kPj-ZS-OLX"/>
|
||||
<outlet property="showThumbnail" destination="EAi-LC-2U0" id="UqK-Mv-yaC"/>
|
||||
<outlet property="showTitle" destination="m8K-7d-Jib" id="uK6-U5-gBN"/>
|
||||
<outlet property="totalLikes" destination="1ig-SQ-qye" id="XAw-XE-AYg"/>
|
||||
|
||||
102
WOKA/WebSeries/ViewModel/WebSeriesSeasonVM.swift
Normal file
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// WebSeriesSeasonVM.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 20/06/24.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Alamofire
|
||||
|
||||
class WebSeriesSeasonVM{
|
||||
|
||||
weak var vc : WebSeriesSeasonVC!
|
||||
|
||||
var watchShowID : Int?
|
||||
var categoryID : Int?
|
||||
|
||||
var selectedCateogory = 0
|
||||
|
||||
var seasonListingData = [SeasonListingDM.Result]()
|
||||
|
||||
func initView(){
|
||||
getSeasonListing()
|
||||
setupCell()
|
||||
}
|
||||
|
||||
func setupCell(){
|
||||
vc.categoryCV.register(UINib(nibName: K.CellIdentifier.WebSeries.seasonCategoryCell, bundle: nil), forCellWithReuseIdentifier: K.CellIdentifier.WebSeries.seasonCategoryCell)
|
||||
vc.categoryCV.delegate = vc.self
|
||||
vc.categoryCV.dataSource = vc.self
|
||||
}
|
||||
|
||||
// MARK: - Api Calls
|
||||
|
||||
func getSeasonListing(){
|
||||
Utilities.startProgressHUD()
|
||||
guard let watchShowID, let categoryID else{return}
|
||||
let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
|
||||
let params : Parameters = ["watch_show_id" : watchShowID,
|
||||
"category_id" : categoryID]
|
||||
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.WebSeries.season_listing, method: .post,parameters: params,headers : headers) { [weak self](result : Result<BaseResponseModel<SeasonListingDM>, NetworkManager.APIError>) in
|
||||
switch result{
|
||||
case .success(let data):
|
||||
guard let self else{
|
||||
Utilities.dismissProgressHUD()
|
||||
return
|
||||
}
|
||||
switch data.success{
|
||||
case 0:
|
||||
/*
|
||||
Error
|
||||
*/
|
||||
Utilities.dismissProgressHUD()
|
||||
vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
case 1:
|
||||
Utilities.dismissProgressHUD()
|
||||
guard let data = data.data?.result else{return}
|
||||
self.seasonListingData = data
|
||||
setSeasonData()
|
||||
self.vc.categoryCV.reloadData()
|
||||
default:
|
||||
break
|
||||
}
|
||||
case .failure(let error):
|
||||
guard let self else{
|
||||
Utilities.dismissProgressHUD()
|
||||
return
|
||||
}
|
||||
Utilities.dismissProgressHUD()
|
||||
vc.toast(msg: error.localizedDescription , time: 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func setSeasonData(){
|
||||
guard let data = seasonListingData.first else{return}
|
||||
vc.seasonImage.imageURL(data.thumbnailPath!, color: UIColor.appColor(.TextDarkBlue)!)
|
||||
|
||||
if AuthFunc.shareInstance.getDefaultLanguage() == .english{
|
||||
let englishData = data.seasonMoreDetails?.filter({$0.languageMasterID == 1}).first
|
||||
vc.seasonTitle.text = englishData?.title
|
||||
|
||||
if let desc = englishData?.description?.replacingOccurrences(of: "<br>", with: "").htmlToAttributedString{
|
||||
let sizeText = NSMutableAttributedString(attributedString: desc)
|
||||
sizeText.setFontFace(font: FontCustom.shareInstance.customFont(fontName: .Exo2_Regular, size: 15),color: UIColor.appColor(.TextDarkBlue)!)
|
||||
self.vc.seasonDesc.attributedText = sizeText
|
||||
}
|
||||
}else{
|
||||
let hindiData = data.seasonMoreDetails?.filter({$0.languageMasterID == 2}).first
|
||||
vc.seasonTitle.text = hindiData?.title
|
||||
if let desc = hindiData?.description?.replacingOccurrences(of: "<br>", with: "").htmlToAttributedString{
|
||||
let sizeText = NSMutableAttributedString(attributedString: desc)
|
||||
sizeText.setFontFace(font: FontCustom.shareInstance.customFont(fontName: .Exo2_Regular, size: 15),color: UIColor.appColor(.TextDarkBlue)!)
|
||||
self.vc.seasonDesc.attributedText = sizeText
|
||||
}
|
||||
}
|
||||
|
||||
vc.seasonDate.text = data.releaseYear?.toString()
|
||||
vc.seasonEpisodes.text = data.noOfEpisodes?.toString()
|
||||
vc.seasonMediaType.text = data.mediaType
|
||||
}
|
||||
}
|
||||
@@ -13,12 +13,20 @@ class WebSeriesVM{
|
||||
weak var vc : WebSeriesVC!
|
||||
var continueWatchingData = [ContinueWatchingDM.ResultData]()
|
||||
var categoryListingData = [CategoryListingDM.ResultData]()
|
||||
|
||||
var showData = [WebSeriesShowListDM.ShowDatum]()
|
||||
|
||||
let dropDownModule = DropDown()
|
||||
var dataSource = [String]()
|
||||
|
||||
func initView(){
|
||||
setupCell()
|
||||
self.vc.tableHeight.constant = self.vc.showListingTableView.contentSize.height + 100
|
||||
self.vc.showListingTableView.layoutIfNeeded()
|
||||
self.vc.tableHeight.constant = self.vc.showListingTableView.contentSize.height
|
||||
|
||||
startShimmer()
|
||||
|
||||
vc.scrollView.indicatorStyle = .white // or .white
|
||||
|
||||
let color1 = #colorLiteral(red: 0.5921568627, green: 0.2588235294, blue: 0.8941176471, alpha: 1)
|
||||
@@ -31,14 +39,25 @@ class WebSeriesVM{
|
||||
getCategoryListing()
|
||||
|
||||
// for the first load always send hindi as it is default category
|
||||
getShowListing(categoryID: 18)
|
||||
self.getShowListing(categoryID: 18)
|
||||
|
||||
vc.languageStack.addTapGesture { [weak self] in
|
||||
guard let self else {return}
|
||||
dropDownModule.show()
|
||||
self.vc.expandBtn.setImage(UIImage(named: "SupportUpArrow"), for: .normal)
|
||||
}
|
||||
setupCell()
|
||||
}
|
||||
|
||||
func startShimmer(){
|
||||
vc.headerView.startShimmer()
|
||||
vc.masilaTrailerView.startShimmer()
|
||||
vc.videoLanguageView.startShimmer()
|
||||
}
|
||||
|
||||
func stopShimmer(){
|
||||
self.vc.headerView.stopShimmer()
|
||||
self.vc.masilaTrailerView.stopShimmer()
|
||||
self.vc.videoLanguageView.stopShimmer()
|
||||
}
|
||||
|
||||
func setupCell(){
|
||||
@@ -69,6 +88,13 @@ class WebSeriesVM{
|
||||
dropDownModule.selectionBackgroundColor = UIColor.appColor(.TextDarkBlue)!
|
||||
dropDownModule.selectedTextColor = .white
|
||||
dropDownModule.selectRow(at: 0)
|
||||
|
||||
// handle if user clicks outside
|
||||
dropDownModule.cancelAction = { [weak self] in
|
||||
guard let self else{return}
|
||||
vc.expandBtn.setImage(UIImage(named: "SupportBottomArrow"), for: .normal)
|
||||
}
|
||||
|
||||
dropDownModule.selectionAction = { [weak self] (index: Int, item: String) in
|
||||
guard let self else{return}
|
||||
vc.languageLabel.text = item
|
||||
@@ -84,9 +110,8 @@ class WebSeriesVM{
|
||||
// MARK: - Api Calls
|
||||
|
||||
func getContinueWatching(){
|
||||
Utilities.startProgressHUD()
|
||||
// let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
|
||||
let headers : HTTPHeaders = ["access-token" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3dva2FsYW5kLmNvbS9hZG1pbi9hcGkvbG9naW5fcHJvY2VlZCIsImlhdCI6MTcxODcxNTk4OSwiZXhwIjoxNzUwMjUxOTg5LCJuYmYiOjE3MTg3MTU5ODksImp0aSI6Ilh1QzVIdjY1RkcwQ1hqUkYiLCJzdWIiOiIyMTYiLCJwcnYiOiIyM2JkNWM4OTQ5ZjYwMGFkYjM5ZTcwMWM0MDA4NzJkYjdhNTk3NmY3In0.w8AfPv_6WUoDiBRcJzHz036qhaxfw_R9Gcb2C2wGLvs"]
|
||||
// Utilities.startProgressHUD()
|
||||
let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
|
||||
let params : Parameters = ["post_type" : 3] // 3- webseries
|
||||
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.WebSeries.continue_watching, method: .post,parameters: params,headers : headers) { [weak self](result : Result<BaseResponseModel<ContinueWatchingDM>, NetworkManager.APIError>) in
|
||||
switch result{
|
||||
@@ -101,10 +126,16 @@ class WebSeriesVM{
|
||||
Error
|
||||
*/
|
||||
Utilities.dismissProgressHUD()
|
||||
vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
// vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
self.vc.continueWatchingStack.isHidden = true
|
||||
case 1:
|
||||
Utilities.dismissProgressHUD()
|
||||
guard let data = data.data?.result else{return}
|
||||
if data.count == 0{
|
||||
self.vc.continueWatchingStack.isHidden = true
|
||||
}else{
|
||||
self.vc.continueWatchingStack.isHidden = false
|
||||
}
|
||||
self.continueWatchingData = data
|
||||
self.vc.continueWatchingCV.reloadData()
|
||||
default:
|
||||
@@ -116,13 +147,14 @@ class WebSeriesVM{
|
||||
return
|
||||
}
|
||||
Utilities.dismissProgressHUD()
|
||||
self.vc.continueWatchingStack.isHidden = true
|
||||
vc.toast(msg: error.localizedDescription , time: 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getShowListing(categoryID : Int){
|
||||
Utilities.startProgressHUD()
|
||||
// Utilities.startProgressHUD()
|
||||
let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
|
||||
let params : Parameters = ["category_id" : categoryID] // from category listing api , default will be 1
|
||||
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.WebSeries.watch_show_listing, method: .post,parameters: params,headers: headers) { [weak self](result : Result<BaseResponseModel<WebSeriesShowListDM>, NetworkManager.APIError>) in
|
||||
@@ -147,7 +179,9 @@ class WebSeriesVM{
|
||||
self.vc.showListingTableView.reloadData()
|
||||
self.vc.tableHeight.constant = self.vc.showListingTableView.contentSize.height + 100
|
||||
self.vc.showListingTableView.layoutIfNeeded()
|
||||
self.vc.tableHeight.constant = self.vc.showListingTableView.contentSize.height
|
||||
self.vc.tableHeight.constant = self.vc.showListingTableView.contentSize.height
|
||||
|
||||
self.stopShimmer()
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -163,7 +197,7 @@ class WebSeriesVM{
|
||||
}
|
||||
|
||||
func getCategoryListing(){
|
||||
Utilities.startProgressHUD()
|
||||
// Utilities.startProgressHUD()
|
||||
let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
|
||||
let params : Parameters = ["module_id" : 7] // 7 - webseries
|
||||
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.WebSeries.category_listing, method: .post,parameters: params,headers : headers) { [weak self](result : Result<BaseResponseModel<CategoryListingDM>, NetworkManager.APIError>) in
|
||||
|
||||
@@ -6,12 +6,19 @@
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
|
||||
<capability name="Named colors" minToolsVersion="9.0"/>
|
||||
<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-Medium.ttf">
|
||||
<string>Exo2-Medium</string>
|
||||
</array>
|
||||
<array key="Exo2-Regular.ttf">
|
||||
<string>Exo2-Regular</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<scenes>
|
||||
<!--Web SeriesVC-->
|
||||
@@ -22,7 +29,7 @@
|
||||
<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="bTO-Ql-tyN">
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bTO-Ql-tyN" customClass="ShimmerEffectView" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="59" width="393" height="200"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="MasilaComingSoon" translatesAutoresizingMaskIntoConstraints="NO" id="wnB-dE-0v3">
|
||||
@@ -37,49 +44,64 @@
|
||||
<constraint firstAttribute="height" constant="200" id="X2g-lr-CX0"/>
|
||||
<constraint firstItem="wnB-dE-0v3" firstAttribute="leading" secondItem="bTO-Ql-tyN" secondAttribute="leading" id="sQQ-a5-rhV"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="isSkeletonable" value="YES"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="0UD-sZ-RF4">
|
||||
<rect key="frame" x="0.0" y="259" width="393" height="593"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="tRo-aT-Zuf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="98"/>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cog-DZ-ib0" customClass="ShimmerEffectView" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="103"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MASILA" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RDe-bw-Rsd">
|
||||
<rect key="frame" x="145.66666666666666" y="0.0" width="102" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="niS-eQ-1x0"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="28"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vyo-SD-Uke" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="146.66666666666666" y="58" width="100" height="40"/>
|
||||
<color key="backgroundColor" red="0.36862745099999999" green="0.1215686275" blue="0.76862745099999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="Xr1-4J-QSr"/>
|
||||
<constraint firstAttribute="width" constant="100" id="wO4-9d-U0h"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="14"/>
|
||||
<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" title="TRAILER"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</button>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="tRo-aT-Zuf">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="103"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MASILA" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RDe-bw-Rsd">
|
||||
<rect key="frame" x="145.66666666666666" y="0.0" width="102" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="niS-eQ-1x0"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="28"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vyo-SD-Uke" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="136.66666666666666" y="58" width="119.99999999999997" height="45"/>
|
||||
<color key="backgroundColor" red="0.36862745099999999" green="0.1215686275" blue="0.76862745099999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="45" id="Xr1-4J-QSr"/>
|
||||
<constraint firstAttribute="width" constant="120" id="wO4-9d-U0h"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="14"/>
|
||||
<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" title="TRAILER"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="tRo-aT-Zuf" secondAttribute="bottom" id="1MS-kc-OFl"/>
|
||||
<constraint firstAttribute="trailing" secondItem="tRo-aT-Zuf" secondAttribute="trailing" id="DaK-Wx-IIH"/>
|
||||
<constraint firstItem="tRo-aT-Zuf" firstAttribute="top" secondItem="Cog-DZ-ib0" secondAttribute="top" id="Klr-U0-9LJ"/>
|
||||
<constraint firstItem="tRo-aT-Zuf" firstAttribute="leading" secondItem="Cog-DZ-ib0" secondAttribute="leading" id="icB-N3-EK6"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rom-H6-7RC">
|
||||
<rect key="frame" x="0.0" y="106" width="393" height="487"/>
|
||||
<rect key="frame" x="0.0" y="111" width="393" height="482"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="c6v-VU-iKP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="645"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="105"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="mFz-UO-YUA">
|
||||
<rect key="frame" x="10" y="0.0" width="373" height="270"/>
|
||||
<stackView hidden="YES" opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="mFz-UO-YUA">
|
||||
<rect key="frame" x="10" y="-270" width="373" height="270"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CONTINUE WATCHING" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l9e-Rq-ZI5">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="40"/>
|
||||
@@ -106,88 +128,80 @@
|
||||
</collectionView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="sVS-IL-R2M">
|
||||
<rect key="frame" x="10" y="285" width="373" height="90"/>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="emj-f9-sOE" customClass="ShimmerEffectView" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="373" height="90"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select Video Language" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4zk-yS-92w">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="fjV-kt-Sf2"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" translatesAutoresizingMaskIntoConstraints="NO" id="aqw-eq-zU5">
|
||||
<rect key="frame" x="0.0" y="40" width="373" height="50"/>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="sVS-IL-R2M">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="90"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yFH-vA-sul">
|
||||
<rect key="frame" x="0.0" y="0.0" width="205" height="50"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select Video Language" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4zk-yS-92w" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="fjV-kt-Sf2"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" translatesAutoresizingMaskIntoConstraints="NO" id="aqw-eq-zU5">
|
||||
<rect key="frame" x="0.0" y="40" width="373" height="50"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hindi" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Exa-2W-66W">
|
||||
<rect key="frame" x="15" y="10" width="150" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="RUF-0Z-y7n"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="15"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nJQ-BB-3U3">
|
||||
<rect key="frame" x="165" y="10" width="30" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="30" id="HRV-zm-4xd"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="SupportBottomArrow"/>
|
||||
<connections>
|
||||
<action selector="expandLanguageTapped:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="NlA-yz-KeY"/>
|
||||
</connections>
|
||||
</button>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yFH-vA-sul">
|
||||
<rect key="frame" x="0.0" y="0.0" width="205" height="50"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hindi" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Exa-2W-66W">
|
||||
<rect key="frame" x="15" y="10" width="150" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="RUF-0Z-y7n"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="15"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nJQ-BB-3U3">
|
||||
<rect key="frame" x="165" y="10" width="30" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="30" id="HRV-zm-4xd"/>
|
||||
</constraints>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="SupportBottomArrow"/>
|
||||
<connections>
|
||||
<action selector="expandLanguageTapped:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="NlA-yz-KeY"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="layoutMargins" top="10" left="15" bottom="10" right="10"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="layoutMargins" top="10" left="15" bottom="10" right="10"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="1hs-aK-S1w"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="1hs-aK-S1w"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="sVS-IL-R2M" secondAttribute="trailing" id="0SR-uh-Qae"/>
|
||||
<constraint firstItem="sVS-IL-R2M" firstAttribute="leading" secondItem="emj-f9-sOE" secondAttribute="leading" id="AfR-rc-7hK"/>
|
||||
<constraint firstItem="sVS-IL-R2M" firstAttribute="top" secondItem="emj-f9-sOE" secondAttribute="top" id="QNX-NF-BLU"/>
|
||||
<constraint firstAttribute="bottom" secondItem="sVS-IL-R2M" secondAttribute="bottom" id="uF5-sW-L0X"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="244" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="Oxv-4e-Qj0">
|
||||
<rect key="frame" x="10" y="390" width="373" height="0.0"/>
|
||||
<rect key="frame" x="10" y="105" width="373" height="0.0"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" id="WLI-rz-zRP"/>
|
||||
</constraints>
|
||||
</tableView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="DUm-IQ-hRU">
|
||||
<rect key="frame" x="10" y="405" width="373" height="240"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Labelsad" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NUp-lE-9Lp">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="05W-0e-kZ5"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" image="AboutKids" translatesAutoresizingMaskIntoConstraints="NO" id="6qQ-sF-he2">
|
||||
<rect key="frame" x="0.0" y="40" width="373" height="200"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="200" id="lxT-4m-HAv"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
|
||||
</stackView>
|
||||
@@ -220,29 +234,365 @@
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="continueWatchingCV" destination="SbC-xR-iRW" id="nKM-9B-Dk2"/>
|
||||
<outlet property="continueWatchingStack" destination="mFz-UO-YUA" id="amK-9N-Knf"/>
|
||||
<outlet property="expandBtn" destination="nJQ-BB-3U3" id="AZm-uJ-RpA"/>
|
||||
<outlet property="headerHeight" destination="X2g-lr-CX0" id="PAQ-Df-ZBb"/>
|
||||
<outlet property="headerView" destination="bTO-Ql-tyN" id="85Y-HZ-SN0"/>
|
||||
<outlet property="headerViewTopConstraint" destination="qkp-BT-BFx" id="5E7-T8-qUm"/>
|
||||
<outlet property="languageLabel" destination="Exa-2W-66W" id="e7q-aD-laV"/>
|
||||
<outlet property="languageStack" destination="yFH-vA-sul" id="pBj-Ph-i57"/>
|
||||
<outlet property="masilaTrailerView" destination="Cog-DZ-ib0" id="IMd-wS-yNh"/>
|
||||
<outlet property="scrollView" destination="rom-H6-7RC" id="8bD-vg-lG2"/>
|
||||
<outlet property="showListingTableView" destination="Oxv-4e-Qj0" id="Yye-0B-zRg"/>
|
||||
<outlet property="tableHeight" destination="WLI-rz-zRP" id="g40-aL-ik2"/>
|
||||
<outlet property="topLabel" destination="RDe-bw-Rsd" id="xAP-OV-KId"/>
|
||||
<outlet property="videoLanguageView" destination="emj-f9-sOE" id="Lam-Kb-bnh"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-63.358778625954194" y="3.5211267605633805"/>
|
||||
</scene>
|
||||
<!--Web Series SeasonVC-->
|
||||
<scene sceneID="GAx-2a-8fd">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="WebSeriesSeasonVC" id="sPj-Um-9Xm" customClass="WebSeriesSeasonVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="wXX-wW-Iuz">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" directionalLockEnabled="YES" showsHorizontalScrollIndicator="NO" indicatorStyle="white" bouncesZoom="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ka5-Rt-V3L">
|
||||
<rect key="frame" x="0.0" y="59" width="393" height="793"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="JVZ-ee-mig">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="1163"/>
|
||||
<subviews>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8zm-IG-hTk">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="553"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WebSeriesSeasonsBackground" translatesAutoresizingMaskIntoConstraints="NO" id="GF4-9m-aNo">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="553"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="5"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="ZDd-3v-Wdp">
|
||||
<rect key="frame" x="10" y="10" width="373" height="503"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Am7-iA-6bG">
|
||||
<rect key="frame" x="0.0" y="0.0" width="373" height="206"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ygJ-Op-sJP">
|
||||
<rect key="frame" x="8" y="8" width="357" height="190"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="ygJ-Op-sJP" secondAttribute="trailing" constant="8" id="5jT-M0-FSX"/>
|
||||
<constraint firstItem="ygJ-Op-sJP" firstAttribute="top" secondItem="Am7-iA-6bG" secondAttribute="top" constant="8" id="FMB-f9-hlG"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ygJ-Op-sJP" secondAttribute="bottom" constant="8" id="b4t-4K-wrZ"/>
|
||||
<constraint firstItem="ygJ-Op-sJP" firstAttribute="leading" secondItem="Am7-iA-6bG" secondAttribute="leading" constant="8" id="wSF-bR-JNe"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HN8-vD-Gdq">
|
||||
<rect key="frame" x="0.0" y="216" width="373" height="49"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="ntr-yk-kf0">
|
||||
<rect key="frame" x="0.0" y="0.0" width="340.66666666666669" height="49"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AdX-OP-Gcd">
|
||||
<rect key="frame" x="0.0" y="0.0" width="8.3333333333333339" height="24"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="kuj-dx-TZO">
|
||||
<rect key="frame" x="0.0" y="32" width="96" height="17"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3AX-wl-iqI">
|
||||
<rect key="frame" x="0.0" y="0.0" width="6.333333333333333" height="17"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Medium" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="3" translatesAutoresizingMaskIntoConstraints="NO" id="Hmw-jf-jyN">
|
||||
<rect key="frame" x="26.333333333333336" y="0.0" width="69.666666666666657" height="17"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="G0i-Q1-Tic">
|
||||
<rect key="frame" x="0.0" y="0.0" width="9" height="17"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Episodes" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F1N-Se-lI3">
|
||||
<rect key="frame" x="11.999999999999996" y="0.0" width="57.666666666666657" height="17"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Medium" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="4" translatesAutoresizingMaskIntoConstraints="NO" id="xUb-mJ-NC8">
|
||||
<rect key="frame" x="340.66666666666669" y="0.0" width="32.333333333333314" height="49"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="hand.thumbsup.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="eng-oC-d9H">
|
||||
<rect key="frame" x="0.0" y="0.66666666666666785" width="20" height="47.666666666666657"/>
|
||||
<color key="tintColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Egv-Cu-aPK">
|
||||
<rect key="frame" x="24" y="0.0" width="8.3333333333333357" height="49"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DLr-9j-LSn">
|
||||
<rect key="frame" x="0.0" y="275" width="373" height="168"/>
|
||||
<string key="text">A set of moral stories inspired from the interactions of Mughal Emperor Akbar and his wisest courtier Birbal. The Akbar Birbal stories have been especially edited to suit the young kids and each story teaches audience an important moral lesson. </string>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" distribution="equalCentering" translatesAutoresizingMaskIntoConstraints="NO" id="a0z-CH-xbi">
|
||||
<rect key="frame" x="0.0" y="453" width="373" height="50"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PzY-0K-yPM" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="140" height="50"/>
|
||||
<color key="backgroundColor" red="0.36862745099999999" green="0.1215686275" blue="0.76862745099999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="140" id="UqM-B3-bVp"/>
|
||||
<constraint firstAttribute="height" constant="50" id="ldT-CD-cmn"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<inset key="titleEdgeInsets" minX="10" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="WATCH" image="PlayButton"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="25"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="watchBtnTapped:" destination="sPj-Um-9Xm" eventType="touchUpInside" id="I1O-Rx-JeC"/>
|
||||
</connections>
|
||||
</button>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="6gf-lV-70S">
|
||||
<rect key="frame" x="233" y="0.0" width="140" height="50"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="iyr-1k-HHN">
|
||||
<rect key="frame" x="0.0" y="0.0" width="38.333333333333336" height="50"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" image="heart" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="QkS-fP-ADo">
|
||||
<rect key="frame" x="4.3333333333333428" y="1.9999999999999964" width="30" height="32.333333333333329"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="30" id="4SG-I2-B6S"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ADDED" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tlx-NG-HWl">
|
||||
<rect key="frame" x="0.0" y="35.333333333333371" width="38.333333333333336" height="14.666666666666664"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="12"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9xJ-TL-8CA">
|
||||
<rect key="frame" x="46.333333333333314" y="0.0" width="1" height="50"/>
|
||||
<color key="backgroundColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="0.80000000000000004" id="y2u-9V-Gis"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="Lag-16-uzP">
|
||||
<rect key="frame" x="55.333333333333314" y="0.0" width="36.666666666666657" height="50"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" image="ShareImage" translatesAutoresizingMaskIntoConstraints="NO" id="Azy-gL-vtW">
|
||||
<rect key="frame" x="3.3333333333333712" y="0.0" width="30" height="35.333333333333336"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="30" id="DYv-5U-6mY"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SHARE" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a4Q-xN-IE4">
|
||||
<rect key="frame" x="0.0" y="35.333333333333371" width="36.666666666666664" height="14.666666666666664"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="12"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gs2-gk-Fn0">
|
||||
<rect key="frame" x="100" y="0.0" width="0.6666666666666714" height="50"/>
|
||||
<color key="backgroundColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="0.80000000000000004" id="2M1-wj-hEy"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="8UJ-rG-fB2">
|
||||
<rect key="frame" x="108.66666666666669" y="0.0" width="31.333333333333343" height="50"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" image="hand.thumbsup" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="f9M-ON-9gL">
|
||||
<rect key="frame" x="3.3333333333333144" y="-0.33333333333333215" width="25" height="35.333333333333329"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="25" id="UAK-v9-EKA"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LIKED" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q4V-Gl-g6v">
|
||||
<rect key="frame" x="0.0" y="35.333333333333371" width="31.333333333333332" height="14.666666666666664"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="12"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="GF4-9m-aNo" secondAttribute="bottom" id="18i-1F-SSP"/>
|
||||
<constraint firstAttribute="trailing" secondItem="ZDd-3v-Wdp" secondAttribute="trailing" constant="10" id="714-8p-JJF"/>
|
||||
<constraint firstAttribute="bottom" secondItem="GF4-9m-aNo" secondAttribute="bottom" id="7VZ-FR-KGw"/>
|
||||
<constraint firstItem="GF4-9m-aNo" firstAttribute="top" secondItem="8zm-IG-hTk" secondAttribute="top" id="FYb-LK-pNV"/>
|
||||
<constraint firstItem="ZDd-3v-Wdp" firstAttribute="leading" secondItem="8zm-IG-hTk" secondAttribute="leading" constant="10" id="MMh-Td-Mxa"/>
|
||||
<constraint firstAttribute="trailing" secondItem="GF4-9m-aNo" secondAttribute="trailing" id="Onl-eh-b16"/>
|
||||
<constraint firstItem="GF4-9m-aNo" firstAttribute="leading" secondItem="8zm-IG-hTk" secondAttribute="leading" id="PSh-pi-b9X"/>
|
||||
<constraint firstAttribute="trailing" secondItem="GF4-9m-aNo" secondAttribute="trailing" id="Pt0-U5-EvQ"/>
|
||||
<constraint firstItem="GF4-9m-aNo" firstAttribute="leading" secondItem="8zm-IG-hTk" secondAttribute="leading" id="dRd-Rg-42W"/>
|
||||
<constraint firstItem="ZDd-3v-Wdp" firstAttribute="top" secondItem="8zm-IG-hTk" secondAttribute="top" constant="10" id="iJa-UU-L1j"/>
|
||||
<constraint firstItem="GF4-9m-aNo" firstAttribute="top" secondItem="8zm-IG-hTk" secondAttribute="top" id="mv2-an-vyW"/>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="wZQ-FG-xjb"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ZDd-3v-Wdp" secondAttribute="bottom" constant="40" id="y9h-oU-Z97"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="5"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="heV-KP-ndD">
|
||||
<rect key="frame" x="0.0" y="558" width="393" height="300"/>
|
||||
<subviews>
|
||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="rAO-uI-Djj">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="70"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="70" id="0ZK-IU-MRo"/>
|
||||
</constraints>
|
||||
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="7l5-M2-DPF">
|
||||
<size key="itemSize" width="128" height="70"/>
|
||||
<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>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="749" image="HomeGrassDay" translatesAutoresizingMaskIntoConstraints="NO" id="PYp-GX-xml">
|
||||
<rect key="frame" x="0.0" y="70" width="393" height="230"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="300" id="3Uq-sp-2CX"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="soQ-RR-JbO">
|
||||
<rect key="frame" x="0.0" y="863" width="393" height="300"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select Video Language" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AKn-0T-GcN" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="21.666666666666668"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="749" image="HomeGrassDay" translatesAutoresizingMaskIntoConstraints="NO" id="JBe-8V-5pR">
|
||||
<rect key="frame" x="0.0" y="21.666666666666629" width="393" height="278.33333333333331"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="300" id="MFb-mi-H2z"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="JVZ-ee-mig" firstAttribute="leading" secondItem="6BC-EI-c6S" secondAttribute="leading" id="539-an-m3X"/>
|
||||
<constraint firstItem="JVZ-ee-mig" firstAttribute="top" secondItem="Ka5-Rt-V3L" secondAttribute="top" id="Bgm-6h-ooD"/>
|
||||
<constraint firstItem="6BC-EI-c6S" firstAttribute="trailing" secondItem="JVZ-ee-mig" secondAttribute="trailing" id="by6-GS-3rU"/>
|
||||
<constraint firstAttribute="bottom" secondItem="JVZ-ee-mig" secondAttribute="bottom" id="pLq-j1-zx6"/>
|
||||
<constraint firstItem="JVZ-ee-mig" firstAttribute="width" secondItem="QMw-h5-HV5" secondAttribute="width" id="phT-Ue-AAx"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="contentLayoutGuide" id="QMw-h5-HV5"/>
|
||||
<viewLayoutGuide key="frameLayoutGuide" id="6BC-EI-c6S"/>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="5r4-z5-Bnx"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="Ka5-Rt-V3L" firstAttribute="top" secondItem="5r4-z5-Bnx" secondAttribute="top" id="9Yv-dh-L30"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Ka5-Rt-V3L" secondAttribute="bottom" id="HYj-vK-Xwc"/>
|
||||
<constraint firstItem="ygJ-Op-sJP" firstAttribute="height" secondItem="wXX-wW-Iuz" secondAttribute="height" multiplier="0.223005" id="g65-es-mTS"/>
|
||||
<constraint firstItem="Ka5-Rt-V3L" firstAttribute="leading" secondItem="5r4-z5-Bnx" secondAttribute="leading" id="imN-IN-JUq"/>
|
||||
<constraint firstItem="Ka5-Rt-V3L" firstAttribute="trailing" secondItem="5r4-z5-Bnx" secondAttribute="trailing" id="y4K-6C-hRq"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="categoryCV" destination="rAO-uI-Djj" id="9vd-ge-YZ5"/>
|
||||
<outlet property="seasonDate" destination="3AX-wl-iqI" id="4Zq-76-ZN2"/>
|
||||
<outlet property="seasonDesc" destination="DLr-9j-LSn" id="hpg-2G-M9N"/>
|
||||
<outlet property="seasonEpisodes" destination="G0i-Q1-Tic" id="t9J-Zm-eqb"/>
|
||||
<outlet property="seasonImage" destination="ygJ-Op-sJP" id="cXY-pG-3ce"/>
|
||||
<outlet property="seasonMediaType" destination="F1N-Se-lI3" id="8Wb-HP-3bZ"/>
|
||||
<outlet property="seasonTitle" destination="AdX-OP-Gcd" id="I39-xA-Z1d"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ZBM-os-iEI" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="762.59541984732823" y="3.5211267605633805"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="AboutKids" width="256" height="188.33332824707031"/>
|
||||
<image name="HomeGrassDay" width="570.66668701171875" height="641.33331298828125"/>
|
||||
<image name="MasilaComingSoon" width="200" height="100"/>
|
||||
<image name="PlayButton" width="32" height="32"/>
|
||||
<image name="ShareImage" width="18" height="18"/>
|
||||
<image name="SupportBottomArrow" width="16.333333969116211" height="16.333333969116211"/>
|
||||
<image name="WebSeriesSeasonsBackground" width="142.66667175292969" height="187.33332824707031"/>
|
||||
<image name="hand.thumbsup" catalog="system" width="123" height="128"/>
|
||||
<image name="hand.thumbsup.fill" catalog="system" width="128" height="121"/>
|
||||
<image name="heart" catalog="system" width="128" height="107"/>
|
||||
<namedColor name="TextDarkBlue">
|
||||
<color red="0.10599999874830246" green="0.050999999046325684" blue="0.60399997234344482" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</namedColor>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||