Initial Commit

This commit is contained in:
2024-05-02 13:20:40 +05:30
commit 39bd2e66da
103 changed files with 5420 additions and 0 deletions

View File

@@ -0,0 +1,496 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="v6B-41-NJx">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
<array key="Exo2-Regular.ttf">
<string>Exo2-Regular</string>
</array>
</customFonts>
<scenes>
<!--SplashVC-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController storyboardIdentifier="SplashVC" id="BYZ-38-t0r" customClass="SplashVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BackgroundSplash" translatesAutoresizingMaskIntoConstraints="NO" id="OYq-ie-PCX">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WokaLogo" translatesAutoresizingMaskIntoConstraints="NO" id="0T1-bR-Cvy">
<rect key="frame" x="137" y="429" width="140" height="52.5"/>
<constraints>
<constraint firstAttribute="width" constant="140" id="5Om-xJ-yBC"/>
<constraint firstAttribute="width" secondItem="0T1-bR-Cvy" secondAttribute="height" multiplier="8:3" id="IPk-eZ-y1g"/>
</constraints>
</imageView>
<stackView hidden="YES" opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="KHl-9W-vAe">
<rect key="frame" x="30" y="561.5" width="354" height="60"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XdB-NB-osA">
<rect key="frame" x="0.0" y="0.0" width="162" height="60"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="English"/>
<connections>
<action selector="languageBtnTapped:" destination="BYZ-38-t0r" eventType="touchUpInside" id="6XC-m2-ULl"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="SYp-e1-w6s">
<rect key="frame" x="192" y="0.0" width="162" height="60"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="हिंदी"/>
<connections>
<action selector="languageBtnTapped:" destination="BYZ-38-t0r" eventType="touchUpInside" id="CMC-XA-zLs"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="60" id="uib-PY-aKX"/>
</constraints>
</stackView>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<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"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="KHl-9W-vAe" secondAttribute="trailing" constant="30" id="WgR-cO-AqS"/>
<constraint firstItem="0T1-bR-Cvy" firstAttribute="centerX" secondItem="OYq-ie-PCX" secondAttribute="centerX" id="crp-Vn-eE2"/>
<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="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="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="wokaLogo" destination="0T1-bR-Cvy" id="d6a-va-BqC"/>
<outlet property="wokaOriginY" destination="fdB-2S-YYe" id="g0Q-Zd-FKu"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1049.2753623188407" y="3.3482142857142856"/>
</scene>
<!--On BoardVC-->
<scene sceneID="mNL-rE-kz5">
<objects>
<viewController storyboardIdentifier="OnBoardVC" id="Ugf-xS-kWn" customClass="OnBoardVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="ask-ar-Fuj">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NxP-bj-mtL">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WokaLogo" translatesAutoresizingMaskIntoConstraints="NO" id="5Wa-iZ-sl2">
<rect key="frame" x="137" y="400" width="140" height="52.5"/>
<constraints>
<constraint firstAttribute="width" secondItem="5Wa-iZ-sl2" secondAttribute="height" multiplier="8:3" id="rbO-nC-nTq"/>
<constraint firstAttribute="width" constant="140" id="sS5-02-nUm"/>
</constraints>
</imageView>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0dF-BT-pk2">
<rect key="frame" x="0.0" y="48" width="414" height="814"/>
<subviews>
<stackView opaque="NO" alpha="0.0" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="E4U-36-FaU">
<rect key="frame" x="0.0" y="80" width="414" height="656"/>
<subviews>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="zAH-Rg-6R9">
<rect key="frame" x="0.0" y="0.0" width="414" height="400"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="64p-RZ-jkG">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
<cells/>
</collectionView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YZj-8P-5H1">
<rect key="frame" x="0.0" y="400" width="414" height="5"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="5" id="iKl-ax-jPr"/>
</constraints>
</view>
<pageControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="3" translatesAutoresizingMaskIntoConstraints="NO" id="bN3-e7-4Gz">
<rect key="frame" x="0.0" y="405" width="414" height="26"/>
<color key="pageIndicatorTintColor" red="0.23137254901960785" green="0.10196078431372549" blue="0.63921568627450975" alpha="1" colorSpace="calibratedRGB"/>
<color key="currentPageIndicatorTintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="pageControl:" destination="Ugf-xS-kWn" eventType="valueChanged" id="oG3-n5-Vf5"/>
</connections>
</pageControl>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="m5z-1C-wNG">
<rect key="frame" x="0.0" y="431" width="414" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="Z9c-NE-w9W"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="4lL-AO-KqG">
<rect key="frame" x="0.0" y="461" width="414" height="195"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lyg-OD-j2H">
<rect key="frame" x="10" y="0.0" width="394" height="58.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="CREATE YOUR ACCOUNT">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="createAccountBtnTapped:" destination="Ugf-xS-kWn" eventType="touchUpInside" id="WG3-4I-wNh"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7ID-Rn-iaD">
<rect key="frame" x="10" y="68.5" width="394" height="58"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="LOGIN">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="loginBtnTapped:" destination="Ugf-xS-kWn" eventType="touchUpInside" id="i8y-Xy-4rT"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tY2-cn-nfS">
<rect key="frame" x="10" y="136.5" width="394" height="58.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="Continue as a Guest">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="guestLoginBtnTapped:" destination="Ugf-xS-kWn" eventType="touchUpInside" id="jqT-lw-QqR"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="195" id="W8g-qy-0dn"/>
</constraints>
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</stackView>
</subviews>
<constraints>
<constraint firstItem="E4U-36-FaU" firstAttribute="top" secondItem="0dF-BT-pk2" secondAttribute="top" constant="80" id="KIP-H3-Hs0"/>
<constraint firstItem="P5Y-eT-Uwh" firstAttribute="bottom" secondItem="E4U-36-FaU" secondAttribute="bottom" id="fs6-8i-dXe"/>
<constraint firstAttribute="trailing" secondItem="E4U-36-FaU" secondAttribute="trailing" id="nWO-jM-P6m"/>
<constraint firstItem="E4U-36-FaU" firstAttribute="leading" secondItem="0dF-BT-pk2" secondAttribute="leading" id="nX3-LJ-ibI"/>
<constraint firstItem="JUd-j4-PaA" firstAttribute="trailing" secondItem="E4U-36-FaU" secondAttribute="trailing" id="nuQ-Py-o4b"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="P5Y-eT-Uwh"/>
<viewLayoutGuide key="frameLayoutGuide" id="JUd-j4-PaA"/>
</scrollView>
</subviews>
<viewLayoutGuide key="safeArea" id="1nB-nf-7LU"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="5Wa-iZ-sl2" firstAttribute="top" secondItem="ask-ar-Fuj" secondAttribute="top" constant="400" id="46G-h9-1YN"/>
<constraint firstAttribute="bottom" secondItem="NxP-bj-mtL" secondAttribute="bottom" id="9CY-bD-WEh"/>
<constraint firstItem="1nB-nf-7LU" firstAttribute="trailing" secondItem="NxP-bj-mtL" secondAttribute="trailing" id="9qY-HC-O2N"/>
<constraint firstItem="0dF-BT-pk2" firstAttribute="top" secondItem="1nB-nf-7LU" secondAttribute="top" id="Fqw-ZB-B7A"/>
<constraint firstItem="NxP-bj-mtL" firstAttribute="leading" secondItem="1nB-nf-7LU" secondAttribute="leading" id="Gck-f5-H5t"/>
<constraint firstItem="NxP-bj-mtL" firstAttribute="top" secondItem="ask-ar-Fuj" secondAttribute="top" id="KMM-zF-m2B"/>
<constraint firstItem="0dF-BT-pk2" firstAttribute="leading" secondItem="1nB-nf-7LU" secondAttribute="leading" id="eVl-AG-pJ2"/>
<constraint firstItem="0dF-BT-pk2" firstAttribute="bottom" secondItem="1nB-nf-7LU" secondAttribute="bottom" id="osN-Dx-cDv"/>
<constraint firstItem="5Wa-iZ-sl2" firstAttribute="centerX" secondItem="1nB-nf-7LU" secondAttribute="centerX" id="sKy-na-bsK"/>
<constraint firstItem="0dF-BT-pk2" firstAttribute="trailing" secondItem="1nB-nf-7LU" secondAttribute="trailing" id="xaS-L7-wig"/>
<constraint firstItem="zAH-Rg-6R9" firstAttribute="height" secondItem="ask-ar-Fuj" secondAttribute="height" multiplier="0.446429" id="zkT-FI-0NG"/>
</constraints>
</view>
<connections>
<outlet property="carouselCV" destination="zAH-Rg-6R9" id="naT-8B-eAg"/>
<outlet property="createAccountBtn" destination="lyg-OD-j2H" id="quB-jN-7aG"/>
<outlet property="loginAsGuestBtn" destination="tY2-cn-nfS" id="q2p-25-Gm8"/>
<outlet property="loginBtn" destination="7ID-Rn-iaD" id="k07-rK-dmB"/>
<outlet property="mainStack" destination="E4U-36-FaU" id="IvT-An-aYO"/>
<outlet property="pageControl" destination="bN3-e7-4Gz" id="gxK-E1-5V4"/>
<outlet property="viewLottie" destination="NxP-bj-mtL" id="aST-9j-7Ol"/>
<outlet property="wokaLogoTopConstriant" destination="46G-h9-1YN" id="LLT-ks-jqh"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="aFn-ay-7SU" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1881.1594202898552" y="2.6785714285714284"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="lM2-wG-a76">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" navigationBarHidden="YES" id="v6B-41-NJx" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="Odo-w6-zNL">
<autoresizingMask key="autoresizingMask"/>
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</navigationBar>
<nil name="viewControllers"/>
<toolbar key="toolbar" opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="tiS-09-25i">
<autoresizingMask key="autoresizingMask"/>
</toolbar>
<connections>
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="8WJ-90-RQ3"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="hqA-ar-oSc" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="139.13043478260872" y="3.3482142857142856"/>
</scene>
<!--Select AgeVC-->
<scene sceneID="aL7-my-uTs">
<objects>
<viewController storyboardIdentifier="SelectAgeVC" id="5cf-Ca-pko" customClass="SelectAgeVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="qMS-vC-b1G">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BackgroundSplash" translatesAutoresizingMaskIntoConstraints="NO" id="GN2-ta-IyD">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WokaLogo" translatesAutoresizingMaskIntoConstraints="NO" id="3qB-gN-hV4">
<rect key="frame" x="137" y="50" width="140" height="52.5"/>
<constraints>
<constraint firstAttribute="width" constant="140" id="4Ox-eC-MEA"/>
<constraint firstAttribute="width" secondItem="3qB-gN-hV4" secondAttribute="height" multiplier="8:3" id="nyn-T8-ryQ"/>
</constraints>
</imageView>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QU1-fM-pg9">
<rect key="frame" x="0.0" y="102.5" width="414" height="759.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="45" translatesAutoresizingMaskIntoConstraints="NO" id="AbT-1b-YxT">
<rect key="frame" x="0.0" y="45" width="414" height="511"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="We Value Your Privacy" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kAc-XC-R0J">
<rect key="frame" x="10" y="0.0" width="394" height="31.5"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="26"/>
<color key="textColor" red="0.035294117647058823" green="0.0" blue="0.36470588235294116" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eC7-Nz-BfB">
<rect key="frame" x="10" y="76.5" width="394" height="0.0"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" id="McN-qk-JmM"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="IvC-MQ-aot">
<rect key="frame" x="10" y="121.5" width="394" height="157.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="16 IS THE MAGIC NUMBER" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z1g-nr-hDh">
<rect key="frame" x="0.0" y="0.0" width="394" height="19.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117647058823" green="0.0" blue="0.36470588235294116" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jxw-Lm-Uev">
<rect key="frame" x="0.0" y="29.5" width="394" height="128"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="16Years" translatesAutoresizingMaskIntoConstraints="NO" id="ILs-9m-HBf">
<rect key="frame" x="0.0" y="0.0" width="394" height="128"/>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="hGX-Rs-8Ei">
<rect key="frame" x="176.5" y="28" width="41" height="62.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="16" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q5x-RL-o9O">
<rect key="frame" x="0.0" y="0.0" width="41" height="48"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="40"/>
<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="YEARS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5xD-nv-Vqh">
<rect key="frame" x="0.0" y="48" width="41" height="14.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="ILs-9m-HBf" secondAttribute="bottom" id="71d-Ky-PHd"/>
<constraint firstItem="hGX-Rs-8Ei" firstAttribute="centerY" secondItem="Jxw-Lm-Uev" secondAttribute="centerY" constant="-5" id="8JS-WH-CdL"/>
<constraint firstItem="hGX-Rs-8Ei" firstAttribute="centerX" secondItem="Jxw-Lm-Uev" secondAttribute="centerX" id="O20-MQ-bDK"/>
<constraint firstItem="ILs-9m-HBf" firstAttribute="top" secondItem="Jxw-Lm-Uev" secondAttribute="top" id="bNJ-JX-6ia"/>
<constraint firstItem="ILs-9m-HBf" firstAttribute="leading" secondItem="Jxw-Lm-Uev" secondAttribute="leading" id="dZa-qM-jxc"/>
<constraint firstAttribute="trailing" secondItem="ILs-9m-HBf" secondAttribute="trailing" id="xxG-UL-qwc"/>
<constraint firstAttribute="height" constant="128" id="yWn-ej-MSY"/>
</constraints>
</view>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="4MV-0i-bHM">
<rect key="frame" x="10" y="324" width="394" height="187"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="40" translatesAutoresizingMaskIntoConstraints="NO" id="6LR-pm-DQz">
<rect key="frame" x="0.0" y="0.0" width="394" height="100"/>
<subviews>
<view alpha="0.69999999999999996" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zRB-HI-qyw">
<rect key="frame" x="15" y="0.0" width="162" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="PHl-9L-rHV">
<rect key="frame" x="41" y="23.5" width="80" height="53.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="I AM" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nDM-Lp-P02">
<rect key="frame" x="0.0" y="0.0" width="80" height="19.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="UNDER" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BhH-nh-RaQ">
<rect key="frame" x="0.0" y="24.5" width="80" height="29"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="24"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</stackView>
</subviews>
<color key="backgroundColor" red="0.035294117647058823" green="0.0" blue="0.36470588235294116" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="PHl-9L-rHV" firstAttribute="centerY" secondItem="zRB-HI-qyw" secondAttribute="centerY" id="29o-j4-anr"/>
<constraint firstItem="PHl-9L-rHV" firstAttribute="centerX" secondItem="zRB-HI-qyw" secondAttribute="centerX" id="Vr4-6F-jbw"/>
</constraints>
</view>
<view alpha="0.69999999999999996" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3nX-lb-ERZ">
<rect key="frame" x="217" y="0.0" width="162" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="vJO-O8-VZ3">
<rect key="frame" x="42.5" y="23.5" width="77" height="53.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="I AM" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lap-hA-rD3">
<rect key="frame" x="0.0" y="0.0" width="77" height="19.5"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="16"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ABOVE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VUN-Ep-Tia">
<rect key="frame" x="0.0" y="24.5" width="77" height="29"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="24"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</stackView>
</subviews>
<color key="backgroundColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="vJO-O8-VZ3" firstAttribute="centerX" secondItem="3nX-lb-ERZ" secondAttribute="centerX" id="E7w-5N-R93"/>
<constraint firstItem="vJO-O8-VZ3" firstAttribute="centerY" secondItem="3nX-lb-ERZ" secondAttribute="centerY" id="xaL-jZ-9dz"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="100" id="DB9-mi-JDq"/>
</constraints>
<edgeInsets key="layoutMargins" top="0.0" left="15" bottom="0.0" right="15"/>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="Hwe-9h-x3Y">
<rect key="frame" x="0.0" y="115" width="394" height="72"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="We will need your parents email so they can verify and agree to create an account." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VuZ-1Z-b39">
<rect key="frame" x="10" y="0.0" width="169.5" height="72"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="15"/>
<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="Above 16 users will be registered as a guardian with additional content." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wSp-wJ-fpO">
<rect key="frame" x="214.5" y="0.0" width="169.5" height="72"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="15"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
</stackView>
</subviews>
</stackView>
</subviews>
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
</stackView>
</subviews>
<constraints>
<constraint firstItem="mxm-o6-oh0" firstAttribute="trailing" secondItem="AbT-1b-YxT" secondAttribute="trailing" id="CuG-pg-wHl"/>
<constraint firstItem="3wp-V5-cWJ" firstAttribute="bottom" secondItem="AbT-1b-YxT" secondAttribute="bottom" id="V0c-QN-jJE"/>
<constraint firstItem="AbT-1b-YxT" firstAttribute="top" secondItem="QU1-fM-pg9" secondAttribute="top" constant="45" id="Zju-oR-ffR"/>
<constraint firstItem="AbT-1b-YxT" firstAttribute="width" secondItem="3wp-V5-cWJ" secondAttribute="width" id="dDN-wM-C3y"/>
<constraint firstItem="AbT-1b-YxT" firstAttribute="leading" secondItem="3wp-V5-cWJ" secondAttribute="leading" id="zY6-H9-bm1"/>
</constraints>
<viewLayoutGuide key="contentLayoutGuide" id="3wp-V5-cWJ"/>
<viewLayoutGuide key="frameLayoutGuide" id="mxm-o6-oh0"/>
</scrollView>
</subviews>
<viewLayoutGuide key="safeArea" id="GeR-ha-19K"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="QU1-fM-pg9" firstAttribute="leading" secondItem="GeR-ha-19K" secondAttribute="leading" id="2L5-dj-u12"/>
<constraint firstItem="3qB-gN-hV4" firstAttribute="top" secondItem="qMS-vC-b1G" secondAttribute="top" constant="50" id="5wp-eN-0MI"/>
<constraint firstItem="QU1-fM-pg9" firstAttribute="bottom" secondItem="GeR-ha-19K" secondAttribute="bottom" id="GFq-A2-u0c"/>
<constraint firstItem="3qB-gN-hV4" firstAttribute="centerX" secondItem="GN2-ta-IyD" secondAttribute="centerX" id="LUL-nW-cla"/>
<constraint firstItem="GN2-ta-IyD" firstAttribute="leading" secondItem="GeR-ha-19K" secondAttribute="leading" id="VhT-FE-K4T"/>
<constraint firstItem="QU1-fM-pg9" firstAttribute="trailing" secondItem="GeR-ha-19K" secondAttribute="trailing" id="fHj-pY-4pl"/>
<constraint firstItem="GN2-ta-IyD" firstAttribute="top" secondItem="qMS-vC-b1G" secondAttribute="top" id="kCO-cp-Ym3"/>
<constraint firstItem="QU1-fM-pg9" firstAttribute="top" secondItem="3qB-gN-hV4" secondAttribute="bottom" id="pfW-Rd-6RH"/>
<constraint firstAttribute="bottom" secondItem="GN2-ta-IyD" secondAttribute="bottom" id="yZ0-Sh-Gv6"/>
<constraint firstItem="GeR-ha-19K" firstAttribute="trailing" secondItem="GN2-ta-IyD" secondAttribute="trailing" id="zph-z4-Zd0"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="LZ1-Kz-jec"/>
<connections>
<outlet property="aboveAgeView" destination="3nX-lb-ERZ" id="JdV-YA-bWW"/>
<outlet property="aboveLabel" destination="VUN-Ep-Tia" id="akF-nG-Vnu"/>
<outlet property="aboveTextLabel" destination="wSp-wJ-fpO" id="XnA-TU-eez"/>
<outlet property="iAmAboveLabel" destination="Lap-hA-rD3" id="Pyo-7D-3vx"/>
<outlet property="iAmUnderLabel" destination="nDM-Lp-P02" id="py1-jw-eJz"/>
<outlet property="magicNoLabel" destination="z1g-nr-hDh" id="amS-QG-gNm"/>
<outlet property="numberText" destination="Q5x-RL-o9O" id="IKI-4h-lAU"/>
<outlet property="privacyLabel" destination="kAc-XC-R0J" id="jDr-Ms-iiA"/>
<outlet property="underAgeView" destination="zRB-HI-qyw" id="OhR-SA-MaA"/>
<outlet property="underLabel" destination="BhH-nh-RaQ" id="nLL-pM-dxH"/>
<outlet property="underTextLabel" destination="VuZ-1Z-b39" id="697-Oy-eq3"/>
<outlet property="wokaLogoTopSpacing" destination="5wp-eN-0MI" id="Ko3-zs-L2j"/>
<outlet property="yearsLabel" destination="5xD-nv-Vqh" id="Gi6-aP-veL"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="qz4-v9-A9M" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2750.7246376811595" y="2.6785714285714284"/>
</scene>
</scenes>
<resources>
<image name="16Years" width="99" height="79.333335876464844"/>
<image name="BackgroundSplash" width="428" height="926"/>
<image name="WokaLogo" width="2224" height="450.5"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>

View File

@@ -0,0 +1,115 @@
//
// OnBoardVC.swift
// WOKA
//
// Created by MacBook Pro on 25/04/24.
//
import UIKit
import Lottie
class OnBoardVC: UIViewController {
@IBOutlet var viewLottie: UIView!
@IBOutlet weak var wokaLogoTopConstriant: NSLayoutConstraint!
@IBOutlet weak var carouselCV: UICollectionView!
@IBOutlet weak var pageControl: UIPageControl!
@IBOutlet weak var createAccountBtn: UIButton!
@IBOutlet weak var loginBtn: UIButton!
@IBOutlet weak var loginAsGuestBtn: UIButton!
@IBOutlet weak var mainStack: UIStackView!
var topConstriantFromSplash = Float()
var vm = OnBoardVM()
// MARK: - LifeCycle
deinit{
AuthFunc.shareInstance.stopSound()
}
override func viewDidLoad() {
super.viewDidLoad()
vm.vc = self
AuthFunc.shareInstance.playStartUpsound()
vm.initData()
}
@IBAction func pageControl(_ sender: UIPageControl) {
self.carouselCV.scrollToItem(at: IndexPath(row: sender.currentPage, section: 0), at: .centeredHorizontally, animated: true)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
vm.resumeBackGroundAnimationJSON()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
vm.stopBackGroundAnimationJSON()
}
// MARK: - Button Tap Handler
@IBAction func createAccountBtnTapped(_ sender: UIButton) {
let sb = UIStoryboard(name: K.StoryBoard.main, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.OnBoarding.selectAgeVC) as! SelectAgeVC
self.navigationController?.pushViewController(vc, animated: true)
}
@IBAction func loginBtnTapped(_ sender: UIButton) {
}
@IBAction func guestLoginBtnTapped(_ sender: UIButton) {
}
// MARK: - Collection Scroll Handling
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let visibleRect = CGRect(origin: self.carouselCV.contentOffset, size: self.carouselCV.bounds.size)
let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY)
if let visibleIndexPath = self.carouselCV.indexPathForItem(at: visiblePoint) {
self.pageControl.currentPage = visibleIndexPath.row
}
}
}
// MARK: - Collection delegate and datasource
extension OnBoardVC : UICollectionViewDelegate,UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return vm.data?.count ?? 0
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.OnBoarding.onBoardCell, for: indexPath) as! OnBoardCell
if let data = vm.data?[indexPath.row]{
cell.setData(data: data)
}
return cell
}
}
// MARK: - Collection Flow Layout
extension OnBoardVC : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 10
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let frameSize = collectionView.frame.size
return CGSize(width: frameSize.width - 10, height: frameSize.height)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 5)
}
}

View File

@@ -0,0 +1,51 @@
//
// SelectAgeVC.swift
// WOKA
//
// Created by Bilal on 26/04/2024.
//
import UIKit
class SelectAgeVC: UIViewController {
@IBOutlet weak var underAgeView: UIView!
@IBOutlet weak var aboveAgeView: UIView!
@IBOutlet weak var privacyLabel: UILabel!
@IBOutlet weak var magicNoLabel: UILabel!
@IBOutlet weak var yearsLabel: UILabel!
@IBOutlet weak var iAmUnderLabel: UILabel!
@IBOutlet weak var iAmAboveLabel: UILabel!
@IBOutlet weak var underLabel: UILabel!
@IBOutlet weak var aboveLabel: UILabel!
@IBOutlet weak var underTextLabel: UILabel!
@IBOutlet weak var aboveTextLabel: UILabel!
@IBOutlet weak var numberText: UILabel!
@IBOutlet weak var wokaLogoTopSpacing: NSLayoutConstraint!
var vm = SelectAgeVM()
// MARK: - LifeCycle
override func viewDidLoad() {
super.viewDidLoad()
vm.vc = self
vm.initData()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
// MARK: - Button Tap Handler
}

View File

@@ -0,0 +1,95 @@
//
// SplashVC.swift
// WOKA
//
// Created by MacBook Pro on 25/04/24.
//
import UIKit
import Lottie
class SplashVC: UIViewController {
@IBOutlet weak var wokaLogo: UIImageView!
@IBOutlet weak var hindiBtn: UIButton!
@IBOutlet weak var englishBtn: UIButton!
@IBOutlet weak var languageBtnStack: UIStackView!
@IBOutlet weak var wokaOriginY: NSLayoutConstraint!
var vm = SplashVM()
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
vm.vc = self
vm.playSplashSound()
animateImageScale()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
}
@IBAction func languageBtnTapped(_ sender: UIButton) {
switch sender{
case hindiBtn:
K.GVar.localized = K.LocalizedEnum.hindi
case englishBtn:
K.GVar.localized = K.LocalizedEnum.english
default:
K.GVar.localized = K.LocalizedEnum.english
}
let sb = UIStoryboard(name: K.StoryBoard.main, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.OnBoarding.onBoardVC) as! OnBoardVC
// Create a CATransition instance
let transition = CATransition()
transition.duration = 0.3 // Set the duration of the animation
transition.type = CATransitionType.fade // Set the type of animation to fade
// Optionally, set other properties such as timing function, subtype, etc.
// transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
// transition.subtype = CATransitionSubtype.fromTop
// Get the navigation controller
guard let navigationController = navigationController else { return }
// Perform the push animation with the custom transition
navigationController.view.layer.add(transition, forKey: nil)
navigationController.pushViewController(vc, animated: false)
}
func animateImageScale() {
UIView.animate(withDuration: 3.0, delay: 0, options: [], animations: {
self.wokaLogo.transform = CGAffineTransform(scaleX: 1.8, y: 1.8)
}, completion: nil)
let newConstant = wokaOriginY.constant - 50
Timer.scheduledTimer(withTimeInterval: 6, repeats: false) { _ in
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()
}
}
}
}
override func viewDidLayoutSubviews() {
vm.initView()
}
}

View File

@@ -0,0 +1,14 @@
//
// CarouselData.swift
// WOKA
//
// Created by Bilal on 26/04/2024.
//
import Foundation
struct CarouselData{
let title : String
let desc : String
let image : String
}

View File

@@ -0,0 +1,27 @@
//
// OnBoardCell.swift
// WOKA
//
// Created by Bilal on 26/04/2024.
//
import UIKit
class OnBoardCell: UICollectionViewCell {
@IBOutlet weak var carouselImage: UIImageView!
@IBOutlet weak var heading: UILabel!
@IBOutlet weak var subHead: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
func setData(data : CarouselData){
self.carouselImage.image = UIImage(named: data.image)
self.heading.text = data.title
self.subHead.text = data.desc
}
}

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
<array key="Exo2-Regular.ttf">
<string>Exo2-Regular</string>
</array>
</customFonts>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="OnBoardCell" id="gTV-IL-0wX" customClass="OnBoardCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="274" height="442"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="274" height="442"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="O8c-Dr-seP">
<rect key="frame" x="0.0" y="0.0" width="274" height="442"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ijP-88-pXW">
<rect key="frame" x="0.0" y="0.0" width="274" height="279"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5th-Sm-oox">
<rect key="frame" x="20" y="10" width="234" height="259"/>
</imageView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="5th-Sm-oox" firstAttribute="leading" secondItem="ijP-88-pXW" secondAttribute="leading" constant="20" id="cKO-Ru-NsK"/>
<constraint firstItem="5th-Sm-oox" firstAttribute="top" secondItem="ijP-88-pXW" secondAttribute="top" constant="10" id="cwc-gj-BYl"/>
<constraint firstAttribute="bottom" secondItem="5th-Sm-oox" secondAttribute="bottom" constant="10" id="p6I-3w-yXb"/>
<constraint firstAttribute="trailing" secondItem="5th-Sm-oox" secondAttribute="trailing" constant="20" id="sCu-DR-jBh"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Dkk-pi-h3c">
<rect key="frame" x="0.0" y="299" width="274" height="143"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalCompressionResistancePriority="749" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="20" translatesAutoresizingMaskIntoConstraints="NO" id="paa-o2-Dbu">
<rect key="frame" x="5" y="0.0" width="264" height="72.333333333333329"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="22"/>
<color key="textColor" red="0.035294117647058823" green="0.0" blue="0.36470588235294116" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="16" translatesAutoresizingMaskIntoConstraints="NO" id="qhy-ql-pmY">
<rect key="frame" x="5" y="87.333333333333314" width="264" height="21.666666666666671"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="18"/>
<color key="textColor" name="TextDarkBlue"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<edgeInsets key="layoutMargins" top="0.0" left="5" bottom="0.0" right="5"/>
</stackView>
</subviews>
</stackView>
</subviews>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<constraints>
<constraint firstItem="O8c-Dr-seP" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="5Pf-kM-sJW"/>
<constraint firstAttribute="trailing" secondItem="O8c-Dr-seP" secondAttribute="trailing" id="JwU-uf-5EQ"/>
<constraint firstAttribute="bottom" secondItem="O8c-Dr-seP" secondAttribute="bottom" id="ehf-sF-knf"/>
<constraint firstItem="ijP-88-pXW" firstAttribute="height" secondItem="gTV-IL-0wX" secondAttribute="height" multiplier="0.631222" id="g6X-mP-Zn9"/>
<constraint firstItem="O8c-Dr-seP" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="v6L-aV-PBf"/>
</constraints>
<size key="customSize" width="274" height="442"/>
<connections>
<outlet property="carouselImage" destination="5th-Sm-oox" id="YdR-SE-LLP"/>
<outlet property="heading" destination="paa-o2-Dbu" id="RHa-BD-FFo"/>
<outlet property="subHead" destination="qhy-ql-pmY" id="cM2-kd-Leg"/>
</connections>
<point key="canvasLocation" x="300.76335877862596" y="126.7605633802817"/>
</collectionViewCell>
</objects>
<resources>
<namedColor name="TextDarkBlue">
<color red="0.10599999874830246" green="0.050999999046325684" blue="0.60399997234344482" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
</document>

View File

@@ -0,0 +1,84 @@
//
// SelectAgeVM.swift
// WOKA
//
// Created by Bilal on 26/04/2024.
//
import UIKit
class SelectAgeVM{
weak var vc : SelectAgeVC!
func initData(){
vc.underAgeView.roundCorner(radius: 25)
vc.aboveAgeView.roundCorner(radius: 25)
// Add tap gesture recognizer to the view
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(kid))
vc.underAgeView.addGestureRecognizer(tapGesture)
// Add tap gesture recognizer to the view
let tapGesture2 = UITapGestureRecognizer(target: self, action: #selector(adult))
vc.aboveAgeView.addGestureRecognizer(tapGesture2)
vc.privacyLabel.text = "We Value Your Privacy".localized(loc: K.GVar.localized)
vc.magicNoLabel.text = "16 IS THE MAGIC NUMBER".localized(loc: K.GVar.localized)
vc.yearsLabel.text = "YEARS".localized(loc: K.GVar.localized)
vc.iAmAboveLabel.text = "I AM".localized(loc: K.GVar.localized)
vc.iAmUnderLabel.text = "I AM".localized(loc: K.GVar.localized)
vc.underLabel.text = "UNDER".localized(loc: K.GVar.localized)
vc.aboveLabel.text = "ABOVE".localized(loc: K.GVar.localized)
vc.numberText.text = "16".localized(loc: K.GVar.localized)
vc.underTextLabel.text = "We will need your parents email so they can verify and agree to create an account.".localized(loc: K.GVar.localized)
vc.aboveTextLabel.text = "Above 16 users will be registered as a guardian with additional content.".localized(loc: K.GVar.localized)
self.vc.wokaLogoTopSpacing.constant = CheckPhoneHomeBtnOrNotch.shareInstance.topConstriant()
}
@objc func kid() {
// Apply click effect animation
UIView.animate(withDuration: 0.1, animations: {
self.vc.underAgeView.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
}) { _ in
UIView.animate(withDuration: 0.1) {
self.vc.underAgeView.transform = .identity
}
}
AuthFunc.shareInstance.userType = .kid
pushToEmail()
}
@objc func adult() {
// Apply click effect animation
UIView.animate(withDuration: 0.1, animations: {
self.vc.aboveAgeView.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
}) { _ in
UIView.animate(withDuration: 0.1) {
self.vc.aboveAgeView.transform = .identity
}
}
AuthFunc.shareInstance.userType = .adult
pushToEmail()
}
private func pushToEmail(){
let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.emailVC) as! EmailVC
self.vc.navigationController?.pushViewController(vc, animated: true)
}
}
extension String {
var localized: String {
return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
}
func localizedWithComment(comment:String) -> String {
return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: comment)
}
}

View File

@@ -0,0 +1,38 @@
//
// SplashVM.swift
// WOKA
//
// Created by MacBook Pro on 25/04/24.
//
import UIKit
import AVFoundation
class SplashVM{
weak var vc : SplashVC!
var player: AVAudioPlayer?
func playSplashSound() {
guard let path = Bundle.main.path(forResource: K.StaticFilesString.wokaSplashSound, ofType:"m4a") else {
return }
let url = URL(fileURLWithPath: path)
do {
player = try AVAudioPlayer(contentsOf: url)
player?.play()
} catch let error {
print(error.localizedDescription)
}
}
func initView(){
let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1)
let color2 = #colorLiteral(red: 0.4862745098, green: 0.1960784314, blue: 0.7019607843, alpha: 1)
vc.hindiBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8))
vc.englishBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8))
vc.hindiBtn.roundCorner()
vc.englishBtn.roundCorner()
}
}

View File

@@ -0,0 +1,9 @@
/* Class = "UILabel"; text = "Hello"; ObjectID = "0Ab-Q1-iCR"; */
"0Ab-Q1-iCR.text" = "Hello";
/* Class = "UIButton"; normalTitle = "हिंदी"; ObjectID = "SYp-e1-w6s"; */
"SYp-e1-w6s.normalTitle" = "हिंदी";
/* Class = "UIButton"; normalTitle = "English"; ObjectID = "XdB-NB-osA"; */
"XdB-NB-osA.normalTitle" = "English";

View File

@@ -0,0 +1,6 @@
/* Class = "UIButton"; normalTitle = "हिंदी"; ObjectID = "SYp-e1-w6s"; */
"SYp-e1-w6s.normalTitle" = "हिंदी";
/* Class = "UIButton"; normalTitle = "English"; ObjectID = "XdB-NB-osA"; */
"XdB-NB-osA.normalTitle" = "English";