Browse Source

change UI

pull/1/head
InKwon James Kim 5 years ago
parent
commit
de44c9c50c
  1. 13
      GMERemittance/AppDelegate.swift
  2. 119
      GMERemittance/Extension/UIViewControllerExtension.swift
  3. 4
      GMERemittance/Library/WebLinks/WkWebView/WKWebView.storyboard
  4. 20
      GMERemittance/Module/AutoDebitModules/AddAccount/User Interface/View/AddAccount.storyboard
  5. 6
      GMERemittance/Module/AutoDebitModules/AddAccount/User Interface/View/AddAccountViewController.swift
  6. 59
      GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebit.storyboard
  7. 8
      GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebitTableViewCell.swift
  8. 4
      GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebitViewController.swift
  9. 20
      GMERemittance/Module/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthentication.storyboard
  10. 40
      GMERemittance/Module/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift
  11. 10
      GMERemittance/Module/BiometricAuthModules/BiometricAuthenticationNotification/User Interface/View/BiometricAuthenticationNotification.storyboard
  12. 4
      GMERemittance/Module/BiometricAuthModules/BiometricAuthenticationNotification/User Interface/View/BiometricAuthenticationNotificationViewController.swift
  13. 3
      GMERemittance/Module/Login/User Interface/View/LoginViewController.swift
  14. 25
      GMERemittance/Module/Main/User Interface/Wireframe/MainWireframe.swift
  15. 18
      GMERemittance/Module/RewardModules/Reward/User Interface/View/Reward.storyboard
  16. 4
      GMERemittance/Module/RewardModules/RewardGroup/User Interface/View/RewardGroup.storyboard
  17. 9
      GMERemittance/Module/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift
  18. 4
      GMERemittance/Module/SideMenu/SettingViewController.swift
  19. 36
      GMERemittance/Module/SideMenu/SideMenuViewController.swift
  20. 6
      GMERemittance/Utility/GMEAlert/GMEAlertViewController.swift
  21. 6
      GMERemittance/Utility/SecureKeypad.swift
  22. 2
      bn.lproj/Localizable.strings
  23. 2
      en.lproj/Localizable.strings
  24. 2
      id.lproj/Localizable.strings
  25. 2
      km.lproj/Localizable.strings
  26. 2
      ko.lproj/Localizable.strings
  27. 2
      ne.lproj/Localizable.strings

13
GMERemittance/AppDelegate.swift

@ -20,7 +20,7 @@ import IQKeyboardManagerSwift
import LGSideMenuController
import Localize_Swift
let server: Server = .kftcTest
let server: Server = .stagging
var overlayView: UIView?
@UIApplicationMain
@ -252,11 +252,9 @@ extension AppDelegate: MessagingDelegate {
// MARK: - BiometricAuthenticationViewControllerDelegate
extension AppDelegate: BiometricAuthenticationViewControllerDelegate{
func viewController(
_ viewController: BiometricAuthenticationViewController,
informationTitleLabel titleLabel: UILabel
) {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel, authenticationButton button: UIButton) {
titleLabel.text = "bio_login_intro_text".localized()
button.setTitle("login_text".localized(), for: .normal)
}
func didComplete(_ viewController: BiometricAuthenticationViewController) {
@ -275,11 +273,6 @@ extension AppDelegate: BiometricAuthenticationViewControllerDelegate{
switch error {
case .biometryNotAvailable, .userFallback:
let secureKeypad = SecureKeypad(target: viewController)
secureKeypad.title = "Password of your account"
secureKeypad.placeholder = "Enter your password for login"
secureKeypad.placeholderFont = UIFont(name: "Arial", size: 15)
secureKeypad.delegate = self
secureKeypad.present(animated: true)

119
GMERemittance/Extension/UIViewControllerExtension.swift

@ -46,36 +46,37 @@ extension UIViewController {
case normal
}
func alert(
type: AlertType = .error,
type: AlertType = .normal,
message: String?,
title: String = "alert_text".localized(),
title: String? = nil,
rightButtomTitle: String = "ok_text".localized(),
okAction: (()->())? = nil
) {
let alertController = getAlert(
type: type,
message: message,
title: title
)
alertController.addAction(title: "ok_text".localized(), handler: okAction)
okAction: (() -> Void)? = nil
) {
let settedTitle: String
switch type {
case .normal:
settedTitle = title == nil ? "alert_text".localized() : title!
case .error:
settedTitle = title == nil ? "error_text".localized() : title!
}
gmeAlert(
type: type,
title: title,
title: settedTitle,
message: message,
rightButtonTitle: rightButtomTitle,
leftButtonTitle: nil,
rightButtonAction: okAction,
leftButtonAction: nil
)
// self.present(alertController, animated: true, completion: nil)
}
func alertWithOkCancel(
type: AlertType = .normal,
message: String?,
title: String = "Error",
title: String? = nil,
okTitle: String = "ok_text".localized(),
style: UIAlertControllerStyle? = .alert,
cancelTitle: String = "cancel_text".localized(),
@ -85,60 +86,56 @@ extension UIViewController {
cancelAction: (()->())? = nil
) {
let alertController = getAlert(
type: type,
message: message,
title: title,
style: style
)
let cancelAlertAction = UIAlertAction(title: cancelTitle, style: cancelStyle, handler: {_ in
cancelAction?()
})
let settedTitle: String
let okAlertAction = UIAlertAction(title: okTitle, style: OkStyle, handler: {_ in
okAction?()
})
switch type {
case .normal:
settedTitle = title == nil ? "alert_text".localized() : title!
cancelAlertAction.setValue(UIColor.black, forKey: "titleTextColor")
okAlertAction.setValue(UIColor.black, forKey: "titleTextColor")
alertController.addAction(cancelAlertAction)
alertController.addAction(okAlertAction)
case .error:
settedTitle = title == nil ? "error_text".localized() : title!
}
gmeAlert(
type: type,
title: title,
title: settedTitle,
message: message,
rightButtonTitle: okTitle,
leftButtonTitle: cancelTitle,
rightButtonAction: okAction,
leftButtonAction: cancelAction
)
// noAction.setValue(UIColor.black, forKey: "titleTextColor")
// self.present(alertController, animated: true, completion: nil)
}
func alertWithOk(
type: AlertType = .error,
type: AlertType = .normal,
message: String?,
title: String? = "Error",
okTitle: String? = "ok_text".localized(),
title: String? = nil,
okTitle: String = "ok_text".localized(),
style: UIAlertControllerStyle? = .alert,
OkStyle: UIAlertActionStyle = .default,
okAction: (()->())? = nil
) {
let settedTitle: String
switch type {
case .normal:
settedTitle = title == nil ? "alert_text".localized() : title!
case .error:
settedTitle = title == nil ? "error_text".localized() : title!
}
let alertController = getAlert(
gmeAlert(
type: type,
title: settedTitle,
message: message,
title: title,
style: style
rightButtonTitle: okTitle,
leftButtonTitle: nil,
rightButtonAction: okAction,
leftButtonAction: nil
)
alertController.addAction(title: okTitle,style: OkStyle, handler: okAction)
self.present(alertController, animated: true, completion: nil)
}
private func getAlert(
@ -201,6 +198,7 @@ extension UIViewController {
}
let gmeAlertVC = GMEAlertViewController(
type: type,
title: titleText,
message: message,
rightButtonTitle: rightButtonTitle,
@ -277,3 +275,36 @@ extension UIViewController {
// [NSAttributedStringKey.font: font]
}
}
extension UIViewController {
private static var progressView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 2))
func setPercent(with percent: CGFloat) {
UIViewController.progressView.removeFromSuperview()
view.addSubview(UIViewController.progressView)
print("progress: \(percent)")
UIViewController.progressView.backgroundColor = AppConstants.themeRedColor
let width = view.frame.width * percent
UIView.animate(
withDuration: 0.5,
animations: {
UIViewController.progressView.frame = CGRect(x: 0, y: 0, width: width, height: 2)
},
completion: { _ in
if width == self.view.frame.width {
UIView.animate(
withDuration: 0.2,
animations: {
UIViewController.progressView.alpha = 0.0
},
completion: { _ in
UIViewController.progressView.frame = CGRect(x: 0, y: 0, width: 0, height: 2)
UIViewController.progressView.alpha = 1.0
})
}
}
)
}
}

4
GMERemittance/Library/WebLinks/WkWebView/WKWebView.storyboard

@ -21,8 +21,8 @@
<viewLayoutGuide key="safeArea" id="Lea-Xa-Pyv"/>
</view>
<navigationItem key="navigationItem" id="6vb-bC-T1D">
<barButtonItem key="leftBarButtonItem" title="Close" id="dbg-t3-cjc">
<color key="tintColor" red="0.92941176469999998" green="0.1137254902" blue="0.1960784314" alpha="1" colorSpace="calibratedRGB"/>
<barButtonItem key="leftBarButtonItem" systemItem="stop" id="dbg-t3-cjc">
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="touchCloseButton:" destination="5lk-h3-UEb" id="qBz-nF-Q8Y"/>
</connections>

20
GMERemittance/Module/AutoDebitModules/AddAccount/User Interface/View/AddAccount.storyboard

@ -37,13 +37,13 @@
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="equalSpacing" spacing="25" translatesAutoresizingMaskIntoConstraints="NO" id="3ai-n4-gBZ" userLabel="ContentsView">
<rect key="frame" x="26" y="134" width="323" height="140"/>
<rect key="frame" x="26" y="134" width="323" height="193"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="RZW-X0-sHf" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="0.0" width="323" height="30"/>
<rect key="frame" x="0.0" y="0.0" width="323" height="47.5"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" red="0.43529412150000002" green="0.4431372583" blue="0.47450980539999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits" autocorrectionType="no"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="string" keyPath="placeholder" value="Select your bank"/>
@ -52,9 +52,9 @@
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="8ga-Pj-fFb" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="55" width="323" height="30"/>
<rect key="frame" x="0.0" y="72.5" width="323" height="47.5"/>
<color key="textColor" red="0.43529412150000002" green="0.4431372583" blue="0.47450980539999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="string" keyPath="placeholder" value="Enter your bank account number"/>
@ -64,10 +64,10 @@
</userDefinedRuntimeAttributes>
</textField>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="1Ca-e4-yFh" customClass="ValidationTextField" customModule="ValidationTextField">
<rect key="frame" x="0.0" y="110" width="323" height="30"/>
<rect key="frame" x="0.0" y="145" width="323" height="48"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" red="0.43529412150000002" green="0.4431372583" blue="0.47450980539999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="15"/>
<textInputTraits key="textInputTraits" autocorrectionType="no"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="string" keyPath="placeholder" value="Select Language"/>
@ -86,7 +86,7 @@
</constraints>
</stackView>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bm7-r1-NLR">
<rect key="frame" x="26" y="299" width="323" height="50"/>
<rect key="frame" x="26" y="352" width="323" height="50"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="WQG-ti-fgK"/>
@ -115,8 +115,8 @@
<viewLayoutGuide key="safeArea" id="dsk-C1-OvC"/>
</view>
<navigationItem key="navigationItem" id="R9L-Ab-HBv">
<barButtonItem key="leftBarButtonItem" title="Close" id="kCc-QR-2Kp">
<color key="tintColor" red="0.92941176469999998" green="0.10980392160000001" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
<barButtonItem key="leftBarButtonItem" systemItem="stop" id="kCc-QR-2Kp">
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="closeButtonTouch:" destination="HSb-ou-7T5" id="drV-gC-1Be"/>
</connections>

6
GMERemittance/Module/AutoDebitModules/AddAccount/User Interface/View/AddAccountViewController.swift

@ -121,7 +121,7 @@ class AddAccountViewController: UIViewController {
// all setup should be done here
presenter?.viewIsReady()
verifyAccountButton.layer.cornerRadius = 10
verifyAccountButton.layer.cornerRadius = 5
setValidTextField()
setMultilanguage()
}
@ -180,7 +180,7 @@ extension AddAccountViewController: AddAccountViewInterface {
}
func failureSetModel(error: Error) {
alert(type: .error, message: error.localizedDescription, title: "Warning"){[weak self] in
alert(type: .error, message: error.localizedDescription) {[weak self] in
guard let `self` = self else {return}
self.dismiss(animated: true, completion: nil)
}
@ -204,7 +204,7 @@ extension AddAccountViewController: AddAccountViewInterface {
}
func failure(error: Error) {
alert(type: .error, message: error.localizedDescription, title: "Warning", okAction: nil)
alert(type: .error, message: error.localizedDescription, okAction: nil)
}
func startLoading(){

59
GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebit.storyboard

@ -27,7 +27,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="7" translatesAutoresizingMaskIntoConstraints="NO" id="pqf-bC-K46">
<rect key="frame" x="10" y="69" width="355" height="593"/>
<rect key="frame" x="10" y="64" width="355" height="598"/>
<subviews>
<view hidden="YES" opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="L6q-bk-mo5">
<rect key="frame" x="0.0" y="-80" width="355" height="80"/>
@ -62,10 +62,22 @@
</connections>
</view>
<stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DMZ-o5-axc">
<rect key="frame" x="0.0" y="0.0" width="355" height="14.5"/>
<rect key="frame" x="0.0" y="0.0" width="355" height="15"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="1000" text="Swipe left to “Edit” or “Delete” account." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0mw-Yn-hpm">
<rect key="frame" x="0.0" y="0.0" width="355" height="14.5"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VRu-gs-I8D">
<rect key="frame" x="0.0" y="0.0" width="8" height="15"/>
<constraints>
<constraint firstAttribute="width" constant="8" id="cIR-pO-RSR"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="1000" text="Swipe left to “Edit” or “Delete” account." lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0mw-Yn-hpm">
<rect key="frame" x="8" y="0.0" width="347" height="15"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="qB1-5W-lcn"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="12"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@ -73,18 +85,18 @@
</subviews>
</stackView>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="LTI-ab-Zaj">
<rect key="frame" x="0.0" y="21.5" width="355" height="571.5"/>
<color key="backgroundColor" red="0.90588235289999997" green="0.92941176469999998" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<rect key="frame" x="0.0" y="22" width="355" height="576"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="AutoDebitTableViewCell" rowHeight="80" id="zqt-r5-jIP" customClass="AutoDebitTableViewCell" customModule="GME_Remit" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="355" height="80"/>
<tableViewCell opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="AutoDebitTableViewCell" rowHeight="90" id="zqt-r5-jIP" customClass="AutoDebitTableViewCell" customModule="GME_Remit" customModuleProvider="target">
<rect key="frame" x="0.0" y="28" width="355" height="90"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zqt-r5-jIP" id="Sk5-JJ-2iK">
<rect key="frame" x="0.0" y="0.0" width="355" height="80"/>
<rect key="frame" x="0.0" y="0.0" width="355" height="90"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FIK-OV-SBT">
<rect key="frame" x="0.0" y="0.0" width="355" height="80"/>
<view opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FIK-OV-SBT">
<rect key="frame" x="10" y="5" width="335" height="80"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M7t-0u-gH4">
<rect key="frame" x="20" y="20" width="40" height="40"/>
@ -97,16 +109,16 @@
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" translatesAutoresizingMaskIntoConstraints="NO" id="eUe-lZ-JIJ">
<rect key="frame" x="80" y="10" width="270" height="60"/>
<rect key="frame" x="80" y="10" width="250" height="60"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Bank Alias" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="4" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pti-fz-pDe">
<rect key="frame" x="0.0" y="0.0" width="270" height="31"/>
<rect key="frame" x="0.0" y="0.0" width="250" height="31"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="17"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Bank Account" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="4" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BvO-gw-4zj">
<rect key="frame" x="0.0" y="31" width="270" height="29"/>
<rect key="frame" x="0.0" y="31" width="250" height="29"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="16"/>
<color key="textColor" red="0.2901960784" green="0.2901960784" blue="0.2901960784" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@ -135,16 +147,19 @@
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="FIK-OV-SBT" firstAttribute="top" secondItem="Sk5-JJ-2iK" secondAttribute="top" id="BsS-h5-9TY"/>
<constraint firstAttribute="bottom" secondItem="FIK-OV-SBT" secondAttribute="bottom" id="Mht-yE-bkc"/>
<constraint firstAttribute="trailing" secondItem="FIK-OV-SBT" secondAttribute="trailing" id="lkH-qo-4rt"/>
<constraint firstItem="FIK-OV-SBT" firstAttribute="leading" secondItem="Sk5-JJ-2iK" secondAttribute="leading" id="yJC-co-1ac"/>
<constraint firstItem="FIK-OV-SBT" firstAttribute="top" secondItem="Sk5-JJ-2iK" secondAttribute="top" constant="5" id="BsS-h5-9TY"/>
<constraint firstAttribute="bottom" secondItem="FIK-OV-SBT" secondAttribute="bottom" constant="5" id="Mht-yE-bkc"/>
<constraint firstAttribute="trailing" secondItem="FIK-OV-SBT" secondAttribute="trailing" constant="10" id="lkH-qo-4rt"/>
<constraint firstItem="FIK-OV-SBT" firstAttribute="leading" secondItem="Sk5-JJ-2iK" secondAttribute="leading" constant="10" id="yJC-co-1ac"/>
</constraints>
</tableViewCellContentView>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<outlet property="accountNumnerLabel" destination="BvO-gw-4zj" id="z36-D4-PKA"/>
<outlet property="labelRecipientName" destination="pti-fz-pDe" id="44v-fR-PsD"/>
<outlet property="mainView" destination="FIK-OV-SBT" id="CqP-oa-1VE"/>
</connections>
</tableViewCell>
</prototypes>
@ -152,10 +167,10 @@
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" red="0.90588235289999997" green="0.92941176469999998" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="PXQ-gX-mza" firstAttribute="trailing" secondItem="pqf-bC-K46" secondAttribute="trailing" constant="10" id="2Ka-da-LIo"/>
<constraint firstItem="pqf-bC-K46" firstAttribute="top" secondItem="PXQ-gX-mza" secondAttribute="top" constant="5" id="hdI-YY-NWf"/>
<constraint firstItem="pqf-bC-K46" firstAttribute="top" secondItem="PXQ-gX-mza" secondAttribute="top" id="hdI-YY-NWf"/>
<constraint firstAttribute="bottom" secondItem="pqf-bC-K46" secondAttribute="bottom" constant="5" id="spe-by-yzQ"/>
<constraint firstItem="pqf-bC-K46" firstAttribute="leading" secondItem="PXQ-gX-mza" secondAttribute="leading" constant="10" id="wZ9-xX-4sr"/>
</constraints>
@ -163,12 +178,14 @@
</view>
<navigationItem key="navigationItem" id="HBF-cT-CMV">
<rightBarButtonItems>
<barButtonItem systemItem="add" id="AY7-S2-Bzm">
<barButtonItem title="Add" id="AY7-S2-Bzm">
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="touchAddAccountButton:" destination="EV3-Yh-COv" id="mz9-su-fSp"/>
</connections>
</barButtonItem>
<barButtonItem systemItem="refresh" id="TOA-TZ-bfD">
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="touchRefreshAccountButton:" destination="EV3-Yh-COv" id="uuU-cW-GYI"/>
</connections>

8
GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebitTableViewCell.swift

@ -11,15 +11,15 @@ import UIKit
class AutoDebitTableViewCell: UITableViewCell {
@IBOutlet weak var labelRecipientName: UILabel!
@IBOutlet weak var accountNumnerLabel: UILabel!
@IBOutlet weak var mainView: UIView!
func setup(with model: Account?) {
let name = model?.bankName
labelRecipientName.text = name
accountNumnerLabel.text = model?.accountNumMasked
layer.borderColor = UIColor(red:0.91, green:0.93, blue:0.95, alpha:1.0).cgColor
layer.borderWidth = 1
layer.cornerRadius = 10
clipsToBounds = true
mainView.layer.borderColor = UIColor(red:0.91, green:0.93, blue:0.95, alpha:1.0).cgColor
mainView.layer.borderWidth = 1
mainView.layer.cornerRadius = 10
}

4
GMERemittance/Module/AutoDebitModules/AutoDebit/User Interface/View/AutoDebitViewController.swift

@ -97,6 +97,8 @@ class AutoDebitViewController: UIViewController {
setupDelegates()
viewAddAccount.layer.cornerRadius = 10
navigationController?.navigationBar.shadowImage = UIImage()
// tabBarController?.tabBar.shadowImage = UIImage()
}
override func viewWillDisappear(_ animated: Bool) {
@ -170,7 +172,7 @@ class AutoDebitViewController: UIViewController {
extension AutoDebitViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 120.0
return 90
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

20
GMERemittance/Module/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthentication.storyboard

@ -23,15 +23,14 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="characterWrap" translatesAutoresizingMaskIntoConstraints="NO" id="aC8-3V-QpF">
<rect key="frame" x="56.5" y="531" width="262.5" height="50"/>
<button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="characterWrap" translatesAutoresizingMaskIntoConstraints="NO" id="aC8-3V-QpF">
<rect key="frame" x="20" y="597" width="335" height="50"/>
<color key="backgroundColor" red="0.18823529411764706" green="0.24313725490196078" blue="0.62352941176470589" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="50" id="AYP-6K-T6b"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="dH7-Lc-kBc"/>
<constraint firstAttribute="height" constant="50" id="k9t-ih-OVw"/>
</constraints>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="17"/>
<state key="normal" title="Press to authenticate"/>
<state key="normal" title="Button Title"/>
<connections>
<action selector="authenticationButtonTouch:" destination="HSb-ou-7T5" eventType="touchUpInside" id="g7k-Z7-moB"/>
</connections>
@ -39,25 +38,24 @@
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="splash_logo" translatesAutoresizingMaskIntoConstraints="NO" id="wjU-xq-xRN">
<rect key="frame" x="104.5" y="79.5" width="166" height="47"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="information text" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aO1-jS-d16">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Information Title" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aO1-jS-d16">
<rect key="frame" x="20" y="178.5" width="335" height="20.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Bold" family="San Francisco Display" pointSize="17"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="0.14913141730000001" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.1058823529" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="aC8-3V-QpF" firstAttribute="leading" secondItem="fGb-qm-Mdn" secondAttribute="leading" constant="20" id="2fB-or-16O"/>
<constraint firstItem="fGb-qm-Mdn" firstAttribute="bottom" secondItem="aC8-3V-QpF" secondAttribute="bottom" constant="20" id="4Un-zn-4nm"/>
<constraint firstItem="aO1-jS-d16" firstAttribute="leading" secondItem="fGb-qm-Mdn" secondAttribute="leading" constant="20" id="A8u-8X-b38"/>
<constraint firstItem="wjU-xq-xRN" firstAttribute="centerX" secondItem="fGb-qm-Mdn" secondAttribute="centerX" id="AGn-eo-FCc"/>
<constraint firstItem="aC8-3V-QpF" firstAttribute="centerY" secondItem="9Uc-9s-KgO" secondAttribute="centerY" multiplier="1:0.6" id="BrD-QR-VXm"/>
<constraint firstItem="aC8-3V-QpF" firstAttribute="centerX" secondItem="fGb-qm-Mdn" secondAttribute="centerX" id="Nwq-oZ-B0B"/>
<constraint firstItem="fGb-qm-Mdn" firstAttribute="trailing" secondItem="aC8-3V-QpF" secondAttribute="trailing" constant="20" id="Del-A6-aBF"/>
<constraint firstItem="fGb-qm-Mdn" firstAttribute="trailing" secondItem="aO1-jS-d16" secondAttribute="trailing" constant="20" id="PXt-b5-dBL"/>
<constraint firstItem="aO1-jS-d16" firstAttribute="centerX" secondItem="fGb-qm-Mdn" secondAttribute="centerX" id="Sef-hv-5aX"/>
<constraint firstItem="aO1-jS-d16" firstAttribute="centerY" secondItem="fGb-qm-Mdn" secondAttribute="centerY" multiplier="0.55:1" id="TSI-fC-T95"/>
<constraint firstItem="aC8-3V-QpF" firstAttribute="width" relation="greaterThanOrEqual" secondItem="9Uc-9s-KgO" secondAttribute="width" multiplier="0.7:1" id="bW5-zZ-Nms"/>
<constraint firstItem="wjU-xq-xRN" firstAttribute="centerY" secondItem="fGb-qm-Mdn" secondAttribute="centerY" multiplier="0.3:1" id="kiz-S3-bEe"/>
<constraint firstItem="aC8-3V-QpF" firstAttribute="width" relation="lessThanOrEqual" secondItem="9Uc-9s-KgO" secondAttribute="width" id="yhj-Jp-OSL"/>
</constraints>
<viewLayoutGuide key="safeArea" id="fGb-qm-Mdn"/>
</view>

40
GMERemittance/Module/BiometricAuthModules/BiometricAuthentication/User Interface/View/BiometricAuthenticationViewController.swift

@ -49,28 +49,45 @@ enum BiometricAuthenticationError: Error {
protocol BiometricAuthenticationViewControllerDelegate: class{
func doSelectLocalAuthenticationPolicy(_ viewController: BiometricAuthenticationViewController) -> BiometricAuthenticationPolicy
func doSelectLocalAuthenticationPolicy(
_ viewController: BiometricAuthenticationViewController
) -> BiometricAuthenticationPolicy
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel )
func viewController(
_ viewController: BiometricAuthenticationViewController,
informationTitleLabel titleLabel: UILabel,
authenticationButton button: UIButton
)
func didComplete(_ viewController: BiometricAuthenticationViewController)
func viewController(_ viewController: BiometricAuthenticationViewController, didFailWithError error: BiometricAuthenticationError, errorMessage: String?)
func viewController(
_ viewController: BiometricAuthenticationViewController,
didFailWithError error: BiometricAuthenticationError,
errorMessage: String?
)
}
extension BiometricAuthenticationViewControllerDelegate {
func doSelectLocalAuthenticationPolicy(_ viewController: BiometricAuthenticationViewController) -> BiometricAuthenticationPolicy{
return .deviceOwnerAuthentication
func doSelectLocalAuthenticationPolicy(
_ viewController: BiometricAuthenticationViewController
) -> BiometricAuthenticationPolicy{
return .deviceOwnerAuthenticationWithBiometrics
}
}
final class BiometricAuthenticationViewController: UIViewController, BiometricAuthenticationViewInterface {
final class BiometricAuthenticationViewController: UIViewController, BiometricAuthenticationViewInterface {
// MARK: Properties
var presenter: BiometricAuthenticationModuleInterface?
weak var delegate: BiometricAuthenticationViewControllerDelegate?
private var isViewDidLoad = true
private var buttonTitle: String = "bio_press_button_title_text".localized() {
didSet {
biometricAuthenticationImageButton.setTitle(buttonTitle, for: .normal)
}
}
// MARK: IBOutlets
@IBOutlet private weak var biometricAuthenticationImageButton: UIButton!
@ -103,13 +120,18 @@ final class BiometricAuthenticationViewController: UIViewController, BiometricA
private func setup() {
// all setup should be done here
self.setUI()
self.delegate?.viewController(self, informationTitleLabel: self.informationLabel)
self.delegate?.viewController(
self,
informationTitleLabel: self.informationLabel,
authenticationButton: self.biometricAuthenticationImageButton
)
}
private func setUI(){
setBackground()
biometricAuthenticationImageButton.rounded()
biometricAuthenticationImageButton.setTitle("bio_press_button_title_text".localized(), for: .normal)
biometricAuthenticationImageButton.layer.cornerRadius = 5
biometricAuthenticationImageButton.setTitle(buttonTitle, for: .normal)
}
private func setBackground(){

10
GMERemittance/Module/BiometricAuthModules/BiometricAuthenticationNotification/User Interface/View/BiometricAuthenticationNotification.storyboard

@ -27,10 +27,10 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="hAL-D4-x2K">
<rect key="frame" x="46" y="539" width="283" height="108"/>
<rect key="frame" x="36" y="539" width="303" height="108"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="H6Q-aV-Mdd">
<rect key="frame" x="0.0" y="0.0" width="283" height="50"/>
<rect key="frame" x="0.0" y="0.0" width="303" height="50"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.1058823529" blue="0.14117647059999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="ypv-BY-zEK"/>
@ -44,7 +44,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="X1c-21-gtS">
<rect key="frame" x="0.0" y="58" width="283" height="50"/>
<rect key="frame" x="0.0" y="58" width="303" height="50"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="tRc-HA-CBl"/>
</constraints>
@ -114,13 +114,13 @@
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="n22-XI-gDD" firstAttribute="trailing" secondItem="OiW-fF-9Ml" secondAttribute="trailing" constant="20" id="1sJ-LM-7Ad"/>
<constraint firstAttribute="trailingMargin" secondItem="hAL-D4-x2K" secondAttribute="trailing" constant="30" id="CY5-cH-hon"/>
<constraint firstAttribute="trailingMargin" secondItem="hAL-D4-x2K" secondAttribute="trailing" constant="20" id="CY5-cH-hon"/>
<constraint firstItem="tI0-rD-Ti1" firstAttribute="width" secondItem="9Uc-9s-KgO" secondAttribute="width" multiplier="0.6:1" priority="750" id="DKS-fa-ugp"/>
<constraint firstItem="OiW-fF-9Ml" firstAttribute="leading" secondItem="n22-XI-gDD" secondAttribute="leading" constant="20" id="LYe-hr-FiT"/>
<constraint firstItem="OiW-fF-9Ml" firstAttribute="top" secondItem="tI0-rD-Ti1" secondAttribute="bottom" constant="50" id="M2J-DF-rO9"/>
<constraint firstItem="tI0-rD-Ti1" firstAttribute="centerX" secondItem="n22-XI-gDD" secondAttribute="centerX" id="UmV-t7-IBA"/>
<constraint firstItem="n22-XI-gDD" firstAttribute="bottom" secondItem="hAL-D4-x2K" secondAttribute="bottom" constant="20" id="WOd-cu-Iav"/>
<constraint firstItem="hAL-D4-x2K" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leadingMargin" constant="30" id="acV-ll-ANs"/>
<constraint firstItem="hAL-D4-x2K" firstAttribute="leading" secondItem="9Uc-9s-KgO" secondAttribute="leadingMargin" constant="20" id="acV-ll-ANs"/>
<constraint firstItem="xFc-vx-98G" firstAttribute="top" secondItem="OiW-fF-9Ml" secondAttribute="bottom" constant="5" id="lzm-I7-HHM"/>
<constraint firstItem="xFc-vx-98G" firstAttribute="centerX" secondItem="n22-XI-gDD" secondAttribute="centerX" id="rNG-9N-vue"/>
<constraint firstItem="OiW-fF-9Ml" firstAttribute="centerY" secondItem="9Uc-9s-KgO" secondAttribute="centerY" id="yP6-Vy-5fP"/>

4
GMERemittance/Module/BiometricAuthModules/BiometricAuthenticationNotification/User Interface/View/BiometricAuthenticationNotificationViewController.swift

@ -49,8 +49,8 @@ class BiometricAuthenticationNotificationViewController: UIViewController {
private func setup() {
// all setup should be done here
useBiometricAuthButton.rounded()
usePasswordButton.rounded()
useBiometricAuthButton.layer.cornerRadius = 5
usePasswordButton.layer.cornerRadius = 5
setMultiLanguage()
}

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

@ -391,8 +391,9 @@ extension LoginViewController: UITextFieldDelegate {
}
extension LoginViewController: BiometricAuthenticationViewControllerDelegate {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel) {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel, authenticationButton button: UIButton) {
titleLabel.text = "Please enter authentication information for login"
button.setTitle("login_text".localized(), for: .normal)
}
func didComplete(_ viewController: BiometricAuthenticationViewController) {

25
GMERemittance/Module/Main/User Interface/Wireframe/MainWireframe.swift

@ -50,19 +50,20 @@ extension MainWireframe: MainWireframeInput {
}
static func logoutWarningAlert(message: String) {
guard let window = MainWireframe.shared?.window else {return}
window.rootViewController?.alertWithOk(
message: message,
title: "Warning",
okTitle: "Logout",
style: UIAlertControllerStyle.alert,
OkStyle: .destructive
){
self.logout()
}
static func logoutWarningAlert(message: String) {
guard let window = MainWireframe.shared?.window else {return}
window.rootViewController?.alertWithOk(
type: .error,
message: message,
title: "Warning",
okTitle: "Logout",
style: UIAlertControllerStyle.alert,
OkStyle: .destructive
){
self.logout()
}
}
static func logout() {
guard let window = MainWireframe.shared?.window else {return}

18
GMERemittance/Module/RewardModules/Reward/User Interface/View/Reward.storyboard

@ -27,29 +27,29 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mVq-cj-kN9">
<rect key="frame" x="10" y="30" width="355" height="132"/>
<rect key="frame" x="10" y="30" width="355" height="16"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="starredBackground" translatesAutoresizingMaskIntoConstraints="NO" id="OUC-GY-cfV">
<rect key="frame" x="0.0" y="0.0" width="355" height="132"/>
<rect key="frame" x="0.0" y="0.0" width="355" height="16"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Note: The reward point is valid for a year only." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zsW-Jn-5cx">
<rect key="frame" x="53.5" y="113" width="248.5" height="16"/>
<rect key="frame" x="45" y="-2.5" width="265.5" height="15.5"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Regular" family="San Francisco Display" pointSize="13"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_reward" translatesAutoresizingMaskIntoConstraints="NO" id="w0R-LI-YPR">
<rect key="frame" x="75.5" y="19.5" width="80" height="80"/>
<rect key="frame" x="75.5" y="-33" width="80" height="80"/>
<constraints>
<constraint firstAttribute="height" constant="80" id="0qu-ST-7fP"/>
<constraint firstAttribute="width" constant="80" id="LaH-ji-hpA"/>
</constraints>
</imageView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="equalSpacing" alignment="center" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="a1o-7y-Kgz">
<rect key="frame" x="187.5" y="34.5" width="92" height="50"/>
<rect key="frame" x="184.5" y="-18" width="98" height="50"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Reward Points" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vyv-ya-vvm">
<rect key="frame" x="0.0" y="0.0" width="92" height="17"/>
<rect key="frame" x="0.0" y="0.0" width="98" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="17" id="bs5-Ee-cbW"/>
</constraints>
@ -58,7 +58,7 @@
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qUz-im-Ri9">
<rect key="frame" x="21" y="25" width="50.5" height="25"/>
<rect key="frame" x="24" y="25" width="50.5" height="25"/>
<fontDescription key="fontDescription" name="SanFranciscoDisplay-Medium" family="San Francisco Display" pointSize="30"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
@ -84,7 +84,7 @@
</constraints>
</view>
<collectionView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="vmj-sE-fUF">
<rect key="frame" x="10" y="197" width="355" height="460"/>
<rect key="frame" x="10" y="81" width="355" height="576"/>
<color key="backgroundColor" red="0.90588235289999997" green="0.92941176469999998" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="TUx-T5-4WL">
<size key="itemSize" width="320" height="260"/>
@ -215,7 +215,7 @@
</cells>
</collectionView>
<segmentedControl opaque="NO" clipsSubviews="YES" contentMode="scaleAspectFit" selected="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="pUS-5u-yiU">
<rect key="frame" x="320" y="172" width="45" height="21"/>
<rect key="frame" x="320" y="56" width="45" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="3Ig-8M-nEs"/>
<constraint firstAttribute="height" constant="20" id="Ohr-Rq-jxc"/>

4
GMERemittance/Module/RewardModules/RewardGroup/User Interface/View/RewardGroup.storyboard

@ -50,8 +50,8 @@
<viewLayoutGuide key="safeArea" id="UMp-XF-kLb"/>
</view>
<navigationItem key="navigationItem" id="HJY-D2-1rl">
<barButtonItem key="leftBarButtonItem" title="Close" id="2qJ-vW-6N3">
<color key="tintColor" red="0.92941176469999998" green="0.1058823529" blue="0.14117647059999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<barButtonItem key="leftBarButtonItem" systemItem="stop" id="2qJ-vW-6N3">
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<action selector="touchCloseButton:" destination="HSb-ou-7T5" id="37t-NS-Lx3"/>
</connections>

9
GMERemittance/Module/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift

@ -177,11 +177,6 @@ class SendMoneyVerificationViewController: UITableViewController {
func showSecureKeypad(){
let secureKeypad = SecureKeypad(target: self)
secureKeypad.title = "Password of your account"
secureKeypad.placeholder = "Enter your password for remittance"
secureKeypad.placeholderFont = UIFont(name: "Arial", size: 15)
secureKeypad.delegate = self
secureKeypad.present(animated: true)
}
@ -272,8 +267,10 @@ extension SendMoneyVerificationViewController {
// MARK: - BiometricAuthenticationViewControllerDelegate
extension SendMoneyVerificationViewController: BiometricAuthenticationViewControllerDelegate {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel) {
func viewController(_ viewController: BiometricAuthenticationViewController, informationTitleLabel titleLabel: UILabel, authenticationButton button: UIButton) {
titleLabel.text = "bio_sendmoney_intro_text".localized()
button.setTitle("send_money_text".localized(), for: .normal)
}
func didComplete(_ viewController: BiometricAuthenticationViewController) {

4
GMERemittance/Module/SideMenu/SettingViewController.swift

@ -89,8 +89,8 @@ class SettingViewController: UIViewController {
BiometricAuthenticationWireframe().showBiometricAuthentication() { error in
if error != nil {
DispatchQueue.main.async {
// self.alert(message: error!.message)
self.gmeAlert(message: error!.message)
self.alert(type: .error, message: error!.message)
self.useBiometricAuthSwitch.setOn(false, animated: true)
}
} else {

36
GMERemittance/Module/SideMenu/SideMenuViewController.swift

@ -166,19 +166,29 @@ class SideMenuViewController: UIViewController {
@IBAction func logout(_ sender: Any) {
let alert = UIAlertController(title: StringConstants().logoutTitleText, message: StringConstants().logoutConfirmationText, preferredStyle: .alert)
let yesAction = UIAlertAction(title: StringConstants().yesText, style: .default,handler: {
(action : UIAlertAction!) -> Void in
MainWireframe.logout()
})
let noAction = UIAlertAction(title: StringConstants().noText, style: .default, handler: nil)
noAction.setValue(UIColor.black, forKey: "titleTextColor")
yesAction.setValue(UIColor(hex:0xEC1C24), forKey: "titleTextColor")
alert.addAction(noAction)
alert.addAction(yesAction)
self.present(alert, animated: true, completion: nil)
// let alert = UIAlertController(title: StringConstants().logoutTitleText, message: StringConstants().logoutConfirmationText, preferredStyle: .alert)
//
// let yesAction = UIAlertAction(title: StringConstants().yesText, style: .default,handler: {
// (action : UIAlertAction!) -> Void in
// MainWireframe.logout()
// })
// let noAction = UIAlertAction(title: StringConstants().noText, style: .default, handler: nil)
// noAction.setValue(UIColor.black, forKey: "titleTextColor")
// yesAction.setValue(UIColor(hex:0xEC1C24), forKey: "titleTextColor")
//
// alert.addAction(noAction)
// alert.addAction(yesAction)
// self.present(alert, animated: true, completion: nil)
alertWithOkCancel(
type: .normal,
message: StringConstants().logoutConfirmationText,
title: StringConstants().logoutTitleText,
okTitle: "Yes",
style: .alert,
cancelTitle: "No",
okAction: { MainWireframe.logout() }
)
}

6
GMERemittance/Utility/GMEAlert/GMEAlertViewController.swift

@ -25,6 +25,8 @@ class GMEAlertViewController: UIViewController {
private var rightButtonTitle: String?
private var leftButtonTitle: String?
private var type: AlertType = .normal
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
@ -34,6 +36,7 @@ class GMEAlertViewController: UIViewController {
}
init(
type: AlertType = .normal,
title: String? = "Alert",
message: String? = nil,
rightButtonTitle: String? = nil,
@ -43,6 +46,7 @@ class GMEAlertViewController: UIViewController {
) {
super.init(nibName: "GMEAlertViewController", bundle: nil)
self.type = type
self.titleText = title
self.messageText = message
self.rightButtonTitle = rightButtonTitle
@ -69,6 +73,8 @@ class GMEAlertViewController: UIViewController {
leftButton.isEnabled = false
leftButton.isHidden = true
}
titleLabel.textColor = type == .error ? AppConstants.themeRedColor : .black
}
override func viewWillAppear(_ animated: Bool) {

6
GMERemittance/Utility/SecureKeypad.swift

@ -21,18 +21,18 @@ class SecureKeypad: NSObject {
weak var delegate: SecureKeypadDelegate?
var title = "" {
var title = "Enter Your GME Password" {
didSet {
self.updateUI()
}
}
var placeholder = "" {
var placeholder = "Enter Your GME Password" {
didSet {
self.updateUI()
}
}
var placeholderFont: UIFont? = .systemFont(ofSize: 17) {
var placeholderFont: UIFont? = UIFont(name: "SanFranciscoDisplay-Regular", size: 15) {
didSet {
self.updateUI()
}

2
bn.lproj/Localizable.strings

@ -356,7 +356,7 @@
"update_text" = "আপডেট";
"auto_debit_title_text" = " অটো ডেবিট একাউন্ট সম্পাদনা করুণ ";
"are_you_sure_text" = " আপনি নিশ্চিত?";
"auto_debit_delete_confirm_description" = " অটো ডেবিট একাউন্ট বাদ দিতে চান";
"auto_debit_delete_confirm_description" = " অটো ডেবিট একাউন্ট বাদ দিতে চান ?";
"add_auto_debit_account_text" = " অটো ডেবিট একাউন্ট সংযোগ করুণ ";
"delete_auto_debit_account_hint_text" = "একাউন্ট বাদ দিতে হোল্ড করুণ ";
"no_languages_available_text" = "ভাষা সহজলভ্য নয়";

2
en.lproj/Localizable.strings

@ -364,7 +364,7 @@
"auto_debit_title_text" = "Manage Auto Debit Account";
"are_you_sure_text" = "Are you sure?";
"auto_debit_delete_confirm_description" = "You want to delete Auto-Debit Account!";
"auto_debit_delete_confirm_description" = "You want to delete Auto-Debit Account?";
"add_auto_debit_account_text" = "Add Auto Debit Account";
"delete_auto_debit_account_hint_text" = "Hold to Delete the account";
"no_languages_available_text" = "No Languages Available";

2
id.lproj/Localizable.strings

@ -327,7 +327,7 @@
"update_text" = "update";
"auto_debit_title_text" = "Atur Akun Debit Automatis";
"are_you_sure_text" = "Apakah anda yakin?";
"auto_debit_delete_confirm_description" = "Anda ingin menghapus akun debit automatis!";
"auto_debit_delete_confirm_description" = "Anda ingin menghapus akun debit automatis?";
"add_auto_debit_account_text" = "Tambahkan Akun Debit Automatis";
"delete_auto_debit_account_hint_text" = "Tahan untuk Menghapus akun";
"no_lanugages_available_text" = "Tidak Ada Bahasa yang tersedia";

2
km.lproj/Localizable.strings

@ -364,7 +364,7 @@
"auto_debit_title_text" = "គ្រប់គ្រងគណនីកាត់លុយដោយស្វយ័ប្រវត្តិ";
"are_you_sure_text" = "តើអ្នកប្រកដឬទេ?";
"auto_debit_delete_confirm_description" = "លោកអ្នកចង់លុបគណនីកាត់លុយដោយស្វយ័ប្រវត្តិ!";
"auto_debit_delete_confirm_description" = "លោកអ្នកចង់លុបគណនីកាត់លុយដោយស្វយ័ប្រវត្តិ?";
"add_auto_debit_account_text" = "បន្ថែមគណនីកាត់លុយដោយស្វយ័ប្រវត្តិ";
"delete_auto_debit_account_hint_text" = "ចុចភ្ជាប់ដើម្បីលុបគណនីនេះ";
"no_languages_available_text" = "មិនមានភាសា";

2
ko.lproj/Localizable.strings

@ -373,7 +373,7 @@
"auto_debit_title_text" = "Auto debit 계좌 관리";
"are_you_sure_text" = "계속할까요?";
"auto_debit_delete_confirm_description" = "Auto debit 계좌 삭제를 선택하셨습니다. ";
"auto_debit_delete_confirm_description" = "Auto debit 계좌 삭제하시겠습니까?";
"add_auto_debit_account_text" = "Auto debit 계좌 추가";
"delete_auto_debit_account_hint_text" = "삭제 시 꾹 누르세요. ";
"no_languages_available_text" = "가능한 언어가 없습니다. ";

2
ne.lproj/Localizable.strings

@ -369,7 +369,7 @@
"auto_debit_title_text" = "स्वत: डेबिट खाता व्यवस्थापन गर्नुहोस";
"are_you_sure_text" = "साच्चै हो?";
"auto_debit_delete_confirm_description" = "तपाई स्वत: डेबिट खाता मेटाउन चाहानुहुन्छ !";
"auto_debit_delete_confirm_description" = "तपाई स्वत: डेबिट खाता मेटाउन चाहानुहुन्छ ?";
"add_auto_debit_account_text" = "स्वत: डेबिट खाता थप्नुहोस ।";
"delete_auto_debit_account_hint_text" = "खाता मेटाउनको लागि होल्ड गर्नुहोस";
"no_languages_available_text" = "कुनै भाषाहरू उपलब्ध छैन";

Loading…
Cancel
Save