From 92dad1da4d4ae3313c98c721bc0f1678e7004d52 Mon Sep 17 00:00:00 2001 From: InKwon James Kim Date: Mon, 2 Dec 2019 18:15:00 +0900 Subject: [PATCH] start new registration step 1 --- GME Remit.xcodeproj/project.pbxproj | 216 ++++++++++++++ GME Remit/Modules/Profile/Profile.storyboard | 92 +++--- .../User Interface/View/kycForm1.storyboard | 10 +- .../View/kycForm1ViewController.swift | 2 +- .../Interactor/NewRegisterInteractor.swift | 30 ++ .../Interactor/NewRegisterInteractorIO.swift | 15 + .../Service/NewRegisterService.swift | 13 + .../Service/NewRegisterServiceType.swift | 11 + .../Presenter/NewRegisterPresenter.swift | 39 +++ .../View/NewRegister.storyboard | 158 ++++++++++ .../View/NewRegisterViewController.swift | 97 ++++++ .../Wireframe/NewRegisterWireframe.swift | 33 +++ .../Wireframe/NewRegisterWireframeInput.swift | 13 + .../NewRegisterStep1Interactor.swift | 30 ++ .../NewRegisterStep1InteractorIO.swift | 15 + .../Service/NewRegisterStep1Service.swift | 13 + .../Service/NewRegisterStep1ServiceType.swift | 11 + .../Presenter/NewRegisterStep1Presenter.swift | 67 +++++ .../View/NewRegisterStep1.storyboard | 279 ++++++++++++++++++ .../Wireframe/NewRegisterStep1Wireframe.swift | 33 +++ .../NewRegisterStep1WireframeInput.swift | 13 + .../View/DomesticRemit.storyboard | 8 +- .../View/SendMoneyParent.storyboard | 10 +- .../Modules/SideMenu/SideMenu.storyboard | 11 +- .../Wireframe/SplashScreenWireframe.swift | 3 +- .../ru-RU.lproj/Localizable.strings | 4 +- .../uz.lproj/Localizable.strings | 4 +- GME Remit/Supported Files/Info.plist | 4 + 28 files changed, 1166 insertions(+), 68 deletions(-) create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/Application Logic/Interactor/NewRegisterInteractor.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/Application Logic/Interactor/NewRegisterInteractorIO.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/Application Logic/Service/NewRegisterService.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/Application Logic/Service/NewRegisterServiceType.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/User Interface/Presenter/NewRegisterPresenter.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegister.storyboard create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframeInput.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1Interactor.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1InteractorIO.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1Service.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1ServiceType.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1Wireframe.swift create mode 100644 GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1WireframeInput.swift diff --git a/GME Remit.xcodeproj/project.pbxproj b/GME Remit.xcodeproj/project.pbxproj index 35a4a135..4c5a3790 100644 --- a/GME Remit.xcodeproj/project.pbxproj +++ b/GME Remit.xcodeproj/project.pbxproj @@ -305,6 +305,24 @@ 73549BB8236FDD5600AD75D2 /* RechargeHistoryWireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BAE236FDD5600AD75D2 /* RechargeHistoryWireframe.swift */; }; 73549BB9236FDD5600AD75D2 /* RechargeHistory.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73549BB0236FDD5600AD75D2 /* RechargeHistory.storyboard */; }; 73549BBA236FDD5600AD75D2 /* RechargeHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BB1236FDD5600AD75D2 /* RechargeHistoryViewController.swift */; }; + 735F68DB2394A76800A2DBC8 /* NewRegisterService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68CD2394A76800A2DBC8 /* NewRegisterService.swift */; }; + 735F68DC2394A76800A2DBC8 /* NewRegisterServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68CE2394A76800A2DBC8 /* NewRegisterServiceType.swift */; }; + 735F68DD2394A76800A2DBC8 /* NewRegisterInteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68D02394A76800A2DBC8 /* NewRegisterInteractorIO.swift */; }; + 735F68DE2394A76800A2DBC8 /* NewRegisterInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68D12394A76800A2DBC8 /* NewRegisterInteractor.swift */; }; + 735F68DF2394A76800A2DBC8 /* NewRegisterPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68D42394A76800A2DBC8 /* NewRegisterPresenter.swift */; }; + 735F68E02394A76800A2DBC8 /* NewRegisterWireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68D62394A76800A2DBC8 /* NewRegisterWireframeInput.swift */; }; + 735F68E12394A76800A2DBC8 /* NewRegisterWireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68D72394A76800A2DBC8 /* NewRegisterWireframe.swift */; }; + 735F68E22394A76800A2DBC8 /* NewRegister.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 735F68D92394A76800A2DBC8 /* NewRegister.storyboard */; }; + 735F68E32394A76800A2DBC8 /* NewRegisterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68DA2394A76800A2DBC8 /* NewRegisterViewController.swift */; }; + 735F68F82394CD6B00A2DBC8 /* NewRegisterStep1ServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68EA2394CD6B00A2DBC8 /* NewRegisterStep1ServiceType.swift */; }; + 735F68F92394CD6B00A2DBC8 /* NewRegisterStep1Service.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68EB2394CD6B00A2DBC8 /* NewRegisterStep1Service.swift */; }; + 735F68FA2394CD6B00A2DBC8 /* NewRegisterStep1InteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68ED2394CD6B00A2DBC8 /* NewRegisterStep1InteractorIO.swift */; }; + 735F68FB2394CD6B00A2DBC8 /* NewRegisterStep1Interactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68EE2394CD6B00A2DBC8 /* NewRegisterStep1Interactor.swift */; }; + 735F68FC2394CD6B00A2DBC8 /* NewRegisterStep1Presenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68F12394CD6B00A2DBC8 /* NewRegisterStep1Presenter.swift */; }; + 735F68FD2394CD6B00A2DBC8 /* NewRegisterStep1Wireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68F32394CD6B00A2DBC8 /* NewRegisterStep1Wireframe.swift */; }; + 735F68FE2394CD6B00A2DBC8 /* NewRegisterStep1WireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68F42394CD6B00A2DBC8 /* NewRegisterStep1WireframeInput.swift */; }; + 735F68FF2394CD6B00A2DBC8 /* NewRegisterStep1.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 735F68F62394CD6B00A2DBC8 /* NewRegisterStep1.storyboard */; }; + 735F69002394CD6B00A2DBC8 /* NewRegisterStep1ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735F68F72394CD6B00A2DBC8 /* NewRegisterStep1ViewController.swift */; }; 7366BECC235D326C00A8AE7C /* CardList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECB235D326C00A8AE7C /* CardList.swift */; }; 7366BECE235D331B00A8AE7C /* PriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECD235D331B00A8AE7C /* PriceModel.swift */; }; 7366BED0235D33A600A8AE7C /* CountryPriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECF235D33A600A8AE7C /* CountryPriceModel.swift */; }; @@ -2659,6 +2677,24 @@ 73549BAE236FDD5600AD75D2 /* RechargeHistoryWireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryWireframe.swift; sourceTree = ""; }; 73549BB0236FDD5600AD75D2 /* RechargeHistory.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = RechargeHistory.storyboard; sourceTree = ""; }; 73549BB1236FDD5600AD75D2 /* RechargeHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryViewController.swift; sourceTree = ""; }; + 735F68CD2394A76800A2DBC8 /* NewRegisterService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterService.swift; sourceTree = ""; }; + 735F68CE2394A76800A2DBC8 /* NewRegisterServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterServiceType.swift; sourceTree = ""; }; + 735F68D02394A76800A2DBC8 /* NewRegisterInteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterInteractorIO.swift; sourceTree = ""; }; + 735F68D12394A76800A2DBC8 /* NewRegisterInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterInteractor.swift; sourceTree = ""; }; + 735F68D42394A76800A2DBC8 /* NewRegisterPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterPresenter.swift; sourceTree = ""; }; + 735F68D62394A76800A2DBC8 /* NewRegisterWireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterWireframeInput.swift; sourceTree = ""; }; + 735F68D72394A76800A2DBC8 /* NewRegisterWireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterWireframe.swift; sourceTree = ""; }; + 735F68D92394A76800A2DBC8 /* NewRegister.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewRegister.storyboard; sourceTree = ""; }; + 735F68DA2394A76800A2DBC8 /* NewRegisterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterViewController.swift; sourceTree = ""; }; + 735F68EA2394CD6B00A2DBC8 /* NewRegisterStep1ServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1ServiceType.swift; sourceTree = ""; }; + 735F68EB2394CD6B00A2DBC8 /* NewRegisterStep1Service.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1Service.swift; sourceTree = ""; }; + 735F68ED2394CD6B00A2DBC8 /* NewRegisterStep1InteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1InteractorIO.swift; sourceTree = ""; }; + 735F68EE2394CD6B00A2DBC8 /* NewRegisterStep1Interactor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1Interactor.swift; sourceTree = ""; }; + 735F68F12394CD6B00A2DBC8 /* NewRegisterStep1Presenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1Presenter.swift; sourceTree = ""; }; + 735F68F32394CD6B00A2DBC8 /* NewRegisterStep1Wireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1Wireframe.swift; sourceTree = ""; }; + 735F68F42394CD6B00A2DBC8 /* NewRegisterStep1WireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1WireframeInput.swift; sourceTree = ""; }; + 735F68F62394CD6B00A2DBC8 /* NewRegisterStep1.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewRegisterStep1.storyboard; sourceTree = ""; }; + 735F68F72394CD6B00A2DBC8 /* NewRegisterStep1ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep1ViewController.swift; sourceTree = ""; }; 7366BECB235D326C00A8AE7C /* CardList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardList.swift; sourceTree = ""; }; 7366BECD235D331B00A8AE7C /* PriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceModel.swift; sourceTree = ""; }; 7366BECF235D33A600A8AE7C /* CountryPriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryPriceModel.swift; sourceTree = ""; }; @@ -5791,6 +5827,8 @@ 73138D9322B7509F001280D3 /* RegisterModules */ = { isa = PBXGroup; children = ( + 735F68C92394A76800A2DBC8 /* NewRegister */, + 735F68E62394CD6B00A2DBC8 /* NewRegisterStep1 */, D96A4FE12146625C00CFD507 /* Register */, 04E36E0421AE585100783685 /* PennyTestSubmit */, 043770D221AD04240005B22D /* PennyTest */, @@ -6734,6 +6772,166 @@ path = View; sourceTree = ""; }; + 735F68C92394A76800A2DBC8 /* NewRegister */ = { + isa = PBXGroup; + children = ( + 735F68CA2394A76800A2DBC8 /* Application Logic */, + 735F68D22394A76800A2DBC8 /* User Interface */, + ); + path = NewRegister; + sourceTree = ""; + }; + 735F68CA2394A76800A2DBC8 /* Application Logic */ = { + isa = PBXGroup; + children = ( + 735F68CB2394A76800A2DBC8 /* Model */, + 735F68CC2394A76800A2DBC8 /* Service */, + 735F68CF2394A76800A2DBC8 /* Interactor */, + ); + path = "Application Logic"; + sourceTree = ""; + }; + 735F68CB2394A76800A2DBC8 /* Model */ = { + isa = PBXGroup; + children = ( + ); + path = Model; + sourceTree = ""; + }; + 735F68CC2394A76800A2DBC8 /* Service */ = { + isa = PBXGroup; + children = ( + 735F68CD2394A76800A2DBC8 /* NewRegisterService.swift */, + 735F68CE2394A76800A2DBC8 /* NewRegisterServiceType.swift */, + ); + path = Service; + sourceTree = ""; + }; + 735F68CF2394A76800A2DBC8 /* Interactor */ = { + isa = PBXGroup; + children = ( + 735F68D02394A76800A2DBC8 /* NewRegisterInteractorIO.swift */, + 735F68D12394A76800A2DBC8 /* NewRegisterInteractor.swift */, + ); + path = Interactor; + sourceTree = ""; + }; + 735F68D22394A76800A2DBC8 /* User Interface */ = { + isa = PBXGroup; + children = ( + 735F68D32394A76800A2DBC8 /* Presenter */, + 735F68D52394A76800A2DBC8 /* Wireframe */, + 735F68D82394A76800A2DBC8 /* View */, + ); + path = "User Interface"; + sourceTree = ""; + }; + 735F68D32394A76800A2DBC8 /* Presenter */ = { + isa = PBXGroup; + children = ( + 735F68D42394A76800A2DBC8 /* NewRegisterPresenter.swift */, + ); + path = Presenter; + sourceTree = ""; + }; + 735F68D52394A76800A2DBC8 /* Wireframe */ = { + isa = PBXGroup; + children = ( + 735F68D62394A76800A2DBC8 /* NewRegisterWireframeInput.swift */, + 735F68D72394A76800A2DBC8 /* NewRegisterWireframe.swift */, + ); + path = Wireframe; + sourceTree = ""; + }; + 735F68D82394A76800A2DBC8 /* View */ = { + isa = PBXGroup; + children = ( + 735F68D92394A76800A2DBC8 /* NewRegister.storyboard */, + 735F68DA2394A76800A2DBC8 /* NewRegisterViewController.swift */, + ); + path = View; + sourceTree = ""; + }; + 735F68E62394CD6B00A2DBC8 /* NewRegisterStep1 */ = { + isa = PBXGroup; + children = ( + 735F68E72394CD6B00A2DBC8 /* Application Logic */, + 735F68EF2394CD6B00A2DBC8 /* User Interface */, + ); + path = NewRegisterStep1; + sourceTree = ""; + }; + 735F68E72394CD6B00A2DBC8 /* Application Logic */ = { + isa = PBXGroup; + children = ( + 735F68E82394CD6B00A2DBC8 /* Model */, + 735F68E92394CD6B00A2DBC8 /* Service */, + 735F68EC2394CD6B00A2DBC8 /* Interactor */, + ); + path = "Application Logic"; + sourceTree = ""; + }; + 735F68E82394CD6B00A2DBC8 /* Model */ = { + isa = PBXGroup; + children = ( + ); + path = Model; + sourceTree = ""; + }; + 735F68E92394CD6B00A2DBC8 /* Service */ = { + isa = PBXGroup; + children = ( + 735F68EA2394CD6B00A2DBC8 /* NewRegisterStep1ServiceType.swift */, + 735F68EB2394CD6B00A2DBC8 /* NewRegisterStep1Service.swift */, + ); + path = Service; + sourceTree = ""; + }; + 735F68EC2394CD6B00A2DBC8 /* Interactor */ = { + isa = PBXGroup; + children = ( + 735F68ED2394CD6B00A2DBC8 /* NewRegisterStep1InteractorIO.swift */, + 735F68EE2394CD6B00A2DBC8 /* NewRegisterStep1Interactor.swift */, + ); + path = Interactor; + sourceTree = ""; + }; + 735F68EF2394CD6B00A2DBC8 /* User Interface */ = { + isa = PBXGroup; + children = ( + 735F68F02394CD6B00A2DBC8 /* Presenter */, + 735F68F22394CD6B00A2DBC8 /* Wireframe */, + 735F68F52394CD6B00A2DBC8 /* View */, + ); + path = "User Interface"; + sourceTree = ""; + }; + 735F68F02394CD6B00A2DBC8 /* Presenter */ = { + isa = PBXGroup; + children = ( + 735F68F12394CD6B00A2DBC8 /* NewRegisterStep1Presenter.swift */, + ); + path = Presenter; + sourceTree = ""; + }; + 735F68F22394CD6B00A2DBC8 /* Wireframe */ = { + isa = PBXGroup; + children = ( + 735F68F32394CD6B00A2DBC8 /* NewRegisterStep1Wireframe.swift */, + 735F68F42394CD6B00A2DBC8 /* NewRegisterStep1WireframeInput.swift */, + ); + path = Wireframe; + sourceTree = ""; + }; + 735F68F52394CD6B00A2DBC8 /* View */ = { + isa = PBXGroup; + children = ( + 735F68F62394CD6B00A2DBC8 /* NewRegisterStep1.storyboard */, + 735F68F72394CD6B00A2DBC8 /* NewRegisterStep1ViewController.swift */, + ); + path = View; + sourceTree = ""; + }; 736A8C262277EAC100337A50 /* BiometricAuthModules */ = { isa = PBXGroup; children = ( @@ -13219,6 +13417,7 @@ D93C2B9D22000D660079BF03 /* transkey_input_eng_1.png in Resources */, D93C282622000D640079BF03 /* iPad_transkey_landscape_alnum_sym_11.png in Resources */, D93C26A222000D630079BF03 /* iPhone_transkey_landscape_alnum_key_19.png in Resources */, + 735F68FF2394CD6B00A2DBC8 /* NewRegisterStep1.storyboard in Resources */, D93C296A22000D650079BF03 /* iPhone_transkey_landscape_alnum_cmd_10_japanese_down.png in Resources */, D93C27FC22000D640079BF03 /* iPad_transkey_landscape_alnum_cap_1.png in Resources */, D93C2C5E22000D660079BF03 /* right_line_over.png in Resources */, @@ -14670,6 +14869,7 @@ D93C29DE22000D650079BF03 /* iPad_transkey_landscape_number_cmd_2_2_thai.png in Resources */, D93C29A322000D650079BF03 /* iPad_transkey_alnum_cmd_8_japanese_down.png in Resources */, D93C2B6922000D660079BF03 /* iPad_transkey_landscape_keypad_bg_random.png in Resources */, + 735F68E22394A76800A2DBC8 /* NewRegister.storyboard in Resources */, D93C2A0222000D650079BF03 /* iPad_transkey_title_english.png in Resources */, D93C268F22000D630079BF03 /* iPhone_transkey_landscape_alnum_sym_18.png in Resources */, D93C29C322000D650079BF03 /* iPhone_transkey_landscape_alnum_cmd_5_thai.png in Resources */, @@ -15205,6 +15405,8 @@ 7388A6D822E17F9400A57891 /* CountryEnum.swift in Sources */, 730197B022535135001954AB /* kycForm2Interactor.swift in Sources */, D97785A6215DC55F00754079 /* TransactionHistoryViewController.swift in Sources */, + 735F68FC2394CD6B00A2DBC8 /* NewRegisterStep1Presenter.swift in Sources */, + 735F68DB2394A76800A2DBC8 /* NewRegisterService.swift in Sources */, BE74AFBB227C8FF200F05CE7 /* KFTCBankList.swift in Sources */, D9B7ADF22130048E009B0564 /* ExchangeRatesServiceType.swift in Sources */, FF6E7D9721BF951D00A003B9 /* AppUpdateWireframe.swift in Sources */, @@ -15225,6 +15427,7 @@ D945F123213E1D5100A24824 /* SendMoneyReceiptWireframe.swift in Sources */, 7389600F22C2F208003FEA90 /* TablePresenterPresenter.swift in Sources */, 739A778A228BB2B40018A1A9 /* DetailOrderViewInterface.swift in Sources */, + 735F68DF2394A76800A2DBC8 /* NewRegisterPresenter.swift in Sources */, D922D9B221351B7400D43053 /* SendMoneyVerificationViewController.swift in Sources */, D96A5002214668A000CFD507 /* RegisterRequestModel.swift in Sources */, D96A4FFB2146625C00CFD507 /* RegisterPresenter.swift in Sources */, @@ -15291,6 +15494,7 @@ D922D9AE21351B7400D43053 /* SendMoneyVerificationWireframe.swift in Sources */, 73210DA422FBE73100715D6C /* RecipientsInteractorIO.swift in Sources */, 043770E921AD04240005B22D /* PennyTestService.swift in Sources */, + 735F68DC2394A76800A2DBC8 /* NewRegisterServiceType.swift in Sources */, 73FE8844228A571400A5EB56 /* OrderCell.swift in Sources */, 73A621612330AD20000FFB5B /* RecentHistoriesService.swift in Sources */, 730D78B4227A94F2007E517E /* JusoCommon.swift in Sources */, @@ -15547,13 +15751,17 @@ 736A8C412277EB2A00337A50 /* BiometricNotificationService.swift in Sources */, 73210DA122FBE73100715D6C /* RecipientsModuleInterface.swift in Sources */, 73A621412330742C000FFB5B /* DomesticRemitViewModelInterface.swift in Sources */, + 735F68F92394CD6B00A2DBC8 /* NewRegisterStep1Service.swift in Sources */, 730D788A227A94E1007E517E /* RewardProduct.swift in Sources */, + 735F68E12394A76800A2DBC8 /* NewRegisterWireframe.swift in Sources */, 73469F9A2293C1B00062946B /* SelectPaymentService.swift in Sources */, D977859E215DC55F00754079 /* TransactionHistoryService.swift in Sources */, 730D7892227A94E1007E517E /* RewardViewInterface.swift in Sources */, D95B5E3A21311057000C0B33 /* GmeContactsService.swift in Sources */, D95B5E3F21311057000C0B33 /* GmeContactsWireframeInput.swift in Sources */, 736E321A230A3CC1005799AA /* UIDevice+Ext.swift in Sources */, + 735F68F82394CD6B00A2DBC8 /* NewRegisterStep1ServiceType.swift in Sources */, + 735F68FE2394CD6B00A2DBC8 /* NewRegisterStep1WireframeInput.swift in Sources */, 738714B5237CE86E0038FCB1 /* InboundReceiptInteractor.swift in Sources */, D922D9692135145F00D43053 /* SendMoneyParentWireframeInput.swift in Sources */, D946719821426DFB003924DB /* LoginInteractor.swift in Sources */, @@ -15589,6 +15797,7 @@ 730197AB22535135001954AB /* kycForm3ViewController.swift in Sources */, 73976D202331B4F4003CF5E1 /* UIImageView+Ext.swift in Sources */, 0496B84F1FE7DFCD0044810E /* String+Ext.swift in Sources */, + 735F68E32394A76800A2DBC8 /* NewRegisterViewController.swift in Sources */, D9B7ADF52130048E009B0564 /* ExchangeRatesPresenter.swift in Sources */, 73A6E20422CEE51600E9BC68 /* BadgeLabel.swift in Sources */, 73AEFF562334744E00A967FB /* DomesticRemitResponseModel.swift in Sources */, @@ -15621,8 +15830,10 @@ 733E8F77235804810050E499 /* CreditCardReceipt.swift in Sources */, 73071AC52296CF9B008840FD /* HotLineService.swift in Sources */, FF6E7D9321BF951D00A003B9 /* AppUpdatePresenter.swift in Sources */, + 735F68FA2394CD6B00A2DBC8 /* NewRegisterStep1InteractorIO.swift in Sources */, FF6E7D9221BF951D00A003B9 /* AppUpdateModuleInterface.swift in Sources */, 73FE883F228A4A8C00A5EB56 /* OrderHistoryViewInterface.swift in Sources */, + 735F68DE2394A76800A2DBC8 /* NewRegisterInteractor.swift in Sources */, D922D9632135145F00D43053 /* SendMoneyParentServiceType.swift in Sources */, FF6E7D8F21BF951D00A003B9 /* AppUpdateInteractorIO.swift in Sources */, 7317E404233387A10063743A /* DomesticRemitRequestModel.swift in Sources */, @@ -15642,6 +15853,7 @@ D96BD1232164870C00DFE7D8 /* DateFormatter+Ext.swift in Sources */, 739A7783228BB2B40018A1A9 /* DetailOrderServiceType.swift in Sources */, 739A7787228BB2B40018A1A9 /* DetailOrderWireframeInput.swift in Sources */, + 735F68E02394A76800A2DBC8 /* NewRegisterWireframeInput.swift in Sources */, D96A4FD421460B4A00CFD507 /* SplashScreenModuleInterface.swift in Sources */, D9B7ADF72130048E009B0564 /* ExchangeRatesWireframe.swift in Sources */, BE74AFD0227C8FF200F05CE7 /* AutoDebitViewController.swift in Sources */, @@ -15696,6 +15908,7 @@ D9AFE856215C7166005F3A25 /* HomeCollectionTableViewCell.swift in Sources */, BE74AFC1227C8FF200F05CE7 /* AddAccountWireframeInput.swift in Sources */, BEC9AFFC224FC49C00A2DA06 /* BiometricAuthenticationModuleInterface.swift in Sources */, + 735F68DD2394A76800A2DBC8 /* NewRegisterInteractorIO.swift in Sources */, 733E8F8D23580BDF0050E499 /* RechargeReceiptService.swift in Sources */, 730D7886227A94E1007E517E /* RedeemViewController.swift in Sources */, D97785A3215DC55F00754079 /* TransactionHistoryWireframeInput.swift in Sources */, @@ -15729,6 +15942,7 @@ 73195ABA22FD14D500151434 /* SetupRecipientViewModel.swift in Sources */, 7389601422C2F208003FEA90 /* TablePresenterViewController.swift in Sources */, 739F8187234AFF13003ABCF3 /* DebugManager.swift in Sources */, + 735F68FD2394CD6B00A2DBC8 /* NewRegisterStep1Wireframe.swift in Sources */, D96BD11B216479E200DFE7D8 /* WalletStatementWireframe.swift in Sources */, D96BD116216479E200DFE7D8 /* WalletStatementServiceType.swift in Sources */, D946719621426DFB003924DB /* LoginService.swift in Sources */, @@ -15786,6 +16000,7 @@ 738714BB237CE86E0038FCB1 /* InboundReceiptViewController.swift in Sources */, D92E656A222620A0004D1B3D /* SendMoneyCodeInteractorIO.swift in Sources */, 73168A2322F3D01A00878038 /* TablePresenterProtocol.swift in Sources */, + 735F68FB2394CD6B00A2DBC8 /* NewRegisterStep1Interactor.swift in Sources */, 733A3B8223554AC100E6B87E /* RechargeModel.swift in Sources */, 733D910422EEBF7B006B5E80 /* kycForm2WireframeOutput.swift in Sources */, D950BEDE215496F6008367A1 /* HomeRemainingLimitTableViewCell.swift in Sources */, @@ -15816,6 +16031,7 @@ BEC9AFFE224FC49C00A2DA06 /* BiometricAuthenticationServiceType.swift in Sources */, 73FE8846228A58DE00A5EB56 /* OrderContainer.swift in Sources */, D96BD11E216479E200DFE7D8 /* WalletStatementViewInterface.swift in Sources */, + 735F69002394CD6B00A2DBC8 /* NewRegisterStep1ViewController.swift in Sources */, D92B802E2140C3CB00A25B26 /* MainViewController.swift in Sources */, 73210DA622FBE73100715D6C /* RecipientsPresenter.swift in Sources */, 7301979B22535135001954AB /* kycForm1Presenter.swift in Sources */, diff --git a/GME Remit/Modules/Profile/Profile.storyboard b/GME Remit/Modules/Profile/Profile.storyboard index 46048798..eac1abe9 100644 --- a/GME Remit/Modules/Profile/Profile.storyboard +++ b/GME Remit/Modules/Profile/Profile.storyboard @@ -1,9 +1,9 @@ - - + + - + @@ -31,17 +31,17 @@ - + - + - + - + @@ -53,7 +53,7 @@ - + - + - + @@ -183,7 +186,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift new file mode 100644 index 00000000..2605e218 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/View/NewRegisterViewController.swift @@ -0,0 +1,97 @@ +// +// NewRegisterViewController.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import UIKit +import RxSwift +import RxCocoa + +class NewRegisterViewController: UIViewController { + + // MARK: Properties + var presenter: NewRegisterPresenter! + + private let disposeBag = DisposeBag() + // MARK: Computed Properties + + // MARK: IBOutlets + @IBOutlet weak var step1Button: UIButton! + @IBOutlet weak var step2Button: UIButton! + @IBOutlet weak var step3Button: UIButton! + + @IBOutlet weak var step1ToStep2Line: UIView! + @IBOutlet weak var step2ToStep3Line: UIView! + + @IBOutlet weak var containerView: UIView! + + // MARK: VC's Life cycle + override func viewDidLoad() { + super.viewDidLoad() + setup() + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + title = "Register GME" + setupNormalNavigation() + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + } + + // MARK: IBActions + +} + +// MARK: Other Functions +extension NewRegisterViewController { + + private func setup() { + setUI() + setBinding() + setUIBinding() + } + + private func setUI() { + step1Button.rounded() + step2Button.rounded() + step3Button.rounded() + + containerView.layer.cornerRadius = 5 + let step1 = NewRegisterStep1Wireframe().getMainView() + move(step1) + } + + private func setUIBinding() { + + } + + private func setBinding() { + let input = NewRegisterPresenter.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) + } + + private func move(_ viewController: UIViewController) { + addChild(viewController) + containerView.addSubview(viewController.view) + viewController.view.frame = containerView.bounds + + viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] + viewController.didMove(toParent: self) + } +} diff --git a/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift new file mode 100644 index 00000000..5f74cdb9 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframe.swift @@ -0,0 +1,33 @@ +// +// NewRegisterWireframe.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import UIKit + +class NewRegisterWireframe { + weak var view: UIViewController! +} + +extension NewRegisterWireframe: NewRegisterWireframeInput { + + var storyboardName: String {return "NewRegister"} + + func getMainView() -> UIViewController { + let service = NewRegisterService() + let interactor = NewRegisterInteractor(service: service) + let presenter = NewRegisterPresenter() + let viewController = viewControllerFromStoryboard(of: NewRegisterViewController.self) + + viewController.presenter = presenter + interactor.output = presenter + presenter.interactor = interactor + presenter.wireframe = self + + view = viewController + return viewController + } +} diff --git a/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframeInput.swift b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframeInput.swift new file mode 100644 index 00000000..4faddf0e --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegister/User Interface/Wireframe/NewRegisterWireframeInput.swift @@ -0,0 +1,13 @@ +// +// NewRegisterWireframeInput.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +protocol NewRegisterWireframeInput: WireframeInput { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1Interactor.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1Interactor.swift new file mode 100644 index 00000000..63bdc7bf --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1Interactor.swift @@ -0,0 +1,30 @@ +// +// NewRegisterStep1Interactor.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +class NewRegisterStep1Interactor { + + // MARK: Properties + + weak var output: NewRegisterStep1InteractorOutput? + private let service: NewRegisterStep1ServiceType + + // MARK: Initialization + + init(service: NewRegisterStep1ServiceType) { + self.service = service + } + +} + +// MARK: NewRegisterStep1 interactor input interface + +extension NewRegisterStep1Interactor: NewRegisterStep1InteractorInput { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1InteractorIO.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1InteractorIO.swift new file mode 100644 index 00000000..dc96ec82 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Interactor/NewRegisterStep1InteractorIO.swift @@ -0,0 +1,15 @@ +// +// NewRegisterStep1InteractorIO.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +protocol NewRegisterStep1InteractorInput: class { + +} + +protocol NewRegisterStep1InteractorOutput: class { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1Service.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1Service.swift new file mode 100644 index 00000000..a2b2e98c --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1Service.swift @@ -0,0 +1,13 @@ +// +// NewRegisterStep1Service.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +class NewRegisterStep1Service: NewRegisterStep1ServiceType { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1ServiceType.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1ServiceType.swift new file mode 100644 index 00000000..73d5e75e --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/Application Logic/Service/NewRegisterStep1ServiceType.swift @@ -0,0 +1,11 @@ +// +// NewRegisterStep1ServiceType.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +protocol NewRegisterStep1ServiceType: class { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift new file mode 100644 index 00000000..bacee972 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift @@ -0,0 +1,67 @@ +// +// NewRegisterStep1Presenter.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import RxSwift +import RxCocoa +import CoreLocation + +class NewRegisterStep1Presenter: ViewModelType { + var interactor: NewRegisterStep1InteractorInput? + var wireframe: NewRegisterStep1WireframeInput? + + struct Input { + let sendLocation: Driver + } + + struct Output { + let isError: Driver + let isProgress: Driver + let gpsAddress: Driver + } + + private let disposeBag = DisposeBag() + + private let progressLinker = PublishSubject() + private let errorLinker = PublishSubject() + private let gpsAddress = PublishSubject() + + func transform(input: Input) -> Output { + input.sendLocation.drive(onNext: { [weak self] in + self?.progressLinker.onNext(true) + let geocoder = CLGeocoder() + let locale = Locale(identifier: "en-US") + + geocoder.reverseGeocodeLocation($0, preferredLocale: locale) {(placemarks, error) in + if let error = error { + self?.progressLinker.onNext(false) + self?.errorLinker.onNext(error) + } + + if let address: [CLPlacemark] = placemarks { + let name = address.last?.name ?? "" + let locality = address.last?.locality ?? "" + let administrativeArea = address.last?.administrativeArea ?? "" + self?.progressLinker.onNext(false) + self?.gpsAddress.onNext("\(name), \(locality), \(administrativeArea)") + } + } + + }).disposed(by: disposeBag) + + return Output( + isError: errorLinker.asDriverOnErrorJustComplete(), + isProgress: progressLinker.asDriverOnErrorJustComplete(), + gpsAddress: gpsAddress.asDriverOnErrorJustComplete() + ) + } +} + +// MARK: NewRegisterStep1 interactor output interface +extension NewRegisterStep1Presenter: NewRegisterStep1InteractorOutput { + +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard new file mode 100644 index 00000000..bcb29e24 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard @@ -0,0 +1,279 @@ + + + + + + + + + + + + + SanFranciscoDisplay-Medium + + + SanFranciscoDisplay-Regular + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1Wireframe.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1Wireframe.swift new file mode 100644 index 00000000..d11298ee --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1Wireframe.swift @@ -0,0 +1,33 @@ +// +// NewRegisterStep1Wireframe.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import UIKit + +class NewRegisterStep1Wireframe { + weak var view: UIViewController! +} + +extension NewRegisterStep1Wireframe: NewRegisterStep1WireframeInput { + + var storyboardName: String {return "NewRegisterStep1"} + + func getMainView() -> UIViewController { + let service = NewRegisterStep1Service() + let interactor = NewRegisterStep1Interactor(service: service) + let presenter = NewRegisterStep1Presenter() + let viewController = viewControllerFromStoryboard(of: NewRegisterStep1ViewController.self) + + viewController.presenter = presenter + interactor.output = presenter + presenter.interactor = interactor + presenter.wireframe = self + + view = viewController + return viewController + } +} diff --git a/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1WireframeInput.swift b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1WireframeInput.swift new file mode 100644 index 00000000..f1220f36 --- /dev/null +++ b/GME Remit/Modules/RegisterModules/NewRegisterStep1/User Interface/Wireframe/NewRegisterStep1WireframeInput.swift @@ -0,0 +1,13 @@ +// +// NewRegisterStep1WireframeInput.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/12/02. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +protocol NewRegisterStep1WireframeInput: WireframeInput { + +} diff --git a/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard b/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard index 67539baa..959d304d 100644 --- a/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard +++ b/GME Remit/Modules/RemittanceModules/DomesticModules/DomesticRemit/User Interface/View/DomesticRemit.storyboard @@ -116,13 +116,13 @@