- Created an extension to handle the rootview.
- Added localisation to theme 1, also updated the English localisation for reversing the language - Added localisation to the sidebar. Also handled the live language change with the help of observers - Integrated GetUserData API at splash. - Added the login NAv. Now if user will logout he will be redirected to the login Screen. - Added Activity Indicator on the splash to handle the getuserdata. - Added Guest Login To home.
This commit is contained in:
@@ -64,6 +64,7 @@
|
||||
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 */; };
|
||||
529B0DD42C06156B00CFC54B /* LoginNavVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 529B0DD32C06156B00CFC54B /* LoginNavVC.swift */; };
|
||||
52A3F6A52BECBA8D0000BB0B /* LinkedChildDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A3F6A42BECBA8D0000BB0B /* LinkedChildDM.swift */; };
|
||||
52A3F6A82BECBF2A0000BB0B /* LinkedChildCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A3F6A62BECBF2A0000BB0B /* LinkedChildCell.swift */; };
|
||||
52A3F6A92BECBF2A0000BB0B /* LinkedChildCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52A3F6A72BECBF2A0000BB0B /* LinkedChildCell.xib */; };
|
||||
@@ -80,6 +81,9 @@
|
||||
52B8D4E02C04A25E00ED65F3 /* UIView+Container.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B8D4D62C04A25D00ED65F3 /* UIView+Container.swift */; };
|
||||
52B8D4E12C04A25E00ED65F3 /* BasicTransitionAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B8D4D72C04A25E00ED65F3 /* BasicTransitionAnimator.swift */; };
|
||||
52B8D4E22C04A25E00ED65F3 /* Segue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B8D4D82C04A25E00ED65F3 /* Segue.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 */; };
|
||||
52C6E01B2BE383C000E22D59 /* YourIntrestCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0192BE383C000E22D59 /* YourIntrestCell.swift */; };
|
||||
52C6E01C2BE383C000E22D59 /* YourIntrestCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52C6E01A2BE383C000E22D59 /* YourIntrestCell.xib */; };
|
||||
52C6E01E2BE3847F00E22D59 /* BorderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E01D2BE3847F00E22D59 /* BorderView.swift */; };
|
||||
@@ -132,7 +136,6 @@
|
||||
9C535DC22C00B36900DA6DCD /* ThemeTwoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */; };
|
||||
9C535DC52C00BF2400DA6DCD /* HomeExploreCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */; };
|
||||
9C535DC62C00BF2400DA6DCD /* HomeExploreCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */; };
|
||||
9C535DCA2C00C34A00DA6DCD /* Theme.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C535DC92C00C34A00DA6DCD /* Theme.storyboard */; };
|
||||
9C56E83B2BDBC6E600E4CA14 /* SelectAgeVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E83A2BDBC6E600E4CA14 /* SelectAgeVM.swift */; };
|
||||
9C56E8462BDBEE6400E4CA14 /* EmailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E8452BDBEE6400E4CA14 /* EmailVC.swift */; };
|
||||
9C56E8482BDBEFAB00E4CA14 /* AssetColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C56E8472BDBEFAB00E4CA14 /* AssetColor.swift */; };
|
||||
@@ -224,6 +227,7 @@
|
||||
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>"; };
|
||||
529B0DD32C06156B00CFC54B /* LoginNavVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginNavVC.swift; sourceTree = "<group>"; };
|
||||
52A3F6A42BECBA8D0000BB0B /* LinkedChildDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkedChildDM.swift; sourceTree = "<group>"; };
|
||||
52A3F6A62BECBF2A0000BB0B /* LinkedChildCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkedChildCell.swift; sourceTree = "<group>"; };
|
||||
52A3F6A72BECBF2A0000BB0B /* LinkedChildCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LinkedChildCell.xib; sourceTree = "<group>"; };
|
||||
@@ -241,6 +245,11 @@
|
||||
52B8D4D62C04A25D00ED65F3 /* UIView+Container.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Container.swift"; sourceTree = "<group>"; };
|
||||
52B8D4D72C04A25E00ED65F3 /* BasicTransitionAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasicTransitionAnimator.swift; sourceTree = "<group>"; };
|
||||
52B8D4D82C04A25E00ED65F3 /* Segue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Segue.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>"; };
|
||||
52C1A4EF2C05DA49007BAA50 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Theme.strings; sourceTree = "<group>"; };
|
||||
52C1A4F12C05DA4C007BAA50 /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Theme.strings; sourceTree = "<group>"; };
|
||||
52C6E0192BE383C000E22D59 /* YourIntrestCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YourIntrestCell.swift; sourceTree = "<group>"; };
|
||||
52C6E01A2BE383C000E22D59 /* YourIntrestCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = YourIntrestCell.xib; sourceTree = "<group>"; };
|
||||
52C6E01D2BE3847F00E22D59 /* BorderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BorderView.swift; sourceTree = "<group>"; };
|
||||
@@ -295,7 +304,6 @@
|
||||
9C535DC12C00B36900DA6DCD /* ThemeTwoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTwoVC.swift; sourceTree = "<group>"; };
|
||||
9C535DC32C00BF2400DA6DCD /* HomeExploreCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = HomeExploreCell.swift; path = WOKA/Theme/View/HomeExploreCell.swift; sourceTree = SOURCE_ROOT; };
|
||||
9C535DC42C00BF2400DA6DCD /* HomeExploreCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = HomeExploreCell.xib; path = WOKA/Theme/View/HomeExploreCell.xib; sourceTree = SOURCE_ROOT; };
|
||||
9C535DC92C00C34A00DA6DCD /* Theme.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Theme.storyboard; sourceTree = "<group>"; };
|
||||
9C56E82E2BDBC3EF00E4CA14 /* Exo2-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Bold.ttf"; sourceTree = "<group>"; };
|
||||
9C56E82F2BDBC3EF00E4CA14 /* Exo2-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-Medium.ttf"; sourceTree = "<group>"; };
|
||||
9C56E8302BDBC3EF00E4CA14 /* Exo2-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2-SemiBold.ttf"; sourceTree = "<group>"; };
|
||||
@@ -423,6 +431,7 @@
|
||||
523ED26B2BDA2BC900CFED02 /* Info.plist */,
|
||||
9C9BEEC62BEE1BBF004ECC2F /* CollectionViewCenteredFlowLayout.swift */,
|
||||
5259541E2BE8E93500191286 /* Config.xcconfig */,
|
||||
523ED2682BDA2BC900CFED02 /* LaunchScreen.storyboard */,
|
||||
5259542C2BEA392A00191286 /* Alerts */,
|
||||
523ED2932BDA3D0100CFED02 /* Assets */,
|
||||
9C56E83E2BDBE4FB00E4CA14 /* Authentication */,
|
||||
@@ -430,7 +439,6 @@
|
||||
52C6E01F2BE3ADD800E22D59 /* Default Enum */,
|
||||
52C8B0512BDA4B51003B51D0 /* Helpers */,
|
||||
9CBCB2A62BE5104F007D7934 /* Home */,
|
||||
523ED2682BDA2BC900CFED02 /* LaunchScreen.storyboard */,
|
||||
9C27E15E2BDB6E4F00EC1DA9 /* Localized Module */,
|
||||
9C27E1612BDB6F0F00EC1DA9 /* Main */,
|
||||
525954152BE8CAC900191286 /* Network Adapter */,
|
||||
@@ -503,6 +511,7 @@
|
||||
523ED2612BDA2BC700CFED02 /* SplashVC.swift */,
|
||||
52C8B0732BDA7626003B51D0 /* OnBoardVC.swift */,
|
||||
9CDC343B2BDBBC6B00093089 /* SelectAgeVC.swift */,
|
||||
52C1A4E42C05BC86007BAA50 /* MainNavController.swift */,
|
||||
);
|
||||
path = Controller;
|
||||
sourceTree = "<group>";
|
||||
@@ -641,6 +650,17 @@
|
||||
path = Alerts;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
52C1A4DF2C05B670007BAA50 /* Delegate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
523ED25D2BDA2BC700CFED02 /* AppDelegate.swift */,
|
||||
523ED25F2BDA2BC700CFED02 /* SceneDelegate.swift */,
|
||||
9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */,
|
||||
52C1A4E02C05B69F007BAA50 /* UIApplicationSwitchRoot.swift */,
|
||||
);
|
||||
path = Delegate;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
52C6E01F2BE3ADD800E22D59 /* Default Enum */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -758,10 +778,8 @@
|
||||
9C27E1612BDB6F0F00EC1DA9 /* Main */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
52C1A4DF2C05B670007BAA50 /* Delegate */,
|
||||
52FDBA792BFF26F9009D7AC7 /* AuthFunc */,
|
||||
523ED25D2BDA2BC700CFED02 /* AppDelegate.swift */,
|
||||
523ED25F2BDA2BC700CFED02 /* SceneDelegate.swift */,
|
||||
9C535DB42C005A6C00DA6DCD /* KeyWindowFix.swift */,
|
||||
);
|
||||
path = Main;
|
||||
sourceTree = "<group>";
|
||||
@@ -788,7 +806,7 @@
|
||||
52F12C812C04569500AF8139 /* View */,
|
||||
9C535DCC2C00CD1200DA6DCD /* ViewModel */,
|
||||
9C535DCB2C00CD0800DA6DCD /* Controller */,
|
||||
9C535DC92C00C34A00DA6DCD /* Theme.storyboard */,
|
||||
52C1A4E72C05C95D007BAA50 /* Theme.storyboard */,
|
||||
);
|
||||
path = Theme;
|
||||
sourceTree = "<group>";
|
||||
@@ -879,6 +897,7 @@
|
||||
9CBCB2A22BE50C95007D7934 /* ResetPassUserNameVC.swift */,
|
||||
9CBCB2A42BE50D49007D7934 /* NewPasswordVC.swift */,
|
||||
52A3F6AA2BECBF550000BB0B /* LinkedChildVC.swift */,
|
||||
529B0DD32C06156B00CFC54B /* LoginNavVC.swift */,
|
||||
);
|
||||
path = Controller;
|
||||
sourceTree = "<group>";
|
||||
@@ -1027,7 +1046,7 @@
|
||||
523ED26A2BDA2BC900CFED02 /* Base in Resources */,
|
||||
52C8B05B2BDA5924003B51D0 /* WokaSplashSound.m4a in Resources */,
|
||||
525954352BEB4B3B00191286 /* Exo2-Thin.ttf in Resources */,
|
||||
9C535DCA2C00C34A00DA6DCD /* Theme.storyboard in Resources */,
|
||||
52C1A4E82C05C95D007BAA50 /* Theme.storyboard in Resources */,
|
||||
525954362BEB4B3B00191286 /* Exo2-Medium.ttf in Resources */,
|
||||
525954372BEB4B3B00191286 /* Exo2-Bold.ttf in Resources */,
|
||||
525954382BEB4B3B00191286 /* Exo2-Regular.ttf in Resources */,
|
||||
@@ -1200,7 +1219,9 @@
|
||||
525954322BEA39D200191286 /* AddTapGesture.swift in Sources */,
|
||||
522242682BFC74380085C632 /* TabBarVC.swift in Sources */,
|
||||
9C27E1722BDB86B600EC1DA9 /* OnBoardCell.swift in Sources */,
|
||||
529B0DD42C06156B00CFC54B /* LoginNavVC.swift in Sources */,
|
||||
52C8B05F2BDA5AFA003B51D0 /* SplashVM.swift in Sources */,
|
||||
52C1A4E12C05B69F007BAA50 /* UIApplicationSwitchRoot.swift in Sources */,
|
||||
52663FF72BDFACF60001D8CE /* ShadowView.swift in Sources */,
|
||||
9C535DC22C00B36900DA6DCD /* ThemeTwoVC.swift in Sources */,
|
||||
52D774F12BDFC53B001D87DE /* StringSubScript.swift in Sources */,
|
||||
@@ -1208,6 +1229,7 @@
|
||||
52FB2D8F2BDF898F0009B0C7 /* TextFieldPadding.swift in Sources */,
|
||||
5257B2652BDFB6F50086D79B /* CheckPhoneHomeBtnOrNotch.swift in Sources */,
|
||||
52663FF92BDFAF110001D8CE /* EmailVM.swift in Sources */,
|
||||
52C1A4E52C05BC86007BAA50 /* MainNavController.swift in Sources */,
|
||||
525954342BEA620800191286 /* IntrestTopicDM.swift in Sources */,
|
||||
52663FF52BDFAB830001D8CE /* TextFieldErrorView.swift in Sources */,
|
||||
9C27E16D2BDB852F00EC1DA9 /* GVar.swift in Sources */,
|
||||
@@ -1273,6 +1295,16 @@
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
52C1A4E72C05C95D007BAA50 /* Theme.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
52C1A4E62C05C95D007BAA50 /* Base */,
|
||||
52C1A4EF2C05DA49007BAA50 /* en */,
|
||||
52C1A4F12C05DA4C007BAA50 /* hi */,
|
||||
);
|
||||
name = Theme.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
52C8B0612BDA6993003B51D0 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||
<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"/>
|
||||
@@ -134,22 +134,22 @@
|
||||
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="25" translatesAutoresizingMaskIntoConstraints="NO" id="krK-cg-Oil">
|
||||
<rect key="frame" x="20" y="355.66666666666669" width="353" height="166.00000000000006"/>
|
||||
<rect key="frame" x="20" y="350.66666666666669" width="353" height="176.00000000000006"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="2aC-DO-6DC">
|
||||
<rect key="frame" x="10" y="15" width="333" height="41"/>
|
||||
<rect key="frame" x="15" y="15" width="323" height="41"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ium-M5-1Q9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="333" height="30"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="323" height="30"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WOKA" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jJ7-vb-Tw5">
|
||||
<rect key="frame" x="0.0" y="0.0" width="333" height="30"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="323" height="30"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FQZ-wu-DL8">
|
||||
<rect key="frame" x="303" y="0.0" width="30" height="30"/>
|
||||
<rect key="frame" x="293" y="0.0" width="30" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="FQZ-wu-DL8" secondAttribute="height" multiplier="1:1" id="fU5-4r-4IE"/>
|
||||
</constraints>
|
||||
@@ -174,7 +174,7 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6ut-1P-FdB">
|
||||
<rect key="frame" x="0.0" y="40" width="333" height="1"/>
|
||||
<rect key="frame" x="0.0" y="40" width="323" height="1"/>
|
||||
<color key="backgroundColor" name="WelcomeBlue"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="r8A-Sj-Pc4"/>
|
||||
@@ -183,16 +183,16 @@
|
||||
</subviews>
|
||||
</stackView>
|
||||
<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="2hO-Cj-GYn">
|
||||
<rect key="frame" x="10" y="81" width="333" height="0.0"/>
|
||||
<rect key="frame" x="15" y="81" width="323" height="0.0"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" distribution="fillEqually" spacing="40" translatesAutoresizingMaskIntoConstraints="NO" id="vHX-v2-EPI">
|
||||
<rect key="frame" x="10" y="106" width="333" height="50"/>
|
||||
<rect key="frame" x="15" y="106" width="323" height="50"/>
|
||||
<subviews>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Mtd-2O-WKd" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="146.66666666666666" height="50"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="141.66666666666666" height="50"/>
|
||||
<color key="backgroundColor" name="TextDarkBlue"/>
|
||||
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<state key="normal" title="Button"/>
|
||||
@@ -204,7 +204,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FnX-50-KNX" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="186.66666666666663" y="0.0" width="146.33333333333337" height="50"/>
|
||||
<rect key="frame" x="181.66666666666663" y="0.0" width="141.33333333333337" height="50"/>
|
||||
<color key="backgroundColor" name="TextDarkBlue"/>
|
||||
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<state key="normal" title="Button"/>
|
||||
@@ -227,7 +227,7 @@
|
||||
</stackView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<edgeInsets key="layoutMargins" top="15" left="10" bottom="10" right="10"/>
|
||||
<edgeInsets key="layoutMargins" top="15" left="15" bottom="20" right="15"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
|
||||
@@ -43,25 +43,25 @@
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="wZZ-TW-F7M">
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="203.5"/>
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="202"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Let’s be Safe!" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yPx-mT-kaf" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="34"/>
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="33"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="28"/>
|
||||
<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" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="xww-d1-beY">
|
||||
<rect key="frame" x="10" y="104" width="354" height="99.5"/>
|
||||
<rect key="frame" x="10" y="103" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CAN WE HAVE YOUR PARENT’S EMAIL?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="STc-F9-ORA">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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" text="useless@yopmail.com" placeholder="Enter your email" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="DSB-Ge-wNO" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Enter your email" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="DSB-Ge-wNO" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -80,7 +80,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="JHJ-Zh-JC5">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -91,16 +91,16 @@
|
||||
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="kWC-4v-p9x">
|
||||
<rect key="frame" x="30" y="740" width="354" height="102"/>
|
||||
<rect key="frame" x="30" y="740.5" width="354" height="101.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="We will send a verification code to their email" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lqT-ZV-x5p" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="17"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="16.5"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zNR-RE-Ax8" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="52" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="51.5" width="354" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="4eR-zk-hWT"/>
|
||||
</constraints>
|
||||
@@ -167,10 +167,10 @@
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="mhH-Ov-1nU">
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="281.5"/>
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="278.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NYC-6J-drr" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="67.5"/>
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="65.5"/>
|
||||
<string key="text">Please Get the Code
|
||||
Sent to Your Parent’s Email</string>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="28"/>
|
||||
@@ -178,16 +178,16 @@ Sent to Your Parent’s Email</string>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="dF8-rD-e8F">
|
||||
<rect key="frame" x="10" y="137.5" width="354" height="144"/>
|
||||
<rect key="frame" x="10" y="135.5" width="354" height="143"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="PLEASE ENTER THE CODE" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tB6-Qz-8Ez" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="HGA-bw-mMW">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="60"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="60"/>
|
||||
<subviews>
|
||||
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="*" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="81S-Fa-CiD" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="81" height="60"/>
|
||||
@@ -223,13 +223,13 @@ Sent to Your Parent’s Email</string>
|
||||
</constraints>
|
||||
</stackView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="OTP is valid for 10:00 Min" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WcL-Rp-jOq" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="109.5" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="109" width="354" 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>
|
||||
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KX4-Ip-eii" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="136.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="135.5" width="354" height="0.0"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain">
|
||||
@@ -247,7 +247,7 @@ Sent to Your Parent’s Email</string>
|
||||
</connections>
|
||||
</button>
|
||||
<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="dt3-hg-7T4" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="144" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="143" width="354" 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"/>
|
||||
@@ -258,16 +258,16 @@ Sent to Your Parent’s Email</string>
|
||||
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="xga-nK-9qJ">
|
||||
<rect key="frame" x="30" y="723" width="354" height="119"/>
|
||||
<rect key="frame" x="30" y="724" width="354" height="118"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Request them for the verfication code to activate your account" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M3r-lS-DmW" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="34"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="33"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vVW-Kz-YaV" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="69" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="68" width="354" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="KmJ-vu-pxT"/>
|
||||
</constraints>
|
||||
@@ -339,28 +339,28 @@ Sent to Your Parent’s Email</string>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="L80-bN-1T0">
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="510.5"/>
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="506.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Great! Now Let’s Create Your WOKAccount" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3x2-kd-tL1" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="65"/>
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="63"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="27"/>
|
||||
<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" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="bJs-H6-708">
|
||||
<rect key="frame" x="10" y="135" width="354" height="375.5"/>
|
||||
<rect key="frame" x="10" y="133" width="354" height="373.5"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="LUQ-BX-nHw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SELECT USERNAME" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w7B-kJ-IgM" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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 username" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="m50-FZ-yVO" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -379,7 +379,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="RuI-5z-pyW">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -387,16 +387,16 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="qSD-g5-OZA">
|
||||
<rect key="frame" x="0.0" y="129.5" width="354" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="129" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WHAT’S YOUR NAME?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eZm-zl-55m" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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="tgW-LH-XfR" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -415,7 +415,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="Y3K-h2-Gbg">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -423,16 +423,16 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="hWX-C0-soL">
|
||||
<rect key="frame" x="0.0" y="259" width="354" height="116.5"/>
|
||||
<rect key="frame" x="0.0" y="258" width="354" height="115.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CREATE YOUR PASSWORD" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fev-AX-lcQ" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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 password" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="4gw-z0-s4a" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -451,7 +451,7 @@ Sent to Your Parent’s Email</string>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</textField>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Shh!! Don’t share your password with anyone." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3LF-iY-Hoi" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="17"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" height="16.5"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@@ -829,35 +829,35 @@ Sent to Your Parent’s Email</string>
|
||||
<rect key="frame" x="0.0" y="107.5" width="414" height="754.5"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="aNK-S5-pik">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="763.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="760"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Y9q-mR-AlW">
|
||||
<rect key="frame" x="20" y="0.0" width="374" height="60"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="Krs-Zs-R6t">
|
||||
<rect key="frame" x="20" y="60" width="374" height="447.5"/>
|
||||
<rect key="frame" x="20" y="60" width="374" height="445"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Login to WOKA" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1T4-5K-cXT" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="32.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="31.5"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-ExtraBold" family="Exo 2" pointSize="27"/>
|
||||
<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" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="EhK-1C-Xey">
|
||||
<rect key="frame" x="0.0" y="102.5" width="374" height="345"/>
|
||||
<rect key="frame" x="0.0" y="101.5" width="374" height="343.5"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="krT-0d-tCQ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="USERNAME" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Xc-wy-9mu" 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 username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="68c-1b-KSI" 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>
|
||||
@@ -876,7 +876,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="JQm-yr-A2M">
|
||||
<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"/>
|
||||
@@ -884,19 +884,19 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="fVp-fO-1fH">
|
||||
<rect key="frame" x="0.0" y="129.5" width="374" height="135.5"/>
|
||||
<rect key="frame" x="0.0" y="129" width="374" height="134.5"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="ebQ-va-83Q">
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="PASSWORD" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BcT-5f-ded" 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 password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="iJE-dm-qal" 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>
|
||||
@@ -915,7 +915,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="2YT-HL-ug7">
|
||||
<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"/>
|
||||
@@ -923,7 +923,7 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yp6-2q-OZC" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="104.5" width="374" height="31"/>
|
||||
<rect key="frame" x="0.0" y="104" width="374" height="30.5"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain" title="Forgot Password">
|
||||
@@ -936,7 +936,7 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OFt-kx-VfD" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="295" width="374" height="50"/>
|
||||
<rect key="frame" x="0.0" y="293.5" width="374" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="Tle-PZ-1B4"/>
|
||||
</constraints>
|
||||
@@ -955,14 +955,14 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tOZ-1S-7K5">
|
||||
<rect key="frame" x="20" y="507.5" width="374" height="120"/>
|
||||
<rect key="frame" x="20" y="505" width="374" height="120"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="Nnb-iQ-OQs">
|
||||
<rect key="frame" x="20" y="627.5" width="374" height="106"/>
|
||||
<rect key="frame" x="20" y="625" width="374" height="105"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ly3-jW-G7X" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="36"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="374" height="35"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain" title="Continue as a Guest">
|
||||
@@ -973,7 +973,7 @@ Sent to Your Parent’s Email</string>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TYc-dA-ZOV" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="56" width="374" height="50"/>
|
||||
<rect key="frame" x="0.0" y="55" width="374" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="sfz-a2-WZy"/>
|
||||
</constraints>
|
||||
@@ -990,7 +990,7 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sb4-yj-JJ2">
|
||||
<rect key="frame" x="20" y="733.5" width="374" height="30"/>
|
||||
<rect key="frame" x="20" y="730" width="374" height="30"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="RxX-pL-7Ux"/>
|
||||
@@ -1038,7 +1038,7 @@ Sent to Your Parent’s Email</string>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="Mdc-Fp-9OO" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3098.5507246376815" y="-27.455357142857142"/>
|
||||
<point key="canvasLocation" x="4008.6956521739135" y="-27.455357142857142"/>
|
||||
</scene>
|
||||
<!--Reset Pass User NameVC-->
|
||||
<scene sceneID="h7R-p4-2q6">
|
||||
@@ -1059,25 +1059,25 @@ Sent to Your Parent’s Email</string>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="Pjf-i3-BcY">
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="203.5"/>
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="202"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Forgot your Password?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i7M-Ob-pCE" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="34"/>
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="33"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="28"/>
|
||||
<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" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Jlq-Ct-Mrz">
|
||||
<rect key="frame" x="10" y="104" width="354" height="99.5"/>
|
||||
<rect key="frame" x="10" y="103" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="PLEASE GIVE US YOUR USERNAME" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fCB-jL-yE4" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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 username" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="wy2-0C-rxG" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -1096,7 +1096,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="0ps-Ku-87z">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -1107,16 +1107,16 @@ Sent to Your Parent’s Email</string>
|
||||
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="NPA-IJ-SA5">
|
||||
<rect key="frame" x="30" y="740" width="354" height="102"/>
|
||||
<rect key="frame" x="30" y="740.5" width="354" height="101.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="We will send a reset code to their email" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uv4-iY-Z87" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="17"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="16.5"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="14"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JJ0-wA-EP6" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="52" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="51.5" width="354" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="I7D-T4-sU1"/>
|
||||
</constraints>
|
||||
@@ -1179,28 +1179,28 @@ Sent to Your Parent’s Email</string>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="70" translatesAutoresizingMaskIntoConstraints="NO" id="ph5-wC-m3B">
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="341.5"/>
|
||||
<rect key="frame" x="20" y="172.5" width="374" height="339.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Great! Select New Password" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QGk-Uc-mER" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="32.5"/>
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="31.5"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="27"/>
|
||||
<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" axis="vertical" spacing="40" translatesAutoresizingMaskIntoConstraints="NO" id="qzU-f1-tq1">
|
||||
<rect key="frame" x="10" y="102.5" width="354" height="239"/>
|
||||
<rect key="frame" x="10" y="101.5" width="354" height="238"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="1na-3A-stg">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CREATE YOUR PASSWORD" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hYw-Vc-C9h">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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 new password" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Skx-Ig-91N" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -1219,7 +1219,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="Ht0-v3-TeN">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -1227,16 +1227,16 @@ Sent to Your Parent’s Email</string>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Rwa-zV-eg9">
|
||||
<rect key="frame" x="0.0" y="139.5" width="354" height="99.5"/>
|
||||
<rect key="frame" x="0.0" y="139" width="354" height="99"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CONFIRM YOUR PASSWORD" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6LZ-Ed-gCK">
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" height="19.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="354" 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="confirm your password" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="JRR-Bk-5UP" customClass="TextFieldShadow" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="34.5" width="354" height="50"/>
|
||||
<rect key="frame" x="0.0" y="34" width="354" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<constraints>
|
||||
@@ -1255,7 +1255,7 @@ Sent to Your Parent’s Email</string>
|
||||
</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="B3H-EX-OA7">
|
||||
<rect key="frame" x="0.0" y="99.5" width="354" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="99" width="354" 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"/>
|
||||
@@ -1411,46 +1411,63 @@ Sent to Your Parent’s Email</string>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="799" y="710"/>
|
||||
</scene>
|
||||
<!--Login NavVC-->
|
||||
<scene sceneID="CN3-gS-caP">
|
||||
<objects>
|
||||
<navigationController storyboardIdentifier="LoginNavVC" automaticallyAdjustsScrollViewInsets="NO" navigationBarHidden="YES" id="bHr-RA-yCX" customClass="LoginNavVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<toolbarItems/>
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="h7h-Q6-GoK">
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<nil name="viewControllers"/>
|
||||
<connections>
|
||||
<segue destination="vuc-DA-J2M" kind="relationship" relationship="rootViewController" id="46t-xJ-5Cu"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="gRv-iT-0nd" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3098.5507246376815" y="-27.455357142857142"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<designables>
|
||||
<designable name="42K-Uu-lPQ">
|
||||
<size key="intrinsicContentSize" width="8.5" height="23.5"/>
|
||||
<size key="intrinsicContentSize" width="6.5" height="22.5"/>
|
||||
</designable>
|
||||
<designable name="4gw-z0-s4a">
|
||||
<size key="intrinsicContentSize" width="200.5" height="20"/>
|
||||
<size key="intrinsicContentSize" width="198" height="19"/>
|
||||
</designable>
|
||||
<designable name="68c-1b-KSI">
|
||||
<size key="intrinsicContentSize" width="201.5" height="21"/>
|
||||
<size key="intrinsicContentSize" width="199" height="20.5"/>
|
||||
</designable>
|
||||
<designable name="81S-Fa-CiD">
|
||||
<size key="intrinsicContentSize" width="8.5" height="23.5"/>
|
||||
<size key="intrinsicContentSize" width="6.5" height="22.5"/>
|
||||
</designable>
|
||||
<designable name="DSB-Ge-wNO">
|
||||
<size key="intrinsicContentSize" width="210" height="21"/>
|
||||
<size key="intrinsicContentSize" width="166" height="20.5"/>
|
||||
</designable>
|
||||
<designable name="Hcd-Mm-IxW">
|
||||
<size key="intrinsicContentSize" width="8.5" height="23.5"/>
|
||||
<size key="intrinsicContentSize" width="6.5" height="22.5"/>
|
||||
</designable>
|
||||
<designable name="JRR-Bk-5UP">
|
||||
<size key="intrinsicContentSize" width="218" height="20"/>
|
||||
<size key="intrinsicContentSize" width="214.5" height="19"/>
|
||||
</designable>
|
||||
<designable name="MpT-bm-drv">
|
||||
<size key="intrinsicContentSize" width="8.5" height="23.5"/>
|
||||
<size key="intrinsicContentSize" width="6.5" height="22.5"/>
|
||||
</designable>
|
||||
<designable name="Skx-Ig-91N">
|
||||
<size key="intrinsicContentSize" width="199" height="20"/>
|
||||
<size key="intrinsicContentSize" width="196.5" height="19"/>
|
||||
</designable>
|
||||
<designable name="iJE-dm-qal">
|
||||
<size key="intrinsicContentSize" width="200.5" height="20"/>
|
||||
<size key="intrinsicContentSize" width="198" height="19"/>
|
||||
</designable>
|
||||
<designable name="m50-FZ-yVO">
|
||||
<size key="intrinsicContentSize" width="201.5" height="21"/>
|
||||
<size key="intrinsicContentSize" width="199" height="20.5"/>
|
||||
</designable>
|
||||
<designable name="tgW-LH-XfR">
|
||||
<size key="intrinsicContentSize" width="169.5" height="21"/>
|
||||
<size key="intrinsicContentSize" width="168" height="20.5"/>
|
||||
</designable>
|
||||
<designable name="wy2-0C-rxG">
|
||||
<size key="intrinsicContentSize" width="201.5" height="21"/>
|
||||
<size key="intrinsicContentSize" width="199" height="20.5"/>
|
||||
</designable>
|
||||
</designables>
|
||||
<resources>
|
||||
|
||||
29
WOKA/Authentication/Controller/LoginNavVC.swift
Normal file
29
WOKA/Authentication/Controller/LoginNavVC.swift
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// LoginNavVC.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 28/05/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class LoginNavVC: UINavigationController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// MARK: - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
// Get the new view controller using segue.destination.
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
@@ -25,8 +25,8 @@ class LoginVC: UIViewController {
|
||||
vm.vc = self
|
||||
vm.initView()
|
||||
|
||||
self.userNameTF.text = "tests104"
|
||||
self.passwordTF.text = "123456"
|
||||
self.userNameTF.text = "rizwan"
|
||||
self.passwordTF.text = "Rizwan@123"
|
||||
}
|
||||
|
||||
@IBAction func loginBtnTapped(_ sender: LocalisedElementsButton) {
|
||||
|
||||
@@ -15,7 +15,7 @@ struct UserDataDM: Codable {
|
||||
struct ResultData: Codable {
|
||||
let id: Int?
|
||||
let username, fullname: String?
|
||||
let gender: Gender?
|
||||
// let gender: Gender?
|
||||
let birthdate, email: String?
|
||||
let avtar: String?
|
||||
let userType: String?
|
||||
@@ -26,7 +26,8 @@ struct UserDataDM: Codable {
|
||||
let alreadyLoggedIn: Bool?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case id, username, fullname, gender, birthdate, email, avtar
|
||||
case id, username, fullname, birthdate, email, avtar
|
||||
// case gender
|
||||
case userType = "user_type"
|
||||
case languageMasterID = "language_master_id"
|
||||
case lastLogin = "last_login"
|
||||
|
||||
@@ -100,6 +100,11 @@ class LoginVM{
|
||||
/*
|
||||
if user is not logined on other device directly nav him to home
|
||||
*/
|
||||
self.vc.toast(msg: data.message ?? K.ConstantString.unRecognised, time: 2) {
|
||||
UserDefaults.standard.set(true, forKey: K.UserDefaultsStruct.isUserLogined)
|
||||
UserDefaults.standard.set(dataResult.rememberToken, forKey: K.UserDefaultsStruct.userAccessToken)
|
||||
UIApplication.setRootView(SideMenuController.instantiate(from: .Home))
|
||||
}
|
||||
}
|
||||
default:
|
||||
break
|
||||
@@ -132,7 +137,10 @@ class LoginVM{
|
||||
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
case 1:
|
||||
Utilities.dismissProgressHUD()
|
||||
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2) {
|
||||
UserDefaults.standard.set(true, forKey: K.UserDefaultsStruct.isUserLogined)
|
||||
UIApplication.setRootView(SideMenuController.instantiate(from: .Home))
|
||||
}
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -167,9 +175,7 @@ class LoginVM{
|
||||
case 1:
|
||||
Utilities.dismissProgressHUD()
|
||||
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2) {
|
||||
let sb1 = UIStoryboard(name: "Home", bundle: nil)
|
||||
let vc1 = sb1.instantiateViewController(withIdentifier: "SideMenu") as! SideMenuController
|
||||
self.vc.navigationController?.pushViewController(vc1, animated: true)
|
||||
UIApplication.setRootView(SideMenuController.instantiate(from: .Home))
|
||||
}
|
||||
default:
|
||||
break
|
||||
|
||||
@@ -18,6 +18,8 @@ extension K{
|
||||
// App Update
|
||||
static let appUpdateSkipVer = "appUpdateSkipVer"
|
||||
static let themeDefault = "themeDefault"
|
||||
static let isUserLogined = "isUserLogined"
|
||||
static let userAccessToken = "userAccessToken"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,5 @@ extension UIViewController{
|
||||
self.view.isUserInteractionEnabled = true
|
||||
completionBlock?()
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,11 +52,11 @@ public extension UIView {
|
||||
|
||||
private var activeToasts: NSMutableArray {
|
||||
get {
|
||||
if let activeToasts = objc_getAssociatedObject(self, ToastKeys.activeToasts) as? NSMutableArray {
|
||||
if let activeToasts = objc_getAssociatedObject(self, &ToastKeys.activeToasts) as? NSMutableArray {
|
||||
return activeToasts
|
||||
} else {
|
||||
let activeToasts = NSMutableArray()
|
||||
objc_setAssociatedObject(self, ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
objc_setAssociatedObject(self, &ToastKeys.activeToasts, activeToasts, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
return activeToasts
|
||||
}
|
||||
}
|
||||
@@ -64,11 +64,11 @@ public extension UIView {
|
||||
|
||||
private var queue: NSMutableArray {
|
||||
get {
|
||||
if let queue = objc_getAssociatedObject(self, ToastKeys.queue) as? NSMutableArray {
|
||||
if let queue = objc_getAssociatedObject(self, &ToastKeys.queue) as? NSMutableArray {
|
||||
return queue
|
||||
} else {
|
||||
let queue = NSMutableArray()
|
||||
objc_setAssociatedObject(self, ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
objc_setAssociatedObject(self, &ToastKeys.queue, queue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
return queue
|
||||
}
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public extension UIView {
|
||||
let toast = try toastViewForMessage(message, title: title, image: image, style: style)
|
||||
showToast(toast, duration: duration, position: position, completion: completion)
|
||||
} catch ToastError.missingParameters {
|
||||
print("Error: message, title, and image are all nil")
|
||||
// print("Error: message, title, and image are all nil")
|
||||
} catch {}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ public extension UIView {
|
||||
let toast = try toastViewForMessage(message, title: title, image: image, style: style)
|
||||
showToast(toast, duration: duration, point: point, completion: completion)
|
||||
} catch ToastError.missingParameters {
|
||||
print("Error: message, title, and image cannot all be nil")
|
||||
// print("Error: message, title, and image cannot all be nil")
|
||||
} catch {}
|
||||
}
|
||||
|
||||
@@ -148,11 +148,11 @@ public extension UIView {
|
||||
didTap will be `true` if the toast view was dismissed from a tap.
|
||||
*/
|
||||
func showToast(_ toast: UIView, duration: TimeInterval = ToastManager.shared.duration, point: CGPoint, completion: ((_ didTap: Bool) -> Void)? = nil) {
|
||||
objc_setAssociatedObject(toast, ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(toast, &ToastKeys.completion, ToastCompletionWrapper(completion), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
|
||||
if ToastManager.shared.isQueueEnabled, activeToasts.count > 0 {
|
||||
objc_setAssociatedObject(toast, ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(toast, ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(toast, &ToastKeys.duration, NSNumber(value: duration), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(toast, &ToastKeys.point, NSValue(cgPoint: point), .OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
|
||||
queue.add(toast)
|
||||
} else {
|
||||
@@ -232,14 +232,14 @@ public extension UIView {
|
||||
|
||||
@param position The toast's position
|
||||
*/
|
||||
// func makeToastActivity(_ position: ToastPosition) {
|
||||
// // sanity
|
||||
// guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
|
||||
//
|
||||
// let toast = createToastActivityView()
|
||||
// let point = position.centerPoint(forToast: toast, inSuperview: self)
|
||||
// makeToastActivity(toast, point: point)
|
||||
// }
|
||||
func makeToastActivity(_ position: ToastPosition) {
|
||||
// sanity
|
||||
guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
|
||||
|
||||
let toast = createToastActivityView()
|
||||
let point = position.centerPoint(forToast: toast, inSuperview: self)
|
||||
makeToastActivity(toast, point: point)
|
||||
}
|
||||
|
||||
/**
|
||||
Creates and displays a new toast activity indicator view at a specified position.
|
||||
@@ -253,24 +253,24 @@ public extension UIView {
|
||||
|
||||
@param point The toast's center point
|
||||
*/
|
||||
// func makeToastActivity(_ point: CGPoint) {
|
||||
// // sanity
|
||||
// guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
|
||||
//
|
||||
// let toast = createToastActivityView()
|
||||
// makeToastActivity(toast, point: point)
|
||||
// }
|
||||
func makeToastActivity(_ point: CGPoint) {
|
||||
// sanity
|
||||
guard objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView == nil else { return }
|
||||
|
||||
let toast = createToastActivityView()
|
||||
makeToastActivity(toast, point: point)
|
||||
}
|
||||
|
||||
/**
|
||||
Dismisses the active toast activity indicator view.
|
||||
*/
|
||||
func hideToastActivity() {
|
||||
if let toast = objc_getAssociatedObject(self, ToastKeys.activityView) as? UIView {
|
||||
if let toast = objc_getAssociatedObject(self, &ToastKeys.activityView) as? UIView {
|
||||
UIView.animate(withDuration: ToastManager.shared.style.fadeDuration, delay: 0.0, options: [.curveEaseIn, .beginFromCurrentState], animations: {
|
||||
toast.alpha = 0.0
|
||||
}) { _ in
|
||||
toast.removeFromSuperview()
|
||||
objc_setAssociatedObject(self, ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
objc_setAssociatedObject(self, &ToastKeys.activityView, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -281,7 +281,7 @@ public extension UIView {
|
||||
toast.alpha = 0.0
|
||||
toast.center = point
|
||||
|
||||
objc_setAssociatedObject(self, ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
objc_setAssociatedObject(self, &ToastKeys.activityView, toast, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
|
||||
self.addSubview(toast)
|
||||
|
||||
@@ -290,29 +290,29 @@ public extension UIView {
|
||||
})
|
||||
}
|
||||
|
||||
// private func createToastActivityView() -> UIView {
|
||||
// let style = ToastManager.shared.style
|
||||
//
|
||||
// let activityView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: style.activitySize.width, height: style.activitySize.height))
|
||||
// activityView.backgroundColor = style.activityBackgroundColor
|
||||
// activityView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
|
||||
// activityView.layer.cornerRadius = style.cornerRadius
|
||||
//
|
||||
// if style.displayShadow {
|
||||
// activityView.layer.shadowColor = style.shadowColor.cgColor
|
||||
// activityView.layer.shadowOpacity = style.shadowOpacity
|
||||
// activityView.layer.shadowRadius = style.shadowRadius
|
||||
// activityView.layer.shadowOffset = style.shadowOffset
|
||||
// }
|
||||
//
|
||||
// let activityIndicatorView = UIActivityIndicatorView(style: .whiteLarge)
|
||||
// activityIndicatorView.center = CGPoint(x: activityView.bounds.size.width / 2.0, y: activityView.bounds.size.height / 2.0)
|
||||
// activityView.addSubview(activityIndicatorView)
|
||||
// activityIndicatorView.color = style.activityIndicatorColor
|
||||
// activityIndicatorView.startAnimating()
|
||||
//
|
||||
// return activityView
|
||||
// }
|
||||
private func createToastActivityView() -> UIView {
|
||||
let style = ToastManager.shared.style
|
||||
|
||||
let activityView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: style.activitySize.width, height: style.activitySize.height))
|
||||
activityView.backgroundColor = style.activityBackgroundColor
|
||||
activityView.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
|
||||
activityView.layer.cornerRadius = style.cornerRadius
|
||||
|
||||
if style.displayShadow {
|
||||
activityView.layer.shadowColor = style.shadowColor.cgColor
|
||||
activityView.layer.shadowOpacity = style.shadowOpacity
|
||||
activityView.layer.shadowRadius = style.shadowRadius
|
||||
activityView.layer.shadowOffset = style.shadowOffset
|
||||
}
|
||||
|
||||
let activityIndicatorView = UIActivityIndicatorView(style: .whiteLarge)
|
||||
activityIndicatorView.center = CGPoint(x: activityView.bounds.size.width / 2.0, y: activityView.bounds.size.height / 2.0)
|
||||
activityView.addSubview(activityIndicatorView)
|
||||
activityIndicatorView.color = style.activityIndicatorColor
|
||||
activityIndicatorView.startAnimating()
|
||||
|
||||
return activityView
|
||||
}
|
||||
|
||||
// MARK: - Private Show/Hide Methods
|
||||
|
||||
@@ -335,12 +335,12 @@ public extension UIView {
|
||||
}) { _ in
|
||||
let timer = Timer(timeInterval: duration, target: self, selector: #selector(UIView.toastTimerDidFinish(_:)), userInfo: toast, repeats: false)
|
||||
RunLoop.main.add(timer, forMode: .common)
|
||||
objc_setAssociatedObject(toast, ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
}
|
||||
}
|
||||
|
||||
private func hideToast(_ toast: UIView, fromTap: Bool) {
|
||||
if let timer = objc_getAssociatedObject(toast, ToastKeys.timer) as? Timer {
|
||||
if let timer = objc_getAssociatedObject(toast, &ToastKeys.timer) as? Timer {
|
||||
timer.invalidate()
|
||||
}
|
||||
|
||||
@@ -350,11 +350,11 @@ public extension UIView {
|
||||
toast.removeFromSuperview()
|
||||
self.activeToasts.remove(toast)
|
||||
|
||||
if let wrapper = objc_getAssociatedObject(toast, ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion {
|
||||
if let wrapper = objc_getAssociatedObject(toast, &ToastKeys.completion) as? ToastCompletionWrapper, let completion = wrapper.completion {
|
||||
completion(fromTap)
|
||||
}
|
||||
|
||||
if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, ToastKeys.point) as? NSValue {
|
||||
if let nextToast = self.queue.firstObject as? UIView, let duration = objc_getAssociatedObject(nextToast, &ToastKeys.duration) as? NSNumber, let point = objc_getAssociatedObject(nextToast, &ToastKeys.point) as? NSValue {
|
||||
self.queue.removeObject(at: 0)
|
||||
self.showToast(nextToast, duration: duration.doubleValue, point: point.cgPointValue)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
extension Notification.Name {
|
||||
static let languageDidChange = Notification.Name("languageDidChange")
|
||||
}
|
||||
|
||||
class LocalisedElementsLabel: UILabel {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
@@ -21,6 +25,19 @@ class LocalisedElementsLabel: UILabel {
|
||||
}
|
||||
|
||||
private func setup() {
|
||||
updateText()
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(languageDidChange), name: .languageDidChange, object: nil)
|
||||
}
|
||||
|
||||
deinit {
|
||||
NotificationCenter.default.removeObserver(self, name: .languageDidChange, object: nil)
|
||||
}
|
||||
|
||||
@objc private func languageDidChange() {
|
||||
updateText()
|
||||
}
|
||||
|
||||
private func updateText() {
|
||||
self.text = self.text?.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
}
|
||||
}
|
||||
@@ -40,6 +57,19 @@ class LocalisedElementsButton : UIButton {
|
||||
}
|
||||
|
||||
private func setup() {
|
||||
updateText()
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(updateBtnText), name: .languageDidChange, object: nil)
|
||||
}
|
||||
|
||||
deinit {
|
||||
NotificationCenter.default.removeObserver(self, name: .languageDidChange, object: nil)
|
||||
}
|
||||
|
||||
@objc private func updateBtnText() {
|
||||
updateText()
|
||||
}
|
||||
|
||||
private func updateText() {
|
||||
self.setTitle(self.titleLabel?.text?.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue), for: .normal)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<!--Side Menu Controller-->
|
||||
<scene sceneID="XCR-DI-hN2">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="SideMenu" id="jHz-IY-SVp" customClass="SideMenuController" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<viewController storyboardIdentifier="SideMenuController" id="jHz-IY-SVp" customClass="SideMenuController" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="10X-qX-Sn2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
@@ -71,7 +71,7 @@
|
||||
<rect key="frame" x="79" y="48" width="335" height="814"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="t37-ec-QfF">
|
||||
<rect key="frame" x="0.0" y="20" width="335" height="976"/>
|
||||
<rect key="frame" x="0.0" y="20" width="335" height="974"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Xny-eg-3V4">
|
||||
<rect key="frame" x="25" y="0.0" width="295" height="30"/>
|
||||
@@ -98,7 +98,7 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="RkV-jH-yAB">
|
||||
<rect key="frame" x="25" y="60" width="295" height="186.5"/>
|
||||
<rect key="frame" x="25" y="60" width="295" height="187"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wst-a7-Npy">
|
||||
<rect key="frame" x="51.5" y="0.0" width="192" height="90"/>
|
||||
@@ -118,6 +118,11 @@
|
||||
<constraint firstAttribute="trailing" secondItem="9zy-xC-ddd" secondAttribute="trailing" constant="10" id="blZ-OX-VGa"/>
|
||||
<constraint firstAttribute="bottom" secondItem="9zy-xC-ddd" secondAttribute="bottom" constant="10" id="tTs-WE-tXn"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<integer key="value" value="45"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
@@ -128,14 +133,25 @@
|
||||
<constraint firstItem="HcQ-Ty-2GV" firstAttribute="centerX" secondItem="Wst-a7-Npy" secondAttribute="centerX" id="n4m-1f-Jwj"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hi, Bilal Khan!" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="suo-d0-ZWN">
|
||||
<rect key="frame" x="92.5" y="105" width="110" height="21.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" adjustsImageSizeForAccessibilityContentSizeCategory="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mCq-h5-pMf">
|
||||
<rect key="frame" x="37.5" y="141.5" width="220" height="45"/>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="nhO-F4-ZCe">
|
||||
<rect key="frame" x="103.5" y="105" width="88" height="22"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hello" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="suo-d0-ZWN" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="44" height="22"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-SemiBold" family="Exo 2" pointSize="18"/>
|
||||
<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="User" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="G0X-jh-qqG">
|
||||
<rect key="frame" x="49" y="0.0" width="39" height="22"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-SemiBold" family="Exo 2" pointSize="18"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" adjustsImageSizeForAccessibilityContentSizeCategory="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mCq-h5-pMf" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="37.5" y="142" width="220" height="45"/>
|
||||
<color key="backgroundColor" red="0.34901960780000002" green="0.81568627449999997" blue="0.99607843139999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="45" id="16m-fq-Z3J"/>
|
||||
@@ -147,20 +163,31 @@
|
||||
<state key="normal" title="LOGOUT">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="logoutBtnTapped:" destination="yYJ-KT-PYn" eventType="touchUpInside" id="Aza-fG-0gh"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="FFp-2S-Idg" userLabel="THEME">
|
||||
<rect key="frame" x="25" y="276.5" width="295" height="189.5"/>
|
||||
<rect key="frame" x="25" y="277" width="295" height="187"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="THEME" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="97O-hX-edI">
|
||||
<rect key="frame" x="121" y="0.0" width="53.5" height="19.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="97O-hX-edI" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="124" y="0.0" width="47.5" height="17"/>
|
||||
<attributedString key="attributedText">
|
||||
<fragment content="THEME">
|
||||
<attributes>
|
||||
<color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<font key="NSFont" size="14" name="Exo2-Bold"/>
|
||||
<font key="NSOriginalFont" size="16" name="GeezaPro"/>
|
||||
<paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
|
||||
</attributes>
|
||||
</fragment>
|
||||
</attributedString>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="NLo-Lc-0nk">
|
||||
<rect key="frame" x="11.5" y="29.5" width="272" height="160"/>
|
||||
<rect key="frame" x="11.5" y="27" width="272" height="160"/>
|
||||
<subviews>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eUd-z5-WmN">
|
||||
<rect key="frame" x="20" y="0.0" width="106" height="160"/>
|
||||
@@ -247,7 +274,7 @@
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="17" translatesAutoresizingMaskIntoConstraints="NO" id="VRZ-To-5iq">
|
||||
<rect key="frame" x="25" y="496" width="295" height="80"/>
|
||||
<rect key="frame" x="25" y="494" width="295" height="80"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2Ss-sF-9JC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="295" height="0.5"/>
|
||||
@@ -269,6 +296,9 @@
|
||||
<segment title="हिन्दी"/>
|
||||
</segments>
|
||||
<color key="selectedSegmentTintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<connections>
|
||||
<action selector="languageSwitchSlide:" destination="yYJ-KT-PYn" eventType="valueChanged" id="PS6-SM-s3h"/>
|
||||
</connections>
|
||||
</segmentedControl>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uY8-gn-7UA">
|
||||
<rect key="frame" x="265" y="0.0" width="30" height="45"/>
|
||||
@@ -288,7 +318,7 @@
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="top" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="NlR-Il-Kw6">
|
||||
<rect key="frame" x="25" y="606" width="295" height="192"/>
|
||||
<rect key="frame" x="25" y="604" width="295" height="192"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="27K-dP-rLv">
|
||||
<rect key="frame" x="0.0" y="0.0" width="105" height="32"/>
|
||||
@@ -328,7 +358,7 @@
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="eEN-Gz-Lba">
|
||||
<rect key="frame" x="25" y="828" width="295" height="148"/>
|
||||
<rect key="frame" x="25" y="826" width="295" height="148"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kdd-R6-VSK">
|
||||
<rect key="frame" x="0.0" y="0.0" width="295" height="0.5"/>
|
||||
@@ -456,6 +486,7 @@
|
||||
<barButtonItem key="backBarButtonItem" title=" " id="Ro0-vL-itb"/>
|
||||
</navigationItem>
|
||||
<connections>
|
||||
<outlet property="avatarImage" destination="9zy-xC-ddd" id="efq-RR-ZHd"/>
|
||||
<outlet property="languageControl" destination="dR3-t9-4tw" id="3Jd-0j-YA7"/>
|
||||
<outlet property="logoutBtn" destination="mCq-h5-pMf" id="bkx-Ld-3gQ"/>
|
||||
<outlet property="selectionMenuTrailingConstraint" destination="V31-3u-cFE" id="gJh-Kh-fu0"/>
|
||||
@@ -465,6 +496,7 @@
|
||||
<outlet property="themeOneView" destination="RDY-eo-rkC" id="Sd6-48-7EG"/>
|
||||
<outlet property="themeTwoView" destination="myZ-Rs-VkQ" id="vlW-X8-kOY"/>
|
||||
<outlet property="themetwoCheckMark" destination="fAz-cu-AAI" id="LKC-y3-weu"/>
|
||||
<outlet property="userName" destination="G0X-jh-qqG" id="WXZ-cp-qkE"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="WmS-PJ-wRh" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
@@ -604,7 +636,7 @@
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3365" y="195"/>
|
||||
</scene>
|
||||
<!--Home-->
|
||||
<!--HOME-->
|
||||
<scene sceneID="QO5-LY-LJh">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="HomeVC" id="M4c-Ct-Tjk" customClass="HomeVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
@@ -625,7 +657,7 @@
|
||||
<constraint firstAttribute="bottom" secondItem="xah-cJ-vgJ" secondAttribute="bottom" id="rLs-r9-LQb"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="Home" image="HomeIcon" id="9MY-CD-HSi"/>
|
||||
<tabBarItem key="tabBarItem" title="HOME" image="HomeIcon" id="9MY-CD-HSi"/>
|
||||
<connections>
|
||||
<outlet property="containerView" destination="xah-cJ-vgJ" id="Q7S-hL-c03"/>
|
||||
</connections>
|
||||
@@ -649,10 +681,10 @@
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
<systemColor name="systemCyanColor">
|
||||
<color red="0.19607843137254902" green="0.67843137254901964" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color red="0.1960784314" green="0.67843137249999996" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
<systemColor name="systemGreenColor">
|
||||
<color red="0.20392156862745098" green="0.7803921568627451" blue="0.34901960784313724" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color red="0.20392156859999999" green="0.78039215689999997" blue="0.34901960780000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||
@@ -11,3 +11,21 @@
|
||||
|
||||
/* Class = "UIButton"; normalTitle = "English"; ObjectID = "XdB-NB-osA"; */
|
||||
"XdB-NB-osA.normalTitle" = "English";
|
||||
|
||||
/*
|
||||
THEME 1
|
||||
*/
|
||||
"घर" = "HOME";
|
||||
"वोका का अन्वेषण करें" = "EXPLORE WOKA";
|
||||
"मेरी सूची" = "MY LIST";
|
||||
"वेब सीरीज" = "WEB SERIES";
|
||||
"लाइव टीवी" = "LIVE TV";
|
||||
"दुकान" = "SHOP";
|
||||
"कराओके" = "KARAOKE";
|
||||
"ऑडियो-किताबें" = "AUDIO BOOKS";
|
||||
"खेल" = "GAMES";
|
||||
"वोकलैंड में आपका स्वागत है" = "Welcome to WOKALAND";
|
||||
"नमस्ते" = "Hello";
|
||||
"अधिक" = "MORE";
|
||||
"थीम" = "THEME";
|
||||
"लॉग आउट" = "LOGOUT";
|
||||
|
||||
@@ -138,3 +138,37 @@
|
||||
Avatar VC
|
||||
*/
|
||||
"Please select avatar" = "कृपया अवतार चुनें";
|
||||
|
||||
|
||||
/*
|
||||
Theme 1
|
||||
*/
|
||||
"HOME" = "घर";
|
||||
"EXPLORE WOKA" = "वोका का अन्वेषण करें";
|
||||
"MY LIST" = "मेरी सूची";
|
||||
"WEB SERIES" = "वेब सीरीज";
|
||||
"LIVE TV" = "लाइव टीवी";
|
||||
"SHOP" = "दुकान";
|
||||
"KARAOKE" = "कराओके";
|
||||
"AUDIO BOOKS" = "ऑडियो-किताबें";
|
||||
"GAMES" = "खेल";
|
||||
"Welcome to WOKALAND" = "वोकलैंड में आपका स्वागत है";
|
||||
"Hello" = "नमस्ते";
|
||||
"MORE" = "अधिक";
|
||||
"THEME" = "थीम";
|
||||
"LOGOUT" = "लॉग आउट";
|
||||
|
||||
/*
|
||||
<string name="home">घर</string>
|
||||
<string name="explore_woka">वोका का अन्वेषण करें</string>
|
||||
<string name="my_list">मेरी सूची</string>
|
||||
<string name="hello">नमस्ते</string>
|
||||
<string name="web_series">वेब सीरीज</string>
|
||||
<string name="audio_books">ऑडियो-किताबें</string>
|
||||
<string name="play">खेल</string>
|
||||
<string name="karaoke">कराओके</string>
|
||||
<string name="shop">दुकान</string>
|
||||
<string name="more">और</string>
|
||||
<string name="live_tv">लाइव टीवी</string>
|
||||
<string name="welcome_to_wokaland">वोकलैंड में आपका स्वागत है</string>
|
||||
*/
|
||||
|
||||
@@ -19,7 +19,13 @@ class AuthFunc{
|
||||
var player: AVQueuePlayer?
|
||||
var playerLooper: AVPlayerLooper?
|
||||
var userType = UserType.adult
|
||||
var languageSelected = LocalizedEnum.english
|
||||
var userData : UserDataDM.ResultData?
|
||||
|
||||
var languageSelected = LocalizedEnum.english {
|
||||
didSet {
|
||||
NotificationCenter.default.post(name: .languageDidChange, object: nil)
|
||||
}
|
||||
}
|
||||
|
||||
var authID = String()
|
||||
var authPass = String()
|
||||
@@ -58,12 +64,27 @@ class AuthFunc{
|
||||
}
|
||||
}
|
||||
|
||||
func checkLogin() -> Bool{
|
||||
let isLoginned = UserDefaults.standard.bool(forKey: K.UserDefaultsStruct.isUserLogined)
|
||||
return isLoginned
|
||||
}
|
||||
|
||||
/*
|
||||
This func will return the access token saved at the time of login
|
||||
*/
|
||||
func getAccessToken() -> String{
|
||||
let accessToken = UserDefaults.standard.string(forKey: K.UserDefaultsStruct.userAccessToken)
|
||||
return accessToken ?? ""
|
||||
}
|
||||
|
||||
/*
|
||||
This func will remove the selected userdefaults while logout
|
||||
*/
|
||||
func logout(){
|
||||
//Reset Theme to defaults
|
||||
UserDefaults.standard.setValue(nil, forKey: K.UserDefaultsStruct.themeDefault)
|
||||
UserDefaults.standard.setValue(nil, forKey: K.UserDefaultsStruct.isUserLogined)
|
||||
userData = nil
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ extension AppDelegate {
|
||||
ToastManager.shared.style = style
|
||||
|
||||
// toggle "tap to dismiss" functionality
|
||||
ToastManager.shared.isTapToDismissEnabled = true
|
||||
ToastManager.shared.isTapToDismissEnabled = false
|
||||
|
||||
// toggle queueing behavior
|
||||
ToastManager.shared.isQueueEnabled = false
|
||||
99
WOKA/Main/Delegate/UIApplicationSwitchRoot.swift
Normal file
99
WOKA/Main/Delegate/UIApplicationSwitchRoot.swift
Normal file
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// UIApplicationSwitchRoot.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 28/05/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
enum RootViewAnimations{
|
||||
case login
|
||||
case logout
|
||||
}
|
||||
|
||||
// MARK: - Extension to UIApplication to manage root view controller transitions with animations.
|
||||
|
||||
extension UIApplication {
|
||||
|
||||
// Static variable defining the animation option for login transition.
|
||||
static var loginAnimation: UIView.AnimationOptions = .transitionCrossDissolve
|
||||
|
||||
// Static variable defining the animation option for logout transition.
|
||||
static var logoutAnimation: UIView.AnimationOptions = .curveLinear
|
||||
|
||||
// Static method to set the root view controller of the key window with optional animation.
|
||||
public static func setRootView(_ viewController: UIViewController,
|
||||
// isLogin: Bool,
|
||||
animated: Bool = true,
|
||||
duration: TimeInterval = 0.5,
|
||||
completion: (() -> Void)? = nil) {
|
||||
// Safely unwrap the key window of the application.
|
||||
guard let keyWindow = UIApplication.shared.keyWindowInConnectedScenes else { return }
|
||||
|
||||
// Choose the animation option based on login or logout (here we always use loginAnimation).
|
||||
let options: UIView.AnimationOptions = loginAnimation
|
||||
|
||||
// If animation is not required, set the root view controller immediately.
|
||||
guard animated else {
|
||||
keyWindow.rootViewController = viewController
|
||||
return
|
||||
}
|
||||
|
||||
// Perform the transition animation for changing the root view controller.
|
||||
UIView.transition(with: keyWindow, duration: duration, options: options, animations: {
|
||||
// Temporarily disable animations for setting the root view controller.
|
||||
let oldState = UIView.areAnimationsEnabled
|
||||
UIView.setAnimationsEnabled(false)
|
||||
UIApplication.shared.keyWindowInConnectedScenes?.rootViewController = viewController
|
||||
UIView.setAnimationsEnabled(oldState)
|
||||
}) { _ in
|
||||
// Call the completion handler if provided.
|
||||
completion?()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - The enum AppStoryboard represents different storyboards in the application.
|
||||
|
||||
enum AppStoryboard: String {
|
||||
|
||||
// These are the cases of the enum, each representing a storyboard name.
|
||||
case Login = "Login"
|
||||
case Main = "Main"
|
||||
case Home = "Home"
|
||||
case AuthenticationSB = "AuthenticationSB"
|
||||
// Computed property that returns an instance of UIStoryboard for the given case.
|
||||
var instance: UIStoryboard {
|
||||
// Creates and returns a UIStoryboard instance with the name of the enum case and the main bundle.
|
||||
return UIStoryboard(name: self.rawValue, bundle: Bundle.main)
|
||||
}
|
||||
|
||||
// Generic function to instantiate and return a view controller of the specified type from the storyboard.
|
||||
func viewController<T: UIViewController>(viewControllerClass: T.Type, function: String = #function, line: Int = #line, file: String = #file) -> T {
|
||||
// Get the storyboard ID from the view controller class.
|
||||
let storyboardID = (viewControllerClass as UIViewController.Type).storyboardID
|
||||
|
||||
// Attempt to instantiate the view controller with the given identifier from the storyboard instance.
|
||||
guard let scene = instance.instantiateViewController(withIdentifier: storyboardID) as? T else {
|
||||
// If the view controller cannot be instantiated, a runtime error is thrown with a detailed message.
|
||||
fatalError("ViewController with identifier \(storyboardID), not found in \(self.rawValue) Storyboard.\nFile : \(file) \nLine Number : \(line) \nFunction : \(function)")
|
||||
}
|
||||
|
||||
// Return the instantiated view controller.
|
||||
return scene
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Extension to UIViewController to get the storyboard identifier.
|
||||
|
||||
extension UIViewController {
|
||||
// Computed property to return the class name as the storyboard ID.
|
||||
class var storyboardID: String {
|
||||
return "\(self)"
|
||||
}
|
||||
|
||||
static func instantiate(from: AppStoryboard) -> Self {
|
||||
return from.viewController(viewControllerClass: self)
|
||||
}
|
||||
}
|
||||
@@ -48,6 +48,11 @@ struct APIEndPoints {
|
||||
static let forgot_password_send_otp = makeURL(path: "forgot_password_send_otp")
|
||||
static let forgot_password_verify_otp = makeURL(path: "forgot_password_verify_otp")
|
||||
static let update_password = makeURL(path: "update_password")
|
||||
|
||||
/*
|
||||
UserData
|
||||
*/
|
||||
static let get_user_data = makeURL(path: "get_user_data")
|
||||
}
|
||||
|
||||
// Other endpoint categories...
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
|
||||
<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"/>
|
||||
@@ -63,10 +64,41 @@
|
||||
<constraint firstAttribute="height" constant="60" id="uib-PY-aKX"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b8h-6Z-OJr">
|
||||
<rect key="frame" x="189.5" y="817" width="35" height="35"/>
|
||||
<subviews>
|
||||
<activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" style="medium" translatesAutoresizingMaskIntoConstraints="NO" id="WFZ-SB-V1t">
|
||||
<rect key="frame" x="0.0" y="0.0" width="35" height="35"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="35" id="Hy3-fe-fxq"/>
|
||||
<constraint firstAttribute="width" secondItem="WFZ-SB-V1t" secondAttribute="height" multiplier="1:1" id="wIx-4l-tWy"/>
|
||||
</constraints>
|
||||
<color key="color" name="TextDarkBlue"/>
|
||||
</activityIndicatorView>
|
||||
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T63-z7-Ddb">
|
||||
<rect key="frame" x="0.0" y="0.0" width="0.0" height="35"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain">
|
||||
<attributedString key="attributedTitle">
|
||||
<fragment content="Retry?">
|
||||
<attributes>
|
||||
<font key="NSFont" size="18" name="Exo2-Bold"/>
|
||||
</attributes>
|
||||
</fragment>
|
||||
</attributedString>
|
||||
</buttonConfiguration>
|
||||
<connections>
|
||||
<action selector="retryBtnTapped:" destination="BYZ-38-t0r" eventType="touchUpInside" id="YyY-lB-4se"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="b8h-6Z-OJr" secondAttribute="bottom" constant="10" id="8Oc-WY-2aa"/>
|
||||
<constraint firstItem="KHl-9W-vAe" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="30" id="E1n-Eh-P1N"/>
|
||||
<constraint firstAttribute="bottom" secondItem="OYq-ie-PCX" secondAttribute="bottom" id="JoJ-CY-PKV"/>
|
||||
<constraint firstItem="OYq-ie-PCX" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="top" id="QIp-RX-W6O"/>
|
||||
@@ -75,14 +107,17 @@
|
||||
<constraint firstAttribute="trailing" secondItem="OYq-ie-PCX" secondAttribute="trailing" id="eul-m2-arb"/>
|
||||
<constraint firstItem="0T1-bR-Cvy" firstAttribute="centerY" secondItem="6Tk-OE-BBY" secondAttribute="centerY" id="fdB-2S-YYe"/>
|
||||
<constraint firstItem="KHl-9W-vAe" firstAttribute="top" secondItem="0T1-bR-Cvy" secondAttribute="bottom" constant="80" id="ld4-Um-qic"/>
|
||||
<constraint firstItem="b8h-6Z-OJr" firstAttribute="centerX" secondItem="6Tk-OE-BBY" secondAttribute="centerX" id="rKT-Yg-uOY"/>
|
||||
<constraint firstItem="OYq-ie-PCX" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leading" id="yVI-ZY-646"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="cMP-Th-2kL"/>
|
||||
<connections>
|
||||
<outlet property="activityIndicator" destination="WFZ-SB-V1t" id="A9T-Bi-mAd"/>
|
||||
<outlet property="englishBtn" destination="XdB-NB-osA" id="eiP-q9-9TH"/>
|
||||
<outlet property="hindiBtn" destination="SYp-e1-w6s" id="mgg-al-7J8"/>
|
||||
<outlet property="languageBtnStack" destination="KHl-9W-vAe" id="ssW-dX-fxk"/>
|
||||
<outlet property="retryBtn" destination="T63-z7-Ddb" id="F0Y-wd-VEP"/>
|
||||
<outlet property="wokaLogo" destination="0T1-bR-Cvy" id="d6a-va-BqC"/>
|
||||
<outlet property="wokaOriginY" destination="fdB-2S-YYe" id="g0Q-Zd-FKu"/>
|
||||
</connections>
|
||||
@@ -240,10 +275,10 @@
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1881.1594202898552" y="2.6785714285714284"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<!--Main Nav Controller-->
|
||||
<scene sceneID="lM2-wG-a76">
|
||||
<objects>
|
||||
<navigationController automaticallyAdjustsScrollViewInsets="NO" navigationBarHidden="YES" id="v6B-41-NJx" sceneMemberID="viewController">
|
||||
<navigationController storyboardIdentifier="MainNavController" automaticallyAdjustsScrollViewInsets="NO" navigationBarHidden="YES" id="v6B-41-NJx" customClass="MainNavController" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<toolbarItems/>
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="Odo-w6-zNL">
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
@@ -489,6 +524,9 @@
|
||||
<image name="16Years" width="99" height="79.333335876464844"/>
|
||||
<image name="BackgroundSplash" width="428" height="926"/>
|
||||
<image name="WokaLogo" width="2224" height="450.5"/>
|
||||
<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>
|
||||
|
||||
29
WOKA/OnBoarding Module/Controller/MainNavController.swift
Normal file
29
WOKA/OnBoarding Module/Controller/MainNavController.swift
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// MainNavController.swift
|
||||
// WOKA
|
||||
//
|
||||
// Created by MacBook Pro on 28/05/24.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class MainNavController: UINavigationController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// MARK: - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
// Get the new view controller using segue.destination.
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
@@ -16,6 +16,9 @@ class SplashVC: UIViewController {
|
||||
@IBOutlet weak var languageBtnStack: UIStackView!
|
||||
@IBOutlet weak var wokaOriginY: NSLayoutConstraint!
|
||||
|
||||
@IBOutlet weak var retryBtn: UIButton!
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
|
||||
var vm = SplashVM()
|
||||
|
||||
// MARK: - View Life Cycle
|
||||
@@ -29,11 +32,7 @@ class SplashVC: UIViewController {
|
||||
}
|
||||
|
||||
@IBAction func languageBtnTapped(_ sender: UIButton) {
|
||||
let sb1 = UIStoryboard(name: "Home", bundle: nil)
|
||||
let vc1 = sb1.instantiateViewController(withIdentifier: "SideMenu") as! SideMenuController
|
||||
self.navigationController?.pushViewController(vc1, animated: true)
|
||||
|
||||
return
|
||||
|
||||
switch sender{
|
||||
case hindiBtn:
|
||||
AuthFunc.shareInstance.languageSelected = .hindi
|
||||
@@ -43,6 +42,15 @@ class SplashVC: UIViewController {
|
||||
AuthFunc.shareInstance.languageSelected = .english
|
||||
}
|
||||
|
||||
// let sb1 = UIStoryboard(name: "Home", bundle: nil)
|
||||
// let vc1 = sb1.instantiateViewController(withIdentifier: "SideMenu") as! SideMenuController
|
||||
// self.navigationController?.pushViewController(vc1, animated: true)
|
||||
|
||||
|
||||
// UIApplication.setRootView(SideMenuController.instantiate(from: .Home))
|
||||
//
|
||||
// return
|
||||
|
||||
let sb = UIStoryboard(name: K.StoryBoard.main, bundle: nil)
|
||||
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.OnBoarding.onBoardVC) as! OnBoardVC
|
||||
|
||||
@@ -63,6 +71,10 @@ class SplashVC: UIViewController {
|
||||
navigationController.pushViewController(vc, animated: false)
|
||||
}
|
||||
|
||||
@IBAction func retryBtnTapped(_ sender: UIButton) {
|
||||
vm.getUserData()
|
||||
}
|
||||
|
||||
func animateImageScale() {
|
||||
UIView.animate(withDuration: 3.0, delay: 0, options: [], animations: {
|
||||
self.wokaLogo.transform = CGAffineTransform(scaleX: 1.8, y: 1.8)
|
||||
@@ -70,21 +82,30 @@ class SplashVC: UIViewController {
|
||||
|
||||
let newConstant = wokaOriginY.constant - 50
|
||||
|
||||
Timer.scheduledTimer(withTimeInterval: 6, repeats: false) { _ in
|
||||
Timer.scheduledTimer(withTimeInterval: 6, repeats: false) { [weak self] _ in
|
||||
guard let self else{return}
|
||||
/*
|
||||
If user is loggined no need to shift the woka logo upside to new constant.
|
||||
Directly Navigate user to home
|
||||
*/
|
||||
if AuthFunc.shareInstance.checkLogin(){
|
||||
vm.getUserData()
|
||||
return
|
||||
}
|
||||
UIView.animate(withDuration: 0.5, animations: {
|
||||
// Update the constant value of the top constraint
|
||||
self.wokaOriginY.constant = newConstant
|
||||
// Inform the layout system to update
|
||||
self.view.layoutIfNeeded()
|
||||
}) { _ in
|
||||
UIView.animate(withDuration: 0.3, delay: 0,options : [.transitionCrossDissolve],animations: {
|
||||
// Set the isHidden property of the view
|
||||
self.languageBtnStack.isHidden = false
|
||||
}) {_ in
|
||||
|
||||
|
||||
// Inform the stack view to update its layout
|
||||
self.languageBtnStack.layoutIfNeeded()
|
||||
if !AuthFunc.shareInstance.checkLogin(){
|
||||
UIView.animate(withDuration: 0.3, delay: 0,options : [.transitionCrossDissolve],animations: {
|
||||
// Set the isHidden property of the view
|
||||
self.languageBtnStack.isHidden = false
|
||||
}) {_ in
|
||||
// Inform the stack view to update its layout
|
||||
self.languageBtnStack.layoutIfNeeded()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
import UIKit
|
||||
import AVFoundation
|
||||
import Alamofire
|
||||
|
||||
class SplashVM{
|
||||
|
||||
@@ -35,6 +36,7 @@ class SplashVM{
|
||||
vc.hindiBtn.roundCorner()
|
||||
vc.englishBtn.roundCorner()
|
||||
selectTheme()
|
||||
vc.activityIndicator.stopAnimating()
|
||||
}
|
||||
|
||||
func selectTheme(){
|
||||
@@ -45,4 +47,51 @@ class SplashVM{
|
||||
AuthFunc.shareInstance.selectedTheme = .theme1
|
||||
}
|
||||
}
|
||||
|
||||
func getUserData(){
|
||||
|
||||
let headers : HTTPHeaders = ["Accept-Language" : AuthFunc.shareInstance.languageSelected == .english ? "English" : "Hindi",
|
||||
"access-token": AuthFunc.shareInstance.getAccessToken()]
|
||||
startStopIndicator(start: true)
|
||||
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Auth.get_user_data, method: .get, headers: headers) { [weak self](result : Result<BaseResponseModel<UserDataDM>, NetworkManager.APIError>) in
|
||||
switch result{
|
||||
case .success(let data):
|
||||
guard let self else{return}
|
||||
switch data.success{
|
||||
case 0:
|
||||
startStopIndicator(start: false)
|
||||
self.vc.toast(msg: data.message ?? "Unrecognised error" , time: 2)
|
||||
case 1:
|
||||
startStopIndicator(start: false,hide: true)
|
||||
guard let data = data.data?.result else{return}
|
||||
AuthFunc.shareInstance.userData = data
|
||||
UIApplication.setRootView(SideMenuController.instantiate(from: .Home))
|
||||
default:
|
||||
break
|
||||
}
|
||||
case .failure(let error):
|
||||
guard let self else{return}
|
||||
startStopIndicator(start: false)
|
||||
self.vc.toast(msg: error.localizedDescription , time: 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func startStopIndicator(start : Bool , hide : Bool = false){
|
||||
if hide{
|
||||
vc.activityIndicator.stopAnimating()
|
||||
vc.activityIndicator.isHidden = true
|
||||
vc.retryBtn.isHidden = true
|
||||
return
|
||||
}
|
||||
if start{
|
||||
vc.activityIndicator.isHidden = false
|
||||
vc.activityIndicator.startAnimating()
|
||||
vc.retryBtn.isHidden = true
|
||||
}else{
|
||||
vc.activityIndicator.stopAnimating()
|
||||
vc.activityIndicator.isHidden = true
|
||||
vc.retryBtn.isHidden = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@ class SideMenuVC: UIViewController {
|
||||
@IBOutlet weak var themeOneCheckMark: UIImageView!
|
||||
@IBOutlet weak var themeTwoView: UIView!
|
||||
@IBOutlet weak var themetwoCheckMark: UIImageView!
|
||||
@IBOutlet weak var userName: UILabel!
|
||||
|
||||
@IBOutlet weak var avatarImage: UIImageView!
|
||||
|
||||
var vm = SideMenuVM()
|
||||
|
||||
@@ -38,4 +40,40 @@ class SideMenuVC: UIViewController {
|
||||
@IBAction func closeBtnTapped(_ sender: UIButton) {
|
||||
self.sideMenuController?.hideMenu()
|
||||
}
|
||||
|
||||
@IBAction func logoutBtnTapped(_ sender: LocalisedElementsButton) {
|
||||
let sb = UIStoryboard(name: K.StoryBoard.customAlerts, bundle: nil)
|
||||
let vcPush = sb.instantiateViewController(withIdentifier: K.StoryBoardID.CustomAlerts.yesNoAlertVC) as! YesNoAlertVC
|
||||
vcPush.mainTitleText = "WOKA"
|
||||
vcPush.contentLabel = "Do you want to LOGOUT from the WOKA APP"
|
||||
vcPush.onDoneBlock = { mode in
|
||||
switch mode{
|
||||
case .yes:
|
||||
//If user clicked to proceed on login. Call the api.
|
||||
self.sideMenuController?.hideMenu()
|
||||
AuthFunc.shareInstance.logout()
|
||||
// UIApplication.setRootView(MainNavController.instantiate(from: .Main))
|
||||
UIApplication.setRootView(LoginNavVC.instantiate(from: .AuthenticationSB))
|
||||
case .no:
|
||||
print("no")
|
||||
}
|
||||
}
|
||||
vcPush.modalPresentationStyle = .overCurrentContext
|
||||
vcPush.modalTransitionStyle = .crossDissolve
|
||||
self.present(vcPush, animated: true)
|
||||
}
|
||||
|
||||
@IBAction func languageSwitchSlide(_ sender: CustomizableSegmentControl) {
|
||||
Timer.scheduledTimer(withTimeInterval: 0.2, repeats: false) { _ in
|
||||
switch sender.selectedSegmentIndex{
|
||||
case 0: // English
|
||||
AuthFunc.shareInstance.languageSelected = .english
|
||||
case 1: // Hindi
|
||||
AuthFunc.shareInstance.languageSelected = .hindi
|
||||
default:
|
||||
break
|
||||
}
|
||||
self.sideMenuController?.hideMenu()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,16 @@ class TabBarVC: UITabBarController {
|
||||
|
||||
self.setupTabBarUI()
|
||||
self.addCustomTabBarView()
|
||||
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(languageDidChange), name: .languageDidChange, object: nil)
|
||||
|
||||
}
|
||||
|
||||
deinit{
|
||||
NotificationCenter.default.removeObserver(self, name: .languageDidChange, object: nil)
|
||||
}
|
||||
|
||||
@objc private func languageDidChange() {
|
||||
updateText()
|
||||
}
|
||||
|
||||
override func viewDidLayoutSubviews() {
|
||||
@@ -35,6 +44,13 @@ class TabBarVC: UITabBarController {
|
||||
|
||||
}
|
||||
|
||||
func updateText(){
|
||||
guard let tabItems = self.tabBar.items else{return}
|
||||
tabItems[0].title = tabItems[0].title?.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
tabItems[1].title = tabItems[1].title?.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
tabItems[2].title = tabItems[2].title?.localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
|
||||
}
|
||||
|
||||
func customizeTabBarItemIconSize() {
|
||||
// Get a reference to the tab bar controller
|
||||
if let tabBarController = self.tabBarController {
|
||||
|
||||
@@ -13,7 +13,7 @@ class SideMenuVM{
|
||||
|
||||
func initView(){
|
||||
customizeSegmentControl()
|
||||
|
||||
AuthFunc.shareInstance.languageSelected == .english ? (vc.languageControl.selectedSegmentIndex = 0) : (vc.languageControl.selectedSegmentIndex = 1)
|
||||
let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1)
|
||||
let color2 = #colorLiteral(red: 0.6901960784, green: 0.2745098039, blue: 0.7568627451, alpha: 1)
|
||||
vc.logoutBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0))
|
||||
@@ -51,6 +51,19 @@ class SideMenuVM{
|
||||
self.themeSelect()
|
||||
}
|
||||
}
|
||||
|
||||
setData()
|
||||
}
|
||||
|
||||
func setData(){
|
||||
guard let data = AuthFunc.shareInstance.userData else{return}
|
||||
//set the first name as the name
|
||||
vc.userName.text = (data.fullname == nil || data.fullname == "") ? "User" : data.fullname
|
||||
if let avatar = data.avtar{
|
||||
//https://wokaland.com/admin/storage/app/public/uploads/avtar/avatar2.png?d=1716889852
|
||||
vc.avatarImage.imageURL("https://wokaland.com/admin/storage/app/public/uploads/avtar/avatar2.png?d=1716889852",color: .white)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func themeSelect(){
|
||||
|
||||
@@ -73,18 +73,29 @@
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="FM"/>
|
||||
</button>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="sf9-me-n7i" userLabel="Avatar Stack">
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" alignment="center" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="sf9-me-n7i" userLabel="Avatar Stack">
|
||||
<rect key="frame" x="109" y="64" width="175" height="101"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="o2x-QJ-V9A">
|
||||
<rect key="frame" x="0.0" y="0.0" width="175" height="47.666666666666664"/>
|
||||
<rect key="frame" x="62.666666666666657" y="0.0" width="49.666666666666657" height="47.666666666666664"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hi, Vijay" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tQN-s8-9SK">
|
||||
<rect key="frame" x="0.0" y="52.666666666666671" width="175" height="24"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Pal-S1-L45">
|
||||
<rect key="frame" x="37.33333333333335" y="52.666666666666671" width="100.66666666666669" height="24"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Hello" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YmK-3m-WeD" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="50.333333333333336" height="24"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="User" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tQN-s8-9SK">
|
||||
<rect key="frame" x="50.333333333333314" y="0.0" width="50.333333333333343" height="24"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
|
||||
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to WOKALAND" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dnl-w0-q5K" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="81.666666666666657" width="175" height="19.333333333333329"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
|
||||
@@ -183,7 +194,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Shop" translatesAutoresizingMaskIntoConstraints="NO" id="z9r-YX-CUk">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SHOP" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a1C-yY-cjD">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SHOP" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a1C-yY-cjD" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="QSf-0H-Fwk"/>
|
||||
@@ -203,7 +214,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LiveTV" translatesAutoresizingMaskIntoConstraints="NO" id="LoO-Qh-9ci">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LIVE TV" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="arX-6A-JO0">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LIVE TV" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="arX-6A-JO0" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="Ff3-ym-Dew"/>
|
||||
@@ -223,7 +234,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WebSeries" translatesAutoresizingMaskIntoConstraints="NO" id="LGm-UX-yVh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WEB SERIES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zmu-oJ-DFc">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WEB SERIES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zmu-oJ-DFc" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="tmo-ie-b2U"/>
|
||||
@@ -243,7 +254,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Games" translatesAutoresizingMaskIntoConstraints="NO" id="rhc-kY-sTl">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="79"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GAMES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="blr-Es-vfw">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GAMES" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="blr-Es-vfw" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80" width="95" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="cfa-zV-qLo"/>
|
||||
@@ -263,7 +274,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="AudioBooks" translatesAutoresizingMaskIntoConstraints="NO" id="za2-oW-KjU">
|
||||
<rect key="frame" x="0.0" y="0.0" width="114.33333333333333" height="79.333333333333329"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AUDIO BOOKS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="11" translatesAutoresizingMaskIntoConstraints="NO" id="Y9F-E4-lgm">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AUDIO BOOKS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="11" translatesAutoresizingMaskIntoConstraints="NO" id="Y9F-E4-lgm" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80.333333333333371" width="114.33333333333333" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="978-3e-GXx"/>
|
||||
@@ -283,7 +294,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Karaoke" translatesAutoresizingMaskIntoConstraints="NO" id="DWF-Lu-F24">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="79.333333333333329"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="KARAOKE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yyo-6X-Jk4">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="KARAOKE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Yyo-6X-Jk4" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="80.333333333333371" width="95" height="15"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="15" id="Z4M-G5-Rob"/>
|
||||
@@ -326,7 +337,7 @@
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BottomArrow" translatesAutoresizingMaskIntoConstraints="NO" id="rdd-P1-Vk7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="67.666666666666671" height="32.333333333333336"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="751" text="MORE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4pq-lE-hJz">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" verticalCompressionResistancePriority="751" text="MORE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4pq-lE-hJz" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="30.333333333333375" width="67.666666666666671" height="14.666666666666668"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="12"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
@@ -381,6 +392,8 @@
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="HOME" image="HomeIcon" selectedImage="HomeIcon" id="4Hm-tg-Heb"/>
|
||||
<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="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"/>
|
||||
@@ -551,7 +564,7 @@
|
||||
<image name="Star" width="62.666667938232422" height="62.666667938232422"/>
|
||||
<image name="WebSeries" width="164" height="118.66666412353516"/>
|
||||
<systemColor name="systemGreenColor">
|
||||
<color red="0.20392156862745098" green="0.7803921568627451" blue="0.34901960784313724" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color red="0.20392156859999999" green="0.78039215689999997" blue="0.34901960780000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
@@ -17,6 +17,9 @@ class ThemeOneVC: UIViewController {
|
||||
@IBOutlet weak var homeGrass: UIImageView!
|
||||
@IBOutlet weak var nameLabel: UILabel!
|
||||
@IBOutlet weak var welcomeLabel: LocalisedElementsLabel!
|
||||
@IBOutlet weak var HelloLabel: LocalisedElementsLabel!
|
||||
|
||||
@IBOutlet weak var avatarImage: UIImageView!
|
||||
|
||||
@IBOutlet weak var webSeriesView: UIStackView!
|
||||
@IBOutlet var star: [UIImageView]!
|
||||
|
||||
@@ -27,7 +27,18 @@ class ThemeOneVM{
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(appWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
|
||||
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(self.reloadTheme), name: NSNotification.Name(rawValue: K.NotificationCenterReloads.reloadTheme), object: nil)
|
||||
|
||||
setData()
|
||||
}
|
||||
|
||||
func setData(){
|
||||
guard let data = AuthFunc.shareInstance.userData else{return}
|
||||
//set the first name as the name
|
||||
vc.nameLabel.text = data.fullname?.components(separatedBy: " ").first
|
||||
if let avatar = data.avtar{
|
||||
//https://wokaland.com/admin/storage/app/public/uploads/avtar/avatar2.png?d=1716889852
|
||||
vc.avatarImage.imageURL("https://wokaland.com/admin/storage/app/public/uploads/avtar/" + avatar)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - Notification Center Handlers
|
||||
@@ -55,7 +66,8 @@ class ThemeOneVM{
|
||||
vc.webSeriesView.addTapGesture { [weak self] in
|
||||
guard let self else {return}
|
||||
ViewButtonAnimation.sharedInstance.btnTapped(in: self.vc, view: vc.webSeriesView) {
|
||||
self.vc.delegate?.didPressSwitchButton(from: self.vc)
|
||||
|
||||
// self.vc.delegate?.didPressSwitchButton(from: self.vc)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,6 +194,7 @@ class ThemeOneVM{
|
||||
}
|
||||
vc.gradientView.applyGradient(colors: [details.color1, details.color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8))
|
||||
vc.nameLabel.textColor = details.textColor
|
||||
vc.HelloLabel.textColor = details.textColor
|
||||
vc.welcomeLabel.textColor = details.textColor
|
||||
vc.homeGrass.image = UIImage(named: details.grass)
|
||||
}
|
||||
|
||||
42
WOKA/Theme/en.lproj/Theme.strings
Normal file
42
WOKA/Theme/en.lproj/Theme.strings
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* Class = "UITabBarItem"; title = "HOME"; ObjectID = "4Hm-tg-Heb"; */
|
||||
"4Hm-tg-Heb.title" = "HOME";
|
||||
|
||||
/* Class = "UILabel"; text = "MORE"; ObjectID = "4pq-lE-hJz"; */
|
||||
"4pq-lE-hJz.text" = "MORE";
|
||||
|
||||
/* Class = "UILabel"; text = "Hi, Vijay"; ObjectID = "IFj-XX-sbq"; */
|
||||
"IFj-XX-sbq.text" = "Hi, Vijay";
|
||||
|
||||
/* Class = "UILabel"; text = "Welcome to WOKALAND"; ObjectID = "Nbe-Ob-bia"; */
|
||||
"Nbe-Ob-bia.text" = "Welcome to WOKALAND";
|
||||
|
||||
/* Class = "UILabel"; text = "AUDIO BOOKS"; ObjectID = "Y9F-E4-lgm"; */
|
||||
"Y9F-E4-lgm.text" = "AUDIO BOOKS";
|
||||
|
||||
/* Class = "UILabel"; text = "Hello"; ObjectID = "YmK-3m-WeD"; */
|
||||
"YmK-3m-WeD.text" = "Hello";
|
||||
|
||||
/* Class = "UILabel"; text = "KARAOKE"; ObjectID = "Yyo-6X-Jk4"; */
|
||||
"Yyo-6X-Jk4.text" = "KARAOKE";
|
||||
|
||||
/* Class = "UILabel"; text = "SHOP"; ObjectID = "a1C-yY-cjD"; */
|
||||
"a1C-yY-cjD.text" = "SHOP";
|
||||
|
||||
/* Class = "UILabel"; text = "LIVE TV"; ObjectID = "arX-6A-JO0"; */
|
||||
"arX-6A-JO0.text" = "LIVE TV";
|
||||
|
||||
/* Class = "UILabel"; text = "GAMES"; ObjectID = "blr-Es-vfw"; */
|
||||
"blr-Es-vfw.text" = "GAMES";
|
||||
|
||||
/* Class = "UILabel"; text = "Explore WOKA"; ObjectID = "cla-Q5-K2m"; */
|
||||
"cla-Q5-K2m.text" = "Explore WOKA";
|
||||
|
||||
/* Class = "UILabel"; text = "Welcome to WOKALAND"; ObjectID = "dnl-w0-q5K"; */
|
||||
"dnl-w0-q5K.text" = "Welcome to WOKALAND";
|
||||
|
||||
/* Class = "UILabel"; text = "User"; ObjectID = "tQN-s8-9SK"; */
|
||||
"tQN-s8-9SK.text" = "User";
|
||||
|
||||
/* Class = "UILabel"; text = "WEB SERIES"; ObjectID = "zmu-oJ-DFc"; */
|
||||
"zmu-oJ-DFc.text" = "WEB SERIES";
|
||||
42
WOKA/Theme/hi.lproj/Theme.strings
Normal file
42
WOKA/Theme/hi.lproj/Theme.strings
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* Class = "UITabBarItem"; title = "HOME"; ObjectID = "4Hm-tg-Heb"; */
|
||||
"4Hm-tg-Heb.title" = "HOME";
|
||||
|
||||
/* Class = "UILabel"; text = "MORE"; ObjectID = "4pq-lE-hJz"; */
|
||||
"4pq-lE-hJz.text" = "MORE";
|
||||
|
||||
/* Class = "UILabel"; text = "Hi, Vijay"; ObjectID = "IFj-XX-sbq"; */
|
||||
"IFj-XX-sbq.text" = "Hi, Vijay";
|
||||
|
||||
/* Class = "UILabel"; text = "Welcome to WOKALAND"; ObjectID = "Nbe-Ob-bia"; */
|
||||
"Nbe-Ob-bia.text" = "Welcome to WOKALAND";
|
||||
|
||||
/* Class = "UILabel"; text = "AUDIO BOOKS"; ObjectID = "Y9F-E4-lgm"; */
|
||||
"Y9F-E4-lgm.text" = "AUDIO BOOKS";
|
||||
|
||||
/* Class = "UILabel"; text = "Hello"; ObjectID = "YmK-3m-WeD"; */
|
||||
"YmK-3m-WeD.text" = "Hello";
|
||||
|
||||
/* Class = "UILabel"; text = "KARAOKE"; ObjectID = "Yyo-6X-Jk4"; */
|
||||
"Yyo-6X-Jk4.text" = "KARAOKE";
|
||||
|
||||
/* Class = "UILabel"; text = "SHOP"; ObjectID = "a1C-yY-cjD"; */
|
||||
"a1C-yY-cjD.text" = "SHOP";
|
||||
|
||||
/* Class = "UILabel"; text = "LIVE TV"; ObjectID = "arX-6A-JO0"; */
|
||||
"arX-6A-JO0.text" = "LIVE TV";
|
||||
|
||||
/* Class = "UILabel"; text = "GAMES"; ObjectID = "blr-Es-vfw"; */
|
||||
"blr-Es-vfw.text" = "GAMES";
|
||||
|
||||
/* Class = "UILabel"; text = "Explore WOKA"; ObjectID = "cla-Q5-K2m"; */
|
||||
"cla-Q5-K2m.text" = "Explore WOKA";
|
||||
|
||||
/* Class = "UILabel"; text = "Welcome to WOKALAND"; ObjectID = "dnl-w0-q5K"; */
|
||||
"dnl-w0-q5K.text" = "Welcome to WOKALAND";
|
||||
|
||||
/* Class = "UILabel"; text = "User"; ObjectID = "tQN-s8-9SK"; */
|
||||
"tQN-s8-9SK.text" = "User";
|
||||
|
||||
/* Class = "UILabel"; text = "WEB SERIES"; ObjectID = "zmu-oJ-DFc"; */
|
||||
"zmu-oJ-DFc.text" = "WEB SERIES";
|
||||
162
WOKA/Theme/mul.lproj/Theme.xcstrings
Normal file
162
WOKA/Theme/mul.lproj/Theme.xcstrings
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"4Hm-tg-Heb.title" : {
|
||||
"comment" : "Class = \"UITabBarItem\"; title = \"HOME\"; ObjectID = \"4Hm-tg-Heb\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "HOME"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"4pq-lE-hJz.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"MORE\"; ObjectID = \"4pq-lE-hJz\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "MORE"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"a1C-yY-cjD.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"SHOP\"; ObjectID = \"a1C-yY-cjD\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "SHOP"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"arX-6A-JO0.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"LIVE TV\"; ObjectID = \"arX-6A-JO0\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "LIVE TV"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"blr-Es-vfw.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"GAMES\"; ObjectID = \"blr-Es-vfw\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "GAMES"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cla-Q5-K2m.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Explore WOKA\"; ObjectID = \"cla-Q5-K2m\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Explore WOKA"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dnl-w0-q5K.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Welcome to WOKALAND\"; ObjectID = \"dnl-w0-q5K\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Welcome to WOKALAND"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"IFj-XX-sbq.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Hi, Vijay\"; ObjectID = \"IFj-XX-sbq\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Hi, Vijay"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Nbe-Ob-bia.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Welcome to WOKALAND\"; ObjectID = \"Nbe-Ob-bia\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Welcome to WOKALAND"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tQN-s8-9SK.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"Hi, Vijay\"; ObjectID = \"tQN-s8-9SK\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Hi, Vijay"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Y9F-E4-lgm.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"AUDIO BOOKS\"; ObjectID = \"Y9F-E4-lgm\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "AUDIO BOOKS"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Yyo-6X-Jk4.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"KARAOKE\"; ObjectID = \"Yyo-6X-Jk4\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "KARAOKE"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"zmu-oJ-DFc.text" : {
|
||||
"comment" : "Class = \"UILabel\"; text = \"WEB SERIES\"; ObjectID = \"zmu-oJ-DFc\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "WEB SERIES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
Reference in New Issue
Block a user