Browse Source

add step2

pull/1/head
InKwon James Kim 5 years ago
parent
commit
7807c02d12
  1. 108
      GME Remit.xcodeproj/project.pbxproj
  2. 12
      GME Remit/Modules/RegisterModules/KYC/kycForm3/User Interface/View/kycForm3.storyboard
  3. 10
      GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegister.storyboard
  4. 2
      GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift
  5. 4
      GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift
  6. 3
      GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard
  7. 40
      GME Remit/Modules/RegisterModules/NewRegisterStep2/User Interface/View/NewRegisterStep2.storyboard
  8. 26
      GME Remit/Modules/RegisterModules/NewRegisterStep2/User Interface/View/NewRegisterStep2ViewController.swift
  9. 30
      GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Interactor/NewRegisterStep3Interactor.swift
  10. 15
      GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Interactor/NewRegisterStep3InteractorIO.swift
  11. 13
      GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Service/NewRegisterStep3Service.swift
  12. 11
      GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Service/NewRegisterStep3ServiceType.swift
  13. 39
      GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Presenter/NewRegisterStep3Presenter.swift
  14. 275
      GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/View/NewRegisterStep3.storyboard
  15. 91
      GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/View/NewRegisterStep3ViewController.swift
  16. 42
      GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Wireframe/NewRegisterStep3Wireframe.swift
  17. 13
      GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Wireframe/NewRegisterStep3WireframeInput.swift
  18. 2
      GME Remit/Modules/SplashScreen/User Interface/View/SplashScreenViewController.swift
  19. 21
      GME Remit/Supported Files/Assets.xcassets/NewRegistration/call.imageset/Contents.json
  20. BIN
      GME Remit/Supported Files/Assets.xcassets/NewRegistration/call.imageset/call.png

108
GME Remit.xcodeproj/project.pbxproj

@ -354,6 +354,15 @@
737FB6712395EF3500EA4AED /* NewRegisterStep2WireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB6672395EF3500EA4AED /* NewRegisterStep2WireframeInput.swift */; };
737FB6722395EF3500EA4AED /* NewRegisterStep2.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 737FB6692395EF3500EA4AED /* NewRegisterStep2.storyboard */; };
737FB6732395EF3500EA4AED /* NewRegisterStep2ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB66A2395EF3500EA4AED /* NewRegisterStep2ViewController.swift */; };
737FB6882396363100EA4AED /* NewRegisterStep3Service.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB67A2396363000EA4AED /* NewRegisterStep3Service.swift */; };
737FB6892396363100EA4AED /* NewRegisterStep3ServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB67B2396363000EA4AED /* NewRegisterStep3ServiceType.swift */; };
737FB68A2396363100EA4AED /* NewRegisterStep3InteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB67D2396363000EA4AED /* NewRegisterStep3InteractorIO.swift */; };
737FB68B2396363100EA4AED /* NewRegisterStep3Interactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB67E2396363000EA4AED /* NewRegisterStep3Interactor.swift */; };
737FB68C2396363100EA4AED /* NewRegisterStep3Presenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB6812396363000EA4AED /* NewRegisterStep3Presenter.swift */; };
737FB68D2396363100EA4AED /* NewRegisterStep3Wireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB6832396363000EA4AED /* NewRegisterStep3Wireframe.swift */; };
737FB68E2396363100EA4AED /* NewRegisterStep3WireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB6842396363000EA4AED /* NewRegisterStep3WireframeInput.swift */; };
737FB68F2396363100EA4AED /* NewRegisterStep3.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 737FB6862396363000EA4AED /* NewRegisterStep3.storyboard */; };
737FB6902396363100EA4AED /* NewRegisterStep3ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 737FB6872396363000EA4AED /* NewRegisterStep3ViewController.swift */; };
7383F43622DEB864003D6393 /* GMEDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7383F43522DEB864003D6393 /* GMEDB.swift */; };
7383F43822DEB87D003D6393 /* DatabaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7383F43722DEB87D003D6393 /* DatabaseTest.swift */; };
7383F43E22DF15B8003D6393 /* UserDefaultsWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7383F43D22DF15B8003D6393 /* UserDefaultsWrapper.swift */; };
@ -2736,6 +2745,15 @@
737FB6672395EF3500EA4AED /* NewRegisterStep2WireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep2WireframeInput.swift; sourceTree = "<group>"; };
737FB6692395EF3500EA4AED /* NewRegisterStep2.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewRegisterStep2.storyboard; sourceTree = "<group>"; };
737FB66A2395EF3500EA4AED /* NewRegisterStep2ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep2ViewController.swift; sourceTree = "<group>"; };
737FB67A2396363000EA4AED /* NewRegisterStep3Service.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3Service.swift; sourceTree = "<group>"; };
737FB67B2396363000EA4AED /* NewRegisterStep3ServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3ServiceType.swift; sourceTree = "<group>"; };
737FB67D2396363000EA4AED /* NewRegisterStep3InteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3InteractorIO.swift; sourceTree = "<group>"; };
737FB67E2396363000EA4AED /* NewRegisterStep3Interactor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3Interactor.swift; sourceTree = "<group>"; };
737FB6812396363000EA4AED /* NewRegisterStep3Presenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3Presenter.swift; sourceTree = "<group>"; };
737FB6832396363000EA4AED /* NewRegisterStep3Wireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3Wireframe.swift; sourceTree = "<group>"; };
737FB6842396363000EA4AED /* NewRegisterStep3WireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3WireframeInput.swift; sourceTree = "<group>"; };
737FB6862396363000EA4AED /* NewRegisterStep3.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewRegisterStep3.storyboard; sourceTree = "<group>"; };
737FB6872396363000EA4AED /* NewRegisterStep3ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep3ViewController.swift; sourceTree = "<group>"; };
7383F43522DEB864003D6393 /* GMEDB.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GMEDB.swift; sourceTree = "<group>"; };
7383F43722DEB87D003D6393 /* DatabaseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseTest.swift; sourceTree = "<group>"; };
7383F43D22DF15B8003D6393 /* UserDefaultsWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsWrapper.swift; sourceTree = "<group>"; };
@ -5850,6 +5868,7 @@
735F68C92394A76800A2DBC8 /* NewRegister */,
735F68E62394CD6B00A2DBC8 /* NewRegisterStep1 */,
737FB6592395EF3500EA4AED /* NewRegisterStep2 */,
737FB6762396363000EA4AED /* NewRegisterStep3 */,
D96A4FE12146625C00CFD507 /* Register */,
04E36E0421AE585100783685 /* PennyTestSubmit */,
043770D221AD04240005B22D /* PennyTest */,
@ -7133,6 +7152,86 @@
path = View;
sourceTree = "<group>";
};
737FB6762396363000EA4AED /* NewRegisterStep3 */ = {
isa = PBXGroup;
children = (
737FB6772396363000EA4AED /* Application Logic */,
737FB67F2396363000EA4AED /* User Interface */,
);
path = NewRegisterStep3;
sourceTree = "<group>";
};
737FB6772396363000EA4AED /* Application Logic */ = {
isa = PBXGroup;
children = (
737FB6782396363000EA4AED /* Model */,
737FB6792396363000EA4AED /* Service */,
737FB67C2396363000EA4AED /* Interactor */,
);
path = "Application Logic";
sourceTree = "<group>";
};
737FB6782396363000EA4AED /* Model */ = {
isa = PBXGroup;
children = (
);
path = Model;
sourceTree = "<group>";
};
737FB6792396363000EA4AED /* Service */ = {
isa = PBXGroup;
children = (
737FB67A2396363000EA4AED /* NewRegisterStep3Service.swift */,
737FB67B2396363000EA4AED /* NewRegisterStep3ServiceType.swift */,
);
path = Service;
sourceTree = "<group>";
};
737FB67C2396363000EA4AED /* Interactor */ = {
isa = PBXGroup;
children = (
737FB67D2396363000EA4AED /* NewRegisterStep3InteractorIO.swift */,
737FB67E2396363000EA4AED /* NewRegisterStep3Interactor.swift */,
);
path = Interactor;
sourceTree = "<group>";
};
737FB67F2396363000EA4AED /* User Interface */ = {
isa = PBXGroup;
children = (
737FB6802396363000EA4AED /* Presenter */,
737FB6822396363000EA4AED /* Wireframe */,
737FB6852396363000EA4AED /* View */,
);
path = "User Interface";
sourceTree = "<group>";
};
737FB6802396363000EA4AED /* Presenter */ = {
isa = PBXGroup;
children = (
737FB6812396363000EA4AED /* NewRegisterStep3Presenter.swift */,
);
path = Presenter;
sourceTree = "<group>";
};
737FB6822396363000EA4AED /* Wireframe */ = {
isa = PBXGroup;
children = (
737FB6832396363000EA4AED /* NewRegisterStep3Wireframe.swift */,
737FB6842396363000EA4AED /* NewRegisterStep3WireframeInput.swift */,
);
path = Wireframe;
sourceTree = "<group>";
};
737FB6852396363000EA4AED /* View */ = {
isa = PBXGroup;
children = (
737FB6862396363000EA4AED /* NewRegisterStep3.storyboard */,
737FB6872396363000EA4AED /* NewRegisterStep3ViewController.swift */,
);
path = View;
sourceTree = "<group>";
};
7383F43422DEB864003D6393 /* Database */ = {
isa = PBXGroup;
children = (
@ -14489,6 +14588,7 @@
D93C279922000D630079BF03 /* iPhone_transkey_alnum_sym_17.png in Resources */,
D93C288022000D640079BF03 /* iPad_transkey_alnum_key_13.png in Resources */,
D93C26E422000D630079BF03 /* iPhone_transkey_landscape_number_cmd_0_2_down.png in Resources */,
737FB68F2396363100EA4AED /* NewRegisterStep3.storyboard in Resources */,
D93C274422000D630079BF03 /* iPhone_transkey_number_cmd_0_2.png in Resources */,
D93C2A2C22000D650079BF03 /* iPhone_transkey_alnum_cmd_8_english.png in Resources */,
D93C271722000D630079BF03 /* iPhone_transkey_alnum_dummy_0.png in Resources */,
@ -15664,6 +15764,7 @@
D962230C212BD7A100B7A115 /* Array+Ext.swift in Sources */,
73157B9B22DC1EEC009B836F /* PopupNotificationModuleInterface.swift in Sources */,
D96848CE212D419400EF12B1 /* ApiServiceType.swift in Sources */,
737FB68B2396363100EA4AED /* NewRegisterStep3Interactor.swift in Sources */,
043770EA21AD04240005B22D /* PennyTestInteractor.swift in Sources */,
73B4C8BC22A5F2440078D495 /* SelectCouponModuleInterface.swift in Sources */,
D92E656B222620A0004D1B3D /* SendMoneyCodeInteractor.swift in Sources */,
@ -15678,6 +15779,7 @@
BEC9B000224FC49C00A2DA06 /* BiometricAuthenticationInteractor.swift in Sources */,
D945F11D213E1D5100A24824 /* SendMoneyReceiptModuleInterface.swift in Sources */,
73195B3522FD5BC600151434 /* APIRouter.swift in Sources */,
737FB68E2396363100EA4AED /* NewRegisterStep3WireframeInput.swift in Sources */,
73A6E20222CEE51600E9BC68 /* BadgeAppearance.swift in Sources */,
738B3E4C233B56C6000EA5E5 /* UISearchBar+Ext.swift in Sources */,
D97785AA215DD04400754079 /* TransactionHistoryTableViewCell.swift in Sources */,
@ -15701,6 +15803,7 @@
D9DAFE2521352F3300483E71 /* SenMoneyPaymentModeRecipientViewModel.swift in Sources */,
7389601022C2F208003FEA90 /* TablePresenterWireframeInput.swift in Sources */,
733E8F8F23580BE00050E499 /* RechargeReceiptInteractorIO.swift in Sources */,
737FB6882396363100EA4AED /* NewRegisterStep3Service.swift in Sources */,
D95B5E4021311057000C0B33 /* GmeContactsWireframe.swift in Sources */,
BEC9B005224FC49C00A2DA06 /* BiometricAuthenticationViewController.swift in Sources */,
0496B84E1FE7DFCD0044810E /* UIViewController+Ext.swift in Sources */,
@ -15886,6 +15989,7 @@
73AEFF762334A13100A967FB /* TransactionHistoryGroupWireframeInputOutput.swift in Sources */,
739045D7237921D500CD5D8A /* ManageAccountGroupInteractorIO.swift in Sources */,
734BF6882353F7D8004E8D60 /* PhoneCardRechargeWireframeInputOutput.swift in Sources */,
737FB6892396363100EA4AED /* NewRegisterStep3ServiceType.swift in Sources */,
73A621642330AD20000FFB5B /* RecentHistoriesPresenter.swift in Sources */,
738714B3237CE86E0038FCB1 /* InboundReceiptService.swift in Sources */,
73210DA722FBE73100715D6C /* RecipientsWireframe.swift in Sources */,
@ -15927,6 +16031,7 @@
D945F129213E4A9D00A24824 /* SendMoneyReciept.swift in Sources */,
733E8F9323580BE00050E499 /* RechargeReceiptViewController.swift in Sources */,
D9B7ADF02130048E009B0564 /* ExchangeRatesModuleInterface.swift in Sources */,
737FB68C2396363100EA4AED /* NewRegisterStep3Presenter.swift in Sources */,
739045DB237921D500CD5D8A /* ManageAccountGroupWireframeInput.swift in Sources */,
73A6215F2330AD20000FFB5B /* RecentHistoriesModuleInterface.swift in Sources */,
739045BB2378FC9500CD5D8A /* AddInboundAccountViewController.swift in Sources */,
@ -15956,6 +16061,7 @@
73149F6D22E5AF8000D66B26 /* LauncherScreenViewController.swift in Sources */,
D92E656D222620A0004D1B3D /* SendMoneyCodeWireframeInput.swift in Sources */,
730197AD22535135001954AB /* kycForm2ServiceType.swift in Sources */,
737FB68A2396363100EA4AED /* NewRegisterStep3InteractorIO.swift in Sources */,
730197A822535135001954AB /* kycForm3WireframeInput.swift in Sources */,
73149F6922E5AF8000D66B26 /* LauncherScreenWireframeInput.swift in Sources */,
D96BD1232164870C00DFE7D8 /* DateFormatter+Ext.swift in Sources */,
@ -16014,6 +16120,7 @@
049E61A51FF0AE9D00817C76 /* UrlManager.swift in Sources */,
730D78B2227A94F2007E517E /* JusoResult.swift in Sources */,
73341C90238F4FE900394676 /* UILabel+Ext.swift in Sources */,
737FB68D2396363100EA4AED /* NewRegisterStep3Wireframe.swift in Sources */,
D9AFE856215C7166005F3A25 /* HomeCollectionTableViewCell.swift in Sources */,
BE74AFC1227C8FF200F05CE7 /* AddAccountWireframeInput.swift in Sources */,
BEC9AFFC224FC49C00A2DA06 /* BiometricAuthenticationModuleInterface.swift in Sources */,
@ -16075,6 +16182,7 @@
D9380D2D2165A2ED00E45156 /* ProfileViewController.swift in Sources */,
D945F122213E1D5100A24824 /* SendMoneyReceiptPresenter.swift in Sources */,
D92B802A2140C3CB00A25B26 /* MainPresenter.swift in Sources */,
737FB6902396363100EA4AED /* NewRegisterStep3ViewController.swift in Sources */,
738714B4237CE86E0038FCB1 /* InboundReceiptServiceType.swift in Sources */,
D946719721426DFB003924DB /* LoginServiceType.swift in Sources */,
D9DC107821639078008F3C51 /* MessageComposeModuleInterface.swift in Sources */,

12
GME Remit/Modules/RegisterModules/KYC/kycForm3/User Interface/View/kycForm3.storyboard

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="HSb-ou-7T5">
<device id="retina4_7" orientation="portrait" appearance="dark"/>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="HSb-ou-7T5">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@ -295,13 +295,13 @@
<resources>
<image name="ic_camera" width="100" height="90"/>
<namedColor name="ThemeMainBackground">
<color red="0.14901960784313725" green="0.14901960784313725" blue="0.14901960784313725" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeSubBackground">
<color white="0.096677011986301353" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color red="0.93300002813339233" green="0.93300002813339233" blue="0.93300002813339233" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
</namedColor>
<namedColor name="ThemeText">
<color white="0.80256043313300773" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color red="0.28999999165534973" green="0.28999999165534973" blue="0.28999999165534973" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
<color key="tintColor" red="0.78177064659999995" green="0.55228364470000002" blue="0.018981300289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

10
GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegister.storyboard

@ -122,7 +122,11 @@
</constraints>
<viewLayoutGuide key="safeArea" id="O1T-1R-Sun"/>
</view>
<navigationItem key="navigationItem" id="Zkq-b2-U5b"/>
<navigationItem key="navigationItem" id="Zkq-b2-U5b">
<barButtonItem key="rightBarButtonItem" image="call" id="NVw-pn-UlX">
<color key="tintColor" name="ThemeRed"/>
</barButtonItem>
</navigationItem>
<connections>
<outlet property="containerView" destination="nOZ-1k-J0A" id="IQm-3S-6nX"/>
<outlet property="step1Button" destination="yuy-WN-CNw" id="0YR-ok-glW"/>
@ -156,12 +160,16 @@
</scene>
</scenes>
<resources>
<image name="call" width="25" height="25"/>
<namedColor name="ThemeBlue">
<color red="0.18823529411764706" green="0.24313725490196078" blue="0.62352941176470589" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeMainBackground">
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeRed">
<color red="0.92941176470588238" green="0.10588235294117647" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeSubBackground">
<color red="0.93300002813339233" green="0.93300002813339233" blue="0.93300002813339233" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
</namedColor>

2
GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift

@ -50,10 +50,12 @@ class NewRegisterViewController: UIViewController {
super.viewWillAppear(animated)
title = "Register GME"
setupNormalNavigation()
setupNavigationShadow(isUse: true)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
setupNavigationShadow(isUse: false)
}
// MARK: IBActions

4
GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift

@ -47,8 +47,8 @@ extension NewRegisterWireframe: NewRegisterWireframeInput {
let step2 = NewRegisterStep2Wireframe().getMainView(with: self)
move(step2)
case .finish:
let step1 = NewRegisterStep1Wireframe().getMainView(with: self)
move(step1)
let step3 = NewRegisterStep3Wireframe().getMainView(with: self)
move(step3)
}
}

3
GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard

@ -47,7 +47,7 @@
<constraint firstAttribute="height" constant="25" id="i94-4i-JmR"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Your Personal Information" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gYv-nJ-MpW">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Personal Information" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gYv-nJ-MpW">
<rect key="frame" x="30" y="0.0" width="285" height="25"/>
<constraints>
<constraint firstAttribute="height" constant="25" id="9q5-by-z7S"/>
@ -282,6 +282,7 @@
<constraints>
<constraint firstAttribute="height" constant="50" id="2xp-BR-MpY"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<state key="normal" title="Continue">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>

40
GME Remit/Modules/RegisterModules/NewRegisterStep2/User Interface/View/NewRegisterStep2.storyboard

@ -40,13 +40,25 @@
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="36w-oP-6kk">
<rect key="frame" x="0.0" y="0.0" width="315" height="25"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_koreaBank" translatesAutoresizingMaskIntoConstraints="NO" id="h9p-cZ-qDq">
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="up4-Pa-LV5">
<rect key="frame" x="0.0" y="0.0" width="25" height="25"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_koreaBank" translatesAutoresizingMaskIntoConstraints="NO" id="h9p-cZ-qDq">
<rect key="frame" x="2.5" y="2.5" width="20" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="p9M-DA-Ckk"/>
<constraint firstAttribute="width" constant="20" id="xmP-h7-oBz"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<constraints>
<constraint firstAttribute="height" constant="25" id="cSG-jf-MBc"/>
<constraint firstAttribute="width" constant="25" id="ihc-XJ-zdD"/>
<constraint firstAttribute="bottom" secondItem="h9p-cZ-qDq" secondAttribute="bottom" constant="2.5" id="Axz-XJ-Jd3"/>
<constraint firstItem="h9p-cZ-qDq" firstAttribute="leading" secondItem="up4-Pa-LV5" secondAttribute="leading" constant="2.5" id="WhM-Uj-eYs"/>
<constraint firstItem="h9p-cZ-qDq" firstAttribute="top" secondItem="up4-Pa-LV5" secondAttribute="top" constant="2.5" id="eLo-My-0O2"/>
<constraint firstAttribute="trailing" secondItem="h9p-cZ-qDq" secondAttribute="trailing" constant="2.5" id="m51-G9-6Lr"/>
</constraints>
</imageView>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="Korean Bank Information" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PlL-f3-zho">
<rect key="frame" x="30" y="0.0" width="285" height="25"/>
<constraints>
@ -317,12 +329,13 @@
<constraint firstAttribute="trailing" secondItem="MRW-wJ-q8l" secondAttribute="trailing" constant="10" id="Zd7-rC-gli"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Pmd-da-dw8">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Pmd-da-dw8">
<rect key="frame" x="10" y="801" width="355" height="50"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="backgroundColor" name="ThemeRed"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="H6k-cb-RVH"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<state key="normal" title="Continue">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
@ -349,6 +362,18 @@
</constraints>
<viewLayoutGuide key="safeArea" id="O1T-1R-Sun"/>
</view>
<connections>
<outlet property="bankAccountTextField" destination="ydd-BE-UDH" id="0zi-38-Jil"/>
<outlet property="bankTextField" destination="WEy-xF-QYJ" id="JNQ-Jt-ygI"/>
<outlet property="branchTextField" destination="d4X-hu-G6J" id="sKf-ZT-sGR"/>
<outlet property="countinueButton" destination="Pmd-da-dw8" id="n4L-9H-NUB"/>
<outlet property="idNumberTextField" destination="7oy-kQ-HFn" id="tWe-JX-dLv"/>
<outlet property="idTextField" destination="BFV-Ek-iHR" id="nYt-ce-3Dp"/>
<outlet property="passportExpiryDateTextField" destination="7E0-fh-dMU" id="0oM-tx-xJG"/>
<outlet property="passportIssueDateTextField" destination="75P-NY-zdf" id="Sor-zY-3qS"/>
<outlet property="passportNumberTextField" destination="FgP-pj-cSX" id="SRh-Aj-YSZ"/>
<outlet property="referralCodeTextField" destination="80G-o9-2vg" id="67N-Zt-HOv"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
@ -360,6 +385,9 @@
<image name="ic_koreaBank" width="48" height="46"/>
<image name="id" width="512" height="512"/>
<image name="passport" width="512" height="512"/>
<namedColor name="ThemeRed">
<color red="0.92941176470588238" green="0.10588235294117647" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeText">
<color red="0.28999999165534973" green="0.28999999165534973" blue="0.28999999165534973" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>

26
GME Remit/Modules/RegisterModules/NewRegisterStep2/User Interface/View/NewRegisterStep2ViewController.swift

@ -20,6 +20,20 @@ class NewRegisterStep2ViewController: UIViewController {
// MARK: Computed Properties
// MARK: IBOutlets
@IBOutlet weak var bankTextField: ValidationTextField!
@IBOutlet weak var bankAccountTextField: ValidationTextField!
@IBOutlet weak var passportNumberTextField: ValidationTextField!
@IBOutlet weak var passportIssueDateTextField: ValidationTextField!
@IBOutlet weak var passportExpiryDateTextField: ValidationTextField!
@IBOutlet weak var idTextField: ValidationTextField!
@IBOutlet weak var idNumberTextField: ValidationTextField!
@IBOutlet weak var branchTextField: ValidationTextField!
@IBOutlet weak var referralCodeTextField: ValidationTextField!
@IBOutlet weak var countinueButton: UIButton!
// MARK: VC's Life cycle
override func viewDidLoad() {
@ -65,11 +79,21 @@ extension NewRegisterStep2ViewController {
}
private func setUI() {
bankTextField.useAsDropDown(items: nil)
passportIssueDateTextField.useAsDropDown(items: nil)
passportExpiryDateTextField.useAsDropDown(items: nil)
idTextField.useAsDropDown(items: nil)
branchTextField.useAsDropDown(items: nil)
countinueButton.layer.cornerRadius = 5
}
private func setUIBinding() {
countinueButton.rx.tap.bind { [weak self] in
guard let `self` = self else { return }
self.delegate?.newRegister(self, currentStep: .second, nextStep: .finish)
}.disposed(by: disposeBag)
}
private func setBinding() {

30
GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Interactor/NewRegisterStep3Interactor.swift

@ -0,0 +1,30 @@
//
// NewRegisterStep3Interactor.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class NewRegisterStep3Interactor {
// MARK: Properties
weak var output: NewRegisterStep3InteractorOutput?
private let service: NewRegisterStep3ServiceType
// MARK: Initialization
init(service: NewRegisterStep3ServiceType) {
self.service = service
}
}
// MARK: NewRegisterStep3 interactor input interface
extension NewRegisterStep3Interactor: NewRegisterStep3InteractorInput {
}

15
GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Interactor/NewRegisterStep3InteractorIO.swift

@ -0,0 +1,15 @@
//
// NewRegisterStep3InteractorIO.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol NewRegisterStep3InteractorInput: class {
}
protocol NewRegisterStep3InteractorOutput: class {
}

13
GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Service/NewRegisterStep3Service.swift

@ -0,0 +1,13 @@
//
// NewRegisterStep3Service.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class NewRegisterStep3Service: NewRegisterStep3ServiceType {
}

11
GME Remit/Modules/RegisterModules/NewRegisterStep3/Application Logic/Service/NewRegisterStep3ServiceType.swift

@ -0,0 +1,11 @@
//
// NewRegisterStep3ServiceType.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol NewRegisterStep3ServiceType: class {
}

39
GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Presenter/NewRegisterStep3Presenter.swift

@ -0,0 +1,39 @@
//
// NewRegisterStep3Presenter.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import RxSwift
import RxCocoa
class NewRegisterStep3Presenter: ViewModelType {
var interactor: NewRegisterStep3InteractorInput?
var wireframe: NewRegisterStep3WireframeInput?
struct Input {}
struct Output {
let isError: Driver<Error>
let isProgress: Driver<Bool>
}
private let disposeBag = DisposeBag()
private let progressLinker = PublishSubject<Bool>()
private let errorLinker = PublishSubject<Error>()
func transform(input: Input) -> Output {
return Output(
isError: errorLinker.asDriverOnErrorJustComplete(),
isProgress: progressLinker.asDriverOnErrorJustComplete()
)
}
}
// MARK: NewRegisterStep3 interactor output interface
extension NewRegisterStep3Presenter: NewRegisterStep3InteractorOutput {
}

275
GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/View/NewRegisterStep3.storyboard

@ -0,0 +1,275 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="HSb-ou-7T5">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<array key="SanFranciscoDisplay-Medium.otf">
<string>SanFranciscoDisplay-Medium</string>
</array>
<array key="SanFranciscoDisplay-Regular.otf">
<string>SanFranciscoDisplay-Regular</string>
</array>
</customFonts>
<scenes>
<!--NewRegisterStep3-->
<scene sceneID="R60-Pu-Hpy">
<objects>
<viewController storyboardIdentifier="NewRegisterStep3ViewController" title="NewRegisterStep3" id="HSb-ou-7T5" customClass="NewRegisterStep3ViewController" customModule="GME_Remit" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="9Uc-9s-KgO">
<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" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="M8c-Mi-ase">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="447" translatesAutoresizingMaskIntoConstraints="NO" id="jWA-UF-Sha">
<rect key="frame" x="0.0" y="0.0" width="375" height="497.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="gQK-Fd-sOJ">
<rect key="frame" x="30" y="30" width="315" height="377.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload Pictures" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a3p-P2-Ceh">
<rect key="frame" x="0.0" y="0.0" width="315" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="duk-DR-7jy">
<rect key="frame" x="0.0" y="40.5" width="315" height="218"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="ptq-T7-eM6">
<rect key="frame" x="0.0" y="0.0" width="315" height="218"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="t68-8H-MjN" userLabel="ViewFront">
<rect key="frame" x="0.0" y="0.0" width="315" height="94"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4K1-dc-XGm">
<rect key="frame" x="2" y="2" width="98" height="90"/>
<subviews>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mBW-7H-lkX">
<rect key="frame" x="0.0" y="0.0" width="98" height="90"/>
<state key="normal" image="ic_camera"/>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="mBW-7H-lkX" secondAttribute="bottom" id="6MC-hy-kfG"/>
<constraint firstItem="mBW-7H-lkX" firstAttribute="top" secondItem="4K1-dc-XGm" secondAttribute="top" id="7WX-xH-MIc"/>
<constraint firstAttribute="trailing" secondItem="mBW-7H-lkX" secondAttribute="trailing" id="FeB-uP-w30"/>
<constraint firstAttribute="width" constant="98" id="Hfh-3E-gMf"/>
<constraint firstItem="mBW-7H-lkX" firstAttribute="leading" secondItem="4K1-dc-XGm" secondAttribute="leading" id="dOI-Iw-Wax"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5TQ-xY-8CD">
<rect key="frame" x="102" y="2" width="211" height="90"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Passport" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0l1-mD-dgz">
<rect key="frame" x="8" y="27.5" width="195" height="35"/>
<constraints>
<constraint firstAttribute="height" constant="35" id="jGr-gE-Vtl"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dKL-fh-hso">
<rect key="frame" x="8" y="65" width="58" height="24"/>
<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>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="dKL-fh-hso" secondAttribute="bottom" constant="1" id="CGp-hU-4mS"/>
<constraint firstItem="0l1-mD-dgz" firstAttribute="centerY" secondItem="5TQ-xY-8CD" secondAttribute="centerY" id="Zzk-eF-yG7"/>
<constraint firstItem="dKL-fh-hso" firstAttribute="leading" secondItem="5TQ-xY-8CD" secondAttribute="leading" constant="8" id="mMG-5N-Qoc"/>
<constraint firstAttribute="trailing" secondItem="0l1-mD-dgz" secondAttribute="trailing" constant="8" id="u1t-cr-4bh"/>
<constraint firstItem="0l1-mD-dgz" firstAttribute="leading" secondItem="5TQ-xY-8CD" secondAttribute="leading" constant="8" id="xrN-ZO-bkS"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="4K1-dc-XGm" firstAttribute="leading" secondItem="t68-8H-MjN" secondAttribute="leading" constant="2" id="09j-j1-KSs"/>
<constraint firstItem="5TQ-xY-8CD" firstAttribute="leading" secondItem="4K1-dc-XGm" secondAttribute="trailing" constant="2" id="8ag-sn-flm"/>
<constraint firstAttribute="bottom" secondItem="4K1-dc-XGm" secondAttribute="bottom" constant="2" id="Fv3-eT-UNu"/>
<constraint firstItem="4K1-dc-XGm" firstAttribute="top" secondItem="t68-8H-MjN" secondAttribute="top" constant="2" id="HAm-Yl-qTm"/>
<constraint firstAttribute="bottom" secondItem="5TQ-xY-8CD" secondAttribute="bottom" constant="2" id="dkG-bB-t9C"/>
<constraint firstAttribute="height" constant="94" id="g8v-07-TIb"/>
<constraint firstAttribute="trailing" secondItem="5TQ-xY-8CD" secondAttribute="trailing" constant="2" id="r3Y-FW-EZK"/>
<constraint firstItem="5TQ-xY-8CD" firstAttribute="top" secondItem="t68-8H-MjN" secondAttribute="top" constant="2" id="xFw-Sm-Kqf"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UcI-TZ-vhZ" userLabel="ViewBack">
<rect key="frame" x="0.0" y="124" width="315" height="94"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MAb-jJ-Np5">
<rect key="frame" x="2" y="2" width="98" height="90"/>
<subviews>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sPR-Yj-N1a">
<rect key="frame" x="0.0" y="0.0" width="98" height="90"/>
<state key="normal" image="ic_camera"/>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="sPR-Yj-N1a" secondAttribute="bottom" id="36z-ls-KuE"/>
<constraint firstItem="sPR-Yj-N1a" firstAttribute="leading" secondItem="MAb-jJ-Np5" secondAttribute="leading" id="Xlm-mG-SOT"/>
<constraint firstAttribute="trailing" secondItem="sPR-Yj-N1a" secondAttribute="trailing" id="eez-ea-zl8"/>
<constraint firstAttribute="width" constant="98" id="ewx-Nc-bKz"/>
<constraint firstItem="sPR-Yj-N1a" firstAttribute="top" secondItem="MAb-jJ-Np5" secondAttribute="top" id="yGv-g4-Ckb"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oUO-c2-UZH">
<rect key="frame" x="102" y="2" width="211" height="90"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PYA-Hh-XIR">
<rect key="frame" x="8" y="65" width="58" height="24"/>
<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>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Alien Registration Card" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gcF-1v-3iL">
<rect key="frame" x="8" y="27.5" width="195" height="35"/>
<constraints>
<constraint firstAttribute="height" constant="35" id="h6S-er-MeR"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="gcF-1v-3iL" secondAttribute="trailing" constant="8" id="Oft-se-8HF"/>
<constraint firstItem="gcF-1v-3iL" firstAttribute="centerY" secondItem="oUO-c2-UZH" secondAttribute="centerY" id="eHQ-X5-0aC"/>
<constraint firstItem="PYA-Hh-XIR" firstAttribute="leading" secondItem="oUO-c2-UZH" secondAttribute="leading" constant="8" id="fbk-Ea-FDF"/>
<constraint firstAttribute="bottom" secondItem="PYA-Hh-XIR" secondAttribute="bottom" constant="1" id="tOG-Cz-DRC"/>
<constraint firstItem="gcF-1v-3iL" firstAttribute="leading" secondItem="oUO-c2-UZH" secondAttribute="leading" constant="8" id="vSc-JQ-JT5"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="oUO-c2-UZH" secondAttribute="bottom" constant="2" id="3rI-JJ-rWi"/>
<constraint firstItem="oUO-c2-UZH" firstAttribute="leading" secondItem="MAb-jJ-Np5" secondAttribute="trailing" constant="2" id="Ibg-Jj-LlB"/>
<constraint firstItem="oUO-c2-UZH" firstAttribute="top" secondItem="UcI-TZ-vhZ" secondAttribute="top" constant="2" id="Zuo-BI-ta1"/>
<constraint firstAttribute="bottom" secondItem="MAb-jJ-Np5" secondAttribute="bottom" constant="2" id="pIy-Ij-DPU"/>
<constraint firstAttribute="height" constant="94" id="ty6-D7-TpI"/>
<constraint firstItem="MAb-jJ-Np5" firstAttribute="leading" secondItem="UcI-TZ-vhZ" secondAttribute="leading" constant="2" id="uWg-L7-jeM"/>
<constraint firstAttribute="trailing" secondItem="oUO-c2-UZH" secondAttribute="trailing" constant="2" id="vkh-lQ-QdT"/>
<constraint firstItem="MAb-jJ-Np5" firstAttribute="top" secondItem="UcI-TZ-vhZ" secondAttribute="top" constant="2" id="wGe-pB-khP"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="ptq-T7-eM6" firstAttribute="top" secondItem="duk-DR-7jy" secondAttribute="top" id="A0y-bB-EJz"/>
<constraint firstAttribute="bottom" secondItem="ptq-T7-eM6" secondAttribute="bottom" id="rhb-8k-q0U"/>
<constraint firstAttribute="trailing" secondItem="ptq-T7-eM6" secondAttribute="trailing" id="v6b-Sy-aCx"/>
<constraint firstItem="ptq-T7-eM6" firstAttribute="leading" secondItem="duk-DR-7jy" secondAttribute="leading" id="xZb-db-Euk"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cEd-My-pP2">
<rect key="frame" x="0.0" y="278.5" width="315" height="50"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yiP-RR-Uwk">
<rect key="frame" x="0.0" y="348.5" width="315" height="29"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Terms and Conditions">
<color key="titleColor" name="ThemeBlue"/>
</state>
</button>
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="52r-RF-yfc">
<rect key="frame" x="10" y="437.5" width="355" height="50"/>
<color key="backgroundColor" name="ThemeRed"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="a5V-A0-LAl"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<state key="normal" title="Agree All Terms and Continue">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="gQK-Fd-sOJ" firstAttribute="top" secondItem="jWA-UF-Sha" secondAttribute="top" constant="30" id="8o0-5u-c0m"/>
<constraint firstItem="52r-RF-yfc" firstAttribute="top" secondItem="gQK-Fd-sOJ" secondAttribute="bottom" constant="30" id="GwC-6y-cjh"/>
<constraint firstItem="gQK-Fd-sOJ" firstAttribute="leading" secondItem="jWA-UF-Sha" secondAttribute="leading" constant="30" id="gwj-MO-l6O"/>
<constraint firstItem="52r-RF-yfc" firstAttribute="centerX" secondItem="jWA-UF-Sha" secondAttribute="centerX" id="sbS-Vu-0BW"/>
<constraint firstAttribute="trailing" secondItem="52r-RF-yfc" secondAttribute="trailing" constant="10" id="tdO-3s-sL9"/>
<constraint firstAttribute="bottom" secondItem="52r-RF-yfc" secondAttribute="bottom" constant="10" id="vwQ-IU-gvM"/>
<constraint firstAttribute="trailing" secondItem="gQK-Fd-sOJ" secondAttribute="trailing" constant="30" id="wZB-Ha-9jk"/>
<constraint firstItem="52r-RF-yfc" firstAttribute="leading" secondItem="jWA-UF-Sha" secondAttribute="leading" constant="10" id="zed-sS-ntU"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="jWA-UF-Sha" firstAttribute="leading" secondItem="M8c-Mi-ase" secondAttribute="leading" id="4k8-Ul-hqu"/>
<constraint firstItem="jWA-UF-Sha" firstAttribute="width" secondItem="M8c-Mi-ase" secondAttribute="width" id="CaU-nC-jAY"/>
<constraint firstAttribute="trailing" secondItem="jWA-UF-Sha" secondAttribute="trailing" id="Cvr-Jq-csl"/>
<constraint firstItem="jWA-UF-Sha" firstAttribute="top" secondItem="M8c-Mi-ase" secondAttribute="top" id="Moo-Tm-Jec"/>
<constraint firstAttribute="bottom" secondItem="jWA-UF-Sha" secondAttribute="bottom" id="crb-Zw-vNk"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="O1T-1R-Sun" firstAttribute="trailing" secondItem="M8c-Mi-ase" secondAttribute="trailing" id="1oD-eO-ZBb"/>
<constraint firstItem="M8c-Mi-ase" firstAttribute="top" secondItem="9Uc-9s-KgO" secondAttribute="top" id="4wF-P5-aID"/>
<constraint firstItem="M8c-Mi-ase" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leading" id="DUe-2K-Fop"/>
<constraint firstItem="O1T-1R-Sun" firstAttribute="bottom" secondItem="M8c-Mi-ase" secondAttribute="bottom" id="Zje-bq-EMu"/>
</constraints>
<viewLayoutGuide key="safeArea" id="O1T-1R-Sun"/>
</view>
<connections>
<outlet property="continueButton" destination="52r-RF-yfc" id="f6g-cZ-92X"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-91" y="233"/>
</scene>
</scenes>
<resources>
<image name="ic_camera" width="100" height="90"/>
<namedColor name="ThemeBlue">
<color red="0.18823529411764706" green="0.24313725490196078" blue="0.62352941176470589" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeRed">
<color red="0.92941176470588238" green="0.10588235294117647" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeText">
<color red="0.28999999165534973" green="0.28999999165534973" blue="0.28999999165534973" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
<color key="tintColor" red="0.78177064659999995" green="0.55228364470000002" blue="0.018981300289999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</document>

91
GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/View/NewRegisterStep3ViewController.swift

@ -0,0 +1,91 @@
//
// NewRegisterStep3ViewController.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
import RxSwift
import RxCocoa
class NewRegisterStep3ViewController: UIViewController {
// MARK: Properties
var presenter: NewRegisterStep3Presenter!
weak var delegate: NewRegisterDelegate?
private let disposeBag = DisposeBag()
// MARK: Computed Properties
// MARK: IBOutlets
@IBOutlet weak var continueButton: UIButton!
// MARK: VC's Life cycle
override func viewDidLoad() {
super.viewDidLoad()
setup()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
}
// willMove -> It appears on the parent screen.
override func willMove(toParent parent: UIViewController?) {
print(#function)
if let `parent` = parent as UIViewController? {
print(parent)
}
}
// It appears on the parent screen. -> didMove
override func didMove(toParent parent: UIViewController?) {
print(#function)
if let `parent` = parent as UIViewController? {
print(parent)
}
}
// MARK: IBActions
}
// MARK: Other Functions
extension NewRegisterStep3ViewController {
private func setup() {
setUI()
setBinding()
setUIBinding()
}
private func setUI() {
continueButton.layer.cornerRadius = 5
}
private func setUIBinding() {
}
private func setBinding() {
let input = NewRegisterStep3Presenter.Input()
let output = presenter.transform(input: input)
output.isError
.drive(
onNext: { self.alert(type: .error, message: $0.localizedDescription) }
).disposed(by: disposeBag)
output.isProgress
.drive(
onNext: { $0 ? self.showProgressHud() : self.hideProgressHud() }
).disposed(by: disposeBag)
}
}

42
GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Wireframe/NewRegisterStep3Wireframe.swift

@ -0,0 +1,42 @@
//
// NewRegisterStep3Wireframe.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
class NewRegisterStep3Wireframe {
weak var view: UIViewController!
weak var delegate: NewRegisterDelegate?
}
extension NewRegisterStep3Wireframe: NewRegisterStep3WireframeInput {
var storyboardName: String {return "NewRegisterStep3"}
func getMainView() -> UIViewController {
let service = NewRegisterStep3Service()
let interactor = NewRegisterStep3Interactor(service: service)
let presenter = NewRegisterStep3Presenter()
let viewController = viewControllerFromStoryboard(of: NewRegisterStep3ViewController.self)
viewController.presenter = presenter
viewController.delegate = delegate
interactor.output = presenter
presenter.interactor = interactor
presenter.wireframe = self
view = viewController
return viewController
}
func getMainView(with delegate: NewRegisterDelegate?) -> UIViewController {
self.delegate = delegate
return getMainView()
}
}

13
GME Remit/Modules/RegisterModules/NewRegisterStep3/User Interface/Wireframe/NewRegisterStep3WireframeInput.swift

@ -0,0 +1,13 @@
//
// NewRegisterStep3WireframeInput.swift
// GME Remit
//
// Created by InKwon James Kim on 2019/12/03.
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
protocol NewRegisterStep3WireframeInput: WireframeInput {
}

2
GME Remit/Modules/SplashScreen/User Interface/View/SplashScreenViewController.swift

@ -227,7 +227,7 @@ class SplashScreenViewController: UIViewController {
navigationController?.navigationBar.barTintColor = .themeRed
navigationController?.navigationBar.isTranslucent = false
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
setupNavigationShadow(isUse: false)
}
private func setup() {

21
GME Remit/Supported Files/Assets.xcassets/NewRegistration/call.imageset/Contents.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/NewRegistration/call.imageset/call.png

After

Width: 25  |  Height: 25  |  Size: 1.3 KiB

Loading…
Cancel
Save