Browse Source

edit default currency

pull/1/head
InKwon James Kim 5 years ago
parent
commit
179a1d32ca
  1. 14
      GMERemittance/Module/ExchangeRates/User Interface/View/ExchangeRates.storyboard
  2. 942
      GMERemittance/Module/ExchangeRates/User Interface/View/ExchangeRatesViewController.swift
  3. 270
      GMERemittance/Module/ForgotPassword/User Interface/View/ForgotPassword.storyboard
  4. 157
      GMERemittance/Module/ForgotPassword/User Interface/View/ForgotPasswordViewController.swift
  5. 398
      GMERemittance/Module/Login/User Interface/View/Login.storyboard
  6. 134
      GMERemittance/Module/Login/User Interface/View/LoginViewController.swift
  7. 6
      GMERemittance/Module/RegisterModules/KYC/kycForm1/User Interface/View/kycForm1ViewController.swift
  8. 3
      GMERemittance/Module/RegisterModules/KYC/kycForm2/User Interface/View/kycForm2ViewController.swift
  9. 243
      GMERemittance/Module/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmit.storyboard
  10. 38
      GMERemittance/Module/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift
  11. 264
      GMERemittance/Module/RegisterModules/Register/User Interface/View/Register.storyboard
  12. 6
      GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift
  13. 78
      GMERemittance/Utility/CountryEnum.swift
  14. 8
      th.lproj/Localizable.strings

14
GMERemittance/Module/ExchangeRates/User Interface/View/ExchangeRates.storyboard

@ -32,7 +32,7 @@
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="EcO-VE-kpa">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tjv-J7-eoY">
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="667" translatesAutoresizingMaskIntoConstraints="NO" id="Tjv-J7-eoY">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="EEF-HP-StG">
@ -358,10 +358,9 @@
</subviews>
</stackView>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="H6t-AW-Fpn">
<rect key="frame" x="87.5" y="432" width="200" height="50"/>
<rect key="frame" x="30" y="587" width="315" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="width" constant="200" id="Z0u-lJ-VEU"/>
<constraint firstAttribute="height" constant="50" id="pHQ-HE-Zh2"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
@ -380,11 +379,14 @@
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="H6t-AW-Fpn" firstAttribute="leading" secondItem="Tjv-J7-eoY" secondAttribute="leading" constant="30" id="3Jp-Qx-gd9"/>
<constraint firstAttribute="trailing" secondItem="EEF-HP-StG" secondAttribute="trailing" constant="10" id="I8A-kZ-vEa"/>
<constraint firstAttribute="trailing" secondItem="H6t-AW-Fpn" secondAttribute="trailing" constant="30" id="Mbv-gP-bRl"/>
<constraint firstItem="H6t-AW-Fpn" firstAttribute="centerX" secondItem="Tjv-J7-eoY" secondAttribute="centerX" id="Qzt-CS-3AW"/>
<constraint firstItem="EEF-HP-StG" firstAttribute="leading" secondItem="Tjv-J7-eoY" secondAttribute="leading" constant="10" id="ePP-lR-JCG"/>
<constraint firstItem="EEF-HP-StG" firstAttribute="top" secondItem="Tjv-J7-eoY" secondAttribute="top" constant="20" id="hNL-ky-Y6q"/>
<constraint firstItem="H6t-AW-Fpn" firstAttribute="top" secondItem="EEF-HP-StG" secondAttribute="bottom" constant="24" id="qYs-5j-zGe"/>
<constraint firstItem="H6t-AW-Fpn" firstAttribute="top" relation="greaterThanOrEqual" secondItem="EEF-HP-StG" secondAttribute="bottom" constant="24" id="qYs-5j-zGe"/>
<constraint firstAttribute="bottom" secondItem="H6t-AW-Fpn" secondAttribute="bottom" constant="30" id="sVR-Fo-Djr"/>
</constraints>
</view>
</subviews>
@ -393,8 +395,8 @@
<constraint firstItem="Tjv-J7-eoY" firstAttribute="top" secondItem="EcO-VE-kpa" secondAttribute="top" id="7ub-qJ-iz0"/>
<constraint firstAttribute="bottom" secondItem="Tjv-J7-eoY" secondAttribute="bottom" id="KgE-9H-mKA"/>
<constraint firstAttribute="trailing" secondItem="Tjv-J7-eoY" secondAttribute="trailing" id="nKm-4I-j1P"/>
<constraint firstItem="Tjv-J7-eoY" firstAttribute="width" secondItem="EcO-VE-kpa" secondAttribute="width" id="t7G-fK-cGt"/>
<constraint firstItem="Tjv-J7-eoY" firstAttribute="leading" secondItem="EcO-VE-kpa" secondAttribute="leading" id="vdv-zb-ckQ"/>
<constraint firstAttribute="bottom" secondItem="Tjv-J7-eoY" secondAttribute="bottom" id="zKv-u0-KNB"/>
</constraints>
</scrollView>
</subviews>
@ -402,10 +404,8 @@
<constraints>
<constraint firstItem="EcO-VE-kpa" firstAttribute="leading" secondItem="FaC-4l-e1W" secondAttribute="leading" id="KB4-mc-lQb"/>
<constraint firstItem="FaC-4l-e1W" firstAttribute="bottom" secondItem="EcO-VE-kpa" secondAttribute="bottom" id="XLq-20-c4A"/>
<constraint firstItem="Tjv-J7-eoY" firstAttribute="width" secondItem="Gev-HF-fnm" secondAttribute="width" id="Yzo-5P-98b"/>
<constraint firstItem="EcO-VE-kpa" firstAttribute="top" secondItem="FaC-4l-e1W" secondAttribute="top" id="o8k-aE-RVS"/>
<constraint firstItem="FaC-4l-e1W" firstAttribute="trailing" secondItem="EcO-VE-kpa" secondAttribute="trailing" id="p8J-oh-gKX"/>
<constraint firstItem="Tjv-J7-eoY" firstAttribute="height" secondItem="Gev-HF-fnm" secondAttribute="height" id="v0d-f0-bm2"/>
</constraints>
<viewLayoutGuide key="safeArea" id="FaC-4l-e1W"/>
</view>

942
GMERemittance/Module/ExchangeRates/User Interface/View/ExchangeRatesViewController.swift
File diff suppressed because it is too large
View File

270
GMERemittance/Module/ForgotPassword/User Interface/View/ForgotPassword.storyboard

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="HSb-ou-7T5">
<device id="retina4_7" orientation="portrait">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina5_5" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
@ -18,223 +18,121 @@
</array>
</customFonts>
<scenes>
<!--ForgotPassword-->
<scene sceneID="R60-Pu-Hpy">
<!--Forgot Password View Controller-->
<scene sceneID="Tua-O6-dRi">
<objects>
<viewController storyboardIdentifier="ForgotPasswordViewController" title="ForgotPassword" id="HSb-ou-7T5" customClass="ForgotPasswordViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y1H-iV-BwG"/>
<viewControllerLayoutGuide type="bottom" id="PYB-Kq-ghm"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="9Uc-9s-KgO">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<viewController storyboardIdentifier="ForgotPasswordViewController" id="4Jg-br-Caa" customClass="ForgotPasswordViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="cYD-uA-qvB">
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="page1_image" translatesAutoresizingMaskIntoConstraints="NO" id="PTQ-Yf-qFg">
<rect key="frame" x="20" y="592" width="335" height="75"/>
</imageView>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="Bro-Gs-Jkg">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pqE-sZ-bB7">
<rect key="frame" x="0.0" y="20" width="414" height="716"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ohC-kw-tDZ">
<rect key="frame" x="0.0" y="0.0" width="375" height="589"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="W32-1t-Ho0">
<rect key="frame" x="30" y="10" width="354" height="127"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="DSx-mj-Smq">
<rect key="frame" x="24" y="10" width="327" height="128"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="QDY-Qg-qya">
<rect key="frame" x="0.0" y="0.0" width="354" height="69"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="cUK-QH-y11">
<rect key="frame" x="0.0" y="0.0" width="327" height="69"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Need Help with your password?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0gz-Yf-aYX">
<rect key="frame" x="0.0" y="0.0" width="327" height="69"/>
<constraints>
<constraint firstAttribute="height" constant="69" id="lDP-yT-ay5"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="eUl-cf-CVw">
<rect key="frame" x="0.0" y="77" width="327" height="51"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Reset your password using your email address linked to your GME account." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pgg-Ez-CdO">
<rect key="frame" x="0.0" y="0.0" width="327" height="51"/>
<constraints>
<constraint firstAttribute="height" constant="51" id="5ok-UD-NPB"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Need Help with your password?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t1H-zn-FIR">
<rect key="frame" x="0.0" y="0.0" width="354" height="69"/>
<constraints>
<constraint firstAttribute="height" constant="69" id="qTy-xx-CYw"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="Xca-A6-vpb">
<rect key="frame" x="24" y="185" width="327" height="78"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="mxf-L8-LAR">
<rect key="frame" x="0.0" y="77" width="354" height="50"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uhW-Q7-FWf">
<rect key="frame" x="0.0" y="0.0" width="327" height="78"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="User ID" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wtt-pY-AxG">
<rect key="frame" x="0.0" y="7" width="327" height="17"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="KR3-td-CSE"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Registered Email" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="rW7-qU-MLF">
<rect key="frame" x="0.0" y="31" width="327" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="Mcm-uw-gtA"/>
</constraints>
<nil key="textColor"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="emailAddress"/>
</textField>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Wtt-pY-AxG" firstAttribute="top" secondItem="uhW-Q7-FWf" secondAttribute="top" constant="7" id="9Ge-R5-d76"/>
<constraint firstItem="rW7-qU-MLF" firstAttribute="leading" secondItem="uhW-Q7-FWf" secondAttribute="leading" id="ElJ-IE-oVS"/>
<constraint firstAttribute="height" constant="78" id="HI6-K6-B4l"/>
<constraint firstItem="rW7-qU-MLF" firstAttribute="top" secondItem="Wtt-pY-AxG" secondAttribute="bottom" constant="7" id="Kxa-FW-zXw"/>
<constraint firstAttribute="trailing" secondItem="rW7-qU-MLF" secondAttribute="trailing" id="PiL-CX-lb0"/>
<constraint firstAttribute="trailing" secondItem="Wtt-pY-AxG" secondAttribute="trailing" id="Tek-Ud-kN0"/>
<constraint firstItem="Wtt-pY-AxG" firstAttribute="leading" secondItem="uhW-Q7-FWf" secondAttribute="leading" id="tYg-K9-Po6"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gXD-DP-Tf9">
<rect key="frame" x="0.0" y="0.0" width="327" height="78"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Date Of Birth" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gwV-DH-48H">
<rect key="frame" x="0.0" y="7" width="327" height="17"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="QOs-oR-eXx"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Date Of Birth" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="kED-Up-SXs">
<rect key="frame" x="0.0" y="31" width="327" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="LHa-G2-7Iq"/>
</constraints>
<nil key="textColor"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Reset your password using your email address linked to your GME account." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VBR-Wb-b1M">
<rect key="frame" x="0.0" y="0.0" width="354" height="50"/>
<constraints>
<constraint firstItem="gwV-DH-48H" firstAttribute="leading" secondItem="gXD-DP-Tf9" secondAttribute="leading" id="6rR-pt-Qq3"/>
<constraint firstAttribute="trailing" secondItem="kED-Up-SXs" secondAttribute="trailing" id="VET-f3-qMr"/>
<constraint firstItem="gwV-DH-48H" firstAttribute="top" secondItem="gXD-DP-Tf9" secondAttribute="top" constant="7" id="VNi-yt-Gzp"/>
<constraint firstItem="kED-Up-SXs" firstAttribute="top" secondItem="gwV-DH-48H" secondAttribute="bottom" constant="7" id="hcd-9o-HRQ"/>
<constraint firstAttribute="trailing" secondItem="gwV-DH-48H" secondAttribute="trailing" id="mEq-1e-i7C"/>
<constraint firstItem="kED-Up-SXs" firstAttribute="leading" secondItem="gXD-DP-Tf9" secondAttribute="leading" id="qic-LR-Jp4"/>
<constraint firstAttribute="height" constant="78" id="ruq-0q-iPh"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="50" id="XjT-Sq-uYR"/>
</constraints>
</view>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KBc-q5-Ydw">
<rect key="frame" x="87.5" y="298" width="200" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="2Kw-5W-wyP">
<rect key="frame" x="30" y="184" width="354" height="43"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="User ID" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="Zkc-4R-XZf" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="0.0" width="354" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="Xfe-PO-wfr"/>
<constraint firstAttribute="width" constant="200" id="tDv-iR-LDB"/>
<constraint firstAttribute="height" constant="43" id="lXb-LU-xu9"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Reset">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<nil key="textColor"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
<connections>
<action selector="_continue:" destination="HSb-ou-7T5" eventType="touchUpInside" id="5oE-Rk-2oZ"/>
</connections>
</button>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nlp-1I-0gr">
<rect key="frame" x="151.5" y="369" width="72" height="42"/>
<constraints>
<constraint firstAttribute="width" constant="72" id="d9U-EO-UY1"/>
<constraint firstAttribute="height" constant="42" id="syv-Ef-t4W"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Cancel">
<color key="titleColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="cancel:" destination="HSb-ou-7T5" eventType="touchUpInside" id="yMK-7Z-h3m"/>
</connections>
</button>
</textField>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</stackView>
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RyR-SF-erT">
<rect key="frame" x="30" y="636" width="354" height="50"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Xca-A6-vpb" firstAttribute="leading" secondItem="ohC-kw-tDZ" secondAttribute="leading" constant="24" id="4Qf-Ym-vwN"/>
<constraint firstItem="DSx-mj-Smq" firstAttribute="top" secondItem="blR-JK-HBs" secondAttribute="top" constant="10" id="70a-oy-pHe"/>
<constraint firstItem="nlp-1I-0gr" firstAttribute="centerX" secondItem="ohC-kw-tDZ" secondAttribute="centerX" id="C37-sK-iXC"/>
<constraint firstAttribute="bottom" secondItem="nlp-1I-0gr" secondAttribute="bottom" priority="250" constant="178" id="IRa-7g-9l9"/>
<constraint firstItem="DSx-mj-Smq" firstAttribute="leading" secondItem="ohC-kw-tDZ" secondAttribute="leading" constant="24" id="IcN-WP-SNW"/>
<constraint firstItem="KBc-q5-Ydw" firstAttribute="centerX" secondItem="ohC-kw-tDZ" secondAttribute="centerX" id="TL3-kp-z8K"/>
<constraint firstItem="Xca-A6-vpb" firstAttribute="top" secondItem="DSx-mj-Smq" secondAttribute="bottom" constant="47" id="ges-en-KOU"/>
<constraint firstItem="KBc-q5-Ydw" firstAttribute="top" secondItem="Xca-A6-vpb" secondAttribute="bottom" constant="35" id="hAL-be-nSw"/>
<constraint firstItem="nlp-1I-0gr" firstAttribute="top" secondItem="KBc-q5-Ydw" secondAttribute="bottom" constant="21" id="kZL-ke-IkD"/>
<constraint firstAttribute="trailing" secondItem="DSx-mj-Smq" secondAttribute="trailing" constant="24" id="ktZ-f3-lBO"/>
<constraint firstAttribute="trailing" secondItem="Xca-A6-vpb" secondAttribute="trailing" constant="24" id="vmr-yZ-XLr"/>
<constraint firstAttribute="height" constant="50" id="sZ3-nd-X93"/>
</constraints>
<viewLayoutGuide key="safeArea" id="blR-JK-HBs"/>
</view>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Reset">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="_continue:" destination="4Jg-br-Caa" eventType="touchUpInside" id="zLP-e9-WO5"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="ohC-kw-tDZ" firstAttribute="top" secondItem="Bro-Gs-Jkg" secondAttribute="top" id="2ld-sj-fgu"/>
<constraint firstItem="ohC-kw-tDZ" firstAttribute="width" secondItem="Bro-Gs-Jkg" secondAttribute="width" id="8v6-mC-ETN"/>
<constraint firstAttribute="bottom" secondItem="ohC-kw-tDZ" secondAttribute="bottom" id="92t-Id-cxj"/>
<constraint firstAttribute="trailing" secondItem="ohC-kw-tDZ" secondAttribute="trailing" id="CSQ-KY-lpI"/>
<constraint firstItem="ohC-kw-tDZ" firstAttribute="leading" secondItem="Bro-Gs-Jkg" secondAttribute="leading" id="bLA-KE-xsR"/>
<constraint firstAttribute="trailing" secondItem="2Kw-5W-wyP" secondAttribute="trailing" constant="30" id="IUE-Ae-jcs"/>
<constraint firstAttribute="bottom" secondItem="RyR-SF-erT" secondAttribute="bottom" constant="30" id="TFk-2O-8Sh"/>
<constraint firstAttribute="trailing" secondItem="RyR-SF-erT" secondAttribute="trailing" constant="30" id="al5-ay-CBe"/>
<constraint firstItem="W32-1t-Ho0" firstAttribute="leading" secondItem="pqE-sZ-bB7" secondAttribute="leading" constant="30" id="bhl-fm-sjW"/>
<constraint firstItem="2Kw-5W-wyP" firstAttribute="leading" secondItem="pqE-sZ-bB7" secondAttribute="leading" constant="30" id="c7m-ee-Tph"/>
<constraint firstItem="RyR-SF-erT" firstAttribute="leading" secondItem="pqE-sZ-bB7" secondAttribute="leading" constant="30" id="csZ-Q6-62O"/>
<constraint firstItem="W32-1t-Ho0" firstAttribute="top" secondItem="pqE-sZ-bB7" secondAttribute="top" constant="10" id="dmS-HQ-rcD"/>
<constraint firstAttribute="trailing" secondItem="W32-1t-Ho0" secondAttribute="trailing" constant="30" id="e7c-64-mLV"/>
<constraint firstItem="2Kw-5W-wyP" firstAttribute="top" secondItem="W32-1t-Ho0" secondAttribute="bottom" constant="47" id="nU9-9l-sFz"/>
</constraints>
</scrollView>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="PYB-Kq-ghm" firstAttribute="top" secondItem="Bro-Gs-Jkg" secondAttribute="bottom" id="6ds-Cw-skz"/>
<constraint firstAttribute="trailing" secondItem="PTQ-Yf-qFg" secondAttribute="trailing" constant="20" id="WZH-eC-JTM"/>
<constraint firstItem="Bro-Gs-Jkg" firstAttribute="top" secondItem="y1H-iV-BwG" secondAttribute="bottom" id="XIn-UU-kgb"/>
<constraint firstItem="PTQ-Yf-qFg" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leading" constant="20" id="ibd-wE-sOc"/>
<constraint firstAttribute="trailing" secondItem="Bro-Gs-Jkg" secondAttribute="trailing" id="jwT-jE-8nf"/>
<constraint firstItem="Bro-Gs-Jkg" firstAttribute="width" secondItem="9Uc-9s-KgO" secondAttribute="width" id="ver-sX-p37"/>
<constraint firstItem="PYB-Kq-ghm" firstAttribute="top" secondItem="PTQ-Yf-qFg" secondAttribute="bottom" id="zmv-wT-fi7"/>
<constraint firstItem="Bro-Gs-Jkg" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leading" id="zyp-bg-wnt"/>
<constraint firstItem="pqE-sZ-bB7" firstAttribute="trailing" secondItem="or3-UU-fuF" secondAttribute="trailing" id="dxb-gH-16x"/>
<constraint firstItem="pqE-sZ-bB7" firstAttribute="top" secondItem="or3-UU-fuF" secondAttribute="top" id="hIH-ZR-tOS"/>
<constraint firstItem="pqE-sZ-bB7" firstAttribute="leading" secondItem="cYD-uA-qvB" secondAttribute="leading" id="iGv-XL-gYj"/>
<constraint firstItem="pqE-sZ-bB7" firstAttribute="bottom" secondItem="or3-UU-fuF" secondAttribute="bottom" id="jCI-Za-LHR"/>
</constraints>
<viewLayoutGuide key="safeArea" id="or3-UU-fuF"/>
</view>
<connections>
<outlet property="cancelButton" destination="nlp-1I-0gr" id="2tp-W8-Oci"/>
<outlet property="dobTextField" destination="kED-Up-SXs" id="Ec3-fd-IqX"/>
<outlet property="dobTitleLabel" destination="gwV-DH-48H" id="kYj-ns-8xX"/>
<outlet property="headerLabel" destination="0gz-Yf-aYX" id="pMD-xR-0kV"/>
<outlet property="resetButton" destination="KBc-q5-Ydw" id="AyU-2X-uRy"/>
<outlet property="subHeaderLabel" destination="pgg-Ez-CdO" id="qB8-eR-etg"/>
<outlet property="userIdTitleLabel" destination="Wtt-pY-AxG" id="Ums-6r-gwU"/>
<outlet property="userNameTextField" destination="rW7-qU-MLF" id="mPg-Gf-YUR"/>
<outlet property="headerLabel" destination="t1H-zn-FIR" id="wOO-mj-YDw"/>
<outlet property="resetButton" destination="RyR-SF-erT" id="8rs-s4-AYo"/>
<outlet property="subHeaderLabel" destination="VBR-Wb-b1M" id="XLe-Ec-pDX"/>
<outlet property="userNameTextField" destination="Zkc-4R-XZf" id="bHU-6U-a87"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="CZp-be-joJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-91" y="233"/>
<point key="canvasLocation" x="-84" y="220"/>
</scene>
</scenes>
<resources>
<image name="page1_image" width="300" height="75"/>
</resources>
<color key="tintColor" red="0.78177064659999995" green="0.55228364470000002" blue="0.018981300289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</document>

157
GMERemittance/Module/ForgotPassword/User Interface/View/ForgotPasswordViewController.swift

@ -7,109 +7,100 @@
//
import UIKit
import ValidationTextField
class ForgotPasswordViewController: UIViewController {
struct StringConstants {
let headerTitle = "forgot_password_title_text".localized()
let subHeaderTitle = "forgot_password_subtitle_text".localized()
let userIdPlaceholder = "user_Id_placeholder_text".localized()
let dobPlaceholder = "dob_text".localized()
let resetText = "reset_text".localized()
let cancelText = "cancel_text".localized()
let userIdTitleText = "login_user_id_text".localized()
let dobTitleText = "dob_text".localized()
}
// MARK: IBOutlets
@IBOutlet weak var headerLabel: UILabel!
@IBOutlet weak var subHeaderLabel: UILabel!
@IBOutlet weak var userIdTitleLabel: UILabel!
@IBOutlet weak var dobTitleLabel: UILabel!
@IBOutlet weak var userNameTextField: UITextField!
@IBOutlet weak var dobTextField: UITextField!
@IBOutlet weak var resetButton: UIButton!
@IBOutlet weak var cancelButton: UIButton!
struct StringConstants {
let headerTitle = "forgot_password_title_text".localized()
let subHeaderTitle = "forgot_password_subtitle_text".localized()
let userIdPlaceholder = "forgot_password_userId_placeholder_text".localized()
let resetText = "reset_text".localized()
let userIdTitleText = "login_user_id_text".localized()
}
// MARK: IBOutlets
@IBOutlet weak var headerLabel: UILabel!
@IBOutlet weak var subHeaderLabel: UILabel!
// MARK: Properties
@IBOutlet weak var userNameTextField: ValidationTextField!
@IBOutlet weak var resetButton: UIButton!
var presenter: ForgotPasswordModuleInterface?
let datePicker = UIDatePicker()
// MARK: Properties
// MARK: VC's Life cycle
var presenter: ForgotPasswordModuleInterface?
override func viewDidLoad() {
super.viewDidLoad()
self.setup()
var isValid = false {
didSet {
resetButton.isEnabled = isValid
resetButton.backgroundColor = isValid ? AppConstants.themeRedColor : .lightGray
}
// MARK: IBActions
@IBAction func _continue(_ sender: UIButton) {
let username = self.userNameTextField.text!
// let dob = self.dobTextField.text!
let dob = ""
self.presenter?.reset(username: username, dob: dob)
}
@IBAction func cancel(_ sender: UIButton) {
self.presenter?.cancel()
}
// MARK: VC's Life cycle
override func viewDidLoad() {
super.viewDidLoad()
self.setup()
}
// MARK: IBActions
@IBAction func _continue(_ sender: UIButton) {
let username = self.userNameTextField.text!
self.presenter?.reset(username: username, dob: "")
}
// MARK: Other Functions
private func setup() {
// all setup should be done here
self.setupPicturedNavBar()
configureLanguage()
userNameTextField.statusImageView.isHidden = true
userNameTextField.validCondition = {
if $0.count > 3 {
self.isValid = true
return self.isValid
} else {
self.isValid = false
return self.isValid
}
}
resetButton.layer.cornerRadius = 10
}
// MARK: Other Functions
func configureLanguage() {
let font = UIFont.init(name: "SanFranciscoDisplay-regular", size: 12)!
userNameTextField.titleFont = font
userNameTextField.placeholder = StringConstants().userIdPlaceholder
userNameTextField.titleText = StringConstants().userIdTitleText
private func setup() {
// all setup should be done here
self.setupDatePicker()
self.setupPicturedNavBar()
configureLanguage()
}
func configureLanguage() {
self.userNameTextField.placeholder = StringConstants().userIdPlaceholder
self.dobTextField.placeholder = StringConstants().dobPlaceholder
self.resetButton.setTitle(StringConstants().resetText, for: UIControl.State.normal)
self.cancelButton.setTitle(StringConstants().cancelText, for: UIControl.State.normal)
self.headerLabel.text = StringConstants().headerTitle
self.subHeaderLabel.text = StringConstants().subHeaderTitle
self.userIdTitleLabel.text = "email_text".localized()
self.dobTitleLabel.text = StringConstants().dobTitleText
}
resetButton.setTitle(StringConstants().resetText, for: UIControl.State.normal)
private func setupDatePicker() {
self.datePicker.datePickerMode = .date
self.dobTextField.inputView = datePicker
datePicker.maximumDate = Date()
self.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
}
headerLabel.text = StringConstants().headerTitle
@objc private func handleDatePicker(sender: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
self.dobTextField.text = dateFormatter.string(from: sender.date)
}
subHeaderLabel.text = StringConstants().subHeaderTitle
}
}
// MARK: ForgotPasswordViewInterface
extension ForgotPasswordViewController: ForgotPasswordViewInterface {
func showLoading() {
self.showProgressHud()
}
func showLoading() {
self.showProgressHud()
}
func hideLoading() {
self.hideProgressHud()
}
func hideLoading() {
self.hideProgressHud()
}
func show(message: String) {
self.alertWithOk(type: .normal, message: message, title: "Success", okTitle: "Ok") {
self.presenter?.cancel()
}
func show(message: String) {
self.alertWithOk(type: .normal, message: message, title: "Success", okTitle: "Ok") {
self.presenter?.cancel()
}
}
func show(error: String) {
self.alert(type: .error, message: error)
}
func show(error: String) {
self.alert(type: .error, message: error)
}
}

398
GMERemittance/Module/Login/User Interface/View/Login.storyboard

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="ezR-vY-eSd">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
@ -18,296 +18,148 @@
</array>
</customFonts>
<scenes>
<!--Login-->
<scene sceneID="R60-Pu-Hpy">
<!--Login View Controller-->
<scene sceneID="3PZ-9f-Dk0">
<objects>
<viewController storyboardIdentifier="LoginViewController" title="Login" id="HSb-ou-7T5" customClass="LoginViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="EkR-vb-8Ew">
<viewController storyboardIdentifier="LoginViewController" id="z4C-iC-QQa" customClass="LoginViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="DTh-9U-4Cr">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="zm2-31-DT1">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Login with your email address " textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mGV-H5-MZM">
<rect key="frame" x="30" y="110" width="315" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="t40-XS-ZY4"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="Qm0-Vh-TcC">
<rect key="frame" x="30" y="157" width="315" height="116"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VXR-JZ-UlA">
<rect key="frame" x="0.0" y="0.0" width="375" height="576.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="UxQ-Z7-mCf">
<rect key="frame" x="33.5" y="10" width="308" height="77"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="I52-Yx-ts0">
<rect key="frame" x="0.0" y="0.0" width="308" height="69"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to
Global Money Express" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dYY-qS-wfk">
<rect key="frame" x="0.0" y="0.0" width="308" height="69"/>
<constraints>
<constraint firstAttribute="width" constant="308" id="9qD-TL-R0o"/>
<constraint firstAttribute="height" constant="69" id="dTN-80-UXy"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="iyS-cu-Z6r">
<rect key="frame" x="0.0" y="77" width="308" height="0.0"/>
<subviews>
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Login with your email address " textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KXD-E1-iQq">
<rect key="frame" x="0.0" y="0.0" width="181" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="Dfw-1t-YU0"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="1M3-YN-ti8">
<rect key="frame" x="24" y="126" width="327" height="156"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kcx-QD-njR">
<rect key="frame" x="0.0" y="0.0" width="327" height="156"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="bSi-oh-EYe">
<rect key="frame" x="0.0" y="0.0" width="327" height="156"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tpm-9M-7fS">
<rect key="frame" x="0.0" y="0.0" width="327" height="78"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="User ID" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W4D-Nm-wm2">
<rect key="frame" x="0.0" y="7" width="327" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="ReX-Eo-kML"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="mFR-KZ-qCY"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Registered Email" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="VQh-fp-vLH">
<rect key="frame" x="0.0" y="29" width="327" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="MMU-6i-0db"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" autocorrectionType="no" keyboardType="emailAddress"/>
</textField>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="W4D-Nm-wm2" firstAttribute="top" secondItem="tpm-9M-7fS" secondAttribute="top" constant="7" id="3Mm-jZ-J2N"/>
<constraint firstAttribute="trailing" secondItem="VQh-fp-vLH" secondAttribute="trailing" id="DPg-43-FF7"/>
<constraint firstAttribute="trailing" secondItem="W4D-Nm-wm2" secondAttribute="trailing" id="YsR-9K-xhS"/>
<constraint firstItem="VQh-fp-vLH" firstAttribute="top" secondItem="W4D-Nm-wm2" secondAttribute="bottom" constant="7" id="dlI-Pi-I94"/>
<constraint firstItem="W4D-Nm-wm2" firstAttribute="leading" secondItem="tpm-9M-7fS" secondAttribute="leading" id="ljw-Vo-pZV"/>
<constraint firstItem="VQh-fp-vLH" firstAttribute="leading" secondItem="tpm-9M-7fS" secondAttribute="leading" id="q9a-gK-EX0"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="R26-UF-dDJ">
<rect key="frame" x="0.0" y="78" width="327" height="78"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Password" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O4n-cb-5n6">
<rect key="frame" x="0.0" y="10" width="327" height="15"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="23f-8W-KjP"/>
<constraint firstAttribute="height" constant="15" id="RPh-xn-TDD"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="*********" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="QK2-zk-MJD">
<rect key="frame" x="0.0" y="32" width="327" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="gt0-ra-WCA"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" secureTextEntry="YES"/>
</textField>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="O4n-cb-5n6" firstAttribute="leading" secondItem="R26-UF-dDJ" secondAttribute="leading" id="GYD-yw-dW4"/>
<constraint firstItem="QK2-zk-MJD" firstAttribute="leading" secondItem="R26-UF-dDJ" secondAttribute="leading" id="RZ1-6L-4bw"/>
<constraint firstAttribute="trailing" secondItem="O4n-cb-5n6" secondAttribute="trailing" id="fgH-NB-gFx"/>
<constraint firstItem="QK2-zk-MJD" firstAttribute="top" secondItem="O4n-cb-5n6" secondAttribute="bottom" constant="7" id="sIV-yW-yh0"/>
<constraint firstItem="O4n-cb-5n6" firstAttribute="top" secondItem="R26-UF-dDJ" secondAttribute="top" constant="10" id="ton-3i-sxB"/>
<constraint firstAttribute="trailing" secondItem="QK2-zk-MJD" secondAttribute="trailing" id="uBs-iV-pOo"/>
</constraints>
</view>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="bSi-oh-EYe" secondAttribute="bottom" id="DWu-Ls-9Qn"/>
<constraint firstItem="bSi-oh-EYe" firstAttribute="top" secondItem="kcx-QD-njR" secondAttribute="top" id="bla-GD-lHf"/>
<constraint firstItem="bSi-oh-EYe" firstAttribute="leading" secondItem="kcx-QD-njR" secondAttribute="leading" id="dBE-39-lVz"/>
<constraint firstAttribute="height" constant="156" id="hPU-cd-3c3"/>
<constraint firstAttribute="trailing" secondItem="bSi-oh-EYe" secondAttribute="trailing" id="xwf-0P-mH5"/>
</constraints>
</view>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="9ti-ep-GAY">
<rect key="frame" x="24" y="307" width="327" height="60"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="T4Z-0g-COi">
<rect key="frame" x="0.0" y="0.0" width="327" height="60"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="R7p-5T-ler">
<rect key="frame" x="106.5" y="4" width="114" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="114" id="DWB-Ug-C6n"/>
<constraint firstAttribute="height" constant="20" id="PLS-1p-Wm2"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Forgot password?">
<color key="titleColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="forgotPassword:" destination="HSb-ou-7T5" eventType="touchUpInside" id="Bsc-Gu-LLa"/>
</connections>
</button>
<stackView opaque="NO" contentMode="scaleToFill" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="lct-nR-NSt">
<rect key="frame" x="90" y="32" width="147" height="35"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="New to GME?" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qZa-bQ-H7i">
<rect key="frame" x="0.0" y="0.0" width="67" height="35"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kqa-0q-2EH">
<rect key="frame" x="77" y="0.0" width="70" height="35"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<state key="normal" title="Register Here">
<color key="titleColor" red="0.18039215689999999" green="0.19215686269999999" blue="0.57254901960000004" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="register:" destination="HSb-ou-7T5" eventType="touchUpInside" id="1tL-jJ-0jB"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="35" id="ndr-gA-fnv"/>
</constraints>
</stackView>
</subviews>
<constraints>
<constraint firstItem="R7p-5T-ler" firstAttribute="top" secondItem="T4Z-0g-COi" secondAttribute="top" constant="4" id="Naq-20-ZV3"/>
<constraint firstItem="lct-nR-NSt" firstAttribute="top" secondItem="R7p-5T-ler" secondAttribute="bottom" constant="8" id="OV7-J2-LeX"/>
<constraint firstAttribute="height" constant="60" id="Qbd-kQ-rcs"/>
<constraint firstItem="lct-nR-NSt" firstAttribute="centerX" secondItem="R7p-5T-ler" secondAttribute="centerX" id="TW6-Tf-b4W"/>
<constraint firstItem="R7p-5T-ler" firstAttribute="centerX" secondItem="T4Z-0g-COi" secondAttribute="centerX" id="ncY-Zk-Lve"/>
</constraints>
</view>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Un-Jj-Afo">
<rect key="frame" x="87.5" y="400" width="200" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="width" constant="200" id="4CM-hy-7rA"/>
<constraint firstAttribute="height" constant="50" id="pFQ-FX-Y1P"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Login">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="login:" destination="HSb-ou-7T5" eventType="touchUpInside" id="ufK-8z-aHC"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your ID for using GME" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="GkK-3R-8Nq" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="0.0" width="315" height="43"/>
<constraints>
<constraint firstItem="5Un-Jj-Afo" firstAttribute="centerX" secondItem="VXR-JZ-UlA" secondAttribute="centerX" id="4a9-2e-1He"/>
<constraint firstItem="1M3-YN-ti8" firstAttribute="top" secondItem="UxQ-Z7-mCf" secondAttribute="bottom" constant="39" id="Lvl-41-z8t"/>
<constraint firstAttribute="bottom" secondItem="5Un-Jj-Afo" secondAttribute="bottom" priority="250" constant="126.5" id="Q9C-a5-F9y"/>
<constraint firstItem="5Un-Jj-Afo" firstAttribute="top" secondItem="9ti-ep-GAY" secondAttribute="bottom" constant="33" id="abb-af-GmZ"/>
<constraint firstItem="UxQ-Z7-mCf" firstAttribute="top" secondItem="Qdd-WT-YhD" secondAttribute="top" constant="10" id="cMC-aE-qQN"/>
<constraint firstItem="Qdd-WT-YhD" firstAttribute="trailing" secondItem="1M3-YN-ti8" secondAttribute="trailing" constant="24" id="eAN-Xj-0gm"/>
<constraint firstItem="9ti-ep-GAY" firstAttribute="centerX" secondItem="VXR-JZ-UlA" secondAttribute="centerX" id="qRM-pI-wRV"/>
<constraint firstItem="9ti-ep-GAY" firstAttribute="width" secondItem="1M3-YN-ti8" secondAttribute="width" id="rdM-pU-M8Z"/>
<constraint firstItem="9ti-ep-GAY" firstAttribute="top" secondItem="1M3-YN-ti8" secondAttribute="bottom" constant="25" id="sil-Pa-kAi"/>
<constraint firstItem="UxQ-Z7-mCf" firstAttribute="centerX" secondItem="VXR-JZ-UlA" secondAttribute="centerX" id="ubg-K6-ckq"/>
<constraint firstItem="1M3-YN-ti8" firstAttribute="centerX" secondItem="VXR-JZ-UlA" secondAttribute="centerX" id="xDZ-qu-l2I"/>
<constraint firstItem="1M3-YN-ti8" firstAttribute="leading" secondItem="Qdd-WT-YhD" secondAttribute="leading" constant="24" id="zqQ-D7-6uN"/>
<constraint firstAttribute="height" constant="43" id="WZt-ZD-X43"/>
</constraints>
<viewLayoutGuide key="safeArea" id="Qdd-WT-YhD"/>
</view>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits" autocorrectionType="no" keyboardType="emailAddress"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your password of GME" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pCq-Gh-cKW" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="73" width="315" height="43"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits" secureTextEntry="YES"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="qZ0-Mc-eUA">
<rect key="frame" x="112.5" y="325" width="150" height="35"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="New to GME?" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vyR-zb-CBC">
<rect key="frame" x="0.0" y="0.0" width="67" height="35"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GFb-Or-Tqp">
<rect key="frame" x="77" y="0.0" width="73" height="35"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<state key="normal" title="Register Here">
<color key="titleColor" red="0.18039215689999999" green="0.19215686269999999" blue="0.57254901960000004" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="register:" destination="z4C-iC-QQa" eventType="touchUpInside" id="reB-rm-tNP"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="VXR-JZ-UlA" secondAttribute="bottom" id="1t6-Kh-X5g"/>
<constraint firstAttribute="trailing" secondItem="VXR-JZ-UlA" secondAttribute="trailing" id="5u8-6H-wKx"/>
<constraint firstItem="VXR-JZ-UlA" firstAttribute="top" secondItem="zm2-31-DT1" secondAttribute="top" id="MUr-W6-vZ6"/>
<constraint firstItem="VXR-JZ-UlA" firstAttribute="width" secondItem="zm2-31-DT1" secondAttribute="width" id="OHn-Db-8QV"/>
<constraint firstItem="VXR-JZ-UlA" firstAttribute="leading" secondItem="zm2-31-DT1" secondAttribute="leading" id="bPo-rw-L8k"/>
<constraint firstAttribute="height" constant="35" id="c7P-TE-s3X"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="lwa-cj-w5H"/>
</constraints>
</scrollView>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7fh-7w-AcM">
<rect key="frame" x="30" y="587" width="315" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="Lcl-2a-6hA"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Login">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="login:" destination="z4C-iC-QQa" eventType="touchUpInside" id="8aM-DK-a5E"/>
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome to
Global Money Express" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3gO-PU-Jgg">
<rect key="frame" x="30" y="30" width="315" height="70"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="70" id="dfU-hY-0XF"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dKp-tX-RZc">
<rect key="frame" x="133.5" y="288" width="108" height="29"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Forgot password?">
<color key="titleColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="forgotPassword:" destination="z4C-iC-QQa" eventType="touchUpInside" id="xh9-ev-RVo"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="zm2-31-DT1" secondAttribute="bottom" id="0x0-O8-7Lv"/>
<constraint firstItem="zm2-31-DT1" firstAttribute="top" secondItem="EkR-vb-8Ew" secondAttribute="top" id="3nh-rG-oEM"/>
<constraint firstItem="zm2-31-DT1" firstAttribute="leading" secondItem="mwG-gr-gUP" secondAttribute="leading" id="VCB-aA-Z1n"/>
<constraint firstItem="zm2-31-DT1" firstAttribute="trailing" secondItem="mwG-gr-gUP" secondAttribute="trailing" id="Xo7-vs-IwH"/>
<constraint firstItem="zm2-31-DT1" firstAttribute="width" secondItem="EkR-vb-8Ew" secondAttribute="width" id="sB5-q4-RBd"/>
<constraint firstItem="mGV-H5-MZM" firstAttribute="leading" secondItem="E46-HZ-bgE" secondAttribute="leading" constant="30" id="0we-oe-arE"/>
<constraint firstItem="E46-HZ-bgE" firstAttribute="trailing" secondItem="mGV-H5-MZM" secondAttribute="trailing" constant="30" id="3g6-Co-X3c"/>
<constraint firstItem="Qm0-Vh-TcC" firstAttribute="top" secondItem="mGV-H5-MZM" secondAttribute="bottom" constant="30" id="4qL-Rf-QcU"/>
<constraint firstItem="E46-HZ-bgE" firstAttribute="trailing" secondItem="Qm0-Vh-TcC" secondAttribute="trailing" constant="30" id="5ay-pK-Op6"/>
<constraint firstItem="dKp-tX-RZc" firstAttribute="centerX" secondItem="E46-HZ-bgE" secondAttribute="centerX" id="78r-0X-UQd"/>
<constraint firstItem="3gO-PU-Jgg" firstAttribute="leading" secondItem="E46-HZ-bgE" secondAttribute="leading" constant="30" id="GbP-HC-Jv4"/>
<constraint firstItem="7fh-7w-AcM" firstAttribute="leading" secondItem="E46-HZ-bgE" secondAttribute="leading" constant="30" id="Hbb-yp-oyr"/>
<constraint firstItem="E46-HZ-bgE" firstAttribute="bottom" secondItem="7fh-7w-AcM" secondAttribute="bottom" constant="30" id="IuQ-jo-AYg"/>
<constraint firstItem="qZ0-Mc-eUA" firstAttribute="centerX" secondItem="E46-HZ-bgE" secondAttribute="centerX" id="UFs-TN-e2G"/>
<constraint firstItem="E46-HZ-bgE" firstAttribute="trailing" secondItem="7fh-7w-AcM" secondAttribute="trailing" constant="30" id="chh-Uf-9zA"/>
<constraint firstItem="qZ0-Mc-eUA" firstAttribute="top" secondItem="dKp-tX-RZc" secondAttribute="bottom" constant="8" id="lFx-BW-Efm"/>
<constraint firstItem="3gO-PU-Jgg" firstAttribute="top" secondItem="E46-HZ-bgE" secondAttribute="top" constant="10" id="njZ-l1-5e3"/>
<constraint firstItem="Qm0-Vh-TcC" firstAttribute="leading" secondItem="E46-HZ-bgE" secondAttribute="leading" constant="30" id="sgA-Hs-5C6"/>
<constraint firstItem="E46-HZ-bgE" firstAttribute="trailing" secondItem="3gO-PU-Jgg" secondAttribute="trailing" constant="30" id="xak-Fm-gdc"/>
<constraint firstItem="mGV-H5-MZM" firstAttribute="top" secondItem="3gO-PU-Jgg" secondAttribute="bottom" constant="10" id="xnM-sP-JRi"/>
<constraint firstItem="dKp-tX-RZc" firstAttribute="top" secondItem="Qm0-Vh-TcC" secondAttribute="bottom" constant="15" id="yXf-Qi-qng"/>
</constraints>
<viewLayoutGuide key="safeArea" id="mwG-gr-gUP"/>
<viewLayoutGuide key="safeArea" id="E46-HZ-bgE"/>
</view>
<navigationItem key="navigationItem" id="J8O-o1-aen"/>
<connections>
<outlet property="backgroundTextfieldsView" destination="kcx-QD-njR" id="TE5-4n-XMY"/>
<outlet property="forgotPasswordButton" destination="R7p-5T-ler" id="9ri-8p-xbl"/>
<outlet property="forgotPasswordView" destination="T4Z-0g-COi" id="Y6x-bL-34m"/>
<outlet property="headerTitle" destination="dYY-qS-wfk" id="WkD-vI-fRr"/>
<outlet property="loginButton" destination="5Un-Jj-Afo" id="Ol2-0r-QDM"/>
<outlet property="newToGmeLabel" destination="qZa-bQ-H7i" id="8Mc-kC-K6s"/>
<outlet property="passwordBackgroundView" destination="R26-UF-dDJ" id="dx5-Av-U0f"/>
<outlet property="passwordTextField" destination="QK2-zk-MJD" id="T4q-gs-lt0"/>
<outlet property="passwordTitleLabel" destination="O4n-cb-5n6" id="EU6-5D-hxG"/>
<outlet property="registerHereButton" destination="kqa-0q-2EH" id="Yhz-rD-5hm"/>
<outlet property="subtitle" destination="KXD-E1-iQq" id="ZFR-T0-5Nx"/>
<outlet property="userIdBackgroundView" destination="tpm-9M-7fS" id="NMU-tb-11I"/>
<outlet property="userIdTitleLabel" destination="W4D-Nm-wm2" id="VsE-iJ-r6d"/>
<outlet property="userNameTextField" destination="VQh-fp-vLH" id="3eA-oq-xs5"/>
<outlet property="forgotPasswordButton" destination="dKp-tX-RZc" id="lwg-fY-X25"/>
<outlet property="headerTitle" destination="3gO-PU-Jgg" id="k1D-Tg-t85"/>
<outlet property="loginButton" destination="7fh-7w-AcM" id="t0o-kD-5wK"/>
<outlet property="newToGmeLabel" destination="vyR-zb-CBC" id="6V2-vJ-DFj"/>
<outlet property="passwordTextField" destination="pCq-Gh-cKW" id="YvF-NA-ca2"/>
<outlet property="registerHereButton" destination="GFb-Or-Tqp" id="2XM-Ja-w9m"/>
<outlet property="subtitle" destination="mGV-H5-MZM" id="gje-xG-hY1"/>
<outlet property="userNameTextField" destination="GkK-3R-8Nq" id="eb0-Nl-10V"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="847.20000000000005" y="232.53373313343329"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="tLS-n5-1o3">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="ezR-vY-eSd" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="kJS-2I-TRN">
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="HSb-ou-7T5" kind="relationship" relationship="rootViewController" id="Yxz-D7-dzH"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="wzL-qY-MEt" userLabel="First Responder" sceneMemberID="firstResponder"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="wh9-3o-18B" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-92" y="232.53373313343329"/>
<point key="canvasLocation" x="1518" y="233"/>
</scene>
</scenes>
<color key="tintColor" red="0.78177064659999995" green="0.55228364470000002" blue="0.018981300289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

134
GMERemittance/Module/Login/User Interface/View/LoginViewController.swift

@ -9,6 +9,7 @@
import UIKit
import Localize_Swift
import LocalAuthentication
import ValidationTextField
class LoginViewController: UIViewController {
struct StringConstants {
@ -18,6 +19,7 @@ class LoginViewController: UIViewController {
let userIdTitle = "userid_title_text".localized()
let userIdPlaceholder = "userid_placeholder_text".localized()
let passwordTitle = "password_text".localized()
let passwordPlaceholder = "enter_login_password_text".localized()
let forgotPasswordText = "forgot_password_text".localized()
let newToGmeText = "new_to_gme_text".localized()
@ -28,27 +30,15 @@ class LoginViewController: UIViewController {
// MARK: IBOutlets
@IBOutlet weak var userNameTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var userNameTextField: ValidationTextField!
@IBOutlet weak var passwordTextField: ValidationTextField!
// views
@IBOutlet weak var backgroundTextfieldsView: UIView!
@IBOutlet weak var userIdBackgroundView: UIView!
@IBOutlet weak var passwordBackgroundView: UIView!
@IBOutlet weak var headerTitle: UILabel!
@IBOutlet weak var subtitle: UILabel!
@IBOutlet weak var userIdTitleLabel: UILabel!
@IBOutlet weak var passwordTitleLabel: UILabel!
@IBOutlet weak var newToGmeLabel: UILabel!
@IBOutlet weak var registerHereButton: UIButton!
@IBOutlet weak var forgotPasswordButton: UIButton!
@IBOutlet weak var forgotPasswordView: UIView!
@IBOutlet weak var logoImageView: UIImageView!
@IBOutlet weak var loginButton: UIButton!
var encryptedPassword : String? {
@ -83,8 +73,6 @@ class LoginViewController: UIViewController {
super.viewWillAppear(animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationItem.title = ""
@ -110,10 +98,22 @@ class LoginViewController: UIViewController {
// all setup should be done here
setupNavBar()
setupColor()
self.userNameTextField.delegate = self
self.passwordTextField.delegate = self
self.userNameTextField.returnKeyType = .next
// showAnimation()
userNameTextField.delegate = self
passwordTextField.delegate = self
userNameTextField.returnKeyType = .next
let font = UIFont.init(name: "SanFranciscoDisplay-regular", size: 12)!
userNameTextField.titleFont = font
userNameTextField.statusImageView.isHidden = true
userNameTextField.validCondition = { $0.count > 3 }
userNameTextField.errorMessage = "userid_error_text".localized()
passwordTextField.titleFont = font
passwordTextField.statusImageView.isHidden = true
passwordTextField.validCondition = { $0.count > 5 }
passwordTextField.errorMessage = "password_policy_error".localized()
loginButton.layer.cornerRadius = 10
}
func authenticateUser() {
@ -147,89 +147,35 @@ class LoginViewController: UIViewController {
}
private func configureLanguage() {
self.headerTitle.text = StringConstants().headerTitle
self.subtitle.text = StringConstants().subHeaderTitle
self.userIdTitleLabel.text = StringConstants().userIdTitle
self.userNameTextField.placeholder = StringConstants().userIdPlaceholder
self.passwordTitleLabel.text = StringConstants().passwordTitle
self.forgotPasswordButton.setTitle(StringConstants().forgotPasswordText, for: .normal)
self.newToGmeLabel.text = StringConstants().newToGmeText
self.registerHereButton.setTitle(StringConstants().registerHereText, for: .normal)
self.loginButton.setTitle(StringConstants().loginText, for: .normal)
}
headerTitle.text = StringConstants().headerTitle
subtitle.text = StringConstants().subHeaderTitle
userNameTextField.titleText = StringConstants().userIdTitle
userNameTextField.placeholder = StringConstants().userIdPlaceholder
func setupColor() {
self.loginButton.backgroundColor = AppConstants.themeRedColor
self.headerTitle.textColor = AppConstants.themeRedColor
}
passwordTextField.titleText = StringConstants().passwordTitle
passwordTextField.placeholder = StringConstants().passwordPlaceholder
func showAnimation() {
setupInitialPositionsOfviews()
animateViews()
}
forgotPasswordButton.setTitle(StringConstants().forgotPasswordText, for: .normal)
private func setupInitialPositionsOfviews() {
self.userIdBackgroundView.center.x -= self.view.bounds.width
self.passwordBackgroundView.center.x -= self.view.bounds.width
self.loginButton.transform = CGAffineTransform.init(scaleX: 0, y: 1)
self.headerTitle.alpha = 0
self.headerTitle.center.y -= 200
self.subtitle.alpha = 0
self.forgotPasswordView.alpha = 0
self.logoImageView.center.y += (self.logoImageView.bounds.height + 20)
self.loginButton.setTitle("", for: UIControl.State.normal)
newToGmeLabel.text = StringConstants().newToGmeText
}
registerHereButton.setTitle(StringConstants().registerHereText, for: .normal)
private func animateViews() {
// user id
UIView.animate(withDuration: 0.5, animations: {
self.userIdBackgroundView.center.x += self.view.bounds.width
})
// password
UIView.animate(withDuration: 0.5, delay: 0.3, options: [], animations: {
self.passwordBackgroundView.center.x += self.view.bounds.width
}, completion: nil)
// login button
UIView.animate(withDuration: 0.5, delay: 0.4, options: [], animations: {
self.loginButton.transform = CGAffineTransform.identity
}, completion: { (_) in
self.loginButton.setTitle("Login", for: UIControl.State.normal)
})
// subtitle
UIView.animate(withDuration: 0.5, delay: 0.7, options: [], animations: {
self.subtitle.alpha = 1
}, completion: nil)
// forgot password
UIView.animate(withDuration: 0.5, delay: 0.9, options: [], animations: {
self.forgotPasswordView.alpha = 1
})
// header title
// logoimageview
UIView.animate(withDuration: 0.7, delay: 0, options: [], animations: {
// todo
self.headerTitle.alpha = 1
self.headerTitle.center.y += 200
self.logoImageView.center.y -= (self.logoImageView.bounds.height + 20)
}, completion: nil)
loginButton.setTitle(StringConstants().loginText, for: .normal)
}
func setupColor() {
self.loginButton.backgroundColor = AppConstants.themeRedColor
self.headerTitle.textColor = AppConstants.themeRedColor
}
private func setupNavBar() {
self.setupPicturedNavBar()
}
private func authenticate(){
guard
let email = KeyChain.shared.get(key: .id),
let typedEmail = self.userNameTextField.text,
@ -329,7 +275,15 @@ extension LoginViewController: SecureKeypadDelegate {
func didComplete(_ encryptedString: String, length: Int) {
if encryptedString != "" {
self.encryptedPassword = encryptedString
self.passwordTextField.text = "password"
var garbagePW = ""
for _ in 0..<length {
garbagePW += "*"
}
self.passwordTextField.text = garbagePW
passwordTextField.sendActions(for: .editingChanged)
}
}
}

6
GMERemittance/Module/RegisterModules/KYC/kycForm1/User Interface/View/kycForm1ViewController.swift

@ -310,9 +310,6 @@ class KycForm1ViewController: UIViewController {
dateFormatter.dateFormat = AppConstants.dateFormat
self.dobTextField.text = dateFormatter.string(from: sender.date)
// For use id number field in kycForm2
GMEDB.shared.user.set(dobTextField.text, .dateOfBirth)
dobTextField.sendActions(for: .editingChanged)
}
@ -462,6 +459,9 @@ extension KycForm1ViewController {
}
private func generateModel() -> KycForm1Model {
// For use id number field in kycForm2
GMEDB.shared.user.set(dobTextField.text, .dateOfBirth)
return KycForm1Model(
firstName: firstNameTextField.text ?? "",
middleName: "",

3
GMERemittance/Module/RegisterModules/KYC/kycForm2/User Interface/View/kycForm2ViewController.swift

@ -578,6 +578,9 @@ extension KycForm2ViewController {
}
private func generateModel() -> KycForm2Model {
// For use PenneyTest Submit
GMEDB.shared.user.set(accountNumberTextField.text, .primaryAccountNumber)
return KycForm2Model(
bank: selectedBank?.id ?? "",
accountNumber: accountNumberTextField.text ?? "",

243
GMERemittance/Module/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmit.storyboard

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="HSb-ou-7T5">
<device id="retina5_5" orientation="portrait">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
@ -15,177 +15,140 @@
</array>
</customFonts>
<scenes>
<!--PennyTestSubmit-->
<scene sceneID="R60-Pu-Hpy">
<!--Penny Test Submit View Controller-->
<scene sceneID="ohP-ej-Qln">
<objects>
<viewController storyboardIdentifier="PennyTestSubmitViewController" title="PennyTestSubmit" id="HSb-ou-7T5" customClass="PennyTestSubmitViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="9Uc-9s-KgO">
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<viewController storyboardIdentifier="PennyTestSubmitViewController" id="hn1-Dn-Zqe" customClass="PennyTestSubmitViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="MRU-Lx-tjV">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3UY-rF-zPU">
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xEc-fu-H2E">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6yq-UM-yvp">
<rect key="frame" x="20" y="20" width="374" height="696"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Your bank account verification is required in order to complete the registration. Do you want to verify it now?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MLA-x1-YKl">
<rect key="frame" x="30" y="40" width="315" height="206"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="11" translatesAutoresizingMaskIntoConstraints="NO" id="CFB-CY-z0H">
<rect key="frame" x="30" y="286" width="315" height="75.5"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YR1-Vv-hRj">
<rect key="frame" x="0.0" y="0.0" width="374" height="528"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Deposit Reference" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4PB-I3-mrp">
<rect key="frame" x="0.0" y="0.0" width="315" height="20.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="r2S-Rl-7ws">
<rect key="frame" x="0.0" y="31.5" width="315" height="44"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Your bank account verification is required in order to complete the registration. Do you want to verify it now?" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8QR-Wc-Fpw">
<rect key="frame" x="10" y="40" width="354" height="61"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<color key="textColor" red="0.29019607843137252" green="0.29019607843137252" blue="0.29019607843137252" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="11" translatesAutoresizingMaskIntoConstraints="NO" id="qgg-86-qk0">
<rect key="frame" x="8" y="136" width="354" height="75.333333333333314"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Deposit Reference" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kKM-6i-V9X">
<rect key="frame" x="0.0" y="0.0" width="354" height="20.333333333333332"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="Vib-sU-aRk">
<rect key="frame" x="0.0" y="31.333333333333343" width="354" height="44"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="GME-1234" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="jbh-6H-7xd">
<rect key="frame" x="0.0" y="0.0" width="289" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="Ong-ip-CGS"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ruC-si-Jwc">
<rect key="frame" x="299" y="0.0" width="55" height="44"/>
<constraints>
<constraint firstAttribute="width" constant="55" id="Pxd-b5-wzG"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="10"/>
<state key="normal" title="View Sample">
<color key="titleColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="viewSample:" destination="HSb-ou-7T5" eventType="touchUpInside" id="UmS-pg-tTT"/>
</connections>
</button>
</subviews>
</stackView>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XMM-cS-g9L">
<rect key="frame" x="87" y="411.33333333333331" width="200" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="GME-1234" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="9cS-dk-elg">
<rect key="frame" x="0.0" y="0.0" width="250" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="Bs5-mu-bW1"/>
<constraint firstAttribute="width" constant="200" id="ycU-Tb-PDq"/>
<constraint firstAttribute="height" constant="44" id="wKG-lg-eey"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Submit">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="Verify:" destination="HSb-ou-7T5" eventType="touchUpInside" id="Uwg-PH-645"/>
</connections>
</button>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A9e-bb-t3O">
<rect key="frame" x="87" y="475" width="200" height="33"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<state key="normal" title="Not Now">
<color key="titleColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="dismiss:" destination="HSb-ou-7T5" eventType="touchUpInside" id="J01-4l-aDr"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dtR-kg-amx">
<rect key="frame" x="87" y="246" width="200" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DHb-TT-D61">
<rect key="frame" x="260" y="0.0" width="55" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="BUu-4w-sXR"/>
<constraint firstAttribute="width" constant="200" id="qmf-nN-8gf"/>
<constraint firstAttribute="width" constant="55" id="kOi-Eh-SXS"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Resend Request">
<color key="titleColor" red="0.94117647058823528" green="0.2196078431372549" blue="0.21568627450980393" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="10"/>
<state key="normal" title="View Sample">
<color key="titleColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="resend:" destination="HSb-ou-7T5" eventType="touchUpInside" id="gKb-w7-Mz3"/>
<action selector="viewSample:" destination="hn1-Dn-Zqe" eventType="touchUpInside" id="9DC-iI-DB1"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="A9e-bb-t3O" firstAttribute="top" secondItem="XMM-cS-g9L" secondAttribute="bottom" constant="13.67" id="38b-qV-Z9U"/>
<constraint firstItem="dtR-kg-amx" firstAttribute="centerX" secondItem="XMM-cS-g9L" secondAttribute="centerX" id="6Ga-EQ-4xX"/>
<constraint firstItem="A9e-bb-t3O" firstAttribute="width" secondItem="XMM-cS-g9L" secondAttribute="width" id="BAe-fV-QaY"/>
<constraint firstAttribute="trailing" secondItem="8QR-Wc-Fpw" secondAttribute="trailing" constant="10" id="DNR-FF-3LX"/>
<constraint firstItem="XMM-cS-g9L" firstAttribute="top" secondItem="qgg-86-qk0" secondAttribute="bottom" priority="250" constant="200" id="FHE-uD-cLe"/>
<constraint firstAttribute="trailing" secondItem="qgg-86-qk0" secondAttribute="trailing" constant="12" id="JWP-dv-kzs"/>
<constraint firstItem="8QR-Wc-Fpw" firstAttribute="top" secondItem="YR1-Vv-hRj" secondAttribute="top" constant="40" id="T5l-Xt-BdH"/>
<constraint firstItem="qgg-86-qk0" firstAttribute="top" secondItem="8QR-Wc-Fpw" secondAttribute="bottom" constant="35" id="VCv-VI-QYK"/>
<constraint firstItem="XMM-cS-g9L" firstAttribute="centerX" secondItem="YR1-Vv-hRj" secondAttribute="centerX" id="WB9-Qt-FB9"/>
<constraint firstItem="A9e-bb-t3O" firstAttribute="centerX" secondItem="YR1-Vv-hRj" secondAttribute="centerX" id="ZUx-ib-Ocv"/>
<constraint firstAttribute="bottom" secondItem="A9e-bb-t3O" secondAttribute="bottom" constant="20" id="ZwT-4K-w1i"/>
<constraint firstItem="8QR-Wc-Fpw" firstAttribute="leading" secondItem="YR1-Vv-hRj" secondAttribute="leading" constant="10" id="cSd-st-5Ok"/>
<constraint firstItem="qgg-86-qk0" firstAttribute="leading" secondItem="YR1-Vv-hRj" secondAttribute="leading" constant="8" id="cxG-wd-DZm"/>
<constraint firstItem="dtR-kg-amx" firstAttribute="top" secondItem="jbh-6H-7xd" secondAttribute="bottom" constant="34.666666666666657" id="uRw-nm-G1J"/>
</constraints>
</view>
</stackView>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="I8t-1k-9Rl">
<rect key="frame" x="30" y="567" width="315" height="50"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="OQb-GM-Gz0"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Submit">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="Verify:" destination="hn1-Dn-Zqe" eventType="touchUpInside" id="X77-Jy-Y5M"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Sbn-ge-s5f">
<rect key="frame" x="87.5" y="396" width="200" height="50"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="YR1-Vv-hRj" firstAttribute="width" secondItem="6yq-UM-yvp" secondAttribute="width" id="QnL-FV-ImO"/>
<constraint firstItem="YR1-Vv-hRj" firstAttribute="leading" secondItem="6yq-UM-yvp" secondAttribute="leading" id="TBx-4H-uOF"/>
<constraint firstItem="YR1-Vv-hRj" firstAttribute="top" secondItem="6yq-UM-yvp" secondAttribute="top" id="cCf-nw-6HJ"/>
<constraint firstAttribute="bottom" secondItem="YR1-Vv-hRj" secondAttribute="bottom" id="pPx-GE-fSe"/>
<constraint firstAttribute="trailing" secondItem="YR1-Vv-hRj" secondAttribute="trailing" id="vHD-sp-1WY"/>
<constraint firstAttribute="height" constant="50" id="O4u-88-snN"/>
<constraint firstAttribute="width" constant="200" id="aAI-87-oPg"/>
</constraints>
</scrollView>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Resend Request">
<color key="titleColor" red="0.94117647059999998" green="0.21960784310000001" blue="0.2156862745" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="resend:" destination="hn1-Dn-Zqe" eventType="touchUpInside" id="uCK-HV-ctN"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="6yq-UM-yvp" secondAttribute="trailing" constant="20" id="9IW-sx-fqp"/>
<constraint firstItem="6yq-UM-yvp" firstAttribute="top" secondItem="3UY-rF-zPU" secondAttribute="top" constant="20" id="HuZ-HX-vI4"/>
<constraint firstAttribute="bottom" secondItem="6yq-UM-yvp" secondAttribute="bottom" constant="20" id="JHv-5k-NDg"/>
<constraint firstItem="6yq-UM-yvp" firstAttribute="leading" secondItem="3UY-rF-zPU" secondAttribute="leading" constant="20" id="eao-aD-d2D"/>
<constraint firstAttribute="trailing" secondItem="MLA-x1-YKl" secondAttribute="trailing" constant="30" id="7hw-Pi-oNb"/>
<constraint firstItem="MLA-x1-YKl" firstAttribute="top" secondItem="xEc-fu-H2E" secondAttribute="top" constant="40" id="95q-az-YUB"/>
<constraint firstItem="Sbn-ge-s5f" firstAttribute="centerX" secondItem="xEc-fu-H2E" secondAttribute="centerX" id="Atg-e3-yxu"/>
<constraint firstItem="Sbn-ge-s5f" firstAttribute="top" secondItem="9cS-dk-elg" secondAttribute="bottom" constant="34.666666666666657" id="B4Z-li-5CP"/>
<constraint firstItem="MLA-x1-YKl" firstAttribute="leading" secondItem="xEc-fu-H2E" secondAttribute="leading" constant="30" id="FWV-mV-Ngq"/>
<constraint firstAttribute="bottom" secondItem="I8t-1k-9Rl" secondAttribute="bottom" constant="30" id="MFe-c8-aQv"/>
<constraint firstItem="I8t-1k-9Rl" firstAttribute="centerX" secondItem="xEc-fu-H2E" secondAttribute="centerX" id="URf-66-dwp"/>
<constraint firstItem="I8t-1k-9Rl" firstAttribute="leading" secondItem="xEc-fu-H2E" secondAttribute="leading" constant="30" id="V18-wk-5Sw"/>
<constraint firstItem="CFB-CY-z0H" firstAttribute="leading" secondItem="xEc-fu-H2E" secondAttribute="leading" constant="30" id="WJg-hM-Kfl"/>
<constraint firstItem="CFB-CY-z0H" firstAttribute="top" secondItem="MLA-x1-YKl" secondAttribute="bottom" constant="40" id="d98-Wz-bXC"/>
<constraint firstItem="CFB-CY-z0H" firstAttribute="centerY" secondItem="xEc-fu-H2E" secondAttribute="centerY" id="ktb-cH-glg"/>
<constraint firstAttribute="trailing" secondItem="CFB-CY-z0H" secondAttribute="trailing" constant="30" id="pYa-sB-OAs"/>
<constraint firstAttribute="trailing" secondItem="I8t-1k-9Rl" secondAttribute="trailing" constant="30" id="rWS-l4-5rE"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="3UY-rF-zPU" secondAttribute="bottom" id="23D-RC-uFe"/>
<constraint firstItem="3UY-rF-zPU" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leading" id="Jnn-kd-9BW"/>
<constraint firstItem="3UY-rF-zPU" firstAttribute="top" secondItem="9Uc-9s-KgO" secondAttribute="top" id="Nt3-CH-ckA"/>
<constraint firstAttribute="trailing" secondItem="3UY-rF-zPU" secondAttribute="trailing" id="huZ-mF-hbe"/>
<constraint firstItem="aE5-uQ-TsV" firstAttribute="bottom" secondItem="xEc-fu-H2E" secondAttribute="bottom" id="Dmo-br-XMu"/>
<constraint firstItem="xEc-fu-H2E" firstAttribute="leading" secondItem="aE5-uQ-TsV" secondAttribute="leading" id="Eer-PZ-Lea"/>
<constraint firstItem="aE5-uQ-TsV" firstAttribute="trailing" secondItem="xEc-fu-H2E" secondAttribute="trailing" id="Hx2-Sl-vlF"/>
<constraint firstItem="xEc-fu-H2E" firstAttribute="top" secondItem="aE5-uQ-TsV" secondAttribute="top" id="Ybm-Kz-qzr"/>
</constraints>
<viewLayoutGuide key="safeArea" id="bpB-kn-d6Z"/>
<viewLayoutGuide key="safeArea" id="aE5-uQ-TsV"/>
</view>
<connections>
<outlet property="dipositReferencelabel" destination="kKM-6i-V9X" id="8Md-wP-RmP"/>
<outlet property="notNowButton" destination="A9e-bb-t3O" id="sSJ-gk-Wd3"/>
<outlet property="resendButton" destination="dtR-kg-amx" id="EaD-dK-g6H"/>
<outlet property="submitButton" destination="XMM-cS-g9L" id="842-36-RcZ"/>
<outlet property="titleLabel" destination="8QR-Wc-Fpw" id="JWx-nY-Plu"/>
<outlet property="verificationCodeTextField" destination="jbh-6H-7xd" id="bqF-LA-g5S"/>
<outlet property="viewSampleButton" destination="ruC-si-Jwc" id="M1L-bN-ho0"/>
<outlet property="dipositReferencelabel" destination="4PB-I3-mrp" id="glu-PX-wy8"/>
<outlet property="resendButton" destination="Sbn-ge-s5f" id="F8H-Hh-Scp"/>
<outlet property="submitButton" destination="I8t-1k-9Rl" id="V50-dA-Hne"/>
<outlet property="titleLabel" destination="MLA-x1-YKl" id="tIE-MT-ync"/>
<outlet property="verificationCodeTextField" destination="9cS-dk-elg" id="jUr-0s-Kkp"/>
<outlet property="viewSampleButton" destination="DHb-TT-D61" id="PRi-1g-iJy"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="Nai-CC-aAT" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-92.753623188405811" y="232.33695652173915"/>
<point key="canvasLocation" x="-247" y="146"/>
</scene>
</scenes>
<color key="tintColor" red="0.78177064659999995" green="0.55228364470000002" blue="0.018981300289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

38
GMERemittance/Module/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift

@ -20,7 +20,6 @@ class PennyTestSubmitViewController: UIViewController {
let viewSampleText = "view_sample_text".localized()
let resendRequestText = "resend_request_text".localized()
let submitText = "submit_text".localized()
let notNowText = "not_now_text".localized()
}
// MARK: Properties
@ -28,6 +27,13 @@ class PennyTestSubmitViewController: UIViewController {
var presenter: PennyTestSubmitModuleInterface?
weak var parentViewcontroller: UIViewController?
private var isValid = false {
didSet {
submitButton.isEnabled = isValid
submitButton.backgroundColor = isValid ? AppConstants.themeRedColor : .lightGray
}
}
// MARK: IBOutlets
@IBOutlet weak var dipositReferencelabel: UILabel!
@ -36,7 +42,6 @@ class PennyTestSubmitViewController: UIViewController {
@IBOutlet weak var viewSampleButton: UIButton!
@IBOutlet weak var resendButton: UIButton!
@IBOutlet weak var submitButton: UIButton!
@IBOutlet weak var notNowButton: UIButton!
// MARK: VC's Life cycle
override func viewDidLoad() {
@ -62,6 +67,17 @@ class PennyTestSubmitViewController: UIViewController {
self.titleLabel.text = message
configureText()
submitButton.layer.cornerRadius = 10
verificationCodeTextField.addTarget(self, action: #selector(editingChanged(_:)), for: .editingChanged)
}
@objc private func editingChanged(_ textField: UITextField) {
guard let text = textField.text else {
return
}
isValid = text.count == 4 ? true : false
}
private func configureText() {
@ -70,7 +86,6 @@ class PennyTestSubmitViewController: UIViewController {
self.viewSampleButton.setTitle(StringConstants().viewSampleText, for: UIControl.State.normal)
self.resendButton.setTitle(StringConstants().resendRequestText, for: UIControl.State.normal)
self.submitButton.setTitle(StringConstants().submitText, for: UIControl.State.normal)
self.notNowButton.setTitle(StringConstants().notNowText, for: UIControl.State.normal)
}
@IBAction func viewSample(_ sender: Any) {
@ -157,14 +172,14 @@ class PennyTestSubmitViewController: UIViewController {
}
@IBAction func Verify(_ sender: UIButton) {
let customerId = Utility.getMyId()
let certNumber = self.verificationCodeTextField.text!.removeSpacesTrailingPreceding()
if certNumber.isEmpty || certNumber.count != 4 {
self.alert(type: .error, message: "valid_verification_code_error".localized())
return
guard let certNumber = self.verificationCodeTextField.text?.removeSpacesTrailingPreceding()
else {
self.alert(type: .error, message: "valid_verification_code_error".localized())
return
}
let accountNumber = Utility.getMyPrimaryAccountNumber()
let customerId = GMEDB.shared.user.string(.senderId) ?? ""
let accountNumber = GMEDB.shared.user.string(.primaryAccountNumber) ?? ""
let params =
[
@ -204,7 +219,7 @@ class PennyTestSubmitViewController: UIViewController {
GMEDB.shared.user.set(PennyTestStatusCode.completed.rawValue, .pennyTestStatusCode)
self.doLogin()
}
}
}
)
}) { (error) in
self.alert(type: .error, message: error.localizedDescription)
@ -308,6 +323,3 @@ extension PennyTestSubmitViewController: InitiatePennyTestService {
extension PennyTestSubmitViewController: UserInfoService {
}

264
GMERemittance/Module/RegisterModules/Register/User Interface/View/Register.storyboard

@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<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">
@ -21,174 +22,153 @@
<scene sceneID="axE-FC-GQ8">
<objects>
<viewController storyboardIdentifier="RegisterViewController" id="3of-XY-hDI" customClass="RegisterViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="sw6-8e-IPm"/>
<viewControllerLayoutGuide type="bottom" id="G54-ad-f73"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="FaP-85-se4">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KcJ-bG-Puu">
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="647" translatesAutoresizingMaskIntoConstraints="NO" id="3OB-6d-dKP">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<subviews>
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="647" translatesAutoresizingMaskIntoConstraints="NO" id="3OB-6d-dKP">
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Register to
Global Money Express" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B0J-XU-dgc">
<rect key="frame" x="30" y="10" width="315" height="70"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="70" id="tst-x5-Lc6"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92877691979999999" green="0.11067970839999999" blue="0.14004543420000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Bjy-dd-Sry">
<rect key="frame" x="30" y="110" width="315" height="220"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Register to
Global Money Express" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B0J-XU-dgc">
<rect key="frame" x="10" y="10" width="355" height="70"/>
<constraints>
<constraint firstAttribute="height" constant="70" id="tst-x5-Lc6"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="24"/>
<color key="textColor" red="0.92877691979999999" green="0.11067970839999999" blue="0.14004543420000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Bjy-dd-Sry">
<rect key="frame" x="30" y="110" width="315" height="232"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="AOi-Kv-YDt">
<rect key="frame" x="0.0" y="0.0" width="315" height="232"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your ID" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="wCs-hK-db8" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="0.0" width="315" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="tEk-f7-31Y"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="alphabet"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Create Password" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="IAX-yY-Q4P" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="63" width="315" height="43"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="i84-oj-die"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" secureTextEntry="YES"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="keyPath" value="YES"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select Native Country" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="iE3-T8-5se" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="126" width="315" height="43"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="R31-jm-Puv"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your Mobile No" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="VWH-eY-0B8" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="189" width="315" height="43"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="ZCg-c0-8tI"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="phonePad"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="AOi-Kv-YDt" secondAttribute="bottom" id="aDE-Fi-fIJ"/>
<constraint firstItem="AOi-Kv-YDt" firstAttribute="top" secondItem="Bjy-dd-Sry" secondAttribute="top" id="hp0-UP-uYX"/>
<constraint firstItem="AOi-Kv-YDt" firstAttribute="leading" secondItem="Bjy-dd-Sry" secondAttribute="leading" id="xCP-Rq-eZB"/>
<constraint firstAttribute="trailing" secondItem="AOi-Kv-YDt" secondAttribute="trailing" id="zE7-dT-ves"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="ZBz-Fk-d28">
<rect key="frame" x="90.5" y="372" width="194.5" height="145"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="AOi-Kv-YDt">
<rect key="frame" x="0.0" y="0.0" width="315" height="220"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Already have an Account?" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YgA-Df-6ht">
<rect key="frame" x="0.0" y="0.0" width="153.5" height="145"/>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your ID" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="wCs-hK-db8" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="0.0" width="315" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="tEk-f7-31Y"/>
</constraints>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="alphabet"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Create Password" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="IAX-yY-Q4P" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="60" width="315" height="40"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" secureTextEntry="YES"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="keyPath" value="YES"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Select Native Country" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="iE3-T8-5se" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="120" width="315" height="40"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6Ho-mR-LaI">
<rect key="frame" x="160.5" y="0.0" width="34" height="145"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Login">
<color key="titleColor" red="0.18039215689999999" green="0.19215686269999999" blue="0.57254901960000004" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="login:" destination="3of-XY-hDI" eventType="touchUpInside" id="QnE-FB-2eq"/>
</connections>
</button>
<textInputTraits key="textInputTraits"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter your Mobile No" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="VWH-eY-0B8" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="180" width="315" height="40"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="phonePad"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
</userDefinedRuntimeAttributes>
</textField>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UTk-Hw-z4V">
<rect key="frame" x="30" y="567" width="315" height="50"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="D1y-Yp-R3h"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Register">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="AOi-Kv-YDt" secondAttribute="bottom" id="aDE-Fi-fIJ"/>
<constraint firstItem="AOi-Kv-YDt" firstAttribute="top" secondItem="Bjy-dd-Sry" secondAttribute="top" id="hp0-UP-uYX"/>
<constraint firstItem="AOi-Kv-YDt" firstAttribute="leading" secondItem="Bjy-dd-Sry" secondAttribute="leading" id="xCP-Rq-eZB"/>
<constraint firstAttribute="trailing" secondItem="AOi-Kv-YDt" secondAttribute="trailing" id="zE7-dT-ves"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="ZBz-Fk-d28">
<rect key="frame" x="90.5" y="360" width="194.5" height="30"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Already have an Account?" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YgA-Df-6ht">
<rect key="frame" x="0.0" y="0.0" width="153.5" height="30"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6Ho-mR-LaI">
<rect key="frame" x="160.5" y="0.0" width="34" height="30"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Login">
<color key="titleColor" red="0.18039215689999999" green="0.19215686269999999" blue="0.57254901960000004" alpha="1" colorSpace="calibratedRGB"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="register:" destination="3of-XY-hDI" eventType="touchUpInside" id="feI-5u-0dl"/>
<action selector="login:" destination="3of-XY-hDI" eventType="touchUpInside" id="QnE-FB-2eq"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="B0J-XU-dgc" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="10" id="2CQ-5v-uKy"/>
<constraint firstItem="ZBz-Fk-d28" firstAttribute="centerX" secondItem="3OB-6d-dKP" secondAttribute="centerX" id="8Kc-ht-cCT"/>
<constraint firstAttribute="trailing" secondItem="B0J-XU-dgc" secondAttribute="trailing" constant="10" id="C45-4d-gOx"/>
<constraint firstItem="B0J-XU-dgc" firstAttribute="top" secondItem="3OB-6d-dKP" secondAttribute="top" constant="10" id="KXY-wX-uKW"/>
<constraint firstItem="UTk-Hw-z4V" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="30" id="Te2-YN-rzr"/>
<constraint firstAttribute="trailing" secondItem="UTk-Hw-z4V" secondAttribute="trailing" constant="30" id="Wzt-Hj-YGS"/>
<constraint firstItem="Bjy-dd-Sry" firstAttribute="top" secondItem="B0J-XU-dgc" secondAttribute="bottom" constant="30" id="YBV-7K-a0Q"/>
<constraint firstItem="Bjy-dd-Sry" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="30" id="aCp-rH-2Xa"/>
<constraint firstAttribute="trailing" secondItem="Bjy-dd-Sry" secondAttribute="trailing" constant="30" id="buN-jV-IJy"/>
<constraint firstItem="ZBz-Fk-d28" firstAttribute="top" secondItem="Bjy-dd-Sry" secondAttribute="bottom" constant="30" id="dYd-zI-Rgx"/>
<constraint firstItem="UTk-Hw-z4V" firstAttribute="top" secondItem="ZBz-Fk-d28" secondAttribute="bottom" constant="50" id="pp5-xZ-yUi"/>
<constraint firstAttribute="bottom" secondItem="UTk-Hw-z4V" secondAttribute="bottom" constant="30" id="xGP-P6-7xs"/>
<constraint firstAttribute="height" constant="30" id="DGb-yI-8zL"/>
</constraints>
</view>
</stackView>
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UTk-Hw-z4V">
<rect key="frame" x="30" y="567" width="315" height="50"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="D1y-Yp-R3h"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="18"/>
<state key="normal" title="Register">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="25"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="register:" destination="3of-XY-hDI" eventType="touchUpInside" id="feI-5u-0dl"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="3OB-6d-dKP" secondAttribute="bottom" id="6ZB-xh-gcF"/>
<constraint firstItem="3OB-6d-dKP" firstAttribute="top" secondItem="KcJ-bG-Puu" secondAttribute="top" id="CxH-ke-t5C"/>
<constraint firstItem="3OB-6d-dKP" firstAttribute="width" secondItem="KcJ-bG-Puu" secondAttribute="width" id="Rfp-uE-NI6"/>
<constraint firstAttribute="trailing" secondItem="3OB-6d-dKP" secondAttribute="trailing" id="SJ9-Jf-n1A"/>
<constraint firstItem="3OB-6d-dKP" firstAttribute="leading" secondItem="KcJ-bG-Puu" secondAttribute="leading" id="t62-zN-kfF"/>
<constraint firstItem="B0J-XU-dgc" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="30" id="2CQ-5v-uKy"/>
<constraint firstItem="ZBz-Fk-d28" firstAttribute="centerX" secondItem="3OB-6d-dKP" secondAttribute="centerX" id="8Kc-ht-cCT"/>
<constraint firstAttribute="trailing" secondItem="B0J-XU-dgc" secondAttribute="trailing" constant="30" id="C45-4d-gOx"/>
<constraint firstItem="B0J-XU-dgc" firstAttribute="top" secondItem="3OB-6d-dKP" secondAttribute="top" constant="10" id="KXY-wX-uKW"/>
<constraint firstItem="UTk-Hw-z4V" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="30" id="Te2-YN-rzr"/>
<constraint firstAttribute="trailing" secondItem="UTk-Hw-z4V" secondAttribute="trailing" constant="30" id="Wzt-Hj-YGS"/>
<constraint firstItem="Bjy-dd-Sry" firstAttribute="top" secondItem="B0J-XU-dgc" secondAttribute="bottom" constant="30" id="YBV-7K-a0Q"/>
<constraint firstItem="Bjy-dd-Sry" firstAttribute="leading" secondItem="3OB-6d-dKP" secondAttribute="leading" constant="30" id="aCp-rH-2Xa"/>
<constraint firstAttribute="trailing" secondItem="Bjy-dd-Sry" secondAttribute="trailing" constant="30" id="buN-jV-IJy"/>
<constraint firstItem="ZBz-Fk-d28" firstAttribute="top" secondItem="Bjy-dd-Sry" secondAttribute="bottom" constant="30" id="dYd-zI-Rgx"/>
<constraint firstItem="UTk-Hw-z4V" firstAttribute="top" relation="greaterThanOrEqual" secondItem="ZBz-Fk-d28" secondAttribute="bottom" constant="30" id="pp5-xZ-yUi"/>
<constraint firstAttribute="bottom" secondItem="UTk-Hw-z4V" secondAttribute="bottom" constant="30" id="xGP-P6-7xs"/>
</constraints>
</scrollView>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="KcJ-bG-Puu" firstAttribute="leading" secondItem="FaP-85-se4" secondAttribute="leading" id="URP-v5-s7W"/>
<constraint firstItem="G54-ad-f73" firstAttribute="top" secondItem="KcJ-bG-Puu" secondAttribute="bottom" id="fEU-Pl-0zu"/>
<constraint firstItem="KcJ-bG-Puu" firstAttribute="top" secondItem="sw6-8e-IPm" secondAttribute="bottom" id="i2C-Eg-N3F"/>
<constraint firstAttribute="trailing" secondItem="KcJ-bG-Puu" secondAttribute="trailing" id="sNJ-JV-suI"/>
<constraint firstItem="3OB-6d-dKP" firstAttribute="leading" secondItem="s82-By-RcA" secondAttribute="leading" id="01T-ZX-49U"/>
<constraint firstItem="s82-By-RcA" firstAttribute="trailing" secondItem="3OB-6d-dKP" secondAttribute="trailing" id="Xqq-oV-w1b"/>
<constraint firstItem="s82-By-RcA" firstAttribute="bottom" secondItem="3OB-6d-dKP" secondAttribute="bottom" id="hCg-1U-goq"/>
<constraint firstItem="3OB-6d-dKP" firstAttribute="top" secondItem="s82-By-RcA" secondAttribute="top" id="l9l-BI-rsQ"/>
</constraints>
<viewLayoutGuide key="safeArea" id="s82-By-RcA"/>
</view>
<connections>
<outlet property="alreadyHaveAccountLabel" destination="YgA-Df-6ht" id="EgR-97-xak"/>

6
GMERemittance/Module/SplashScreen/User Interface/View/SplashScreenViewController.swift

@ -100,7 +100,7 @@ class SplashScreenViewController: UIViewController {
$0.subtitle
} ?? [""]
guard let defaultAmount = codeEnum?.defaultRecipientAmount else {
guard let defaultAmount = codeEnum?.getDefaultRecipientAcount(currency: selectedExchangeRateModel?.currency ?? "") else {
calcBy = "c"
senderTextField.text = codeEnum?.defaultSenderAmount.likeCommaMoney()
recipientTextField.text = ""
@ -164,6 +164,8 @@ class SplashScreenViewController: UIViewController {
super.viewWillAppear(animated)
self.navigationItem.title = ""
hideNavBar()
setLanguageBackgroundView()
timer?.fire()
if selectedLanguage == nil {
@ -226,7 +228,7 @@ class SplashScreenViewController: UIViewController {
hideNavBar()
setUpButtons()
setLanguageBackgroundView()
appVersionLabel.text = Utility.getAppVersion()
setExchangeRateUI()

78
GMERemittance/Utility/CountryEnum.swift

@ -658,32 +658,32 @@ extension CountryEnum {
}
extension CountryEnum {
var defaultRecipientAmount: String? {
func getDefaultRecipientAcount(currency: String) -> String? {
let amount: String?
switch self{
case .np: amount = "100000" // nepal
case .kh: amount = "500" // cambodia
case .ph: amount = "50000" // philipines
case .lk: amount = "100000" // sri lanka
case .vn: amount = "50000000" // Vietnam
case .in: amount = "50000" // india
case .pk: amount = "100000" // pakistan
case .az: amount = "1000" // azerbaijan
case .bd: amount = "100000" // Bangladesh
case .by: amount = "1000" // Belarus
case .ge: amount = "1000" // Georgia
case .kz: amount = "1000" // Kazakhstan
case .kg: amount = "1000" // Kyrgyzstan
case .my: amount = "10000" // Malaysia
case .md: amount = "1000" // Moldova
case .mn: amount = "1000" // Mongolia
case .mm: amount = "1500000" // Myanmar
case .ru: amount = "1000" // Russian Federation
case .sg: amount = "2000" // Singapore
case .tj: amount = "1000" // Tajikistan
case .th: amount = "30000" // Thailand
case .uz: amount = "1000" // Uzbekistan
switch self {
case .np: amount = currency == defaultCurrency ? "100000" : nil // nepal
case .kh: amount = currency == defaultCurrency ? "500" : nil // cambodia
case .ph: amount = currency == defaultCurrency ? "50000" : nil // philipines
case .lk: amount = currency == defaultCurrency ? "100000" : nil // sri lanka
case .vn: amount = currency == defaultCurrency ? "50000000" : nil // Vietnam
case .in: amount = currency == defaultCurrency ? "50000" : nil // india
case .pk: amount = currency == defaultCurrency ? "100000" : nil // pakistan
case .az: amount = currency == defaultCurrency ? "1000" : nil // azerbaijan
case .bd: amount = currency == defaultCurrency ? "100000" : nil // Bangladesh
case .by: amount = currency == defaultCurrency ? "1000" : nil // Belarus
case .ge: amount = currency == defaultCurrency ? "1000" : nil // Georgia
case .kz: amount = currency == defaultCurrency ? "1000" : nil // Kazakhstan
case .kg: amount = currency == defaultCurrency ? "1000" : nil // Kyrgyzstan
case .my: amount = currency == defaultCurrency ? "10000" : nil // Malaysia
case .md: amount = currency == defaultCurrency ? "1000" : nil // Moldova
case .mn: amount = currency == defaultCurrency ? "1000" : nil // Mongolia
case .mm: amount = currency == defaultCurrency ? "1500000" : nil // Myanmar
case .ru: amount = currency == defaultCurrency ? "1000" : nil // Russian Federation
case .sg: amount = currency == defaultCurrency ? "2000" : nil // Singapore
case .tj: amount = currency == defaultCurrency ? "1000" : nil // Tajikistan
case .th: amount = currency == defaultCurrency ? "30000" : nil // Thailand
case .uz: amount = currency == defaultCurrency ? "1000" : nil // Uzbekistan
default: amount = nil
}
@ -694,4 +694,34 @@ extension CountryEnum {
var defaultSenderAmount: String {
return "1000000"
}
private var defaultCurrency: String {
let currency: String
switch self {
case .np: currency = "NPR" // nepal
case .kh: currency = "USD" // cambodia
case .ph: currency = "PHP" // philipines
case .lk: currency = "LKR" // sri lanka
case .vn: currency = "VND" // Vietnam
case .in: currency = "INR" // india
case .pk: currency = "PKR" // pakistan
case .az: currency = "USD" // azerbaijan
case .bd: currency = "USD" // Bangladesh
case .by: currency = "USD" // Belarus
case .ge: currency = "USD" // Georgia
case .kz: currency = "USD" // Kazakhstan
case .kg: currency = "USD" // Kyrgyzstan
case .my: currency = "MYR" // Malaysia
case .md: currency = "USD" // Moldova
case .mn: currency = "USD" // Mongolia
case .mm: currency = "MMK" // Myanmar
case .ru: currency = "USD" // Russian Federation
case .sg: currency = "SGD" // Singapore
case .tj: currency = "USD" // Tajikistan
case .th: currency = "THB" // Thailand
case .uz: currency = "USD" // Uzbekistan
default: currency = "KRW"
}
return currency
}
}

8
th.lproj/Localizable.strings

@ -392,13 +392,7 @@
"otp_empty_error" = "รหัส OTP ต้องไม่ว่างเปล่า";
"requesting_otp_text" = "ร้องขอ OTP";
"resend_money_text" = "ทำรายการใหม่";
"resend_money_text" = "ทำรายการอีกครั้ง";
"resend_search_hint_text" = "เลขที่ใบเสร็จ GME No. /ชื่อผู้รับ/ชื่อธนาคาร";

Loading…
Cancel
Save