- Completed My oders. Rest will be completed when shop module is finished.

- Internet issue
- Added api to get blogs, with data model decoding, inflating the collection view
- Added api to get the songs, with data model decoding , inflated tableview with dynamic height
- Added inline player for song list
This commit is contained in:
2024-06-10 19:45:36 +05:30
parent d6540e9f2e
commit 5a7750d012
35 changed files with 1030 additions and 39 deletions

View File

@@ -68,6 +68,11 @@
52663FFB2BDFB1700001D8CE /* TextFieldShadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52663FFA2BDFB1700001D8CE /* TextFieldShadow.swift */; };
5272FCE32BDFDB05000ECB1D /* UserDetailsRegisterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5272FCE22BDFDB05000ECB1D /* UserDetailsRegisterVC.swift */; };
5272FCE52BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5272FCE42BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift */; };
527AC6F72C171C8F00434FB7 /* BlogsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527AC6F52C171C8F00434FB7 /* BlogsCell.swift */; };
527AC6F82C171C8F00434FB7 /* BlogsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 527AC6F62C171C8F00434FB7 /* BlogsCell.xib */; };
527AC6FA2C17387300434FB7 /* SongBlogDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527AC6F92C17387300434FB7 /* SongBlogDM.swift */; };
527AC6FD2C173A5100434FB7 /* SongListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 527AC6FB2C173A5100434FB7 /* SongListCell.swift */; };
527AC6FE2C173A5100434FB7 /* SongListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 527AC6FC2C173A5100434FB7 /* SongListCell.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 */; };
@@ -91,6 +96,10 @@
52BC3BE52C0E0326002FACA6 /* FaqCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BE32C0E0326002FACA6 /* FaqCell.swift */; };
52BC3BE62C0E0326002FACA6 /* FaqCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52BC3BE42C0E0326002FACA6 /* FaqCell.xib */; };
52BC3BE82C0E04A9002FACA6 /* FaqListDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BE72C0E04A9002FACA6 /* FaqListDM.swift */; };
52BC3BEC2C16DF9F002FACA6 /* MyOrdersVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BEB2C16DF9F002FACA6 /* MyOrdersVC.swift */; };
52BC3BEE2C16FBDB002FACA6 /* MoreVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BED2C16FBDB002FACA6 /* MoreVC.swift */; };
52BC3BF02C1701F8002FACA6 /* BlogDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BEF2C1701F8002FACA6 /* BlogDM.swift */; };
52BC3BF22C170264002FACA6 /* MoreVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52BC3BF12C170264002FACA6 /* MoreVM.swift */; };
52C1A4E12C05B69F007BAA50 /* UIApplicationSwitchRoot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C1A4E02C05B69F007BAA50 /* UIApplicationSwitchRoot.swift */; };
52C1A4E52C05BC86007BAA50 /* MainNavController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C1A4E42C05BC86007BAA50 /* MainNavController.swift */; };
52C1A4E82C05C95D007BAA50 /* Theme.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 52C1A4E72C05C95D007BAA50 /* Theme.storyboard */; };
@@ -260,6 +269,11 @@
52663FFA2BDFB1700001D8CE /* TextFieldShadow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldShadow.swift; sourceTree = "<group>"; };
5272FCE22BDFDB05000ECB1D /* UserDetailsRegisterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDetailsRegisterVC.swift; sourceTree = "<group>"; };
5272FCE42BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDetailsRegisterVM.swift; sourceTree = "<group>"; };
527AC6F52C171C8F00434FB7 /* BlogsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlogsCell.swift; sourceTree = "<group>"; };
527AC6F62C171C8F00434FB7 /* BlogsCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BlogsCell.xib; sourceTree = "<group>"; };
527AC6F92C17387300434FB7 /* SongBlogDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SongBlogDM.swift; sourceTree = "<group>"; };
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>"; };
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>"; };
@@ -284,6 +298,10 @@
52BC3BE32C0E0326002FACA6 /* FaqCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaqCell.swift; sourceTree = "<group>"; };
52BC3BE42C0E0326002FACA6 /* FaqCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FaqCell.xib; sourceTree = "<group>"; };
52BC3BE72C0E04A9002FACA6 /* FaqListDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaqListDM.swift; sourceTree = "<group>"; };
52BC3BEB2C16DF9F002FACA6 /* MyOrdersVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyOrdersVC.swift; sourceTree = "<group>"; };
52BC3BED2C16FBDB002FACA6 /* MoreVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreVC.swift; sourceTree = "<group>"; };
52BC3BEF2C1701F8002FACA6 /* BlogDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlogDM.swift; sourceTree = "<group>"; };
52BC3BF12C170264002FACA6 /* MoreVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreVM.swift; sourceTree = "<group>"; };
52C1A4E02C05B69F007BAA50 /* UIApplicationSwitchRoot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIApplicationSwitchRoot.swift; sourceTree = "<group>"; };
52C1A4E42C05BC86007BAA50 /* MainNavController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainNavController.swift; sourceTree = "<group>"; };
52C1A4E62C05C95D007BAA50 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Theme.storyboard; sourceTree = "<group>"; };
@@ -480,6 +498,7 @@
9C7939182C0F345000F5D6E6 /* ContactSupportVC.swift */,
9CA7C6BF2C1093E500D73742 /* ProfileVC.swift */,
9C8C4FAD2C1315410017DD3B /* WebViewVC.swift */,
52BC3BEB2C16DF9F002FACA6 /* MyOrdersVC.swift */,
);
path = Controller;
sourceTree = "<group>";
@@ -850,6 +869,8 @@
isa = PBXGroup;
children = (
52FDBA772BFF23F4009D7AC7 /* TimePeriod.swift */,
52BC3BEF2C1701F8002FACA6 /* BlogDM.swift */,
527AC6F92C17387300434FB7 /* SongBlogDM.swift */,
);
path = Model;
sourceTree = "<group>";
@@ -859,6 +880,10 @@
children = (
9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */,
9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */,
527AC6F52C171C8F00434FB7 /* BlogsCell.swift */,
527AC6F62C171C8F00434FB7 /* BlogsCell.xib */,
527AC6FB2C173A5100434FB7 /* SongListCell.swift */,
527AC6FC2C173A5100434FB7 /* SongListCell.xib */,
);
path = View;
sourceTree = "<group>";
@@ -923,6 +948,7 @@
9CBCB2A92BE51A52007D7934 /* ThemeOneVC.swift */,
9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */,
52AECA7F2C08BCB6004A7579 /* PlayerVC.swift */,
52BC3BED2C16FBDB002FACA6 /* MoreVC.swift */,
);
path = Controller;
sourceTree = "<group>";
@@ -932,6 +958,7 @@
children = (
52FDBA7C2BFF481A009D7AC7 /* ThemeOneVM.swift */,
524C422A2C04781B0016A11C /* ThemeTwoVM.swift */,
52BC3BF12C170264002FACA6 /* MoreVM.swift */,
);
path = ViewModel;
sourceTree = "<group>";
@@ -1204,9 +1231,11 @@
525954302BEA394400191286 /* CustomAlerts.storyboard in Resources */,
52C8B0632BDA6993003B51D0 /* Localizable.strings in Resources */,
523ED2672BDA2BC900CFED02 /* Assets.xcassets in Resources */,
527AC6FE2C173A5100434FB7 /* SongListCell.xib in Resources */,
523ED26A2BDA2BC900CFED02 /* Base in Resources */,
52C8B05B2BDA5924003B51D0 /* WokaSplashSound.m4a in Resources */,
525954352BEB4B3B00191286 /* Exo2-Thin.ttf in Resources */,
527AC6F82C171C8F00434FB7 /* BlogsCell.xib in Resources */,
52C1A4E82C05C95D007BAA50 /* Theme.storyboard in Resources */,
525954362BEB4B3B00191286 /* Exo2-Medium.ttf in Resources */,
525954372BEB4B3B00191286 /* Exo2-Bold.ttf in Resources */,
@@ -1323,9 +1352,11 @@
52AECA802C08BCB6004A7579 /* PlayerVC.swift in Sources */,
5202AB012BDFA7900043B7BD /* EmailValidation.swift in Sources */,
52B8D4E12C04A25E00ED65F3 /* BasicTransitionAnimator.swift in Sources */,
52BC3BF02C1701F8002FACA6 /* BlogDM.swift in Sources */,
525954192BE8CC3400191286 /* ConstantString.swift in Sources */,
52D774EB2BDFC0BF001D87DE /* OTPVC.swift in Sources */,
9C27E16F2BDB866500EC1DA9 /* CellIdentifier.swift in Sources */,
52BC3BF22C170264002FACA6 /* MoreVM.swift in Sources */,
9CBE1B412C0F37B300CA6E61 /* DPDUIView+Extension.swift in Sources */,
9C27E1632BDB6F1900EC1DA9 /* AuthFunc.swift in Sources */,
9C0A85412BEE35670093783D /* ResetPassUserNameVM.swift in Sources */,
@@ -1335,6 +1366,7 @@
52C6E01B2BE383C000E22D59 /* YourIntrestCell.swift in Sources */,
525954142BE8C87300191286 /* ExtensionVCToastAlert.swift in Sources */,
52B8D4D92C04A25E00ED65F3 /* UIViewController+Container.swift in Sources */,
527AC6F72C171C8F00434FB7 /* BlogsCell.swift in Sources */,
523ED25E2BDA2BC700CFED02 /* AppDelegate.swift in Sources */,
9C7939132C0EFCAE00F5D6E6 /* FaqVM.swift in Sources */,
52D774ED2BDFC13F001D87DE /* OTPVM.swift in Sources */,
@@ -1363,6 +1395,7 @@
9CBCB2AA2BE51A52007D7934 /* ThemeOneVC.swift in Sources */,
52D774E92BDFBDA4001D87DE /* AuthenticationStringConstant.swift in Sources */,
5259541B2BE8D6F900191286 /* NetworkReachibility.swift in Sources */,
527AC6FD2C173A5100434FB7 /* SongListCell.swift in Sources */,
9C27E1672BDB706700EC1DA9 /* StoryBoard.swift in Sources */,
52C8B0692BDA6E1E003B51D0 /* LocalizedEnum.swift in Sources */,
525954122BE8C84900191286 /* Toast.swift in Sources */,
@@ -1373,6 +1406,7 @@
52A3F6AF2BECC0690000BB0B /* LinkedChildVM.swift in Sources */,
525954252BE8F01600191286 /* ValueWrapper.swift in Sources */,
52A3F6A82BECBF2A0000BB0B /* LinkedChildCell.swift in Sources */,
52BC3BEE2C16FBDB002FACA6 /* MoreVC.swift in Sources */,
52C6E01E2BE3847F00E22D59 /* BorderView.swift in Sources */,
52FDBA7D2BFF481A009D7AC7 /* ThemeOneVM.swift in Sources */,
9C7939192C0F345000F5D6E6 /* ContactSupportVC.swift in Sources */,
@@ -1381,6 +1415,7 @@
5219C2C22C086D9C00A1DF4D /* DataTypeConversion.swift in Sources */,
525953CF2BE8B28F00191286 /* Utilities.swift in Sources */,
9CBCB2A12BE4E50A007D7934 /* TextFieldPassword.swift in Sources */,
52BC3BEC2C16DF9F002FACA6 /* MyOrdersVC.swift in Sources */,
9C56E8482BDBEFAB00E4CA14 /* AssetColor.swift in Sources */,
9C0A85432BEE3EC90093783D /* NewPasswordVM.swift in Sources */,
524C42332C049D590016A11C /* CustomizableSegmentControl.swift in Sources */,
@@ -1395,6 +1430,7 @@
525954272BE9178F00191286 /* UserDataDM.swift in Sources */,
9C27E1652BDB6FBC00EC1DA9 /* StoryBoardID.swift in Sources */,
52FDBA782BFF23F4009D7AC7 /* TimePeriod.swift in Sources */,
527AC6FA2C17387300434FB7 /* SongBlogDM.swift in Sources */,
522A931C2C0DE9150098FE49 /* AboutUsVc.swift in Sources */,
9CB4C5A92C118EF300737C00 /* NavBarColor.swift in Sources */,
525954322BEA39D200191286 /* AddTapGesture.swift in Sources */,

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 184.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "img_more_bg.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "icons8-down_button.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "icons8-down_button@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "icons8-down_button@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,26 @@
{
"images" : [
{
"filename" : "Group 183.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 183@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 183@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "bg.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -30,5 +30,10 @@ extension K{
struct SideBarNav{
static let faqCell = "FaqCell"
}
struct Home{
static let blogsCell = "BlogsCell"
static let songListCell = "SongListCell"
}
}
}

View File

@@ -41,6 +41,7 @@ extension K{
struct Theme{
static let themeOneVC = "ThemeOneVC"
static let themeTwoVC = "ThemeTwoVC"
static let moreVC = "MoreVC"
}
struct SideBarNav{
@@ -49,6 +50,7 @@ extension K{
static let contactSupportVC = "ContactSupportVC"
static let profileVC = "ProfileVC"
static let webViewVC = "WebViewVC"
static let myOrdersVC = "MyOrdersVC"
}
}
}

View File

@@ -64,6 +64,11 @@ struct APIEndPoints {
static let user_deactivate_account = makeURL(path: "user_deactivate_account")
}
struct Home{
static let blogs = makeURL(path: "blogs")
static let song_listing = makeURL(path: "song_listing")
}
// Other endpoint categories...
struct Links {
static let privacyPolicy = "https://www.wokaland.com/privacy-policy/"

View File

@@ -42,10 +42,11 @@ class FaqVC: UIViewController {
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
self.navigationController?.setColor(color: .black)
}
override func viewDidDisappear(_ animated: Bool) {
self.navigationController?.setColor(color: .black)
}
}
// MARK: - TableView DataSource , Delegates

View File

@@ -0,0 +1,71 @@
//
// MyOrdersVC.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import UIKit
class MyOrdersVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.title = "MY ORDERS"
// Create the button
let backbutton = UIButton(type: .custom)
backbutton.setImage(UIImage(named: "CartIcon"), for: .normal) // Image can be downloaded from the provided link
backbutton.setTitleColor(.black, for: .normal) // You can change the TitleColor
backbutton.addTarget(self, action: #selector(cartBtnTapped), for: .touchUpInside)
// Set button height and width
let buttonHeight: CGFloat = 60
let buttonWidth: CGFloat = 60
backbutton.translatesAutoresizingMaskIntoConstraints = false
backbutton.widthAnchor.constraint(equalToConstant: buttonWidth).isActive = true
backbutton.heightAnchor.constraint(equalToConstant: buttonHeight).isActive = true
// Create a container view for the button
let containerView = UIView(frame: CGRect(x: 0, y: 0, width: buttonWidth, height: buttonHeight))
containerView.addSubview(backbutton)
// Set constraints for the button inside the container view
NSLayoutConstraint.activate([
backbutton.centerYAnchor.constraint(equalTo: containerView.centerYAnchor),
backbutton.centerXAnchor.constraint(equalTo: containerView.centerXAnchor)
])
// Create a UIBarButtonItem with the custom view
let customBarButton = UIBarButtonItem(customView: containerView)
// Create a flexible space item to push the custom view to the left
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
flexibleSpace.width = 20
// Create a negative spacer to fine-tune the position
let negativeSpacer = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
negativeSpacer.width = 10 // Adjust this value to move the button to the left
// Add the custom bar button and the spacer to the navigation bar
self.navigationItem.rightBarButtonItems = [flexibleSpace,negativeSpacer, customBarButton]
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewDidDisappear(_ animated: Bool) {
self.navigationController?.setColor(color: .black)
}
@objc func cartBtnTapped(){
}
}

View File

@@ -131,7 +131,7 @@
<rect key="frame" x="0.0" y="58" width="414" height="729"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="49" translatesAutoresizingMaskIntoConstraints="NO" id="5wC-Rc-bx0">
<rect key="frame" x="0.0" y="0.0" width="414" height="569"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="567"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WokaLogo" translatesAutoresizingMaskIntoConstraints="NO" id="qyO-EY-Xz8">
<rect key="frame" x="15" y="10" width="384" height="50"/>
@@ -225,16 +225,16 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="SlR-If-pxh" userLabel="Subject">
<rect key="frame" x="15" y="278" width="384" height="77"/>
<rect key="frame" x="15" y="278" width="384" height="76"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Subject" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k7q-3i-LMr">
<rect key="frame" x="0.0" y="0.0" width="384" height="22"/>
<rect key="frame" x="0.0" y="0.0" width="384" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Regular" 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" translatesAutoresizingMaskIntoConstraints="NO" id="3td-Os-A3X">
<rect key="frame" x="0.0" y="27" width="384" height="50"/>
<rect key="frame" x="0.0" y="26" width="384" height="50"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select Subject" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CoP-oH-nkk">
<rect key="frame" x="15" y="10" width="329" height="30"/>
@@ -259,16 +259,16 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="gXQ-Yb-IGC" userLabel="Message">
<rect key="frame" x="15" y="404" width="384" height="155"/>
<rect key="frame" x="15" y="403" width="384" height="154"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Message" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="csz-ff-Kvd">
<rect key="frame" x="0.0" y="0.0" width="384" height="22"/>
<rect key="frame" x="0.0" y="0.0" width="384" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PNw-eT-0fE" customClass="RSKPlaceholderTextView" customModule="RSKPlaceholderTextView">
<rect key="frame" x="0.0" y="27" width="384" height="128"/>
<rect key="frame" x="0.0" y="26" width="384" height="128"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" name="TextDarkBlue"/>
<constraints>
@@ -378,10 +378,10 @@
<rect key="frame" x="0.0" y="48" width="414" height="726"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="uGa-bS-ctr">
<rect key="frame" x="0.0" y="30" width="414" height="730.5"/>
<rect key="frame" x="0.0" y="30" width="414" height="726.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="Hvk-Z2-3ji">
<rect key="frame" x="20" y="0.0" width="374" height="116.5"/>
<rect key="frame" x="20" y="0.0" width="374" height="115.5"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rbx-B4-wDn">
<rect key="frame" x="0.0" y="0.0" width="374" height="80"/>
@@ -403,7 +403,7 @@
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="USER" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="clP-p2-fQj">
<rect key="frame" x="0.0" y="85" width="374" height="31.5"/>
<rect key="frame" x="0.0" y="85" width="374" height="30.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="26"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -411,16 +411,16 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="GK8-Ov-3Lf" userLabel="NAME">
<rect key="frame" x="20" y="151.5" width="374" height="99.5"/>
<rect key="frame" x="20" y="150.5" width="374" height="99"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="FULL NAME" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dWX-YE-TV0" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="374" height="19.5"/>
<rect key="frame" x="0.0" y="0.0" width="374" height="19"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Enter your name" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="arD-av-w7V" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="34.5" width="374" height="50"/>
<rect key="frame" x="0.0" y="34" width="374" height="50"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" name="TextDarkBlue"/>
<constraints>
@@ -439,7 +439,7 @@
</userDefinedRuntimeAttributes>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Avp-CK-Tfh">
<rect key="frame" x="0.0" y="99.5" width="374" height="0.0"/>
<rect key="frame" x="0.0" y="99" width="374" height="0.0"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -447,16 +447,16 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="mF6-Ik-pdq" userLabel="EMAIL">
<rect key="frame" x="20" y="286" width="374" height="99.5"/>
<rect key="frame" x="20" y="284.5" width="374" height="99"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="EMAIL" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lss-KC-4LQ" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="374" height="19.5"/>
<rect key="frame" x="0.0" y="0.0" width="374" height="19"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Enter your email" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="fZS-d6-t0h" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="34.5" width="374" height="50"/>
<rect key="frame" x="0.0" y="34" width="374" height="50"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" name="TextDarkBlue"/>
<constraints>
@@ -475,7 +475,7 @@
</userDefinedRuntimeAttributes>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JVa-mg-KVN">
<rect key="frame" x="0.0" y="99.5" width="374" height="0.0"/>
<rect key="frame" x="0.0" y="99" width="374" height="0.0"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -483,28 +483,28 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="16" translatesAutoresizingMaskIntoConstraints="NO" id="dTX-xS-I84" userLabel="GENDER">
<rect key="frame" x="20" y="420.5" width="374" height="138"/>
<rect key="frame" x="20" y="418.5" width="374" height="137"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="YOUR GENDER" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DEA-gr-l2e" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="374" height="22"/>
<rect key="frame" x="0.0" y="0.0" width="374" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="60" translatesAutoresizingMaskIntoConstraints="NO" id="KhR-hP-jeC">
<rect key="frame" x="0.0" y="38" width="374" height="100"/>
<rect key="frame" x="0.0" y="37" width="374" height="100"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hhf-2M-dfy">
<rect key="frame" x="30" y="0.0" width="127" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="evt-gm-S0p">
<rect key="frame" x="39" y="10" width="49.5" height="77"/>
<rect key="frame" x="39" y="10" width="49.5" height="76"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="bty-6i-uBA">
<rect key="frame" x="0.0" y="0.0" width="49.5" height="50"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BOY" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y4t-AQ-VlC" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="55" width="49.5" height="22"/>
<rect key="frame" x="0.0" y="55" width="49.5" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -522,13 +522,13 @@
<rect key="frame" x="217" y="0.0" width="127" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="9Tk-3P-f19">
<rect key="frame" x="39.5" y="10" width="48.5" height="77"/>
<rect key="frame" x="39.5" y="10" width="48.5" height="76"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Girl" translatesAutoresizingMaskIntoConstraints="NO" id="m4x-et-VAb">
<rect key="frame" x="0.0" y="0.0" width="48.5" height="50"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GIRL" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="225-qf-t1b" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="55" width="48.5" height="22"/>
<rect key="frame" x="0.0" y="55" width="48.5" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -551,16 +551,16 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="tlL-6r-4eb" userLabel="DOB">
<rect key="frame" x="20" y="593.5" width="374" height="137"/>
<rect key="frame" x="20" y="590.5" width="374" height="136"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WHEN IS YOUR BIRTHDAY?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="b73-2Y-tGO" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="374" height="22"/>
<rect key="frame" x="0.0" y="0.0" width="374" height="21"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<datePicker contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" datePickerMode="date" style="wheels" translatesAutoresizingMaskIntoConstraints="NO" id="kau-8K-eQs">
<rect key="frame" x="0.0" y="37" width="374" height="100"/>
<rect key="frame" x="0.0" y="36" width="374" height="100"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="QOf-a4-wdZ"/>
</constraints>
@@ -658,19 +658,45 @@
</objects>
<point key="canvasLocation" x="3296" y="-34"/>
</scene>
<!--My OrdersVC-->
<scene sceneID="3xR-6o-g4S">
<objects>
<viewController storyboardIdentifier="MyOrdersVC" id="dGf-W2-xmt" customClass="MyOrdersVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="6qN-3r-YK8">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="OrderBottom" translatesAutoresizingMaskIntoConstraints="NO" id="uST-2b-cz5">
<rect key="frame" x="0.0" y="606" width="414" height="320"/>
</imageView>
</subviews>
<viewLayoutGuide key="safeArea" id="RtW-jF-CpU"/>
<color key="backgroundColor" red="0.82745098039215681" green="0.93725490196078431" blue="0.97254901960784312" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="uST-2b-cz5" secondAttribute="bottom" constant="-30" id="FHy-EH-6qI"/>
<constraint firstItem="uST-2b-cz5" firstAttribute="height" secondItem="6qN-3r-YK8" secondAttribute="height" multiplier="0.357143" id="RWm-br-45y"/>
<constraint firstItem="RtW-jF-CpU" firstAttribute="trailing" secondItem="uST-2b-cz5" secondAttribute="trailing" id="SKC-J8-UrF"/>
<constraint firstItem="uST-2b-cz5" firstAttribute="leading" secondItem="RtW-jF-CpU" secondAttribute="leading" id="v2g-Sy-ZG1"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4at-4P-i4I" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="4120" y="-34"/>
</scene>
</scenes>
<designables>
<designable name="arD-av-w7V">
<size key="intrinsicContentSize" width="119.5" height="21"/>
<size key="intrinsicContentSize" width="168" height="20.5"/>
</designable>
<designable name="fZS-d6-t0h">
<size key="intrinsicContentSize" width="119" height="21"/>
<size key="intrinsicContentSize" width="166" height="20.5"/>
</designable>
<designable name="fiK-Gg-JDj">
<size key="intrinsicContentSize" width="119.5" height="21"/>
<size key="intrinsicContentSize" width="168" height="20.5"/>
</designable>
<designable name="zMI-2r-pRQ">
<size key="intrinsicContentSize" width="119" height="21"/>
<size key="intrinsicContentSize" width="166" height="20.5"/>
</designable>
</designables>
<resources>
@@ -679,6 +705,7 @@
<image name="BackgroundSplash" width="428" height="926"/>
<image name="Boy" width="49.5" height="50"/>
<image name="Girl" width="48.5" height="50"/>
<image name="OrderBottom" width="570.66668701171875" height="294.66665649414062"/>
<image name="SupportBottomArrow" width="16" height="16"/>
<image name="SupportGirlImage" width="166" height="166"/>
<image name="WokaLogo" width="2224" height="450.5"/>

View File

@@ -67,6 +67,9 @@ class SideMenuVC: UIViewController {
case profileBtn:
self.sideMenuController?.hideMenu()
NotificationCenter.default.post(name: .linkPush, object: nil, userInfo: ["type": LinkTypeEnum.profile])
case myOrderBtn:
self.sideMenuController?.hideMenu()
NotificationCenter.default.post(name: .linkPush, object: nil, userInfo: ["type": LinkTypeEnum.order])
case addChildBtn:
self.sideMenuController?.hideMenu()
NotificationCenter.default.post(name: .linkPush, object: nil, userInfo: ["type": LinkTypeEnum.addChild])

View File

@@ -62,6 +62,10 @@ class TabBarVC: UITabBarController {
vcPush.vm.createChildAccount = true
AuthFunc.shareInstance.regData.email = AuthFunc.shareInstance.userData?.email
self.navigationController?.pushViewController(vcPush, animated: true)
case .order:
let sb = UIStoryboard(name: K.StoryBoard.sideBarNav, bundle: nil)
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.SideBarNav.myOrdersVC) as! MyOrdersVC
self.navigationController?.pushViewController(vcPush, animated: true)
case .deactivate:
let sb = UIStoryboard(name: K.StoryBoard.customAlerts, bundle: nil)
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.CustomAlerts.yesNoAlertVC) as! YesNoAlertVC

View File

@@ -13,6 +13,7 @@ enum LinkTypeEnum {
case support
case profile
case addChild
case order
case deactivate
case termsCondition
case privacyPolicy

View File

@@ -413,6 +413,7 @@
<connections>
<outlet property="HelloLabel" destination="YmK-3m-WeD" id="H6O-kI-Xc3"/>
<outlet property="avatarImage" destination="o2x-QJ-V9A" id="rgu-lT-WaZ"/>
<outlet property="bottomArrow" destination="rdd-P1-Vk7" id="K5z-Hv-wdR"/>
<outlet property="cloud1" destination="hnb-h6-Rgs" id="yq6-eE-20d"/>
<outlet property="cloud2" destination="lMA-vm-xCk" id="91P-Rv-qHZ"/>
<outlet property="gradientView" destination="jdZ-WQ-xcr" id="EPt-cC-wNC"/>
@@ -420,6 +421,7 @@
<outlet property="liveTVView" destination="kzE-UE-7KK" id="wh1-1v-X4B"/>
<outlet property="liveTvPlayer" destination="edI-4n-4AY" id="Ofv-d0-YP4"/>
<outlet property="moonImage" destination="Jbf-Kl-35X" id="WBx-uu-r3W"/>
<outlet property="moreStack" destination="LYo-Uy-0nM" id="Ea6-hD-ZEj"/>
<outlet property="nameLabel" destination="tQN-s8-9SK" id="GIQ-nv-8rM"/>
<outlet property="notificationBtnn" destination="b3F-hf-9c8" id="elI-0K-6uE"/>
<outlet property="webSeriesView" destination="Sp0-yh-bdj" id="HMn-cX-z6Y"/>
@@ -434,6 +436,137 @@
</objects>
<point key="canvasLocation" x="2194.6564885496182" y="-1602.1126760563382"/>
</scene>
<!--MoreVC-->
<scene sceneID="xba-Gn-oo8">
<objects>
<viewController storyboardIdentifier="MoreVC" id="Faj-VN-SMZ" customClass="MoreVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="5jA-W9-hbI">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="MoreBG" translatesAutoresizingMaskIntoConstraints="NO" id="4W1-eK-C1H">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="g46-bK-0uI">
<rect key="frame" x="0.0" y="69" width="393" height="744"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4TT-Wr-ovV">
<rect key="frame" x="0.0" y="0.0" width="393" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="2" translatesAutoresizingMaskIntoConstraints="NO" id="tu4-1a-dfV" userLabel="More">
<rect key="frame" x="174" y="0.0" width="45" height="45"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="UpArrowMore" translatesAutoresizingMaskIntoConstraints="NO" id="BkY-MX-g4T">
<rect key="frame" x="0.0" y="0.0" width="45" height="25"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalCompressionResistancePriority="751" text="Home" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cao-XI-lT8" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="27" width="45" height="18"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="width" secondItem="tu4-1a-dfV" secondAttribute="height" multiplier="1:1" id="ZQV-DQ-3Xi"/>
</constraints>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="tu4-1a-dfV" firstAttribute="centerX" secondItem="4TT-Wr-ovV" secondAttribute="centerX" id="Ctw-ak-Qr4"/>
<constraint firstAttribute="bottom" secondItem="tu4-1a-dfV" secondAttribute="bottom" id="Ibv-8D-7hO"/>
<constraint firstItem="tu4-1a-dfV" firstAttribute="top" secondItem="4TT-Wr-ovV" secondAttribute="top" id="zA7-8M-Diu"/>
<constraint firstAttribute="height" constant="45" id="zp2-aZ-QTM"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="U0W-18-4oe">
<rect key="frame" x="0.0" y="45" width="393" height="224"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="Coming Soon on WOKA" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D2p-c5-usH" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="10" y="10" width="373" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UKc-92-GPa">
<rect key="frame" x="10" y="44" width="373" height="180"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="180" id="gwN-aD-t1t"/>
</constraints>
</view>
</subviews>
<edgeInsets key="layoutMargins" top="10" left="10" bottom="0.0" right="10"/>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="Qcq-yj-AzB">
<rect key="frame" x="0.0" y="269" width="393" height="189"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="BLOGS" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lW0-W4-2hl" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="10" y="10" width="373" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="xup-gW-Kjh">
<rect key="frame" x="10" y="39" width="373" height="150"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="150" id="fTZ-PQ-nXX"/>
</constraints>
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="6G1-Uh-Pwt">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
<cells/>
</collectionView>
</subviews>
<edgeInsets key="layoutMargins" top="10" left="10" bottom="0.0" right="10"/>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="pJu-fq-XmG">
<rect key="frame" x="0.0" y="458" width="393" height="286"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="WOKA Songs" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FSJ-QT-rAW" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="10" y="10" width="373" height="24"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="31Z-fz-1ec">
<rect key="frame" x="10" y="44" width="373" height="242"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableView>
</subviews>
<edgeInsets key="layoutMargins" top="10" left="10" bottom="0.0" right="10"/>
</stackView>
</subviews>
</stackView>
</subviews>
<viewLayoutGuide key="safeArea" id="0M9-05-bMu"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="4W1-eK-C1H" firstAttribute="top" secondItem="5jA-W9-hbI" secondAttribute="top" id="7bL-Mb-hjL"/>
<constraint firstAttribute="bottom" secondItem="4W1-eK-C1H" secondAttribute="bottom" id="WJm-Hb-YPE"/>
<constraint firstItem="g46-bK-0uI" firstAttribute="leading" secondItem="0M9-05-bMu" secondAttribute="leading" id="XVC-zW-BA2"/>
<constraint firstItem="0M9-05-bMu" firstAttribute="bottom" secondItem="g46-bK-0uI" secondAttribute="bottom" constant="5" id="cSM-FD-Dv0"/>
<constraint firstItem="g46-bK-0uI" firstAttribute="top" secondItem="0M9-05-bMu" secondAttribute="top" constant="10" id="jKz-c8-lw2"/>
<constraint firstItem="0M9-05-bMu" firstAttribute="trailing" secondItem="4W1-eK-C1H" secondAttribute="trailing" id="pKc-CH-QAE"/>
<constraint firstAttribute="trailing" secondItem="g46-bK-0uI" secondAttribute="trailing" id="r57-h3-NbE"/>
<constraint firstItem="4W1-eK-C1H" firstAttribute="leading" secondItem="0M9-05-bMu" secondAttribute="leading" id="ukW-OK-zB5"/>
</constraints>
</view>
<connections>
<outlet property="blogsCollectionView" destination="xup-gW-Kjh" id="BO7-LF-aAg"/>
<outlet property="homeBtn" destination="4TT-Wr-ovV" id="mPm-rr-jvC"/>
<outlet property="songTableView" destination="31Z-fz-1ec" id="K2B-qg-URW"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="kvq-vw-eSu" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2195" y="-872"/>
</scene>
<!--Theme TwoVC-->
<scene sceneID="lyh-UP-4KB">
<objects>
@@ -613,16 +746,18 @@
<image name="LiveTVBaloon" width="135" height="135"/>
<image name="LiveTVBorder" width="79.333335876464844" height="67"/>
<image name="Moon" width="144.66667175292969" height="144.66667175292969"/>
<image name="MoreBG" width="428" height="926"/>
<image name="Notification" width="44" height="44"/>
<image name="Shop" width="165.33332824707031" height="148"/>
<image name="SideMenu" width="44" height="44"/>
<image name="Star" width="62.666667938232422" height="62.666667938232422"/>
<image name="UpArrowMore" width="25" height="25"/>
<image name="WebSeries" width="164" height="118.66666412353516"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
<systemColor name="systemGreenColor">
<color red="0.20392156859999999" green="0.78039215689999997" blue="0.34901960780000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color red="0.20392156862745098" green="0.7803921568627451" blue="0.34901960784313724" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources>
</document>

View File

@@ -0,0 +1,102 @@
//
// MoreVC.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import UIKit
import AVFoundation
class MoreVC: UIViewController {
@IBOutlet weak var blogsCollectionView: UICollectionView!
@IBOutlet weak var homeBtn: UIView!
@IBOutlet weak var songTableView: UITableView!
var vm = MoreVM()
override func viewDidLoad() {
super.viewDidLoad()
vm.vc = self
vm.initView()
}
}
// MARK: - TableView DataSource , Delegates
extension MoreVC : TableViewSRC{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return vm.songData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: K.CellIdentifier.Home.songListCell) as! SongListCell
let data = vm.songData[indexPath.row]
cell.setData(data: data)
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let data = vm.songData[indexPath.row]
if let url = data.contentMoreDetails?.first?.url{
vm.player = AVPlayer()
vm.playSong(urlString: url)
}
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 60
}
}
// MARK: - CollectionView DataSource Delegate
extension MoreVC : CollectionViewSRC{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return vm.blogData.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.Home.blogsCell, for: indexPath) as! BlogsCell
cell.setData(data : vm.blogData[indexPath.row])
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print(indexPath.row)
}
}
// MARK: - Collection Flow Layout
extension MoreVC : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 5
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 5
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 5)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let itemsPerRow: CGFloat = 2
let paddingSpace = 5 * (itemsPerRow + 1)
let availableWidth = collectionView.frame.width - paddingSpace
let widthPerItem = availableWidth / itemsPerRow
return CGSize(width: widthPerItem, height: widthPerItem - 20)
}
// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
// return UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 5)
// }
}

View File

@@ -25,6 +25,8 @@ class ThemeOneVC: UIViewController {
@IBOutlet weak var webSeriesView: UIStackView!
@IBOutlet var star: [UIImageView]!
@IBOutlet weak var moonImage: UIImageView!
@IBOutlet weak var moreStack: UIStackView!
@IBOutlet weak var bottomArrow: UIImageView!
var timer: Timer?
@@ -66,7 +68,7 @@ class ThemeOneVC: UIViewController {
@IBAction func barButtonTapped(_ sender: UIButton) {
self.sideMenuController?.revealMenu()
}
}

View File

@@ -0,0 +1,56 @@
//
// BlogDM.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import Foundation
// MARK: - Welcome
struct BlogDM: Codable {
let blogs: [Blog]?
let totalRecords: Int?
enum CodingKeys: String, CodingKey {
case blogs
case totalRecords = "total_records"
}
// MARK: - Blog
struct Blog: Codable {
let id: Int?
let title, description: String?
let articleURL: String?
let thumbnailPath: String?
let categoryMasterID: String?
let languageMasterID: Int?
let contentMoreDetails: [ContentMoreDetail]?
enum CodingKeys: String, CodingKey {
case id, title, description
case articleURL = "article_url"
case thumbnailPath = "thumbnail_path"
case categoryMasterID = "category_master_id"
case languageMasterID = "language_master_id"
case contentMoreDetails = "content_more_details"
}
}
// MARK: - ContentMoreDetail
struct ContentMoreDetail: Codable {
let id, contentID, postType: Int?
let title, description: String?
let languageMasterID: Int?
let article: String?
enum CodingKeys: String, CodingKey {
case id
case contentID = "content_id"
case postType = "post_type"
case title, description
case languageMasterID = "language_master_id"
case article
}
}
}

View File

@@ -0,0 +1,75 @@
//
// SongBlogDM.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import Foundation
// MARK: - SongBlogDM
struct SongBlogDM: Codable {
let paintData: [PaintDatum]?
let totalRecords: Int?
enum CodingKeys: String, CodingKey {
case paintData = "paint_data"
case totalRecords = "total_records"
}
// MARK: - PaintDatum
struct PaintDatum: Codable {
let id: Int?
let title: String?
let description: String?
let thumbnailImage: String?
let categoryMasterID, ageRangeMasterID, tagsKeyword: String?
let releaseDate: String?
let songDuration: String?
let languageMasterID: Int?
let genderMasterID: String?
let contentMoreDetails: [ContentMoreDetail]?
// let categoryData, ageRangeData, genderData: [JSONAny]?
let markAsFavourite, isLiked: Bool?
let likesCount, bookmarkCount: Int?
enum CodingKeys: String, CodingKey {
case id, title, description
case thumbnailImage = "thumbnail_image"
case categoryMasterID = "category_master_id"
case ageRangeMasterID = "age_range_master_id"
case tagsKeyword = "tags_keyword"
case releaseDate = "release_date"
case songDuration = "song_duration"
case languageMasterID = "language_master_id"
case genderMasterID = "gender_master_id"
case contentMoreDetails = "content_more_details"
// case categoryData = "category_data"
// case ageRangeData = "age_range_data"
// case genderData = "gender_data"
case markAsFavourite = "mark_as_favourite"
case isLiked = "is_liked"
case likesCount = "likes_count"
case bookmarkCount = "bookmark_count"
}
}
// MARK: - ContentMoreDetail
struct ContentMoreDetail: Codable {
let id, contentID, postType, languageMasterID: Int?
let title: String?
let description: String?
let tagsKeywords: String?
let url: 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 url
}
}
}

View File

@@ -0,0 +1,26 @@
//
// BlogsCell.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import UIKit
class BlogsCell: UICollectionViewCell {
@IBOutlet weak var blogImage: UIImageView!
@IBOutlet weak var blogTitle: UILabel!
@IBOutlet weak var outerView: UIView!
override func awakeFromNib() {
super.awakeFromNib()
outerView.roundCorner(radius: 10)
// Initialization code
}
func setData(data : BlogDM.Blog){
self.blogImage.imageURL(data.thumbnailPath!)
self.blogTitle.text = data.title
}
}

View File

@@ -0,0 +1,82 @@
<?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>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
</customFonts>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="BlogsCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="244" height="210"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="244" height="210"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3AV-Ja-CkX">
<rect key="frame" x="10" y="10" width="224" height="190"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="hSt-Vr-ywX">
<rect key="frame" x="10" y="10" width="204" height="170"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5yh-us-azT">
<rect key="frame" x="0.0" y="0.0" width="204" height="100"/>
<color key="backgroundColor" red="0.5450980392" green="0.67450980390000004" blue="0.17254901959999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="jAA-Oz-JN4"/>
</constraints>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" alignment="top" translatesAutoresizingMaskIntoConstraints="NO" id="qgR-zD-wKz">
<rect key="frame" x="0.0" y="105" width="204" height="65"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FXy-A6-Huz">
<rect key="frame" x="0.0" y="0.0" width="204" height="47"/>
<string key="text">Label
Label
Label</string>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="hSt-Vr-ywX" firstAttribute="top" secondItem="3AV-Ja-CkX" secondAttribute="top" constant="10" id="80P-Pn-boe"/>
<constraint firstAttribute="trailing" secondItem="hSt-Vr-ywX" secondAttribute="trailing" constant="10" id="b0n-Kv-FXN"/>
<constraint firstAttribute="bottom" secondItem="hSt-Vr-ywX" secondAttribute="bottom" constant="10" id="gf2-1Y-m6I"/>
<constraint firstItem="hSt-Vr-ywX" firstAttribute="leading" secondItem="3AV-Ja-CkX" secondAttribute="leading" constant="10" id="jn6-OL-uzt"/>
</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="3AV-Ja-CkX" secondAttribute="trailing" constant="10" id="8Uo-Ce-tr1"/>
<constraint firstItem="3AV-Ja-CkX" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="IZv-Zy-epR"/>
<constraint firstItem="3AV-Ja-CkX" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="cVZ-vU-0kW"/>
<constraint firstAttribute="bottom" secondItem="3AV-Ja-CkX" secondAttribute="bottom" constant="10" id="r6I-Bo-Yk3"/>
</constraints>
<size key="customSize" width="244" height="210"/>
<connections>
<outlet property="blogImage" destination="5yh-us-azT" id="7V0-Ce-aFs"/>
<outlet property="blogTitle" destination="FXy-A6-Huz" id="4ix-kM-Trx"/>
<outlet property="outerView" destination="3AV-Ja-CkX" id="Tn6-Lq-0ST"/>
</connections>
<point key="canvasLocation" x="277.86259541984731" y="45.070422535211272"/>
</collectionViewCell>
</objects>
</document>

View File

@@ -0,0 +1,33 @@
//
// SongListCell.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import UIKit
class SongListCell: UITableViewCell {
@IBOutlet weak var ongoingTimeLabel: UILabel!
@IBOutlet weak var totalTimeLabel: UILabel!
@IBOutlet weak var songTitle: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func setData(data : SongBlogDM.PaintDatum){
self.totalTimeLabel.text = "/" + (data.songDuration ?? "0:00")
self.ongoingTimeLabel.text = "0:00"
self.songTitle.text = data.title!
}
}

View File

@@ -0,0 +1,94 @@
<?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>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
</customFonts>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="69" id="KGk-i7-Jjw" customClass="SongListCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="351" height="69"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="351" height="69"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" distribution="equalSpacing" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="era-Az-5kr">
<rect key="frame" x="5" y="5" width="341" height="59"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="ngc-D8-N88">
<rect key="frame" x="0.0" y="0.0" width="96.666666666666671" height="59"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="play.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="MdW-yq-Mld">
<rect key="frame" x="0.0" y="2" width="59" height="55"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" secondItem="MdW-yq-Mld" secondAttribute="height" multiplier="1:1" id="XHF-ha-GMe"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QJ2-HR-46k">
<rect key="frame" x="64" y="0.0" width="32.666666666666657" height="59"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="eI6-es-65E">
<rect key="frame" x="287.33333333333331" y="0.0" width="48.666666666666686" height="59"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0:00" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mcL-xd-aWa">
<rect key="frame" x="0.0" y="0.0" width="34.666666666666664" height="59"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="/" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5XU-52-i0j">
<rect key="frame" x="39.666666666666686" y="0.0" width="9" height="59"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" red="0.035294117647058823" green="0.0" blue="0.36470588235294116" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<edgeInsets key="layoutMargins" top="0.0" left="0.0" bottom="0.0" right="5"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="era-Az-5kr" secondAttribute="bottom" constant="5" id="EvB-Pc-qHj"/>
<constraint firstAttribute="trailing" secondItem="era-Az-5kr" secondAttribute="trailing" constant="5" id="Qom-ZY-yLO"/>
<constraint firstItem="era-Az-5kr" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="QpY-5B-Ewo"/>
<constraint firstItem="era-Az-5kr" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="iRb-Zy-g7m"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<outlet property="ongoingTimeLabel" destination="mcL-xd-aWa" id="RAG-Kd-oGz"/>
<outlet property="songTitle" destination="QJ2-HR-46k" id="de9-lx-Wmg"/>
<outlet property="totalTimeLabel" destination="5XU-52-i0j" id="2BY-NO-kXO"/>
</connections>
<point key="canvasLocation" x="153.43511450381678" y="-2.4647887323943665"/>
</tableViewCell>
</objects>
<resources>
<image name="play.fill" catalog="system" width="117" height="128"/>
</resources>
</document>

View File

@@ -0,0 +1,109 @@
//
// MoreVM.swift
// WOKA
//
// Created by MacBook Pro on 10/06/24.
//
import UIKit
import AVFoundation
class MoreVM{
weak var vc : MoreVC!
var blogData = [BlogDM.Blog]()
var songData = [SongBlogDM.PaintDatum]()
var player: AVPlayer?
func initView(){
getBLogs()
getSong()
setupCell()
vc.homeBtn.addTapGesture {
self.vc.dismiss(animated: true)
}
}
func playSong(urlString: String) {
guard let url = URL(string: urlString) else {
print("Invalid URL string.")
return
}
player = AVPlayer(url: url)
player?.play()
}
func setupCell(){
vc.blogsCollectionView.register(UINib(nibName: K.CellIdentifier.Home.blogsCell, bundle: nil), forCellWithReuseIdentifier: K.CellIdentifier.Home.blogsCell)
vc.blogsCollectionView.delegate = vc.self
vc.blogsCollectionView.dataSource = vc.self
vc.songTableView.register(UINib(nibName: K.CellIdentifier.Home.songListCell, bundle: nil), forCellReuseIdentifier: K.CellIdentifier.Home.songListCell)
vc.songTableView.delegate = vc.self
vc.songTableView.dataSource = vc.self
}
// MARK: - Get BLogs Data
func getBLogs(){
Utilities.startProgressHUD()
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Home.blogs, method: .get) {(result : Result<BaseResponseModel<BlogDM>, NetworkManager.APIError>) in
switch result{
case .success(let data):
switch data.success{
case 0:
/*
Error
*/
Utilities.dismissProgressHUD()
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
case 1:
Utilities.dismissProgressHUD()
guard let data = data.data?.blogs else{return}
self.blogData = data
self.blogData.append(contentsOf: data)
self.vc.blogsCollectionView.reloadData()
//Fetched Blogs
break
default:
break
}
case .failure(let error):
Utilities.dismissProgressHUD()
self.vc.toast(msg: error.localizedDescription , time: 2)
}
}
}
func getSong(){
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Home.song_listing, method: .post) {(result : Result<BaseResponseModel<SongBlogDM>, NetworkManager.APIError>) in
switch result{
case .success(let data):
switch data.success{
case 0:
/*
Error
*/
Utilities.dismissProgressHUD()
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
case 1:
Utilities.dismissProgressHUD()
guard let data = data.data?.paintData else{return}
self.songData = data
self.vc.songTableView.reloadData()
break
default:
break
}
case .failure(let error):
Utilities.dismissProgressHUD()
self.vc.toast(msg: error.localizedDescription , time: 2)
}
}
}
}

View File

@@ -19,6 +19,12 @@ class ThemeOneVM{
var playerLayer: AVPlayerLayer!
func initView(){
vc.bottomArrow.addTapGesture {
let sb = UIStoryboard(name: K.StoryBoard.theme, bundle: nil)
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Theme.moreVC) as! MoreVC
vcPush.modalPresentationStyle = .overCurrentContext
self.vc.present(vcPush, animated: true)
}
AuthFunc.shareInstance.initTimePeriods()
startInitialTimer()
moveLiveTVView()
@@ -30,6 +36,8 @@ class ThemeOneVM{
vc.nameLabel.setContentHuggingPriority(.fittingSizeLevel, for: .horizontal)
vc.nameLabel.setContentCompressionResistancePriority(.fittingSizeLevel, for: .horizontal)
}
private func handleNotificationCenter(){
@@ -109,9 +117,8 @@ class ThemeOneVM{
func handleTaps(){
//WebSeries
vc.webSeriesView.addTapGesture { [weak self] in
guard let self else {return}
ViewButtonAnimation.sharedInstance.btnTapped(in: self.vc, view: vc.webSeriesView) {
vc.webSeriesView.addTapGesture {
ViewButtonAnimation.sharedInstance.btnTapped(in: self.vc, view: self.vc.webSeriesView) {
// self.vc.delegate?.didPressSwitchButton(from: self.vc)
}