Browse Source

Merge branch 'developer'

Conflicts:
	.DS_Store
pull/1/head
JB 5 years ago
parent
commit
d160061b22
  1. 246
      GME Remit.xcodeproj/project.pbxproj
  2. 24
      GME Remit/APIs/Router/APIRouter.swift
  3. 24
      GME Remit/AppDelegate.swift
  4. 6
      GME Remit/Modules/Home/User Interface/View/HomeViewController.swift
  5. 41
      GME Remit/Modules/Notice/DetailNotification/Application Logic/Interactor/DetailNotificationInteractor.swift
  6. 16
      GME Remit/Modules/Notice/DetailNotification/Application Logic/Interactor/DetailNotificationInteractorIO.swift
  7. 27
      GME Remit/Modules/Notice/DetailNotification/Application Logic/Model/DetailNoticeModel.swift
  8. 19
      GME Remit/Modules/Notice/DetailNotification/Application Logic/Service/DetailNotificationService.swift
  9. 15
      GME Remit/Modules/Notice/DetailNotification/Application Logic/Service/DetailNotificationServiceType.swift
  10. 64
      GME Remit/Modules/Notice/DetailNotification/User Interface/Presenter/DetailNotificationPresenter.swift
  11. 186
      GME Remit/Modules/Notice/DetailNotification/User Interface/View/DetailNotification.storyboard
  12. 97
      GME Remit/Modules/Notice/DetailNotification/User Interface/View/DetailNotificationViewController.swift
  13. 48
      GME Remit/Modules/Notice/DetailNotification/User Interface/Wireframe/DetailNotificationWireframe.swift
  14. 13
      GME Remit/Modules/Notice/DetailNotification/User Interface/Wireframe/DetailNotificationWireframeInput.swift
  15. 43
      GME Remit/Modules/Notice/NotificationHistory/Application Logic/Interactor/NotificationHistoryInteractor.swift
  16. 16
      GME Remit/Modules/Notice/NotificationHistory/Application Logic/Interactor/NotificationHistoryInteractorIO.swift
  17. 27
      GME Remit/Modules/Notice/NotificationHistory/Application Logic/Model/NoticeModel.swift
  18. 19
      GME Remit/Modules/Notice/NotificationHistory/Application Logic/Service/NotificationHistoryService.swift
  19. 14
      GME Remit/Modules/Notice/NotificationHistory/Application Logic/Service/NotificationHistoryServiceType.swift
  20. 68
      GME Remit/Modules/Notice/NotificationHistory/User Interface/Presenter/NotificationHistoryPresenter.swift
  21. 25
      GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationCell.swift
  22. 179
      GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistory.storyboard
  23. 109
      GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistoryViewController.swift
  24. 44
      GME Remit/Modules/Notice/NotificationHistory/User Interface/Wireframe/NotificationHistoryWireframe.swift
  25. 13
      GME Remit/Modules/Notice/NotificationHistory/User Interface/Wireframe/NotificationHistoryWireframeInput.swift
  26. 0
      GME Remit/Modules/Notice/PopupNotification/Application Logic/Interactor/PopupNotificationInteractor.swift
  27. 0
      GME Remit/Modules/Notice/PopupNotification/Application Logic/Interactor/PopupNotificationInteractorIO.swift
  28. 0
      GME Remit/Modules/Notice/PopupNotification/Application Logic/Service/PopupNotificationService.swift
  29. 0
      GME Remit/Modules/Notice/PopupNotification/Application Logic/Service/PopupNotificationServiceType.swift
  30. 0
      GME Remit/Modules/Notice/PopupNotification/Module Interface/PopupNotificationModuleInterface.swift
  31. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/Presenter/PopupNotificationPresenter.swift
  32. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotification.storyboard
  33. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotificationViewController.swift
  34. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotificationViewInterface.swift
  35. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/Wireframe/PopupNotificationWireframe.swift
  36. 0
      GME Remit/Modules/Notice/PopupNotification/User Interface/Wireframe/PopupNotificationWireframeInput.swift
  37. BIN
      GME Remit/Modules/PopupNotification/User Interface/View/.DS_Store
  38. BIN
      GME Remit/Modules/PopupNotification/User Interface/Wireframe/.DS_Store
  39. 2
      GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/Application Logic/Model/KYCInfromation.swift
  40. 7
      GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/Application Logic/Model/PersonalInformation.swift
  41. 43
      GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift
  42. 33
      GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard
  43. 20
      GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/View/NewRegisterStep1ViewController.swift
  44. 2
      GME Remit/Modules/RemittanceModules/InboundModules/InboundPennyTestSubmit/User Interface/Wireframe/InboundPennyTestSubmitWireframe.swift
  45. 4
      GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard
  46. 183
      GME Remit/Modules/SideMenu/SideMenu.storyboard
  47. 8
      GME Remit/Modules/SideMenu/SideMenuViewController.swift
  48. 21
      GME Remit/Supported Files/Assets.xcassets/ic_account.imageset/Contents 2.json
  49. BIN
      GME Remit/Supported Files/Assets.xcassets/ic_account.imageset/ic_account 2.png
  50. 21
      GME Remit/Supported Files/Assets.xcassets/ic_koreaBankBig.imageset/Contents 2.json
  51. BIN
      GME Remit/Supported Files/Assets.xcassets/ic_koreaBankBig.imageset/ic_koreaBank 2.png
  52. 6
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Contents 2.json
  53. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Contents 3.json
  54. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Contents 4.json
  55. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Information 3.png
  56. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Information 4.png
  57. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/Contents 3.json
  58. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/Contents 4.json
  59. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/address 3.png
  60. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/address 4.png
  61. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/Contents 3.json
  62. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/Contents 4.json
  63. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/asia 3.png
  64. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/asia 4.png
  65. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/Contents 3.json
  66. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/Contents 4.json
  67. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/call 3.png
  68. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/call 4.png
  69. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/Contents 3.json
  70. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/Contents 4.json
  71. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/dob 3.png
  72. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/dob 4.png
  73. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/Contents 3.json
  74. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/Contents 4.json
  75. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/email 3.png
  76. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/email 4.png
  77. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/Contents 3.json
  78. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/Contents 4.json
  79. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/gender 3.png
  80. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/gender 4.png
  81. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/Contents 3.json
  82. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/Contents 4.json
  83. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/gps 3.png
  84. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/gps 4.png
  85. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/Contents 3.json
  86. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/Contents 4.json
  87. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/ic_alien_card 3.png
  88. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/ic_alien_card 4.png
  89. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/Contents 3.json
  90. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/Contents 4.json
  91. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/ic_another_id_picture 3.png
  92. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/ic_another_id_picture 4.png
  93. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/Contents 3.json
  94. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/Contents 4.json
  95. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/ic_driving_license 3.png
  96. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/ic_driving_license 4.png
  97. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/Contents 3.json
  98. 21
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/Contents 4.json
  99. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/ic_koreaBank 3.png
  100. BIN
      GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/ic_koreaBank 4.png

246
GME Remit.xcodeproj/project.pbxproj

@ -393,6 +393,7 @@
7389601422C2F208003FEA90 /* TablePresenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7389600922C2F208003FEA90 /* TablePresenterViewController.swift */; };
7389601922C2FADD003FEA90 /* TableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7389601822C2FADD003FEA90 /* TableCell.swift */; };
738B3E4C233B56C6000EA5E5 /* UISearchBar+Ext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738B3E4B233B56C6000EA5E5 /* UISearchBar+Ext.swift */; };
738B6B5523F4E6F0006FA928 /* DetailNoticeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738B6B5423F4E6F0006FA928 /* DetailNoticeModel.swift */; };
738D727F239F3089006B4EA7 /* KYCInfromation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738D727E239F3089006B4EA7 /* KYCInfromation.swift */; };
738D7281239F31C4006B4EA7 /* PersonalInformation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738D7280239F31C4006B4EA7 /* PersonalInformation.swift */; };
738D7283239F3243006B4EA7 /* PrimaryInformation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738D7282239F3243006B4EA7 /* PrimaryInformation.swift */; };
@ -579,6 +580,26 @@
73F7727B239749DF00E22A82 /* NewRegisterStep2WireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73F77271239749DF00E22A82 /* NewRegisterStep2WireframeInput.swift */; };
73F7727C239749DF00E22A82 /* NewRegisterStep2ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73F77273239749DF00E22A82 /* NewRegisterStep2ViewController.swift */; };
73F7727D239749DF00E22A82 /* NewRegisterStep2.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73F77274239749DF00E22A82 /* NewRegisterStep2.storyboard */; };
73FBBF1B23F231A7009D7627 /* NotificationHistoryService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBEFB23F231A6009D7627 /* NotificationHistoryService.swift */; };
73FBBF1C23F231A7009D7627 /* NotificationHistoryServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBEFC23F231A6009D7627 /* NotificationHistoryServiceType.swift */; };
73FBBF1D23F231A8009D7627 /* NotificationHistoryInteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBEFE23F231A6009D7627 /* NotificationHistoryInteractorIO.swift */; };
73FBBF1E23F231A8009D7627 /* NotificationHistoryInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBEFF23F231A6009D7627 /* NotificationHistoryInteractor.swift */; };
73FBBF1F23F231A8009D7627 /* NotificationHistoryPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0223F231A6009D7627 /* NotificationHistoryPresenter.swift */; };
73FBBF2023F231A8009D7627 /* NotificationHistoryWireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0423F231A6009D7627 /* NotificationHistoryWireframe.swift */; };
73FBBF2123F231A8009D7627 /* NotificationHistoryWireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0523F231A6009D7627 /* NotificationHistoryWireframeInput.swift */; };
73FBBF2223F231A8009D7627 /* NotificationHistory.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73FBBF0723F231A6009D7627 /* NotificationHistory.storyboard */; };
73FBBF2323F231A8009D7627 /* NotificationHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0823F231A6009D7627 /* NotificationHistoryViewController.swift */; };
73FBBF2423F231A8009D7627 /* DetailNotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0D23F231A7009D7627 /* DetailNotificationService.swift */; };
73FBBF2523F231A8009D7627 /* DetailNotificationServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF0E23F231A7009D7627 /* DetailNotificationServiceType.swift */; };
73FBBF2623F231A8009D7627 /* DetailNotificationInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1023F231A7009D7627 /* DetailNotificationInteractor.swift */; };
73FBBF2723F231A8009D7627 /* DetailNotificationInteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1123F231A7009D7627 /* DetailNotificationInteractorIO.swift */; };
73FBBF2823F231A8009D7627 /* DetailNotificationPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1423F231A7009D7627 /* DetailNotificationPresenter.swift */; };
73FBBF2923F231A8009D7627 /* DetailNotificationWireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1623F231A7009D7627 /* DetailNotificationWireframe.swift */; };
73FBBF2A23F231A8009D7627 /* DetailNotificationWireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1723F231A7009D7627 /* DetailNotificationWireframeInput.swift */; };
73FBBF2B23F231A8009D7627 /* DetailNotification.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73FBBF1923F231A7009D7627 /* DetailNotification.storyboard */; };
73FBBF2C23F231A8009D7627 /* DetailNotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF1A23F231A7009D7627 /* DetailNotificationViewController.swift */; };
73FBBF3223F232C4009D7627 /* NotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF3123F232C4009D7627 /* NotificationCell.swift */; };
73FBBF3423F243FA009D7627 /* NoticeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FBBF3323F243FA009D7627 /* NoticeModel.swift */; };
73FDCE1D225C167700CC6912 /* KeyChain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FDCE1C225C167700CC6912 /* KeyChain.swift */; };
73FE8837228A4A8C00A5EB56 /* OrderHistoryModuleInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FE8824228A4A8C00A5EB56 /* OrderHistoryModuleInterface.swift */; };
73FE8838228A4A8C00A5EB56 /* OrderHistoryService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FE8828228A4A8C00A5EB56 /* OrderHistoryService.swift */; };
@ -2809,6 +2830,7 @@
7389600922C2F208003FEA90 /* TablePresenterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TablePresenterViewController.swift; sourceTree = "<group>"; };
7389601822C2FADD003FEA90 /* TableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableCell.swift; sourceTree = "<group>"; };
738B3E4B233B56C6000EA5E5 /* UISearchBar+Ext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UISearchBar+Ext.swift"; sourceTree = "<group>"; };
738B6B5423F4E6F0006FA928 /* DetailNoticeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailNoticeModel.swift; sourceTree = "<group>"; };
738D727E239F3089006B4EA7 /* KYCInfromation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KYCInfromation.swift; sourceTree = "<group>"; };
738D7280239F31C4006B4EA7 /* PersonalInformation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalInformation.swift; sourceTree = "<group>"; };
738D7282239F3243006B4EA7 /* PrimaryInformation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimaryInformation.swift; sourceTree = "<group>"; };
@ -2998,6 +3020,26 @@
73F77271239749DF00E22A82 /* NewRegisterStep2WireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep2WireframeInput.swift; sourceTree = "<group>"; };
73F77273239749DF00E22A82 /* NewRegisterStep2ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewRegisterStep2ViewController.swift; sourceTree = "<group>"; };
73F77274239749DF00E22A82 /* NewRegisterStep2.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewRegisterStep2.storyboard; sourceTree = "<group>"; };
73FBBEFB23F231A6009D7627 /* NotificationHistoryService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryService.swift; sourceTree = "<group>"; };
73FBBEFC23F231A6009D7627 /* NotificationHistoryServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryServiceType.swift; sourceTree = "<group>"; };
73FBBEFE23F231A6009D7627 /* NotificationHistoryInteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryInteractorIO.swift; sourceTree = "<group>"; };
73FBBEFF23F231A6009D7627 /* NotificationHistoryInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryInteractor.swift; sourceTree = "<group>"; };
73FBBF0223F231A6009D7627 /* NotificationHistoryPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryPresenter.swift; sourceTree = "<group>"; };
73FBBF0423F231A6009D7627 /* NotificationHistoryWireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryWireframe.swift; sourceTree = "<group>"; };
73FBBF0523F231A6009D7627 /* NotificationHistoryWireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryWireframeInput.swift; sourceTree = "<group>"; };
73FBBF0723F231A6009D7627 /* NotificationHistory.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NotificationHistory.storyboard; sourceTree = "<group>"; };
73FBBF0823F231A6009D7627 /* NotificationHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationHistoryViewController.swift; sourceTree = "<group>"; };
73FBBF0D23F231A7009D7627 /* DetailNotificationService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationService.swift; sourceTree = "<group>"; };
73FBBF0E23F231A7009D7627 /* DetailNotificationServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationServiceType.swift; sourceTree = "<group>"; };
73FBBF1023F231A7009D7627 /* DetailNotificationInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationInteractor.swift; sourceTree = "<group>"; };
73FBBF1123F231A7009D7627 /* DetailNotificationInteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationInteractorIO.swift; sourceTree = "<group>"; };
73FBBF1423F231A7009D7627 /* DetailNotificationPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationPresenter.swift; sourceTree = "<group>"; };
73FBBF1623F231A7009D7627 /* DetailNotificationWireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationWireframe.swift; sourceTree = "<group>"; };
73FBBF1723F231A7009D7627 /* DetailNotificationWireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationWireframeInput.swift; sourceTree = "<group>"; };
73FBBF1923F231A7009D7627 /* DetailNotification.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = DetailNotification.storyboard; sourceTree = "<group>"; };
73FBBF1A23F231A7009D7627 /* DetailNotificationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailNotificationViewController.swift; sourceTree = "<group>"; };
73FBBF3123F232C4009D7627 /* NotificationCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCell.swift; sourceTree = "<group>"; };
73FBBF3323F243FA009D7627 /* NoticeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeModel.swift; sourceTree = "<group>"; };
73FDCE1C225C167700CC6912 /* KeyChain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyChain.swift; sourceTree = "<group>"; };
73FE8824228A4A8C00A5EB56 /* OrderHistoryModuleInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderHistoryModuleInterface.swift; sourceTree = "<group>"; };
73FE8828228A4A8C00A5EB56 /* OrderHistoryService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderHistoryService.swift; sourceTree = "<group>"; };
@ -8811,6 +8853,179 @@
path = PowerCallModules;
sourceTree = "<group>";
};
73FBBEF223F23151009D7627 /* Notice */ = {
isa = PBXGroup;
children = (
73FBBEF723F231A6009D7627 /* NotificationHistory */,
73FBBF0923F231A7009D7627 /* DetailNotification */,
73157B8722DC1EEC009B836F /* PopupNotification */,
);
path = Notice;
sourceTree = "<group>";
};
73FBBEF723F231A6009D7627 /* NotificationHistory */ = {
isa = PBXGroup;
children = (
73FBBEF823F231A6009D7627 /* Application Logic */,
73FBBF0023F231A6009D7627 /* User Interface */,
);
path = NotificationHistory;
sourceTree = "<group>";
};
73FBBEF823F231A6009D7627 /* Application Logic */ = {
isa = PBXGroup;
children = (
73FBBEF923F231A6009D7627 /* Model */,
73FBBEFA23F231A6009D7627 /* Service */,
73FBBEFD23F231A6009D7627 /* Interactor */,
);
path = "Application Logic";
sourceTree = "<group>";
};
73FBBEF923F231A6009D7627 /* Model */ = {
isa = PBXGroup;
children = (
73FBBF3323F243FA009D7627 /* NoticeModel.swift */,
);
path = Model;
sourceTree = "<group>";
};
73FBBEFA23F231A6009D7627 /* Service */ = {
isa = PBXGroup;
children = (
73FBBEFB23F231A6009D7627 /* NotificationHistoryService.swift */,
73FBBEFC23F231A6009D7627 /* NotificationHistoryServiceType.swift */,
);
path = Service;
sourceTree = "<group>";
};
73FBBEFD23F231A6009D7627 /* Interactor */ = {
isa = PBXGroup;
children = (
73FBBEFE23F231A6009D7627 /* NotificationHistoryInteractorIO.swift */,
73FBBEFF23F231A6009D7627 /* NotificationHistoryInteractor.swift */,
);
path = Interactor;
sourceTree = "<group>";
};
73FBBF0023F231A6009D7627 /* User Interface */ = {
isa = PBXGroup;
children = (
73FBBF0123F231A6009D7627 /* Presenter */,
73FBBF0323F231A6009D7627 /* Wireframe */,
73FBBF0623F231A6009D7627 /* View */,
);
path = "User Interface";
sourceTree = "<group>";
};
73FBBF0123F231A6009D7627 /* Presenter */ = {
isa = PBXGroup;
children = (
73FBBF0223F231A6009D7627 /* NotificationHistoryPresenter.swift */,
);
path = Presenter;
sourceTree = "<group>";
};
73FBBF0323F231A6009D7627 /* Wireframe */ = {
isa = PBXGroup;
children = (
73FBBF0423F231A6009D7627 /* NotificationHistoryWireframe.swift */,
73FBBF0523F231A6009D7627 /* NotificationHistoryWireframeInput.swift */,
);
path = Wireframe;
sourceTree = "<group>";
};
73FBBF0623F231A6009D7627 /* View */ = {
isa = PBXGroup;
children = (
73FBBF0723F231A6009D7627 /* NotificationHistory.storyboard */,
73FBBF0823F231A6009D7627 /* NotificationHistoryViewController.swift */,
73FBBF3123F232C4009D7627 /* NotificationCell.swift */,
);
path = View;
sourceTree = "<group>";
};
73FBBF0923F231A7009D7627 /* DetailNotification */ = {
isa = PBXGroup;
children = (
73FBBF0A23F231A7009D7627 /* Application Logic */,
73FBBF1223F231A7009D7627 /* User Interface */,
);
path = DetailNotification;
sourceTree = "<group>";
};
73FBBF0A23F231A7009D7627 /* Application Logic */ = {
isa = PBXGroup;
children = (
73FBBF0B23F231A7009D7627 /* Model */,
73FBBF0C23F231A7009D7627 /* Service */,
73FBBF0F23F231A7009D7627 /* Interactor */,
);
path = "Application Logic";
sourceTree = "<group>";
};
73FBBF0B23F231A7009D7627 /* Model */ = {
isa = PBXGroup;
children = (
738B6B5423F4E6F0006FA928 /* DetailNoticeModel.swift */,
);
path = Model;
sourceTree = "<group>";
};
73FBBF0C23F231A7009D7627 /* Service */ = {
isa = PBXGroup;
children = (
73FBBF0D23F231A7009D7627 /* DetailNotificationService.swift */,
73FBBF0E23F231A7009D7627 /* DetailNotificationServiceType.swift */,
);
path = Service;
sourceTree = "<group>";
};
73FBBF0F23F231A7009D7627 /* Interactor */ = {
isa = PBXGroup;
children = (
73FBBF1023F231A7009D7627 /* DetailNotificationInteractor.swift */,
73FBBF1123F231A7009D7627 /* DetailNotificationInteractorIO.swift */,
);
path = Interactor;
sourceTree = "<group>";
};
73FBBF1223F231A7009D7627 /* User Interface */ = {
isa = PBXGroup;
children = (
73FBBF1323F231A7009D7627 /* Presenter */,
73FBBF1523F231A7009D7627 /* Wireframe */,
73FBBF1823F231A7009D7627 /* View */,
);
path = "User Interface";
sourceTree = "<group>";
};
73FBBF1323F231A7009D7627 /* Presenter */ = {
isa = PBXGroup;
children = (
73FBBF1423F231A7009D7627 /* DetailNotificationPresenter.swift */,
);
path = Presenter;
sourceTree = "<group>";
};
73FBBF1523F231A7009D7627 /* Wireframe */ = {
isa = PBXGroup;
children = (
73FBBF1623F231A7009D7627 /* DetailNotificationWireframe.swift */,
73FBBF1723F231A7009D7627 /* DetailNotificationWireframeInput.swift */,
);
path = Wireframe;
sourceTree = "<group>";
};
73FBBF1823F231A7009D7627 /* View */ = {
isa = PBXGroup;
children = (
73FBBF1923F231A7009D7627 /* DetailNotification.storyboard */,
73FBBF1A23F231A7009D7627 /* DetailNotificationViewController.swift */,
);
path = View;
sourceTree = "<group>";
};
73FE8822228A4A8C00A5EB56 /* OrderHistory */ = {
isa = PBXGroup;
children = (
@ -9372,7 +9587,7 @@
73149F4E22E5AF8000D66B26 /* LauncherScreen */,
D946718021426DFB003924DB /* Login */,
D92B80122140C3CB00A25B26 /* Main */,
73157B8722DC1EEC009B836F /* PopupNotification */,
73FBBEF223F23151009D7627 /* Notice */,
9F3ADCE62004B80F0037A3A3 /* Profile */,
9F9DF0CA1FEBC0A0005B8F42 /* RecipientModules */,
73138D9322B7509F001280D3 /* RegisterModules */,
@ -15061,6 +15276,7 @@
D93C274622000D630079BF03 /* iPhone_transkey_alnum_key_2.png in Resources */,
D93C29E422000D650079BF03 /* iPad_transkey_landscape_alnum_cmd_10_thai_down.png in Resources */,
D93C271822000D630079BF03 /* iPhone_transkey_alnum_dummy_1.png in Resources */,
73FBBF2B23F231A8009D7627 /* DetailNotification.storyboard in Resources */,
D93C26E122000D630079BF03 /* iPhone_transkey_landscape_alnum_key_9.png in Resources */,
D93C2B5F22000D660079BF03 /* iPhone_transkey_number_key_random_0.png in Resources */,
D93C28B322000D640079BF03 /* iPad_transkey_number_key_6.png in Resources */,
@ -15177,6 +15393,7 @@
D93C2BE922000D660079BF03 /* transkey_input_cap_2.png in Resources */,
D93C2B8D22000D660079BF03 /* pattern_dot_n@2x.png in Resources */,
D93C26AA22000D630079BF03 /* iPhone_transkey_landscape_alnum_eng_17.png in Resources */,
73FBBF2223F231A8009D7627 /* NotificationHistory.storyboard in Resources */,
D93C29FD22000D650079BF03 /* iPhone_transkey_title_english.png in Resources */,
73911180237AA3C300697D27 /* InboundPennyTestSubmit.storyboard in Resources */,
D93C275222000D630079BF03 /* iPhone_transkey_alnum_eng_7.png in Resources */,
@ -15734,6 +15951,7 @@
73195AB222FD14D500151434 /* SetupRecipientModuleInterface.swift in Sources */,
D96BD115216479E200DFE7D8 /* WalletStatementModuleInterface.swift in Sources */,
73B4C8C322A5F2440078D495 /* SelectCouponWireframeInput.swift in Sources */,
73FBBF1B23F231A7009D7627 /* NotificationHistoryService.swift in Sources */,
73BA8CCD237E326C00F3E579 /* TotalManageAccountsViewController.swift in Sources */,
73157B9F22DC1EEC009B836F /* PopupNotificationInteractorIO.swift in Sources */,
D96A4FDB21460B4A00CFD507 /* SplashScreenWireframeInput.swift in Sources */,
@ -15766,10 +15984,12 @@
73210DA222FBE73100715D6C /* RecipientsService.swift in Sources */,
D96A4FDC21460B4A00CFD507 /* SplashScreenViewInterface.swift in Sources */,
D950BED721549242008367A1 /* HomeWireframeInput.swift in Sources */,
73FBBF2923F231A8009D7627 /* DetailNotificationWireframe.swift in Sources */,
7367FF5E237401860005F644 /* PushNotificationParam.swift in Sources */,
D977859D215DC55F00754079 /* TransactionHistoryModuleInterface.swift in Sources */,
73B4C8C022A5F2440078D495 /* SelectCouponInteractor.swift in Sources */,
7389600C22C2F208003FEA90 /* TablePresenterService.swift in Sources */,
73FBBF2123F231A8009D7627 /* NotificationHistoryWireframeInput.swift in Sources */,
D903113C214786EA00AD5BA9 /* ForgotPasswordModuleInterface.swift in Sources */,
73F77275239749DF00E22A82 /* NewRegisterStep2ServiceType.swift in Sources */,
730D78BD227A94F2007E517E /* SearchAddressViewInterface.swift in Sources */,
@ -15781,8 +16001,10 @@
73FE8848228A595500A5EB56 /* Order.swift in Sources */,
D97785A7215DC55F00754079 /* TransactionHistoryViewInterface.swift in Sources */,
D946719921426DFB003924DB /* LoginInteractorIO.swift in Sources */,
73FBBF2723F231A8009D7627 /* DetailNotificationInteractorIO.swift in Sources */,
730D788F227A94E1007E517E /* RewardPresenter.swift in Sources */,
D95B5E3E21311057000C0B33 /* GmeContactsPresenter.swift in Sources */,
73FBBF1C23F231A7009D7627 /* NotificationHistoryServiceType.swift in Sources */,
D95B5E4121311057000C0B33 /* GmeContactsViewInterface.swift in Sources */,
730D78B6227A94F2007E517E /* SearchAddressServiceType.swift in Sources */,
73157BA022DC1EEC009B836F /* PopupNotificationPresenter.swift in Sources */,
@ -15883,6 +16105,7 @@
735F68DC2394A76800A2DBC8 /* NewRegisterServiceType.swift in Sources */,
73FE8844228A571400A5EB56 /* OrderCell.swift in Sources */,
73A621612330AD20000FFB5B /* RecentHistoriesService.swift in Sources */,
73FBBF2323F231A8009D7627 /* NotificationHistoryViewController.swift in Sources */,
730D78B4227A94F2007E517E /* JusoCommon.swift in Sources */,
73B6D68423063DFD00A0CB6E /* ResponseContainer.swift in Sources */,
733A3B9D23554DAF00E6B87E /* RechargePaymentWireframe.swift in Sources */,
@ -15892,8 +16115,10 @@
04E36E1A21AE585200783685 /* PennyTestSubmitServiceType.swift in Sources */,
D922D98B21351AAE00D43053 /* SendMoneyExchangeRateWireframe.swift in Sources */,
73469F9F2293C1B00062946B /* SelectPaymentWireframeInput.swift in Sources */,
73FBBF2C23F231A8009D7627 /* DetailNotificationViewController.swift in Sources */,
D9DC107A21639078008F3C51 /* MessageComposeService.swift in Sources */,
730D787D227A94E1007E517E /* RedeemModuleInterface.swift in Sources */,
73FBBF2623F231A8009D7627 /* DetailNotificationInteractor.swift in Sources */,
7391115A237A6DB400697D27 /* InboundAccountsPresenter.swift in Sources */,
D96A4FD521460B4A00CFD507 /* SplashScreenService.swift in Sources */,
9F983C0C2024883D001DCB3F /* UIColor+Ext.swift in Sources */,
@ -15933,6 +16158,7 @@
736A8C452277EB2A00337A50 /* BiometricNotificationPresenter.swift in Sources */,
73197D3D2330B2BF002C0F85 /* RecentRecipientCell.swift in Sources */,
730D787F227A94E1007E517E /* RedeemService.swift in Sources */,
73FBBF1E23F231A8009D7627 /* NotificationHistoryInteractor.swift in Sources */,
73BCCDCF228993040057B161 /* RewardGroupModuleInterface.swift in Sources */,
BE74AFBE227C8FF200F05CE7 /* AddAccountInteractorIO.swift in Sources */,
7384B28222CB377300DD04D9 /* GMEAlertViewController.swift in Sources */,
@ -15987,6 +16213,7 @@
D9DC107B21639078008F3C51 /* MessageComposeInteractorIO.swift in Sources */,
D9DAFE2521352F3300483E71 /* SenMoneyPaymentModeRecipientViewModel.swift in Sources */,
7389601022C2F208003FEA90 /* TablePresenterWireframeInput.swift in Sources */,
73FBBF2823F231A8009D7627 /* DetailNotificationPresenter.swift in Sources */,
733E8F8F23580BE00050E499 /* RechargeReceiptInteractorIO.swift in Sources */,
73D1683B2398D49900E3E01E /* NewRegisterStep3Service.swift in Sources */,
D95B5E4021311057000C0B33 /* GmeContactsWireframe.swift in Sources */,
@ -16026,6 +16253,7 @@
D95B5E3C21311057000C0B33 /* GmeContactsInteractor.swift in Sources */,
BEC9AFFF224FC49C00A2DA06 /* BiometricAuthenticationInteractorIO.swift in Sources */,
73185314230E19DD00BA9AE3 /* ValidateAccountRequest.swift in Sources */,
73FBBF1D23F231A8009D7627 /* NotificationHistoryInteractorIO.swift in Sources */,
D9B7ADF32130048E009B0564 /* ExchangeRatesInteractorIO.swift in Sources */,
73F7727B239749DF00E22A82 /* NewRegisterStep2WireframeInput.swift in Sources */,
73911157237A6DB400697D27 /* InboundAccountsServiceType.swift in Sources */,
@ -16081,6 +16309,7 @@
733A3B9C23554DAF00E6B87E /* RechargePaymentWireframeInputOutput.swift in Sources */,
043770EC21AD04240005B22D /* PennyTestPresenter.swift in Sources */,
0496B8481FE7DFA20044810E /* RestApiManager.swift in Sources */,
73FBBF2523F231A8009D7627 /* DetailNotificationServiceType.swift in Sources */,
73AEFF702334A13100A967FB /* TransactionHistoryGroupModuleInterface.swift in Sources */,
D9B7ADFA2130048E009B0564 /* ExchangeRatesViewInterface.swift in Sources */,
73A621652330AD20000FFB5B /* RecentHistoriesWireframeInputOutput.swift in Sources */,
@ -16106,6 +16335,7 @@
73210DAB22FBE73100715D6C /* RecipientsViewController.swift in Sources */,
D945F124213E1D5100A24824 /* SendMoneyReceiptWireframeInput.swift in Sources */,
730D7890227A94E1007E517E /* RewardWireframeInput.swift in Sources */,
73FBBF2A23F231A8009D7627 /* DetailNotificationWireframeInput.swift in Sources */,
D922D9A921351B7400D43053 /* SendMoneyVerificationServiceType.swift in Sources */,
739045B52378FC9500CD5D8A /* AddInboundAccountInteractor.swift in Sources */,
7301979622535135001954AB /* kycForm1ModuleInterface.swift in Sources */,
@ -16137,10 +16367,12 @@
7366BECE235D331B00A8AE7C /* PriceModel.swift in Sources */,
D97785A2215DC55F00754079 /* TransactionHistoryPresenter.swift in Sources */,
73A6213E2330742C000FFB5B /* DomesticRemitWireframeInputOutput.swift in Sources */,
738B6B5523F4E6F0006FA928 /* DetailNoticeModel.swift in Sources */,
734BF6872353F7D8004E8D60 /* PhoneCardRechargeWireframe.swift in Sources */,
73469F982293C1B00062946B /* SelectPaymentModuleInterface.swift in Sources */,
042E6EFD203EAF95004667A1 /* SideMenuViewController.swift in Sources */,
73AEFF792334A13100A967FB /* TransactionHistoryGroupViewModel.swift in Sources */,
73FBBF2023F231A8009D7627 /* NotificationHistoryWireframe.swift in Sources */,
731B2832238BAC5600B392A5 /* DeleteInbound.swift in Sources */,
D9535CCC2150C14700EDFCD2 /* KYCResponseModel.swift in Sources */,
73BA8CC8237E326C00F3E579 /* TotalManageAccountsInteractorIO.swift in Sources */,
@ -16298,6 +16530,7 @@
D96A4FFC2146625C00CFD507 /* RegisterWireframeInput.swift in Sources */,
73149F6C22E5AF8000D66B26 /* LauncherScreenViewInterface.swift in Sources */,
BEC9B002224FC49C00A2DA06 /* BiometricAuthenticationWireframe.swift in Sources */,
73FBBF1F23F231A8009D7627 /* NotificationHistoryPresenter.swift in Sources */,
7391117C237AA3C300697D27 /* InboundPennyTestSubmitInteractor.swift in Sources */,
D96A4FFD2146625C00CFD507 /* RegisterWireframe.swift in Sources */,
D950BED421549242008367A1 /* HomeInteractorIO.swift in Sources */,
@ -16333,6 +16566,7 @@
736A8C402277EB2A00337A50 /* BiometricNotificationModuleInterface.swift in Sources */,
738D727F239F3089006B4EA7 /* KYCInfromation.swift in Sources */,
73149F6422E5AF8000D66B26 /* LauncherScreenServiceType.swift in Sources */,
73FBBF3223F232C4009D7627 /* NotificationCell.swift in Sources */,
73EC6C18236984B200060448 /* InternationalTopupWireframeInput.swift in Sources */,
73071ACD2296CF9B008840FD /* HotLineViewInterface.swift in Sources */,
737FB6562395DF8300EA4AED /* KeyValue.swift in Sources */,
@ -16402,6 +16636,7 @@
739A7782228BB2B40018A1A9 /* DetailOrderService.swift in Sources */,
043770ED21AD04240005B22D /* PennyTestWireframeInput.swift in Sources */,
7318534F230EACA400BA9AE3 /* SendMoneyRelationViewModel.swift in Sources */,
73FBBF3423F243FA009D7627 /* NoticeModel.swift in Sources */,
7301979322535135001954AB /* KycViewInterface.swift in Sources */,
D95B5E4B21315C57000C0B33 /* EmptyTableViewCell.swift in Sources */,
73FE883E228A4A8C00A5EB56 /* OrderHistoryWireframeInput.swift in Sources */,
@ -16433,6 +16668,7 @@
7389601122C2F208003FEA90 /* TablePresenterWireframe.swift in Sources */,
D922D9622135145F00D43053 /* SendMoneyParentModuleInterface.swift in Sources */,
739A7786228BB2B40018A1A9 /* DetailOrderPresenter.swift in Sources */,
73FBBF2423F231A8009D7627 /* DetailNotificationService.swift in Sources */,
73210DAD22FBEA3B00715D6C /* RecipientsViewModel.swift in Sources */,
7317E401233300C80063743A /* BalanceModel.swift in Sources */,
73B6D6942306439600A0CB6E /* AccountModel.swift in Sources */,
@ -16742,7 +16978,7 @@
CODE_SIGN_ENTITLEMENTS = "GME Remit.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 0;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 5QB497ZAGT;
ENABLE_BITCODE = NO;
@ -16757,7 +16993,7 @@
"$(inherited)",
"$(PROJECT_DIR)/GME\\ Remit/ThirdParty/virtualKeyboard/mtk_module",
);
MARKETING_VERSION = 3.0.1;
MARKETING_VERSION = 3.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.gme.gmeremit;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -16777,7 +17013,7 @@
CODE_SIGN_ENTITLEMENTS = "GME Remit.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 0;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 5QB497ZAGT;
ENABLE_BITCODE = NO;
@ -16793,7 +17029,7 @@
"$(inherited)",
"$(PROJECT_DIR)/GME\\ Remit/ThirdParty/virtualKeyboard/mtk_module",
);
MARKETING_VERSION = 3.0.1;
MARKETING_VERSION = 3.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.gme.gmeremit;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

24
GME Remit/APIs/Router/APIRouter.swift

@ -85,6 +85,10 @@ enum APIRouter {
case fetchKFTCParameterForRegister
case customerInfoAgree(_ flag: Bool)
case checkInfoAgree
// MARK: - New Registration
case getNotifyInfo
case getNotifyDetailInfo(idx: String)
}
// MARK: - Request
@ -509,6 +513,10 @@ extension APIRouter {
case .checkInfoAgree:
let userID = GMEDB.shared.user.string(.userId) ?? ""
return "\(baseUrl)/mobile/CheckInfoAgree/\(userID)"
case .getNotifyInfo:
return "\(baseUrl)/mobile/GetNotifyInfo"
case .getNotifyDetailInfo:
return "\(baseUrl)/mobile/GetNotifyDetailInfo"
}
}
}
@ -605,6 +613,10 @@ extension APIRouter {
return .get
case .checkInfoAgree:
return .post
case .getNotifyInfo:
return .post
case .getNotifyDetailInfo:
return .post
}
}
}
@ -878,6 +890,7 @@ extension APIRouter {
"email": model.personalInformation?.email ?? "",
"city": model.personalInformation?.city ?? "",
"address": model.personalInformation?.address ?? "",
"occupation": model.personalInformation?.occupation ?? "",
"nativeCountry": model.personalInformation?.nativeCountry ?? "",
"bankId": model.primaryInformation?.bankID ?? "",
"bankAccount": model.primaryInformation?.bankAccount ?? "",
@ -899,6 +912,17 @@ extension APIRouter {
"CertNumber": certNumber,
"CustomerId": senderID
]
case .getNotifyInfo:
let senderId = GMEDB.shared.user.string(.senderId) ?? ""
return [
"customerId": senderId
]
case .getNotifyDetailInfo(let idx):
return [
"rowId": idx
]
default: return nil
}

24
GME Remit/AppDelegate.swift

@ -30,9 +30,23 @@ let server: Server = .live
var destination: PushNotificationDestination?
var overlayView: UIView?
enum PushNotificationDestination: String {
case trasactionHistory = "TransactionHistory"
case rechargeHistory = "RechargeHistory"
enum PushNotificationDestination {
case trasactionHistory
case rechargeHistory
case pushNotification
static func getDestination(target: String) -> PushNotificationDestination? {
switch target {
case "TransactionHistory":
return .trasactionHistory
case "RechargeHistory":
return .rechargeHistory
case "PushNotification":
return .pushNotification
default:
return nil
}
}
}
@UIApplicationMain
@ -211,6 +225,8 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
TransactionHistoryGroupWireframe().open(overseasType: .inbound, on: baseVC)
case .rechargeHistory:
RechargeHistoryWireframe().open(on: baseVC)
case .pushNotification:
NotificationHistoryWireframe().open(on: baseVC)
}
}
@ -222,7 +238,7 @@ extension AppDelegate {
private func extractDestination(userInfo: [String : AnyObject]?) -> PushNotificationDestination? {
guard
let destination = userInfo?["destination"] as? String,
let destinationType = PushNotificationDestination(rawValue: destination) else {
let destinationType = PushNotificationDestination.getDestination(target: destination) else {
return nil
}

6
GME Remit/Modules/Home/User Interface/View/HomeViewController.swift

@ -122,6 +122,8 @@ class HomeViewController: UIViewController {
presenter?.openRechargeHistory()
case .trasactionHistory:
presenter?.openTransactionHistory(type: .inbound)
case .pushNotification:
NotificationHistoryWireframe().open(on: self)
}
destination = nil
@ -792,6 +794,10 @@ extension HomeViewController: SideMenuDelegate {
}
isUserVerified ? (presenter?.openRechargeHistory()) : (self.showUnVerifiedMessage())
case .notice:
if let naviVC = navigationController {
NotificationHistoryWireframe().pushMainView(in: naviVC)
}
}
}
}

41
GME Remit/Modules/Notice/DetailNotification/Application Logic/Interactor/DetailNotificationInteractor.swift

@ -0,0 +1,41 @@
//
// DetailNotificationInteractor.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class DetailNotificationInteractor {
// MARK: Properties
weak var output: DetailNotificationInteractorOutput?
private let service: DetailNotificationServiceType
// MARK: Initialization
init(service: DetailNotificationServiceType) {
self.service = service
}
}
// MARK: DetailNotification interactor input interface
extension DetailNotificationInteractor: DetailNotificationInteractorInput {
func fetchDetail(_ index: String) {
service.fetchDetail(
index: index,
success: {[weak self] in
self?.output?.setModel(with: $0)
},
failure: {[weak self] in
self?.output?.setError(with: $0)
}
)
}
}

16
GME Remit/Modules/Notice/DetailNotification/Application Logic/Interactor/DetailNotificationInteractorIO.swift

@ -0,0 +1,16 @@
//
// DetailNotificationInteractorIO.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol DetailNotificationInteractorInput: class {
func fetchDetail(_ index: String)
}
protocol DetailNotificationInteractorOutput: class {
func setModel(with model: DetailNoticeModel)
func setError(with error: Error)
}

27
GME Remit/Modules/Notice/DetailNotification/Application Logic/Model/DetailNoticeModel.swift

@ -0,0 +1,27 @@
//
// DetailNoticeModel.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/13.
// Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import ObjectMapper
struct DetailNoticeModel: Mappable {
var title: String?
var body: String?
var imageURL: String?
var date: String?
init?(map: Map) {
}
mutating func mapping(map: Map) {
title <- map["title"]
body <- map["body"]
date <- map["createDate"]
imageURL <- map["url"]
}
}

19
GME Remit/Modules/Notice/DetailNotification/Application Logic/Service/DetailNotificationService.swift

@ -0,0 +1,19 @@
//
// DetailNotificationService.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class DetailNotificationService: DetailNotificationServiceType {
func fetchDetail(
index: String,
success: @escaping (DetailNoticeModel) -> Void,
failure: @escaping (Error) -> Void
) {
APIRouter.getNotifyDetailInfo(idx: index).json(success: success, failure: failure)
}
}

15
GME Remit/Modules/Notice/DetailNotification/Application Logic/Service/DetailNotificationServiceType.swift

@ -0,0 +1,15 @@
//
// DetailNotificationServiceType.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol DetailNotificationServiceType: class {
func fetchDetail(
index: String,
success: @escaping (DetailNoticeModel) -> Void,
failure: @escaping (Error) -> Void
)
}

64
GME Remit/Modules/Notice/DetailNotification/User Interface/Presenter/DetailNotificationPresenter.swift

@ -0,0 +1,64 @@
//
// DetailNotificationPresenter.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import RxSwift
import RxCocoa
class DetailNotificationPresenter: ViewModelType {
var interactor: DetailNotificationInteractorInput?
var wireframe: DetailNotificationWireframeInput?
struct Input {
let viewWillAppear: Driver<Void>
}
struct Output {
let isError: Driver<Error>
let isProgress: Driver<Bool>
let model: Driver<DetailNoticeModel>
}
private let disposeBag = DisposeBag()
private let progressLinker = PublishSubject<Bool>()
private let errorLinker = PublishSubject<Error>()
private let model = PublishSubject<DetailNoticeModel>()
private var index = ""
init(index: String) {
self.index = index
}
func transform(input: Input) -> Output {
input.viewWillAppear.drive(onNext: {[weak self] in
guard let `self` = self else { return }
self.progressLinker.onNext(true)
self.interactor?.fetchDetail(self.index)
}).disposed(by: disposeBag)
return Output(
isError: errorLinker.asDriverOnErrorJustComplete(),
isProgress: progressLinker.asDriverOnErrorJustComplete(),
model: model.asDriverOnErrorJustComplete()
)
}
}
// MARK: DetailNotification interactor output interface
extension DetailNotificationPresenter: DetailNotificationInteractorOutput {
func setModel(with model: DetailNoticeModel) {
progressLinker.onNext(false)
self.model.onNext(model)
}
func setError(with error: Error) {
progressLinker.onNext(false)
errorLinker.onNext(error)
}
}

186
GME Remit/Modules/Notice/DetailNotification/User Interface/View/DetailNotification.storyboard

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="gPa-I4-mGd">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
<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>
<!--DetailNotification-->
<scene sceneID="R60-Pu-Hpy">
<objects>
<viewController storyboardIdentifier="DetailNotificationViewController" title="DetailNotification" id="HSb-ou-7T5" customClass="DetailNotificationViewController" 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" translatesAutoresizingMaskIntoConstraints="NO" id="x6S-1E-Rmc">
<rect key="frame" x="0.0" y="44" width="375" height="623"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ML8-hk-1GR">
<rect key="frame" x="0.0" y="0.0" width="375" height="819.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="Wsd-cO-bxJ">
<rect key="frame" x="10" y="10" width="355" height="799.5"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="72d-Sq-55k">
<rect key="frame" x="0.0" y="0.0" width="355" height="15.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="등록일자" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ba0-9X-U4Q">
<rect key="frame" x="0.0" y="0.0" width="318.5" height="15.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="13"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text=":" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VtH-Wb-Is9">
<rect key="frame" x="323.5" y="0.0" width="4" height="15.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="13"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="N/A" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fT6-kB-U4e">
<rect key="frame" x="332.5" y="0.0" width="22.5" height="15.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="13"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<view opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MoG-ji-hov">
<rect key="frame" x="0.0" y="35.5" width="355" height="764"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="yWn-XD-aDq">
<rect key="frame" x="10" y="10" width="335" height="744"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MTQ-OQ-Ne0">
<rect key="frame" x="0.0" y="0.0" width="335" height="0.0"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="20"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" verticalHuggingPriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="0ET-dR-bev">
<rect key="frame" x="0.0" y="15" width="335" height="0.5"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="7jM-hv-uWo"/>
</constraints>
</view>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="vi3-zj-Dn3">
<rect key="frame" x="0.0" y="30.5" width="335" height="112.5"/>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RdF-i6-MM1">
<rect key="frame" x="0.0" y="158" width="335" height="586"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OHE-Xt-dXP">
<rect key="frame" x="10" y="10" width="315" height="566"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<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="OHE-Xt-dXP" secondAttribute="trailing" constant="10" id="1xq-tA-nuN"/>
<constraint firstAttribute="bottom" secondItem="OHE-Xt-dXP" secondAttribute="bottom" constant="10" id="4V7-Va-Uhy"/>
<constraint firstItem="OHE-Xt-dXP" firstAttribute="leading" secondItem="RdF-i6-MM1" secondAttribute="leading" constant="10" id="C8Y-SG-GyJ"/>
<constraint firstItem="OHE-Xt-dXP" firstAttribute="top" secondItem="RdF-i6-MM1" secondAttribute="top" constant="10" id="lnN-J5-AIi"/>
</constraints>
</view>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="yWn-XD-aDq" firstAttribute="top" secondItem="MoG-ji-hov" secondAttribute="top" constant="10" id="kWe-qb-jUq"/>
<constraint firstAttribute="bottom" secondItem="yWn-XD-aDq" secondAttribute="bottom" constant="10" id="nBc-xF-eq9"/>
<constraint firstAttribute="trailing" secondItem="yWn-XD-aDq" secondAttribute="trailing" constant="10" id="oNq-JN-xbb"/>
<constraint firstItem="yWn-XD-aDq" firstAttribute="leading" secondItem="MoG-ji-hov" secondAttribute="leading" constant="10" id="yxq-uX-KJP"/>
</constraints>
</view>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="Wsd-cO-bxJ" secondAttribute="bottom" constant="10" id="2wb-3L-jp6"/>
<constraint firstItem="Wsd-cO-bxJ" firstAttribute="leading" secondItem="ML8-hk-1GR" secondAttribute="leading" constant="10" id="ICN-YI-aUO"/>
<constraint firstItem="Wsd-cO-bxJ" firstAttribute="top" secondItem="ML8-hk-1GR" secondAttribute="top" constant="10" id="UEZ-po-hoL"/>
<constraint firstAttribute="trailing" secondItem="Wsd-cO-bxJ" secondAttribute="trailing" constant="10" id="exN-GK-leQ"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="ML8-hk-1GR" firstAttribute="width" secondItem="x6S-1E-Rmc" secondAttribute="width" id="8gl-RT-arA"/>
<constraint firstItem="ML8-hk-1GR" firstAttribute="top" secondItem="x6S-1E-Rmc" secondAttribute="top" id="QD4-oG-HOS"/>
<constraint firstAttribute="trailing" secondItem="ML8-hk-1GR" secondAttribute="trailing" id="SYX-ZO-dE5"/>
<constraint firstItem="ML8-hk-1GR" firstAttribute="height" secondItem="x6S-1E-Rmc" secondAttribute="height" priority="250" id="UEr-Ty-qCD"/>
<constraint firstItem="ML8-hk-1GR" firstAttribute="leading" secondItem="x6S-1E-Rmc" secondAttribute="leading" id="gWC-Ki-DK1"/>
<constraint firstAttribute="bottom" secondItem="ML8-hk-1GR" secondAttribute="bottom" id="gzb-NO-0QC"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" name="ThemeMainBackground"/>
<constraints>
<constraint firstItem="x6S-1E-Rmc" firstAttribute="leading" secondItem="O1T-1R-Sun" secondAttribute="leading" id="Ddw-KF-zjP"/>
<constraint firstItem="O1T-1R-Sun" firstAttribute="bottom" secondItem="x6S-1E-Rmc" secondAttribute="bottom" id="arC-PG-Dhb"/>
<constraint firstItem="x6S-1E-Rmc" firstAttribute="trailing" secondItem="O1T-1R-Sun" secondAttribute="trailing" id="hzI-l9-Bog"/>
<constraint firstItem="x6S-1E-Rmc" firstAttribute="top" secondItem="O1T-1R-Sun" secondAttribute="top" id="thZ-2A-kLa"/>
</constraints>
<viewLayoutGuide key="safeArea" id="O1T-1R-Sun"/>
</view>
<navigationItem key="navigationItem" id="u3R-xM-tZG"/>
<connections>
<outlet property="contentLabel" destination="OHE-Xt-dXP" id="NX4-0e-fGm"/>
<outlet property="contentView" destination="MoG-ji-hov" id="8W5-Es-IzO"/>
<outlet property="dateLabel" destination="fT6-kB-U4e" id="Uuj-VD-n2h"/>
<outlet property="imageView" destination="vi3-zj-Dn3" id="Uc2-Yh-aWx"/>
<outlet property="titleLabel" destination="MTQ-OQ-Ne0" id="Qjy-V5-R16"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="847.20000000000005" y="232.53373313343329"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="CQd-Va-RBX">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="gPa-I4-mGd" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="0L8-61-CiB">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="HSb-ou-7T5" kind="relationship" relationship="rootViewController" id="PgS-7X-tKD"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="avi-Di-bLr" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-92" y="232.53373313343329"/>
</scene>
</scenes>
<resources>
<namedColor name="ThemeMainBackground">
<color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="ThemeSeparate">
<color red="0.82400000095367432" green="0.82400000095367432" blue="0.82400000095367432" 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>

97
GME Remit/Modules/Notice/DetailNotification/User Interface/View/DetailNotificationViewController.swift

@ -0,0 +1,97 @@
//
// DetailNotificationViewController.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
import RxSwift
import RxCocoa
class DetailNotificationViewController: UIViewController {
// MARK: Properties
var presenter: DetailNotificationPresenter!
private let disposeBag = DisposeBag()
// MARK: Computed Properties
// MARK: IBOutlets
@IBOutlet private weak var imageView: UIImageView!
@IBOutlet private weak var titleLabel: UILabel!
@IBOutlet private weak var contentLabel: UILabel!
@IBOutlet private weak var dateLabel: UILabel!
@IBOutlet private weak var contentView: UIView!
// MARK: VC's Life cycle
override func viewDidLoad() {
super.viewDidLoad()
setup()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
title = "Notice"
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
}
// MARK: IBActions
}
// MARK: Other Functions
extension DetailNotificationViewController {
private func setup() {
setUI()
setBinding()
setUIBinding()
}
private func setUI() {
}
private func setUIBinding() {
}
private func setBinding() {
let viewWillAppear = rx
.sentMessage(#selector(UIViewController.viewWillAppear(_:))).mapToVoid().asDriverOnErrorJustComplete()
let input = DetailNotificationPresenter.Input(
viewWillAppear: viewWillAppear
)
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)
output.model.map {$0.body}.drive(contentLabel.rx.text).disposed(by: disposeBag)
output.model.map {$0.date}.drive(dateLabel.rx.text).disposed(by: disposeBag)
output.model.map {$0.title ?? ""}.drive(titleLabel.rx.text).disposed(by: disposeBag)
output.model.map {$0.imageURL}.drive(onNext: {[weak self] in
guard let imageURL = $0, let url = URL(string: imageURL) else {
self?.imageView.isHidden = true
return
}
self?.showProgressHud()
self?.imageView.kf.setImage(with: url) { _ in
self?.hideProgressHud()
}
}).disposed(by: disposeBag)
}
}

48
GME Remit/Modules/Notice/DetailNotification/User Interface/Wireframe/DetailNotificationWireframe.swift

@ -0,0 +1,48 @@
//
// DetailNotificationWireframe.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
class DetailNotificationWireframe {
weak var view: UIViewController!
private var index = ""
}
extension DetailNotificationWireframe: DetailNotificationWireframeInput {
var storyboardName: String {return "DetailNotification"}
func getMainView() -> UIViewController {
let service = DetailNotificationService()
let interactor = DetailNotificationInteractor(service: service)
let presenter = DetailNotificationPresenter(index: self.index)
let viewController = viewControllerFromStoryboard(of: DetailNotificationViewController.self)
viewController.presenter = presenter
interactor.output = presenter
presenter.interactor = interactor
presenter.wireframe = self
view = viewController
return viewController
}
func push(with index: String, at viewController: UIViewController) {
self.index = index
let vc = getMainView()
viewController.navigationController?.pushViewController(vc, animated: true)
}
func open(with index: String, on viewController: UIViewController?) {
self.index = index
let vc = getMainView()
let naviVC = UINavigationController(rootViewController: vc)
viewController?.present(naviVC, animated: true)
}
}

13
GME Remit/Modules/Notice/DetailNotification/User Interface/Wireframe/DetailNotificationWireframeInput.swift

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

43
GME Remit/Modules/Notice/NotificationHistory/Application Logic/Interactor/NotificationHistoryInteractor.swift

@ -0,0 +1,43 @@
//
// NotificationHistoryInteractor.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class NotificationHistoryInteractor {
// MARK: Properties
weak var output: NotificationHistoryInteractorOutput?
private let service: NotificationHistoryServiceType
// MARK: Initialization
init(service: NotificationHistoryServiceType) {
self.service = service
}
}
// MARK: NotificationHistory interactor input interface
extension NotificationHistoryInteractor: NotificationHistoryInteractorInput {
func fetchNotices() {
service.fetchNotices(
success: {[weak self] in
self?.output?.setNotices(with: $0)
},
failure: {[weak self] in
self?.output?.setError(with: $0)
}
)
}
func detail(index: String) {
}
}

16
GME Remit/Modules/Notice/NotificationHistory/Application Logic/Interactor/NotificationHistoryInteractorIO.swift

@ -0,0 +1,16 @@
//
// NotificationHistoryInteractorIO.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol NotificationHistoryInteractorInput: class {
func fetchNotices()
}
protocol NotificationHistoryInteractorOutput: class {
func setNotices(with model: [NoticeModel])
func setError(with error: Error)
}

27
GME Remit/Modules/Notice/NotificationHistory/Application Logic/Model/NoticeModel.swift

@ -0,0 +1,27 @@
//
// NoticeModel.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
// Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import ObjectMapper
struct NoticeModel: Mappable {
var title: String?
var key: String?
var date: String?
var isRead: String?
init?(map: Map) {
}
mutating func mapping(map: Map) {
title <- map["title"]
key <- map["rowId"]
date <- map["createDate"]
isRead <- map["isRead"]
}
}

19
GME Remit/Modules/Notice/NotificationHistory/Application Logic/Service/NotificationHistoryService.swift

@ -0,0 +1,19 @@
//
// NotificationHistoryService.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
class NotificationHistoryService: NotificationHistoryServiceType {
func fetchNotices(
success: @escaping ([NoticeModel]) -> Void,
failure: @escaping (Error) -> Void
) {
APIRouter.getNotifyInfo.json(success: success, failure: failure)
}
}

14
GME Remit/Modules/Notice/NotificationHistory/Application Logic/Service/NotificationHistoryServiceType.swift

@ -0,0 +1,14 @@
//
// NotificationHistoryServiceType.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
protocol NotificationHistoryServiceType: class {
func fetchNotices(
success: @escaping ([NoticeModel]) -> Void,
failure: @escaping (Error) -> Void
)
}

68
GME Remit/Modules/Notice/NotificationHistory/User Interface/Presenter/NotificationHistoryPresenter.swift

@ -0,0 +1,68 @@
//
// NotificationHistoryPresenter.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import RxSwift
import RxCocoa
class NotificationHistoryPresenter: ViewModelType {
var interactor: NotificationHistoryInteractorInput?
var wireframe: NotificationHistoryWireframeInput?
struct Input {
let viewWillAppear: Driver<Void>
let selectNoticeIndex: Driver<Int>
}
struct Output {
let isError: Driver<Error>
let isProgress: Driver<Bool>
let models: Driver<[NoticeModel]>
}
private let disposeBag = DisposeBag()
private let progressLinker = PublishSubject<Bool>()
private let errorLinker = PublishSubject<Error>()
private let model = PublishSubject<[NoticeModel]>()
func transform(input: Input) -> Output {
input.viewWillAppear.drive(onNext: {[weak self] in
self?.progressLinker.onNext(true)
self?.interactor?.fetchNotices()
}).disposed(by: disposeBag)
input.selectNoticeIndex
.withLatestFrom(model.asDriverOnErrorJustComplete()) { (indexPath, notices) -> NoticeModel in
return notices[indexPath]
}
.drive(onNext: {[weak self] in
self?.wireframe?.detail(index: $0.key ?? "")
}).disposed(by: disposeBag)
return Output(
isError: errorLinker.asDriverOnErrorJustComplete(),
isProgress: progressLinker.asDriverOnErrorJustComplete(),
models: model.asDriverOnErrorJustComplete()
)
}
}
// MARK: NotificationHistory interactor output interface
extension NotificationHistoryPresenter: NotificationHistoryInteractorOutput {
func setNotices(with model: [NoticeModel]) {
progressLinker.onNext(false)
self.model.onNext(model)
}
func setError(with error: Error) {
progressLinker.onNext(false)
errorLinker.onNext(error)
}
}

25
GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationCell.swift

@ -0,0 +1,25 @@
//
// NotificationCell.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
// Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
class NotificationCell: UITableViewCell {
@IBOutlet private weak var titleLabel: UILabel!
@IBOutlet private weak var dateLabel: UILabel!
@IBOutlet private weak var newIconImageView: UIImageView!
func setModel(_ model: NoticeModel) {
newIconImageView.isHidden = false
titleLabel.text = model.title
dateLabel.text = model.date
newIconImageView.isHidden = model.isRead == "1"
}
}

179
GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistory.storyboard

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="kME-hR-NgN">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
<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>
<!--NotificationHistory-->
<scene sceneID="R60-Pu-Hpy">
<objects>
<viewController storyboardIdentifier="NotificationHistoryViewController" title="NotificationHistory" id="HSb-ou-7T5" customClass="NotificationHistoryViewController" 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>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="fmg-qn-Ab0">
<rect key="frame" x="0.0" y="44" width="375" height="623"/>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<color key="separatorColor" name="ThemeSeparate"/>
<inset key="separatorInset" minX="15" minY="0.0" maxX="15" maxY="0.0"/>
<view key="tableFooterView" contentMode="scaleToFill" id="dt8-5N-azE">
<rect key="frame" x="0.0" y="146" width="375" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="There is no notice" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hII-jh-P5Z">
<rect key="frame" x="123" y="12" width="129" height="20.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="17"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<constraints>
<constraint firstItem="hII-jh-P5Z" firstAttribute="centerX" secondItem="dt8-5N-azE" secondAttribute="centerX" id="aHt-jb-fDd"/>
<constraint firstItem="hII-jh-P5Z" firstAttribute="centerY" secondItem="dt8-5N-azE" secondAttribute="centerY" id="oMI-tR-I1e"/>
</constraints>
</view>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="NotificationCell" rowHeight="90" id="vWC-07-oo2" customClass="NotificationCell" customModule="GME_Remit" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="375" height="90"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="vWC-07-oo2" id="jsL-8r-w5O">
<rect key="frame" x="0.0" y="0.0" width="375" height="90"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="3Id-Zk-2a3">
<rect key="frame" x="20" y="16" width="315" height="58"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="nRW-4q-6W0">
<rect key="frame" x="0.0" y="0.0" width="315" height="38"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1FP-bq-7Wa">
<rect key="frame" x="0.0" y="0.0" width="36" height="38"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="19"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="new" translatesAutoresizingMaskIntoConstraints="NO" id="tgE-Ed-yVU">
<rect key="frame" x="41" y="0.0" width="20" height="38"/>
<constraints>
<constraint firstAttribute="width" constant="20" id="m7D-Ev-6yI"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CcW-YB-c6O">
<rect key="frame" x="66" y="0.0" width="249" height="38"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Date" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dwW-XM-PeE">
<rect key="frame" x="0.0" y="38" width="315" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="DCY-zs-RDF"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="right_arrow" translatesAutoresizingMaskIntoConstraints="NO" id="afR-Xv-eGp">
<rect key="frame" x="340" y="5" width="30" height="80"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="O5Q-I5-hSG"/>
</constraints>
</imageView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="afR-Xv-eGp" secondAttribute="trailing" constant="5" id="RAg-TC-MAk"/>
<constraint firstItem="afR-Xv-eGp" firstAttribute="top" secondItem="jsL-8r-w5O" secondAttribute="top" constant="5" id="YQb-wQ-soU"/>
<constraint firstItem="3Id-Zk-2a3" firstAttribute="top" secondItem="jsL-8r-w5O" secondAttribute="topMargin" constant="5" id="p0I-oM-urg"/>
<constraint firstAttribute="bottom" secondItem="afR-Xv-eGp" secondAttribute="bottom" constant="5" id="tR3-t1-gpm"/>
<constraint firstItem="afR-Xv-eGp" firstAttribute="leading" secondItem="3Id-Zk-2a3" secondAttribute="trailing" constant="5" id="wqz-N9-lGz"/>
<constraint firstItem="3Id-Zk-2a3" firstAttribute="leading" secondItem="jsL-8r-w5O" secondAttribute="leadingMargin" constant="5" id="zkO-2c-37b"/>
<constraint firstAttribute="bottomMargin" secondItem="3Id-Zk-2a3" secondAttribute="bottom" constant="5" id="zw9-nN-gfO"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="dateLabel" destination="dwW-XM-PeE" id="kd7-8a-HPB"/>
<outlet property="newIconImageView" destination="tgE-Ed-yVU" id="m1x-cJ-TPf"/>
<outlet property="titleLabel" destination="1FP-bq-7Wa" id="djE-Vd-glM"/>
</connections>
</tableViewCell>
</prototypes>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="fmg-qn-Ab0" firstAttribute="leading" secondItem="O1T-1R-Sun" secondAttribute="leading" id="Iab-am-UFi"/>
<constraint firstItem="fmg-qn-Ab0" firstAttribute="bottom" secondItem="O1T-1R-Sun" secondAttribute="bottom" id="XwH-KW-ADa"/>
<constraint firstItem="fmg-qn-Ab0" firstAttribute="trailing" secondItem="O1T-1R-Sun" secondAttribute="trailing" id="dSo-q4-mWS"/>
<constraint firstItem="fmg-qn-Ab0" firstAttribute="top" secondItem="O1T-1R-Sun" secondAttribute="top" id="wDW-Oa-CNU"/>
</constraints>
<viewLayoutGuide key="safeArea" id="O1T-1R-Sun"/>
</view>
<navigationItem key="navigationItem" id="XcP-xq-HWI">
<barButtonItem key="leftBarButtonItem" image="ic_cancel" id="XEy-ga-xCy">
<color key="tintColor" name="ThemeBlack"/>
</barButtonItem>
</navigationItem>
<connections>
<outlet property="closeButton" destination="XEy-ga-xCy" id="fu1-Tq-U4b"/>
<outlet property="noticeErrorLabel" destination="hII-jh-P5Z" id="Ahx-Pi-50w"/>
<outlet property="tableView" destination="fmg-qn-Ab0" id="gPt-cu-zgE"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8je-5K-XuW" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="847.20000000000005" y="232.53373313343329"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="JEL-xf-oXC">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="kME-hR-NgN" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="pfG-lS-Grr">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="HSb-ou-7T5" kind="relationship" relationship="rootViewController" id="gOl-2t-4dV"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="K2p-9I-q0r" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-92" y="232.53373313343329"/>
</scene>
</scenes>
<resources>
<image name="ic_cancel" width="12" height="12"/>
<image name="new" width="17" height="5"/>
<image name="right_arrow" width="128" height="128"/>
<namedColor name="ThemeBlack">
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</namedColor>
<namedColor name="ThemeSeparate">
<color red="0.82400000095367432" green="0.82400000095367432" blue="0.82400000095367432" 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>

109
GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistoryViewController.swift

@ -0,0 +1,109 @@
//
// NotificationHistoryViewController.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
import RxSwift
import RxCocoa
class NotificationHistoryViewController: UIViewController {
// MARK: Properties
var presenter: NotificationHistoryPresenter!
private let disposeBag = DisposeBag()
// MARK: Computed Properties
// MARK: IBOutlets
@IBOutlet private weak var tableView: UITableView!
@IBOutlet private weak var noticeErrorLabel: UILabel!
@IBOutlet private weak var closeButton: UIBarButtonItem!
// MARK: VC's Life cycle
override func viewDidLoad() {
super.viewDidLoad()
setup()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
setupNormalNavigation()
title = "Notice"
if self.presentingViewController == nil {
self.navigationItem.leftBarButtonItem = nil
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
title = ""
}
// MARK: IBActions
}
// MARK: Other Functions
extension NotificationHistoryViewController {
private func setup() {
setUI()
setBinding()
setUIBinding()
}
private func setUI() {
}
private func setUIBinding() {
closeButton.rx.tap.bind {[weak self] in
self?.dismiss(animated: true)
}.disposed(by: disposeBag)
}
private func setBinding() {
let viewWillAppear = rx.sentMessage(#selector(UIViewController.viewWillAppear(_:)))
.mapToVoid().asDriverOnErrorJustComplete()
let input = NotificationHistoryPresenter.Input(
viewWillAppear: viewWillAppear,
selectNoticeIndex: tableView.rx.itemSelected.map {$0.row}.asDriverOnErrorJustComplete()
)
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)
output
.models.drive(
tableView.rx.items(cellIdentifier: "NotificationCell")
) { (_, element: NoticeModel, cell: NotificationCell) in
cell.setModel(element)
}
.disposed(by: disposeBag)
output.models.map {$0.count != 0}.drive(noticeErrorLabel.rx.isHidden).disposed(by: disposeBag)
tableView.rx.setDelegate(self).disposed(by: disposeBag)
}
}
extension NotificationHistoryViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 90
}
}

44
GME Remit/Modules/Notice/NotificationHistory/User Interface/Wireframe/NotificationHistoryWireframe.swift

@ -0,0 +1,44 @@
//
// NotificationHistoryWireframe.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
class NotificationHistoryWireframe {
weak var view: UIViewController!
}
extension NotificationHistoryWireframe: NotificationHistoryWireframeInput {
var storyboardName: String {return "NotificationHistory"}
func getMainView() -> UIViewController {
let service = NotificationHistoryService()
let interactor = NotificationHistoryInteractor(service: service)
let presenter = NotificationHistoryPresenter()
let viewController = viewControllerFromStoryboard(of: NotificationHistoryViewController.self)
viewController.presenter = presenter
interactor.output = presenter
presenter.interactor = interactor
presenter.wireframe = self
view = viewController
return viewController
}
func detail(index: String) {
DetailNotificationWireframe().push(with: index, at: view)
}
func open(on viewController: UIViewController?) {
let vc = getMainView()
let naviVC = UINavigationController(rootViewController: vc)
viewController?.present(naviVC, animated: true)
}
}

13
GME Remit/Modules/Notice/NotificationHistory/User Interface/Wireframe/NotificationHistoryWireframeInput.swift

@ -0,0 +1,13 @@
//
// NotificationHistoryWireframeInput.swift
// GME Remit
//
// Created by InKwon James Kim on 2020/02/11.
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
//
import Foundation
protocol NotificationHistoryWireframeInput: WireframeInput {
func detail(index: String)
}

0
GME Remit/Modules/PopupNotification/Application Logic/Interactor/PopupNotificationInteractor.swift → GME Remit/Modules/Notice/PopupNotification/Application Logic/Interactor/PopupNotificationInteractor.swift

0
GME Remit/Modules/PopupNotification/Application Logic/Interactor/PopupNotificationInteractorIO.swift → GME Remit/Modules/Notice/PopupNotification/Application Logic/Interactor/PopupNotificationInteractorIO.swift

0
GME Remit/Modules/PopupNotification/Application Logic/Service/PopupNotificationService.swift → GME Remit/Modules/Notice/PopupNotification/Application Logic/Service/PopupNotificationService.swift

0
GME Remit/Modules/PopupNotification/Application Logic/Service/PopupNotificationServiceType.swift → GME Remit/Modules/Notice/PopupNotification/Application Logic/Service/PopupNotificationServiceType.swift

0
GME Remit/Modules/PopupNotification/Module Interface/PopupNotificationModuleInterface.swift → GME Remit/Modules/Notice/PopupNotification/Module Interface/PopupNotificationModuleInterface.swift

0
GME Remit/Modules/PopupNotification/User Interface/Presenter/PopupNotificationPresenter.swift → GME Remit/Modules/Notice/PopupNotification/User Interface/Presenter/PopupNotificationPresenter.swift

0
GME Remit/Modules/PopupNotification/User Interface/View/PopupNotification.storyboard → GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotification.storyboard

0
GME Remit/Modules/PopupNotification/User Interface/View/PopupNotificationViewController.swift → GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotificationViewController.swift

0
GME Remit/Modules/PopupNotification/User Interface/View/PopupNotificationViewInterface.swift → GME Remit/Modules/Notice/PopupNotification/User Interface/View/PopupNotificationViewInterface.swift

0
GME Remit/Modules/PopupNotification/User Interface/Wireframe/PopupNotificationWireframe.swift → GME Remit/Modules/Notice/PopupNotification/User Interface/Wireframe/PopupNotificationWireframe.swift

0
GME Remit/Modules/PopupNotification/User Interface/Wireframe/PopupNotificationWireframeInput.swift → GME Remit/Modules/Notice/PopupNotification/User Interface/Wireframe/PopupNotificationWireframeInput.swift

BIN
GME Remit/Modules/PopupNotification/User Interface/View/.DS_Store

BIN
GME Remit/Modules/PopupNotification/User Interface/Wireframe/.DS_Store

2
GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/Application Logic/Model/KYCInfromation.swift

@ -13,6 +13,7 @@ struct KYCInformation: Mappable {
var banks: [KJBank]?
var idTypes: [KeyValue]?
var branches: [KeyValue]?
var occupations: [KeyValue]?
var personalInformation: PersonalInformation?
var primaryInformation: PrimaryInformation?
@ -30,5 +31,6 @@ struct KYCInformation: Mappable {
personalInformation <- map["PersonalInformation"]
primaryInformation <- map["PrimaryInformation"]
pictures <- map["Pictures"]
occupations <- map["Occupation"]
}
}

7
GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/Application Logic/Model/PersonalInformation.swift

@ -15,6 +15,7 @@ struct PersonalInformation: Mappable {
var email: String?
var city: String?
var address: String?
var occupation: String?
var nativeCountry: String?
@ -25,6 +26,7 @@ struct PersonalInformation: Mappable {
email: String?,
city: String?,
address: String?,
occupation: String?,
nativeCountry: String?
) {
self.fullName = fullName
@ -34,6 +36,7 @@ struct PersonalInformation: Mappable {
self.city = city
self.address = address
self.nativeCountry = nativeCountry
self.occupation = occupation
}
init?(map: Map) {
@ -47,6 +50,7 @@ struct PersonalInformation: Mappable {
email <- map["email"]
city <- map["city"]
address <- map["address"]
occupation <- map["Occupation"]
nativeCountry <- map["nativeCountry"]
}
}
@ -59,7 +63,8 @@ extension PersonalInformation: Equatable {
lhs.dob == rhs.dob &&
lhs.email == rhs.email &&
lhs.city == rhs.city &&
lhs.address == rhs.address
lhs.address == rhs.address &&
lhs.occupation == rhs.occupation
}
}

43
GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/Presenter/NewRegisterStep1Presenter.swift

@ -30,6 +30,7 @@ class NewRegisterStep1Presenter: ViewModelType {
let email: Driver<String>
let city: Driver<KeyValue?>
let address: Driver<String>
let occupation: Driver<KeyValue?>
let isValidPersonalInfo: Driver<Bool>
let personalInfoSave: Driver<Void>
let editingPersonalInfo: Driver<Void>
@ -68,6 +69,7 @@ class NewRegisterStep1Presenter: ViewModelType {
let banks: Driver<[KJBank]?>
let idTypes: Driver<[KeyValue]?>
let branches: Driver<[KeyValue]?>
let occupations: Driver<[KeyValue]?>
let isSetPersonalInformation: Driver<Bool>
let isSetPrimaryInformation: Driver<Bool>
@ -91,24 +93,30 @@ class NewRegisterStep1Presenter: ViewModelType {
func transform(input: Input) -> Output {
let newPersonalInfo = Driver.combineLatest(
input.isValidPersonalInfo,
input.name,
input.gender,
input.dob,
input.email,
input.city,
input.address,
model.map {$0.personalInformation?.nativeCountry}.asDriverOnErrorJustComplete()
Driver.combineLatest(
input.name,
input.gender,
input.dob,
input.email,
input.city,
input.address,
input.occupation,
model.map {$0.personalInformation?.nativeCountry}.asDriverOnErrorJustComplete()
).map {(name, gender, dob, email, city, address, occupation, nativeCountry) -> PersonalInformation in
return PersonalInformation(
fullName: name,
gender: gender?.id,
dob: dob,
email: email,
city: city?.id,
address: address,
occupation: occupation?.id,
nativeCountry: nativeCountry
)
}
)
.map { (isValid, name, gender, dob, email, city, address, nativeCountry) -> PersonalInformation? in
return isValid ? PersonalInformation(
fullName: name,
gender: gender?.id,
dob: dob,
email: email,
city: city?.id,
address: address,
nativeCountry: nativeCountry
) : nil
.map { (isValid, info) -> PersonalInformation? in
return isValid ? info : nil
}
let newPrimaryInfo = Driver.combineLatest(
@ -286,6 +294,7 @@ class NewRegisterStep1Presenter: ViewModelType {
banks: model.map {$0.banks}.asDriverOnErrorJustComplete(),
idTypes: model.map {$0.idTypes}.asDriverOnErrorJustComplete(),
branches: model.map {$0.branches}.asDriverOnErrorJustComplete(),
occupations: model.map {$0.occupations}.asDriverOnErrorJustComplete(),
isSetPersonalInformation: isSetPersonalInformation,
isSetPrimaryInformation: isSetPrimaryInformation,
isSetPictureInformation: isSetPictureInformation,

33
GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/View/NewRegisterStep1.storyboard

@ -29,16 +29,16 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="2200"/>
<subviews>
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="594.5" translatesAutoresizingMaskIntoConstraints="NO" id="Eo4-5K-LDm">
<rect key="frame" x="0.0" y="0.0" width="375" height="1873"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="1926"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CjJ-RL-q3P">
<rect key="frame" x="10" y="10" width="355" height="1853"/>
<rect key="frame" x="10" y="10" width="355" height="1906"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="2uA-JL-3Oz">
<rect key="frame" x="20" y="20" width="315" height="1813"/>
<rect key="frame" x="20" y="20" width="315" height="1866"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="WvQ-u9-oWm">
<rect key="frame" x="0.0" y="0.0" width="315" height="448"/>
<rect key="frame" x="0.0" y="0.0" width="315" height="501"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="zg5-lF-TnN">
<rect key="frame" x="0.0" y="0.0" width="315" height="25"/>
@ -63,7 +63,7 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="Nzh-by-klV">
<rect key="frame" x="0.0" y="30" width="315" height="363"/>
<rect key="frame" x="0.0" y="30" width="315" height="416"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Full Name (Shown in your id card)" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="M26-6H-7g6" customClass="ValidationTextField" customModule="GME_Remit" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="315" height="45"/>
@ -181,8 +181,22 @@
</view>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KNi-XU-GwS">
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Occupation" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="H50-H1-yws" customClass="ValidationTextField" customModule="GME_Remit" customModuleProvider="target">
<rect key="frame" x="0.0" y="318" width="315" height="45"/>
<color key="textColor" name="ThemeText"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<textInputTraits key="textInputTraits" keyboardType="emailAddress"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="boolean" keyPath="isShowTitle" value="NO"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="isUseTitle" value="NO"/>
<userDefinedRuntimeAttribute type="boolean" keyPath="isLineHidden" value="NO"/>
<userDefinedRuntimeAttribute type="color" keyPath="leftImageTintColor">
<color key="value" name="ThemeText"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KNi-XU-GwS">
<rect key="frame" x="0.0" y="371" width="315" height="45"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@ -190,7 +204,7 @@
</subviews>
</stackView>
<stackView hidden="YES" opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="DHu-fa-OSA">
<rect key="frame" x="0.0" y="395.5" width="315" height="25"/>
<rect key="frame" x="0.0" y="448.5" width="315" height="25"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic-profile" translatesAutoresizingMaskIntoConstraints="NO" id="L7S-9h-oci">
<rect key="frame" x="0.0" y="0.0" width="25" height="25"/>
@ -211,7 +225,7 @@
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qut-dC-Nuf">
<rect key="frame" x="0.0" y="398" width="315" height="50"/>
<rect key="frame" x="0.0" y="451" width="315" height="50"/>
<color key="backgroundColor" name="ThemeRed"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="ShO-GZ-n8e"/>
@ -224,7 +238,7 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="zZG-kb-0IG">
<rect key="frame" x="0.0" y="453" width="315" height="1360"/>
<rect key="frame" x="0.0" y="506" width="315" height="1360"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="j3E-yb-vrP">
<rect key="frame" x="0.0" y="0.0" width="315" height="957"/>
@ -855,6 +869,7 @@
<outlet property="idIssueDateTextField" destination="uW4-Ta-5m9" id="emZ-oc-XVx"/>
<outlet property="idNumberTextField" destination="eJY-lP-END" id="b0Y-YN-uhy"/>
<outlet property="idTypeTextField" destination="Vhd-vk-O8D" id="p5d-BX-7Hf"/>
<outlet property="occupationTextField" destination="H50-H1-yws" id="PhV-iq-3tb"/>
<outlet property="passportContainerView" destination="1m8-OB-XBB" id="ONJ-wR-nGu"/>
<outlet property="passportExpiryDateTextField" destination="Mu4-CD-K1w" id="aXS-DF-nL9"/>
<outlet property="passportImageButton" destination="qou-bC-xTf" id="OmA-W8-P6p"/>

20
GME Remit/Modules/RegisterModules/UserAuthentication/NewRegisterStep1/User Interface/View/NewRegisterStep1ViewController.swift

@ -54,6 +54,7 @@ class NewRegisterStep1ViewController: UIViewController {
@IBOutlet private weak var genderTextField: ValidationTextField!
@IBOutlet private weak var dobTextField: ValidationTextField!
@IBOutlet private weak var emailTextField: ValidationTextField!
@IBOutlet private weak var occupationTextField: ValidationTextField!
@IBOutlet private weak var cityTextField: ValidationTextField!
@IBOutlet private weak var addressTextField: ValidationTextField!
@ -239,6 +240,7 @@ extension NewRegisterStep1ViewController {
emailTextField.validCondition = {$0.isEmail()}
cityTextField.validCondition = {!$0.isEmpty}
addressTextField.validCondition = {!$0.isEmpty && $0.count < 50}
occupationTextField.validCondition = {!$0.isEmpty}
bankTextField.validCondition = {!$0.isEmpty}
bankAccountTextField.validCondition = {!$0.isEmpty && $0.count > 9}
@ -422,7 +424,8 @@ extension NewRegisterStep1ViewController {
dobTextField.valid,
emailTextField.valid,
cityTextField.valid,
addressTextField.valid
addressTextField.valid,
occupationTextField.valid
]
).map { $0.allSatisfy { $0 } }
.distinctUntilChanged()
@ -463,7 +466,8 @@ extension NewRegisterStep1ViewController {
dobTextField.rx.controlEvent(.editingChanged),
emailTextField.rx.controlEvent(.editingChanged),
cityTextField.rx.controlEvent(.editingChanged),
addressTextField.rx.controlEvent(.editingChanged)
addressTextField.rx.controlEvent(.editingChanged),
occupationTextField.rx.controlEvent(.editingChanged)
).mapToVoid().asDriverOnErrorJustComplete()
let editingPrimaryInfo = Observable.combineLatest(
@ -499,6 +503,7 @@ extension NewRegisterStep1ViewController {
email: emailTextField.rx.text.orEmpty.asDriverOnErrorJustComplete(),
city: cityTextField.selectedItem.map {$0 as? KeyValue}.asDriverOnErrorJustComplete(),
address: addressTextField.rx.text.orEmpty.asDriverOnErrorJustComplete(),
occupation: occupationTextField.selectedItem.map {$0 as? KeyValue}.asDriverOnErrorJustComplete(),
isValidPersonalInfo: isValidPersonalInfo.asDriverOnErrorJustComplete(),
personalInfoSave: personalSaveButton.rx.tap.asDriverOnErrorJustComplete(),
@ -563,6 +568,11 @@ extension NewRegisterStep1ViewController {
self?.branchTextField.useAsDropDown(with: configure, items: $0)
}).disposed(by: disposeBag)
output.occupations.drive(onNext: {[weak self] in
let configure = TablePresenterConfiguration(presenterTitle: "occupation_placeholder_text".localized())
self?.occupationTextField.useAsDropDown(with: configure, items: $0)
}).disposed(by: disposeBag)
output.model.drive(onNext: {[weak self] model in
guard let personalInformation = model.personalInformation else { return }
@ -616,6 +626,10 @@ extension NewRegisterStep1ViewController {
item: model.cities?.first {$0.value == personalInformation.city}
)
self?.occupationTextField.didSelect(
item: model.occupations?.first {$0.id == personalInformation.occupation}
)
guard let primaryInformation = model.primaryInformation else { return }
self?.bankAccountTextField.text = primaryInformation.bankAccount
@ -751,6 +765,8 @@ extension NewRegisterStep1ViewController {
addressTextField.placeholder = "address_text".localized()
addressTextField.errorMessage = "address_error_text".localized()
occupationTextField.placeholder = "occupation_text".localized()
personalSaveButton.setTitle("save_and_continue_text".localized(), for: .normal)
bankInformationLabel.text = "korea_bank_infornation_text".localized()

2
GME Remit/Modules/RemittanceModules/InboundModules/InboundPennyTestSubmit/User Interface/Wireframe/InboundPennyTestSubmitWireframe.swift

@ -12,7 +12,7 @@ class InboundPennyTestSubmitWireframe {
weak var view: UIViewController!
private var model: PenneyTestRequest?
private var delegate: InboundPennyTestSubmitDelegate?
private weak var delegate: InboundPennyTestSubmitDelegate?
}
extension InboundPennyTestSubmitWireframe: InboundPennyTestSubmitWireframeInput {

4
GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard

@ -1,9 +1,9 @@
<?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" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
<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"/>

183
GME Remit/Modules/SideMenu/SideMenu.storyboard

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_0" orientation="portrait" appearance="dark"/>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina5_5" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
<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"/>
@ -28,20 +28,20 @@
<objects>
<viewController storyboardIdentifier="SideMenuViewController" id="XQF-oH-rUR" customClass="SideMenuViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="eQH-Ma-sSx">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZoG-VG-s0S" userLabel="SettingView">
<rect key="frame" x="3" y="20" width="314" height="528"/>
<rect key="frame" x="3" y="20" width="408" height="696"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="WpF-RW-2xZ">
<rect key="frame" x="35" y="10" width="259" height="508"/>
<rect key="frame" x="35" y="10" width="353" height="676"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qlG-Mh-Rkm" userLabel="User Information">
<rect key="frame" x="0.0" y="0.0" width="259" height="103"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="93.666666666666671"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="..." textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" translatesAutoresizingMaskIntoConstraints="NO" id="kdg-zQ-NIN">
<rect key="frame" x="0.0" y="10" width="181" height="43"/>
<rect key="frame" x="0.0" y="10" width="275" height="43"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="43" id="zNb-i9-nnG"/>
@ -51,14 +51,14 @@
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="VRX-3l-YiC">
<rect key="frame" x="189" y="16.5" width="70" height="70"/>
<rect key="frame" x="283" y="12" width="70" height="70"/>
<constraints>
<constraint firstAttribute="height" constant="70" id="Dki-tq-6kK"/>
<constraint firstAttribute="width" constant="70" id="GJV-Wr-7AM"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="...." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="7" translatesAutoresizingMaskIntoConstraints="NO" id="QNQ-s6-P5E">
<rect key="frame" x="0.0" y="61" width="181" height="17"/>
<rect key="frame" x="0.0" y="61" width="275" height="17"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="lMU-0b-sbd"/>
@ -68,7 +68,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="....." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="7" translatesAutoresizingMaskIntoConstraints="NO" id="SdX-nR-jpH">
<rect key="frame" x="0.0" y="86" width="19.5" height="17"/>
<rect key="frame" x="0.0" y="86" width="19.666666666666668" height="17"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="dRD-RB-xrC"/>
@ -78,7 +78,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Xh-pG-j5B">
<rect key="frame" x="189" y="16.5" width="70" height="70"/>
<rect key="frame" x="283" y="12" width="70" height="70"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="70" id="7By-jI-fRZ"/>
@ -93,7 +93,7 @@
<constraints>
<constraint firstItem="SdX-nR-jpH" firstAttribute="leading" secondItem="qlG-Mh-Rkm" secondAttribute="leading" id="3bC-yk-UuL"/>
<constraint firstItem="9Xh-pG-j5B" firstAttribute="leading" secondItem="kdg-zQ-NIN" secondAttribute="trailing" constant="8" id="5ql-8f-pp2"/>
<constraint firstAttribute="bottom" secondItem="SdX-nR-jpH" secondAttribute="bottom" id="8rz-BJ-v7M"/>
<constraint firstAttribute="bottom" relation="lessThanOrEqual" secondItem="SdX-nR-jpH" secondAttribute="bottom" constant="20" id="8rz-BJ-v7M"/>
<constraint firstAttribute="trailing" secondItem="9Xh-pG-j5B" secondAttribute="trailing" id="IHz-cw-Sx5"/>
<constraint firstItem="kdg-zQ-NIN" firstAttribute="top" secondItem="qlG-Mh-Rkm" secondAttribute="top" constant="10" id="K2S-ZP-QEA"/>
<constraint firstItem="QNQ-s6-P5E" firstAttribute="leading" secondItem="qlG-Mh-Rkm" secondAttribute="leading" id="QVu-TW-2G9"/>
@ -107,11 +107,56 @@
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="SdX-nR-jpH" secondAttribute="trailing" constant="5" id="vzF-7m-gyt"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Y5B-FC-zmT">
<rect key="frame" x="0.0" y="103.66666666666666" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="rcm-gj-sWM">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xwK-gc-4NE">
<rect key="frame" x="0.0" y="0.0" width="15" height="12.333333333333334"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="notice" translatesAutoresizingMaskIntoConstraints="NO" id="ZIC-bD-rBv">
<rect key="frame" x="0.0" y="12.333333333333343" width="15" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="e9e-uY-NMn"/>
<constraint firstAttribute="width" constant="15" id="w9M-ef-1yw"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nYw-XC-zPd">
<rect key="frame" x="0.0" y="32.333333333333343" width="15" height="12.666666666666664"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="xwK-gc-4NE" firstAttribute="height" secondItem="nYw-XC-zPd" secondAttribute="height" id="CYa-H7-0pi"/>
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aup-J7-yCM">
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<constraints>
<constraint firstAttribute="height" relation="lessThanOrEqual" constant="45" id="8B2-rW-G2V"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="14"/>
<state key="normal" title="Notice">
<color key="titleColor" name="ThemeText"/>
</state>
<connections>
<action selector="touchNoticeButton:" destination="XQF-oH-rUR" eventType="touchUpInside" id="hma-f9-jru"/>
</connections>
</button>
</subviews>
</stackView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qno-ee-zHM">
<rect key="frame" x="0.0" y="113" width="259" height="20.5"/>
<rect key="frame" x="0.0" y="158.66666666666666" width="353" height="0.33333333333334281"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ued-zS-9Yo" userLabel="seperator">
<rect key="frame" x="0.0" y="20" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.33333333333333331"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="FXh-1J-mPa"/>
@ -120,35 +165,35 @@
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Ued-zS-9Yo" firstAttribute="top" secondItem="qno-ee-zHM" secondAttribute="top" constant="20" id="84D-I8-CDY"/>
<constraint firstItem="Ued-zS-9Yo" firstAttribute="top" secondItem="qno-ee-zHM" secondAttribute="top" id="84D-I8-CDY"/>
<constraint firstAttribute="bottom" secondItem="Ued-zS-9Yo" secondAttribute="bottom" id="F8g-Bd-x9N"/>
<constraint firstItem="Ued-zS-9Yo" firstAttribute="leading" secondItem="qno-ee-zHM" secondAttribute="leading" id="eWc-TA-OQj"/>
<constraint firstAttribute="trailing" secondItem="Ued-zS-9Yo" secondAttribute="trailing" id="g3N-QI-cif"/>
</constraints>
</view>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="BLa-d5-Z4p">
<rect key="frame" x="0.0" y="143.5" width="259" height="345"/>
<rect key="frame" x="0.0" y="169" width="353" height="345"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="hGN-h7-THC">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="gqh-Wo-OTx">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="ACD-Os-Kmg">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="3g3-sx-skI">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0va-Ca-iYx">
<rect key="frame" x="0.0" y="0.0" width="15" height="10.5"/>
<rect key="frame" x="0.0" y="0.0" width="15" height="13"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sm_managet_accounts" translatesAutoresizingMaskIntoConstraints="NO" id="Ztf-HT-Cjt">
<rect key="frame" x="0.0" y="10.5" width="15" height="15"/>
<rect key="frame" x="0.0" y="13" width="15" height="15"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="Cix-mS-byK"/>
@ -156,7 +201,7 @@
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HfL-f9-uDZ">
<rect key="frame" x="0.0" y="25.5" width="15" height="19.5"/>
<rect key="frame" x="0.0" y="28" width="15" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@ -164,7 +209,7 @@
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1gS-9y-0Ch">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Auto Debit Account">
@ -179,7 +224,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eh6-ga-Abj" userLabel="ManageAccountSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="UXX-U8-hbb"/>
@ -188,25 +233,25 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="rsv-Ul-7Hc">
<rect key="frame" x="0.0" y="50" width="259" height="45"/>
<rect key="frame" x="0.0" y="50" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="dbw-t8-DgY">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="kwd-FT-p8U">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="JjV-Ef-OIi">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ipg-dd-oaB">
<rect key="frame" x="0.0" y="0.0" width="15" height="10.5"/>
<rect key="frame" x="0.0" y="0.0" width="15" height="13"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sm_managet_accounts" translatesAutoresizingMaskIntoConstraints="NO" id="0uv-Wu-2GP">
<rect key="frame" x="0.0" y="10.5" width="15" height="15"/>
<rect key="frame" x="0.0" y="13" width="15" height="15"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="15" id="v2C-4e-lP0"/>
@ -214,7 +259,7 @@
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SPi-rZ-Mcf">
<rect key="frame" x="0.0" y="25.5" width="15" height="19.5"/>
<rect key="frame" x="0.0" y="28" width="15" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@ -222,7 +267,7 @@
</subviews>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rMB-sm-fJW">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Inbound Account">
@ -237,7 +282,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SqX-jn-r3W" userLabel="ManageAccountSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="k2W-VG-rF7"/>
@ -246,10 +291,10 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="4mS-U9-2Dv" userLabel="TransactionHistoryStackView">
<rect key="frame" x="0.0" y="100" width="259" height="45"/>
<rect key="frame" x="0.0" y="100" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="AqX-Cz-WVF">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="ED2-im-yQb">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
@ -280,7 +325,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WBh-cb-774">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Transaction History">
@ -293,7 +338,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8HX-jB-3tZ" userLabel="AboutGmeSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="SrR-qV-Fgs"/>
@ -302,10 +347,10 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="0e6-jG-YRX" userLabel="RechargeHistoryStackView">
<rect key="frame" x="0.0" y="150" width="259" height="45"/>
<rect key="frame" x="0.0" y="150" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="Hli-q8-D8L">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="P0O-Gp-TaV">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
@ -336,7 +381,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QW4-Sc-rr0">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Recharge History">
@ -349,7 +394,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qPY-KG-EOo" userLabel="AboutGmeSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="vYC-3A-MUJ"/>
@ -358,10 +403,10 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="zdy-H8-A2J" userLabel="AboutStackView">
<rect key="frame" x="0.0" y="200" width="259" height="45"/>
<rect key="frame" x="0.0" y="200" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="yDy-I4-DNz">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="xME-i3-f96">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
@ -392,7 +437,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="g04-2C-I0o">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="About GME">
@ -405,7 +450,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hQl-qv-c6G" userLabel="AboutGmeSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="ZgE-Ci-tpW"/>
@ -418,10 +463,10 @@
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="4oZ-AQ-PlP" userLabel="SettingStack View">
<rect key="frame" x="0.0" y="250" width="259" height="45"/>
<rect key="frame" x="0.0" y="250" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="WQs-jK-tRN">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="LwM-wN-KJw">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
@ -452,7 +497,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="74r-QV-rod">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Settings">
@ -465,7 +510,7 @@
</subviews>
</stackView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UkR-Y2-CxP" userLabel="settingSeperator">
<rect key="frame" x="0.0" y="0.0" width="259" height="0.5"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="0.66666666666666663"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="xmn-0D-mvC"/>
@ -474,10 +519,10 @@
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="giG-3U-czb" userLabel="LogOutStackView">
<rect key="frame" x="0.0" y="300" width="259" height="45"/>
<rect key="frame" x="0.0" y="300" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="EEp-Ts-pi0">
<rect key="frame" x="0.0" y="0.0" width="259" height="45"/>
<rect key="frame" x="0.0" y="0.0" width="353" height="45"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="0qN-Pf-UqP">
<rect key="frame" x="0.0" y="0.0" width="15" height="45"/>
@ -509,7 +554,7 @@
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tWd-gc-RoZ">
<rect key="frame" x="30" y="0.0" width="229" height="45"/>
<rect key="frame" x="30" y="0.0" width="323" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="SanFranciscoText-Regular" family="San Francisco Text" pointSize="14"/>
<state key="normal" title="Logout">
@ -526,7 +571,7 @@
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="249" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EKL-KH-blC">
<rect key="frame" x="0.0" y="498.5" width="259" height="9.5"/>
<rect key="frame" x="0.0" y="524" width="353" height="152"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
@ -566,6 +611,7 @@
<outlet property="logoutButton" destination="tWd-gc-RoZ" id="Syz-09-xc9"/>
<outlet property="logoutIconImageView" destination="e9b-RT-ZHE" id="sHU-dt-3Yv"/>
<outlet property="manageAccountStackView" destination="hGN-h7-THC" id="Jw4-OX-3u5"/>
<outlet property="noticeButton" destination="aup-J7-yCM" id="Bm8-g0-2yP"/>
<outlet property="rechargeHistoryButton" destination="QW4-Sc-rr0" id="4dX-pS-YbU"/>
<outlet property="roundedBgView" destination="ZoG-VG-s0S" id="pCf-XI-BrX"/>
<outlet property="settingButton" destination="74r-QV-rod" id="Cj9-bK-J5D"/>
@ -582,20 +628,20 @@
<objects>
<viewController storyboardIdentifier="AboutGMEViewController" id="Yhd-pK-olD" customClass="AboutGMEViewController" customModule="GME_Remit" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Xko-Ko-ZKv">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HZI-NH-KSH">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
<subviews>
<view contentMode="scaleToFill" placeholderIntrinsicWidth="375" placeholderIntrinsicHeight="667" translatesAutoresizingMaskIntoConstraints="NO" id="iFf-7f-Hxa">
<rect key="frame" x="0.0" y="0.0" width="320" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="667"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6iy-En-3n0">
<rect key="frame" x="0.0" y="0.0" width="320" height="116"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="116"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="splash_logo" translatesAutoresizingMaskIntoConstraints="NO" id="ZFj-QW-tAj">
<rect key="frame" x="-6" y="16" width="332" height="94"/>
<rect key="frame" x="41" y="16" width="332" height="94"/>
</imageView>
</subviews>
<color key="backgroundColor" name="ThemeRedDark"/>
@ -606,37 +652,37 @@
</constraints>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="settingsLogo" translatesAutoresizingMaskIntoConstraints="NO" id="tq5-nv-adM">
<rect key="frame" x="-4" y="148.5" width="328" height="138"/>
<rect key="frame" x="43" y="148.33333333333334" width="328" height="138.00000000000003"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AYM-92-crE">
<rect key="frame" x="34" y="314.5" width="252" height="168"/>
<rect key="frame" x="34" y="314.66666666666669" width="346" height="112"/>
<string key="text">We are licensed by Ministry of Strategy &amp; Finance to operate as the first Non-Bank Remittance Service providers in South Korea. Meeting all compliance regulations set forward by the regulators was a tough journey but today we feel proud about what we have achieved and how robust our operations are as a result of the hard work completed earlier. We are now ready with a 100% compliant and secured system that guarantees your money will arrive safely in right hands every single time.</string>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BjH-0j-TVc" userLabel="Border">
<rect key="frame" x="0.0" y="503" width="320" height="0.5"/>
<rect key="frame" x="0.0" y="447" width="414" height="0.66666666666668561"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="K7M-cd-xsc"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="App Version" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E3H-nn-Nvh">
<rect key="frame" x="34" y="516.5" width="252" height="14"/>
<rect key="frame" x="34" y="460.66666666666669" width="346" height="14"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Semibold" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.92549019610000005" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1.0.1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cKU-hx-ROy">
<rect key="frame" x="34" y="537.5" width="252" height="14"/>
<rect key="frame" x="34" y="481.66666666666669" width="346" height="14"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" name="ThemeText"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Oak-ca-Ggm" userLabel="Border">
<rect key="frame" x="0.0" y="575" width="320" height="0.5"/>
<rect key="frame" x="0.0" y="519" width="414" height="0.66666666666662877"/>
<color key="backgroundColor" name="ThemeSeparate"/>
<constraints>
<constraint firstAttribute="height" constant="0.5" id="Xei-YO-zkT"/>
@ -644,13 +690,13 @@
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Follow us on" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bfv-Bk-7vq">
<rect key="frame" x="34" y="586.5" width="252" height="14"/>
<rect key="frame" x="34" y="530.66666666666663" width="346" height="14"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Semibold" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.92549019610000005" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kyg-Lw-v7u">
<rect key="frame" x="185" y="534.5" width="117" height="25"/>
<rect key="frame" x="279" y="478.66666666666669" width="117" height="25"/>
<color key="backgroundColor" red="0.90588235289999997" green="0.92941176469999998" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="width" constant="117" id="Bly-5e-PN8"/>
@ -670,7 +716,7 @@
</connections>
</button>
<stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="IFe-rR-lRI">
<rect key="frame" x="34" y="611" width="25" height="25"/>
<rect key="frame" x="34" y="555" width="25" height="25"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j8X-Fa-EPV">
<rect key="frame" x="0.0" y="0.0" width="25" height="25"/>
@ -763,13 +809,14 @@
</scene>
</scenes>
<resources>
<image name="notice" width="64" height="64"/>
<image name="settingsAbout" width="15" height="15"/>
<image name="settingsFacebook" width="25" height="25"/>
<image name="settingsLinkedin" width="25" height="25"/>
<image name="settingsLogo" width="164" height="69"/>
<image name="settingsLogout" width="15" height="13"/>
<image name="settingsSetting" width="15" height="16"/>
<image name="sm_managet_accounts" width="27" height="22.5"/>
<image name="sm_managet_accounts" width="18" height="15"/>
<image name="sm_txn_report 2" width="64" height="64"/>
<image name="splash_logo" width="166" height="47"/>
<namedColor name="ThemeMainBackground">

8
GME Remit/Modules/SideMenu/SideMenuViewController.swift

@ -52,6 +52,7 @@ class SideMenuViewController: UIViewController {
case rechargeHistory
case about
case setting
case notice
}
// @IBOutlets
@ -74,6 +75,8 @@ class SideMenuViewController: UIViewController {
@IBOutlet weak var transactionHistryButton: UIButton!
@IBOutlet weak var rechargeHistoryButton: UIButton!
@IBOutlet weak var inboundAccountStackView: UIStackView!
@IBOutlet weak var noticeButton: UIButton!
weak var sideMenuDelegate: SideMenuDelegate?
@ -205,6 +208,11 @@ class SideMenuViewController: UIViewController {
sideMenuDelegate?.didSelectMenu(self, didSelectMenu: .setting)
}
@IBAction func touchNoticeButton(_ sender: UIButton) {
self.sideMenuController?.hideLeftView()
sideMenuDelegate?.didSelectMenu(self, didSelectMenu: .notice)
}
@IBAction func logout(_ sender: Any) {
alertWithOkCancel(
type: .normal,

21
GME Remit/Supported Files/Assets.xcassets/ic_account.imageset/Contents 2.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/ic_account.imageset/ic_account 2.png

After

Width: 100  |  Height: 66  |  Size: 3.4 KiB

21
GME Remit/Supported Files/Assets.xcassets/ic_koreaBankBig.imageset/Contents 2.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/ic_koreaBankBig.imageset/ic_koreaBank 2.png

After

Width: 48  |  Height: 46  |  Size: 731 B

6
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Contents 2.json

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Information 3.png

After

Width: 512  |  Height: 512  |  Size: 23 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/Information.imageset/Information 4.png

After

Width: 512  |  Height: 512  |  Size: 23 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/address 3.png

After

Width: 512  |  Height: 512  |  Size: 27 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/address.imageset/address 4.png

After

Width: 512  |  Height: 512  |  Size: 27 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/asia 3.png

After

Width: 512  |  Height: 512  |  Size: 51 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/asia.imageset/asia 4.png

After

Width: 512  |  Height: 512  |  Size: 51 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/Contents 3.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"
}
}

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/call.imageset/Contents 4.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/icons/NewRegistration/call.imageset/call 3.png

After

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

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

After

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/dob 3.png

After

Width: 512  |  Height: 512  |  Size: 59 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/dob.imageset/dob 4.png

After

Width: 512  |  Height: 512  |  Size: 59 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/email 3.png

After

Width: 512  |  Height: 512  |  Size: 40 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/email.imageset/email 4.png

After

Width: 512  |  Height: 512  |  Size: 40 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/gender 3.png

After

Width: 256  |  Height: 256  |  Size: 19 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gender.imageset/gender 4.png

After

Width: 256  |  Height: 256  |  Size: 19 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/gps 3.png

After

Width: 512  |  Height: 512  |  Size: 19 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/gps.imageset/gps 4.png

After

Width: 512  |  Height: 512  |  Size: 19 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/ic_alien_card 3.png

After

Width: 512  |  Height: 512  |  Size: 22 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_alien_card.imageset/ic_alien_card 4.png

After

Width: 512  |  Height: 512  |  Size: 22 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/ic_another_id_picture 3.png

After

Width: 512  |  Height: 512  |  Size: 17 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_another_id_picture.imageset/ic_another_id_picture 4.png

After

Width: 512  |  Height: 512  |  Size: 17 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/ic_driving_license 3.png

After

Width: 512  |  Height: 512  |  Size: 19 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_driving_license.imageset/ic_driving_license 4.png

After

Width: 512  |  Height: 512  |  Size: 19 KiB

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/Contents 3.json

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

21
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/Contents 4.json

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

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/ic_koreaBank 3.png

After

Width: 100  |  Height: 66  |  Size: 1.9 KiB

BIN
GME Remit/Supported Files/Assets.xcassets/icons/NewRegistration/ic_koreaBank.imageset/ic_koreaBank 4.png

After

Width: 100  |  Height: 66  |  Size: 1.9 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save