@jimrising/easymerchantsdk-react-native 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/ios/Pods/UserDefaults/UserStoreSingleton.swift +304 -0
  3. package/ios/Pods/ViewControllers/AdditionalInfoVC.swift +2636 -0
  4. package/ios/Pods/ViewControllers/BaseVC.swift +141 -0
  5. package/ios/Pods/ViewControllers/BillingInfoVC/BillingInfoVC.swift +3347 -0
  6. package/ios/Pods/ViewControllers/BillingInfoVC/Cells/CityListTVC.swift +46 -0
  7. package/ios/Pods/ViewControllers/BillingInfoVC/Cells/CountryListTVC.swift +47 -0
  8. package/ios/Pods/ViewControllers/BillingInfoVC/Cells/StateListTVC.swift +46 -0
  9. package/ios/Pods/ViewControllers/CountryListVC.swift +435 -0
  10. package/ios/Pods/ViewControllers/CustomOverlay.swift +199 -0
  11. package/ios/Pods/ViewControllers/EmailVerificationVC.swift +307 -0
  12. package/ios/Pods/ViewControllers/GrailPayVC.swift +244 -0
  13. package/ios/Pods/ViewControllers/OTPVerificationVC.swift +2066 -0
  14. package/ios/Pods/ViewControllers/PaymentDoneVC.swift +272 -0
  15. package/ios/Pods/ViewControllers/PaymentErrorVC.swift +85 -0
  16. package/ios/Pods/ViewControllers/PaymentInformation/AccountTypeTVC.swift +41 -0
  17. package/ios/Pods/ViewControllers/PaymentInformation/PaymentInfoVC.swift +11025 -0
  18. package/ios/Pods/ViewControllers/PaymentInformation/PaymentInformationCVC.swift +35 -0
  19. package/ios/Pods/ViewControllers/PaymentInformation/RecurringTVC.swift +40 -0
  20. package/ios/Pods/ViewControllers/PaymentInformation/SavedAccountsTVC/SavedAccountTVC.swift +81 -0
  21. package/ios/Pods/ViewControllers/PaymentInformation/SavedAccountsTVC/SavedAccountTVC.xib +163 -0
  22. package/ios/Pods/ViewControllers/PaymentInformation/SavedCardsTVC/SavedCardsTVC.swift +81 -0
  23. package/ios/Pods/ViewControllers/PaymentInformation/SavedCardsTVC/SavedCardsTVC.xib +188 -0
  24. package/ios/Pods/ViewControllers/PaymentStatusWebViewVC.swift +167 -0
  25. package/ios/Pods/ViewControllers/TermAndConditionsVC.swift +63 -0
  26. package/ios/Pods/ViewControllers/ThreeDSecurePaymentDoneVC.swift +629 -0
  27. package/ios/easymerchantsdk.podspec +1 -1
  28. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ //
2
+ // PaymentInformationCVC.swift
3
+ // EasyPay
4
+ //
5
+ // Created by Mony's Mac on 17/09/24.
6
+ //
7
+
8
+ class PaymentInformationCVC: UICollectionViewCell{
9
+
10
+ @IBOutlet weak var vwMain: UIView!
11
+ @IBOutlet weak var lblPayment: UILabel!
12
+ @IBOutlet weak var imgVwPayments: UIImageView!
13
+
14
+ func setUI(){
15
+ vwMain.layer.borderColor = UIColor.gray.cgColor
16
+ vwMain.layer.borderWidth = 1.5
17
+
18
+ // Retrieve border radius from UserDefaults
19
+ if let borderRadiusString = UserStoreSingleton.shared.border_radious,
20
+ let borderRadius = Double(borderRadiusString) { // Convert String to Double
21
+ vwMain.layer.cornerRadius = CGFloat(borderRadius) // Set cornerRadius
22
+ } else {
23
+ vwMain.layer.cornerRadius = 8 // Default value
24
+ }
25
+
26
+ if let fontSizeString = UserStoreSingleton.shared.fontSize,
27
+ let fontSizeDouble = Double(fontSizeString) { // Convert String to Double
28
+ let fontSize = CGFloat(fontSizeDouble) // Convert Double to CGFloat
29
+ lblPayment.font = UIFont.systemFont(ofSize: fontSize)
30
+ }
31
+
32
+ vwMain.layer.masksToBounds = true // Ensure the corners are clipped properly
33
+ }
34
+
35
+ }
@@ -0,0 +1,40 @@
1
+ //
2
+ // RecurringTVC.swift
3
+ // EasyPay
4
+ //
5
+ // Created by Mony's Mac on 14/05/25.
6
+ //
7
+
8
+ import UIKit
9
+
10
+ class RecurringTVC: UITableViewCell {
11
+
12
+ @IBOutlet weak var viewCell: UIView!
13
+ @IBOutlet weak var lblRecurringDuration: UILabel!
14
+
15
+ override func awakeFromNib() {
16
+ super.awakeFromNib()
17
+
18
+ if let primaryFontColor = UserStoreSingleton.shared.primary_font_col,
19
+ let uiColor = UIColor(hex: primaryFontColor) {
20
+ lblRecurringDuration.textColor = uiColor
21
+ }
22
+
23
+ if let fontSizeString = UserStoreSingleton.shared.fontSize,
24
+ let fontSizeDouble = Double(fontSizeString) { // Convert String to Double
25
+ let fontSize = CGFloat(fontSizeDouble) // Convert Double to CGFloat
26
+ lblRecurringDuration.font = UIFont.systemFont(ofSize: fontSize)
27
+ }
28
+ }
29
+
30
+ override func layoutSubviews() {
31
+ super.layoutSubviews()
32
+
33
+ if let containerBGcolor = UserStoreSingleton.shared.container_bg_col,
34
+ let uiColor = UIColor(hex: containerBGcolor) {
35
+ self.contentView.backgroundColor = uiColor
36
+ viewCell?.backgroundColor = uiColor // Prevents crash if viewCell is nil
37
+ }
38
+ }
39
+
40
+ }
@@ -0,0 +1,81 @@
1
+ //
2
+ // SavedAccountTVC.swift
3
+ // EasyPay
4
+ //
5
+ // Created by Mony's Mac on 11/09/24.
6
+ //
7
+
8
+ import UIKit
9
+
10
+ class SavedAccountTVC: UITableViewCell {
11
+ @IBOutlet weak var btnSelectAccount: UIButton!
12
+ @IBOutlet weak var lblAccountNumber: UILabel!
13
+ @IBOutlet weak var lblAccountType: UILabel!
14
+ @IBOutlet weak var viewBtnRemove: UIView!
15
+ @IBOutlet weak var btnRemoveBankAccount: UIButton!
16
+ @IBOutlet weak var btnThreeDotBank: UIButton!
17
+ @IBOutlet weak var imgViewBank: UIImageView!
18
+ @IBOutlet weak var imgViewBankRightCon: NSLayoutConstraint!
19
+ @IBOutlet weak var imgViewBankWidth: NSLayoutConstraint!
20
+ @IBOutlet weak var viewCell: UIView!
21
+
22
+ var isRemoveUpdateViewVisible: Bool = false
23
+
24
+ override func awakeFromNib() {
25
+ super.awakeFromNib()
26
+ addShadowToView(view: viewBtnRemove)
27
+ viewBtnRemove.isHidden = true
28
+
29
+ if let primaryBtnBackGroundColor = UserStoreSingleton.shared.primary_btn_bg_col,
30
+ let uiColor = UIColor(hex: primaryBtnBackGroundColor) {
31
+ btnSelectAccount.tintColor = uiColor
32
+ if let image = btnThreeDotBank.image(for: .normal)?.withRenderingMode(.alwaysTemplate) {
33
+ btnThreeDotBank.setImage(image, for: .normal)
34
+ btnThreeDotBank.tintColor = uiColor
35
+ }
36
+ }
37
+
38
+ if let primaryFontColor = UserStoreSingleton.shared.primary_font_col,
39
+ let uiColor = UIColor(hex: primaryFontColor) {
40
+ lblAccountNumber.textColor = uiColor
41
+ btnThreeDotBank.tintColor = uiColor
42
+ imgViewBank.tintColor = uiColor
43
+ }
44
+
45
+ if let primaryFontColor = UserStoreSingleton.shared.secondary_font_col,
46
+ let uiColor = UIColor(hex: primaryFontColor) {
47
+ lblAccountType.textColor = uiColor
48
+ }
49
+
50
+ if let bodyBackGroundColor = UserStoreSingleton.shared.body_bg_col,
51
+ let uiColor = UIColor(hex: bodyBackGroundColor) {
52
+ viewCell.backgroundColor = uiColor
53
+ }
54
+
55
+ if let borderRadiusString = UserStoreSingleton.shared.border_radious,
56
+ let borderRadius = Double(borderRadiusString) { // Convert String to Double
57
+ viewCell.layer.cornerRadius = CGFloat(borderRadius) // Set corner radius
58
+ } else {
59
+ viewCell.layer.cornerRadius = 8 // Default value
60
+ }
61
+ viewCell.layer.masksToBounds = true // Ensure the corners are clipped properly
62
+
63
+ if let fontSizeString = UserStoreSingleton.shared.fontSize,
64
+ let fontSizeDouble = Double(fontSizeString) { // Convert String to Double
65
+ let fontSize = CGFloat(fontSizeDouble) // Convert Double to CGFloat
66
+ lblAccountNumber.font = UIFont.systemFont(ofSize: fontSize)
67
+ lblAccountType.font = UIFont.systemFont(ofSize: fontSize)
68
+ btnRemoveBankAccount.titleLabel?.font = UIFont.systemFont(ofSize: fontSize)
69
+ }
70
+
71
+ }
72
+
73
+ private func addShadowToView(view: UIView) {
74
+ view.layer.shadowColor = UIColor.black.cgColor
75
+ view.layer.shadowOpacity = 0.3
76
+ view.layer.shadowOffset = CGSize(width: 0, height: 2)
77
+ view.layer.shadowRadius = 6
78
+ view.layer.masksToBounds = false
79
+ }
80
+
81
+ }
@@ -0,0 +1,163 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3
+ <device id="retina6_12" orientation="portrait" appearance="light"/>
4
+ <dependencies>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
6
+ <capability name="Named colors" minToolsVersion="9.0"/>
7
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8
+ <capability name="System colors in document resources" minToolsVersion="11.0"/>
9
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10
+ </dependencies>
11
+ <objects>
12
+ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
13
+ <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
14
+ <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="SavedAccountTVC" rowHeight="86" id="KGk-i7-Jjw" customClass="SavedAccountTVC" customModule="EasyPay" customModuleProvider="target">
15
+ <rect key="frame" x="0.0" y="0.0" width="388" height="86"/>
16
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
17
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
18
+ <rect key="frame" x="0.0" y="0.0" width="388" height="86"/>
19
+ <autoresizingMask key="autoresizingMask"/>
20
+ <subviews>
21
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iZq-xB-OFp">
22
+ <rect key="frame" x="0.0" y="10" width="388" height="65"/>
23
+ <subviews>
24
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xDU-Tb-WmP">
25
+ <rect key="frame" x="8" y="15" width="35" height="35"/>
26
+ <constraints>
27
+ <constraint firstAttribute="width" constant="35" id="78p-6Z-xoU"/>
28
+ <constraint firstAttribute="height" constant="35" id="xwU-Td-HAe"/>
29
+ </constraints>
30
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
31
+ <state key="normal" image="circle" catalog="system">
32
+ <preferredSymbolConfiguration key="preferredSymbolConfiguration" configurationType="pointSize" pointSize="18"/>
33
+ </state>
34
+ <state key="selected" image="circle.inset.filled" catalog="system">
35
+ <preferredSymbolConfiguration key="preferredSymbolConfiguration" configurationType="pointSize" pointSize="16"/>
36
+ </state>
37
+ </button>
38
+ <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="building.columns.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="Z2k-d8-Dlc">
39
+ <rect key="frame" x="51" y="21" width="40" height="23.666666666666671"/>
40
+ <color key="tintColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
41
+ <constraints>
42
+ <constraint firstAttribute="height" constant="24" id="1cY-0a-EvS"/>
43
+ <constraint firstAttribute="width" constant="40" id="YdO-XX-IdQ"/>
44
+ </constraints>
45
+ </imageView>
46
+ <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="T6u-dI-VTz">
47
+ <rect key="frame" x="103" y="12.666666666666671" width="241" height="40"/>
48
+ <subviews>
49
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S1P-IS-Ey9">
50
+ <rect key="frame" x="0.0" y="0.0" width="241" height="18"/>
51
+ <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
52
+ <nil key="textColor"/>
53
+ <nil key="highlightedColor"/>
54
+ </label>
55
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u8I-kR-z3b">
56
+ <rect key="frame" x="0.0" y="22.999999999999996" width="241" height="17.000000000000004"/>
57
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
58
+ <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
59
+ <nil key="highlightedColor"/>
60
+ </label>
61
+ </subviews>
62
+ </stackView>
63
+ <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kCd-cp-4V8">
64
+ <rect key="frame" x="258" y="12.666666666666671" width="80" height="40"/>
65
+ <subviews>
66
+ <stackView opaque="NO" contentMode="scaleToFill" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="Aq9-c0-6PV">
67
+ <rect key="frame" x="11.666666666666686" y="5" width="57" height="30"/>
68
+ <subviews>
69
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jf7-VO-0k4">
70
+ <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
71
+ <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
72
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
73
+ <state key="normal" title="Remove">
74
+ <color key="titleColor" name="E93939"/>
75
+ </state>
76
+ </button>
77
+ </subviews>
78
+ </stackView>
79
+ </subviews>
80
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
81
+ <constraints>
82
+ <constraint firstAttribute="width" constant="80" id="FqF-EQ-Hv9"/>
83
+ <constraint firstAttribute="height" constant="40" id="GPA-eB-3Pc"/>
84
+ <constraint firstItem="Aq9-c0-6PV" firstAttribute="centerY" secondItem="kCd-cp-4V8" secondAttribute="centerY" id="KsD-oT-yAk"/>
85
+ <constraint firstItem="Aq9-c0-6PV" firstAttribute="centerX" secondItem="kCd-cp-4V8" secondAttribute="centerX" id="s7y-ry-Jhd"/>
86
+ </constraints>
87
+ <userDefinedRuntimeAttributes>
88
+ <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
89
+ <integer key="value" value="6"/>
90
+ </userDefinedRuntimeAttribute>
91
+ </userDefinedRuntimeAttributes>
92
+ </view>
93
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Nfs-nh-tFm">
94
+ <rect key="frame" x="354" y="17.666666666666671" width="30" height="30"/>
95
+ <constraints>
96
+ <constraint firstAttribute="height" constant="30" id="1kH-bN-DdD"/>
97
+ <constraint firstAttribute="width" constant="30" id="Pqj-RZ-MWJ"/>
98
+ </constraints>
99
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
100
+ <state key="normal" image="Ellipsis"/>
101
+ </button>
102
+ </subviews>
103
+ <color key="backgroundColor" systemColor="systemGray6Color"/>
104
+ <constraints>
105
+ <constraint firstItem="xDU-Tb-WmP" firstAttribute="leading" secondItem="iZq-xB-OFp" secondAttribute="leading" constant="8" id="DT6-RY-7Wy"/>
106
+ <constraint firstItem="Nfs-nh-tFm" firstAttribute="centerY" secondItem="iZq-xB-OFp" secondAttribute="centerY" id="DdX-uv-DfZ"/>
107
+ <constraint firstAttribute="height" constant="65" id="E6s-2K-7wH"/>
108
+ <constraint firstItem="kCd-cp-4V8" firstAttribute="centerY" secondItem="iZq-xB-OFp" secondAttribute="centerY" id="HoN-xk-Tht"/>
109
+ <constraint firstItem="T6u-dI-VTz" firstAttribute="centerY" secondItem="iZq-xB-OFp" secondAttribute="centerY" id="JJ6-bl-9QO"/>
110
+ <constraint firstItem="xDU-Tb-WmP" firstAttribute="centerY" secondItem="iZq-xB-OFp" secondAttribute="centerY" id="MVC-BL-y5Z"/>
111
+ <constraint firstItem="Nfs-nh-tFm" firstAttribute="leading" secondItem="kCd-cp-4V8" secondAttribute="trailing" constant="16" id="RmD-40-VhH"/>
112
+ <constraint firstItem="T6u-dI-VTz" firstAttribute="leading" secondItem="Z2k-d8-Dlc" secondAttribute="trailing" constant="12" id="g9Y-HV-1bG"/>
113
+ <constraint firstItem="Z2k-d8-Dlc" firstAttribute="centerY" secondItem="iZq-xB-OFp" secondAttribute="centerY" id="oXr-Zb-1x5"/>
114
+ <constraint firstAttribute="trailing" secondItem="Nfs-nh-tFm" secondAttribute="trailing" constant="4" id="pBK-f1-ESh"/>
115
+ <constraint firstItem="Nfs-nh-tFm" firstAttribute="leading" secondItem="T6u-dI-VTz" secondAttribute="trailing" constant="10" id="tIx-Qd-H6O"/>
116
+ <constraint firstItem="Z2k-d8-Dlc" firstAttribute="leading" secondItem="xDU-Tb-WmP" secondAttribute="trailing" constant="8" id="tTn-a0-jwk"/>
117
+ </constraints>
118
+ <userDefinedRuntimeAttributes>
119
+ <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
120
+ <integer key="value" value="6"/>
121
+ </userDefinedRuntimeAttribute>
122
+ </userDefinedRuntimeAttributes>
123
+ </view>
124
+ </subviews>
125
+ <constraints>
126
+ <constraint firstItem="iZq-xB-OFp" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="Yd8-2B-8C7"/>
127
+ <constraint firstItem="iZq-xB-OFp" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="fxZ-l4-aow"/>
128
+ <constraint firstAttribute="trailing" secondItem="iZq-xB-OFp" secondAttribute="trailing" id="yOJ-gb-gGj"/>
129
+ </constraints>
130
+ </tableViewCellContentView>
131
+ <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
132
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
133
+ <connections>
134
+ <outlet property="btnRemoveBankAccount" destination="Jf7-VO-0k4" id="LRX-bb-tX3"/>
135
+ <outlet property="btnSelectAccount" destination="xDU-Tb-WmP" id="nmU-r7-7u4"/>
136
+ <outlet property="btnThreeDotBank" destination="Nfs-nh-tFm" id="vl3-Ov-eMn"/>
137
+ <outlet property="imgViewBank" destination="Z2k-d8-Dlc" id="9CQ-H4-NAb"/>
138
+ <outlet property="imgViewBankRightCon" destination="g9Y-HV-1bG" id="LtX-iR-Tf9"/>
139
+ <outlet property="imgViewBankWidth" destination="YdO-XX-IdQ" id="TB7-AB-jci"/>
140
+ <outlet property="lblAccountNumber" destination="S1P-IS-Ey9" id="6vF-lw-kTq"/>
141
+ <outlet property="lblAccountType" destination="u8I-kR-z3b" id="06o-4f-nKi"/>
142
+ <outlet property="viewBtnRemove" destination="kCd-cp-4V8" id="JRY-uC-kc0"/>
143
+ <outlet property="viewCell" destination="iZq-xB-OFp" id="yc6-Lk-ssr"/>
144
+ </connections>
145
+ <point key="canvasLocation" x="45.801526717557252" y="34.507042253521128"/>
146
+ </tableViewCell>
147
+ </objects>
148
+ <resources>
149
+ <image name="Ellipsis" width="30" height="30"/>
150
+ <image name="building.columns.fill" catalog="system" width="128" height="112"/>
151
+ <image name="circle" catalog="system" width="128" height="123"/>
152
+ <image name="circle.inset.filled" catalog="system" width="128" height="123"/>
153
+ <namedColor name="E93939">
154
+ <color red="0.9137254901960784" green="0.22352941176470589" blue="0.22352941176470589" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
155
+ </namedColor>
156
+ <systemColor name="systemBackgroundColor">
157
+ <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
158
+ </systemColor>
159
+ <systemColor name="systemGray6Color">
160
+ <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
161
+ </systemColor>
162
+ </resources>
163
+ </document>
@@ -0,0 +1,81 @@
1
+ //
2
+ // SavedCardsTVC.swift
3
+ // EasyPay
4
+ //
5
+ // Created by Mony's Mac on 09/09/24.
6
+ //
7
+
8
+ import UIKit
9
+
10
+ class SavedCardsTVC: UITableViewCell {
11
+
12
+ @IBOutlet weak var imgViewCard: UIImageView!
13
+ @IBOutlet weak var lblCardNumber: UILabel!
14
+ @IBOutlet weak var btnSelectCard: UIButton!
15
+ @IBOutlet weak var btnThreeDot: UIButton!
16
+ @IBOutlet weak var lblExpireDate: UILabel!
17
+ @IBOutlet weak var viewBtnRemoveUpdate: UIView!
18
+ @IBOutlet weak var btnRemoveCard: UIButton!
19
+ @IBOutlet weak var btnUpdateCard: UIButton!
20
+ @IBOutlet weak var imgViewCardWidth: NSLayoutConstraint!
21
+ @IBOutlet weak var imgViewCardRightCon: NSLayoutConstraint!
22
+ @IBOutlet weak var viewCell: UIView!
23
+
24
+ var isRemoveUpdateViewVisible: Bool = false
25
+
26
+ override func awakeFromNib() {
27
+ super.awakeFromNib()
28
+
29
+ addShadowToView(view: viewBtnRemoveUpdate)
30
+ viewBtnRemoveUpdate.isHidden = true
31
+
32
+ if let primaryBtnBackGroundColor = UserStoreSingleton.shared.primary_btn_bg_col,
33
+ let uiColor = UIColor(hex: primaryBtnBackGroundColor) {
34
+ btnSelectCard.tintColor = uiColor
35
+ btnUpdateCard.tintColor = uiColor
36
+ if let image = btnThreeDot.image(for: .normal)?.withRenderingMode(.alwaysTemplate) {
37
+ btnThreeDot.setImage(image, for: .normal)
38
+ btnThreeDot.tintColor = uiColor
39
+ }
40
+ }
41
+
42
+ if let primaryFontColor = UserStoreSingleton.shared.primary_font_col,
43
+ let uiColor = UIColor(hex: primaryFontColor) {
44
+ lblCardNumber.textColor = uiColor
45
+ lblExpireDate.textColor = uiColor
46
+ imgViewCard.tintColor = uiColor
47
+ }
48
+
49
+ if let bodyBackGroundColor = UserStoreSingleton.shared.body_bg_col,
50
+ let uiColor = UIColor(hex: bodyBackGroundColor) {
51
+ viewCell.backgroundColor = uiColor
52
+ }
53
+
54
+ if let borderRadiusString = UserStoreSingleton.shared.border_radious,
55
+ let borderRadius = Double(borderRadiusString) { // Convert String to Double
56
+ viewCell.layer.cornerRadius = CGFloat(borderRadius) // Set corner radius
57
+ } else {
58
+ viewCell.layer.cornerRadius = 8 // Default value
59
+ }
60
+ viewCell.layer.masksToBounds = true // Ensure the corners are clipped properly
61
+
62
+
63
+ if let fontSizeString = UserStoreSingleton.shared.fontSize,
64
+ let fontSizeDouble = Double(fontSizeString) { // Convert String to Double
65
+ let fontSize = CGFloat(fontSizeDouble) // Convert Double to CGFloat
66
+ lblCardNumber.font = UIFont.systemFont(ofSize: fontSize)
67
+ lblExpireDate.font = UIFont.systemFont(ofSize: fontSize)
68
+ btnRemoveCard.titleLabel?.font = UIFont.systemFont(ofSize: fontSize)
69
+ btnUpdateCard.titleLabel?.font = UIFont.systemFont(ofSize: fontSize)
70
+ }
71
+ }
72
+
73
+ private func addShadowToView(view: UIView) {
74
+ view.layer.shadowColor = UIColor.black.cgColor
75
+ view.layer.shadowOpacity = 0.3
76
+ view.layer.shadowOffset = CGSize(width: 0, height: 2)
77
+ view.layer.shadowRadius = 6
78
+ view.layer.masksToBounds = false
79
+ }
80
+
81
+ }
@@ -0,0 +1,188 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3
+ <device id="retina6_12" orientation="portrait" appearance="light"/>
4
+ <dependencies>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
6
+ <capability name="Named colors" minToolsVersion="9.0"/>
7
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8
+ <capability name="System colors in document resources" minToolsVersion="11.0"/>
9
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10
+ </dependencies>
11
+ <objects>
12
+ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
13
+ <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
14
+ <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="SavedCardsTVC" rowHeight="84" id="KGk-i7-Jjw" customClass="SavedCardsTVC" customModule="EasyPay" customModuleProvider="target">
15
+ <rect key="frame" x="0.0" y="0.0" width="321" height="84"/>
16
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
17
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
18
+ <rect key="frame" x="0.0" y="0.0" width="321" height="84"/>
19
+ <autoresizingMask key="autoresizingMask"/>
20
+ <subviews>
21
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aNj-nR-WnE">
22
+ <rect key="frame" x="0.0" y="10" width="321" height="65"/>
23
+ <subviews>
24
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VvA-gH-Hh7">
25
+ <rect key="frame" x="8" y="15" width="35" height="35"/>
26
+ <constraints>
27
+ <constraint firstAttribute="width" constant="35" id="2kI-vB-QfW"/>
28
+ <constraint firstAttribute="height" constant="35" id="AJm-dh-r9k"/>
29
+ </constraints>
30
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
31
+ <state key="normal" image="circle" catalog="system">
32
+ <preferredSymbolConfiguration key="preferredSymbolConfiguration" configurationType="pointSize" pointSize="18"/>
33
+ </state>
34
+ <state key="selected" image="circle.inset.filled" catalog="system">
35
+ <preferredSymbolConfiguration key="preferredSymbolConfiguration" configurationType="pointSize" pointSize="16"/>
36
+ </state>
37
+ </button>
38
+ <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="creditcard.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="a0y-1j-sx1">
39
+ <rect key="frame" x="51" y="22.666666666666664" width="40" height="20.000000000000007"/>
40
+ <color key="tintColor" systemColor="systemGrayColor"/>
41
+ <constraints>
42
+ <constraint firstAttribute="width" constant="40" id="DZU-gW-CCC"/>
43
+ <constraint firstAttribute="height" constant="24" id="SkX-gd-dLX"/>
44
+ </constraints>
45
+ </imageView>
46
+ <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="lmi-Pd-PdB">
47
+ <rect key="frame" x="103" y="12.666666666666671" width="174" height="40"/>
48
+ <subviews>
49
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NJ6-Fo-VxC">
50
+ <rect key="frame" x="0.0" y="0.0" width="174" height="18"/>
51
+ <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
52
+ <nil key="textColor"/>
53
+ <nil key="highlightedColor"/>
54
+ </label>
55
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WTD-Jh-5ZX">
56
+ <rect key="frame" x="0.0" y="22.999999999999996" width="174" height="17.000000000000004"/>
57
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
58
+ <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
59
+ <nil key="highlightedColor"/>
60
+ </label>
61
+ </subviews>
62
+ </stackView>
63
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tGL-Q6-Y62">
64
+ <rect key="frame" x="287" y="17.666666666666671" width="30" height="30"/>
65
+ <constraints>
66
+ <constraint firstAttribute="height" constant="30" id="4fx-T0-4oL"/>
67
+ <constraint firstAttribute="width" constant="30" id="d8d-fv-MSq"/>
68
+ </constraints>
69
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
70
+ <state key="normal" image="Ellipsis"/>
71
+ </button>
72
+ <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="p28-ex-owu">
73
+ <rect key="frame" x="107" y="12.666666666666671" width="160" height="40"/>
74
+ <subviews>
75
+ <stackView opaque="NO" contentMode="scaleToFill" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="zx6-cU-7M2">
76
+ <rect key="frame" x="13" y="0.0" width="134" height="40"/>
77
+ <subviews>
78
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zRM-GW-3Ne">
79
+ <rect key="frame" x="0.0" y="0.0" width="57" height="40"/>
80
+ <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
81
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
82
+ <state key="normal" title="Remove">
83
+ <color key="titleColor" name="E93939"/>
84
+ </state>
85
+ </button>
86
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FnN-yF-hAx">
87
+ <rect key="frame" x="69" y="0.0" width="1" height="40"/>
88
+ <color key="backgroundColor" systemColor="systemGray4Color"/>
89
+ <constraints>
90
+ <constraint firstAttribute="width" constant="1" id="Pmb-Av-ddF"/>
91
+ <constraint firstAttribute="height" constant="40" id="TE0-h8-dZZ"/>
92
+ </constraints>
93
+ </view>
94
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MCm-58-6Zg">
95
+ <rect key="frame" x="82" y="0.0" width="52" height="40"/>
96
+ <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
97
+ <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
98
+ <state key="normal" title="Update"/>
99
+ </button>
100
+ </subviews>
101
+ <constraints>
102
+ <constraint firstItem="FnN-yF-hAx" firstAttribute="top" secondItem="zx6-cU-7M2" secondAttribute="top" id="5hC-2o-GdU"/>
103
+ <constraint firstAttribute="bottom" secondItem="FnN-yF-hAx" secondAttribute="bottom" id="6Wa-jk-5oc"/>
104
+ </constraints>
105
+ </stackView>
106
+ </subviews>
107
+ <color key="backgroundColor" systemColor="systemBackgroundColor"/>
108
+ <constraints>
109
+ <constraint firstAttribute="width" constant="160" id="8Bo-iC-JAU"/>
110
+ <constraint firstItem="zx6-cU-7M2" firstAttribute="centerY" secondItem="p28-ex-owu" secondAttribute="centerY" id="8Kl-7x-4xB"/>
111
+ <constraint firstAttribute="height" constant="40" id="dCg-Ug-Gzv"/>
112
+ <constraint firstItem="zx6-cU-7M2" firstAttribute="centerX" secondItem="p28-ex-owu" secondAttribute="centerX" id="qkE-i8-AJE"/>
113
+ </constraints>
114
+ <userDefinedRuntimeAttributes>
115
+ <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
116
+ <integer key="value" value="6"/>
117
+ </userDefinedRuntimeAttribute>
118
+ </userDefinedRuntimeAttributes>
119
+ </view>
120
+ </subviews>
121
+ <color key="backgroundColor" systemColor="systemGray6Color"/>
122
+ <constraints>
123
+ <constraint firstItem="lmi-Pd-PdB" firstAttribute="leading" secondItem="a0y-1j-sx1" secondAttribute="trailing" constant="12" id="3rF-o5-oAd"/>
124
+ <constraint firstAttribute="trailing" secondItem="tGL-Q6-Y62" secondAttribute="trailing" constant="4" id="INa-Ti-ad1"/>
125
+ <constraint firstItem="tGL-Q6-Y62" firstAttribute="leading" secondItem="p28-ex-owu" secondAttribute="trailing" constant="20" id="Jp2-Fh-HP0"/>
126
+ <constraint firstItem="a0y-1j-sx1" firstAttribute="leading" secondItem="VvA-gH-Hh7" secondAttribute="trailing" constant="8" id="KGb-zl-12W"/>
127
+ <constraint firstItem="VvA-gH-Hh7" firstAttribute="centerY" secondItem="aNj-nR-WnE" secondAttribute="centerY" id="LjX-1S-RYD"/>
128
+ <constraint firstItem="VvA-gH-Hh7" firstAttribute="leading" secondItem="aNj-nR-WnE" secondAttribute="leading" constant="8" id="Mr1-bx-wbP"/>
129
+ <constraint firstItem="tGL-Q6-Y62" firstAttribute="leading" secondItem="lmi-Pd-PdB" secondAttribute="trailing" constant="10" id="QXc-8A-ocY"/>
130
+ <constraint firstItem="p28-ex-owu" firstAttribute="centerY" secondItem="aNj-nR-WnE" secondAttribute="centerY" id="SiU-l4-VLV"/>
131
+ <constraint firstAttribute="height" constant="65" id="Uoc-2C-st1"/>
132
+ <constraint firstItem="tGL-Q6-Y62" firstAttribute="centerY" secondItem="aNj-nR-WnE" secondAttribute="centerY" id="jP4-ru-RSq"/>
133
+ <constraint firstItem="lmi-Pd-PdB" firstAttribute="centerY" secondItem="aNj-nR-WnE" secondAttribute="centerY" id="m9d-nc-eks"/>
134
+ <constraint firstItem="a0y-1j-sx1" firstAttribute="centerY" secondItem="aNj-nR-WnE" secondAttribute="centerY" id="wNQ-Wa-wod"/>
135
+ </constraints>
136
+ <userDefinedRuntimeAttributes>
137
+ <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
138
+ <integer key="value" value="6"/>
139
+ </userDefinedRuntimeAttribute>
140
+ </userDefinedRuntimeAttributes>
141
+ </view>
142
+ </subviews>
143
+ <constraints>
144
+ <constraint firstAttribute="trailing" secondItem="aNj-nR-WnE" secondAttribute="trailing" id="ERn-n2-NYe"/>
145
+ <constraint firstItem="aNj-nR-WnE" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="d0I-b6-ng7"/>
146
+ <constraint firstItem="aNj-nR-WnE" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="xgh-YK-X01"/>
147
+ </constraints>
148
+ </tableViewCellContentView>
149
+ <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
150
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
151
+ <connections>
152
+ <outlet property="btnRemoveCard" destination="zRM-GW-3Ne" id="djR-PF-20e"/>
153
+ <outlet property="btnSelectCard" destination="VvA-gH-Hh7" id="aZz-Fx-ije"/>
154
+ <outlet property="btnThreeDot" destination="tGL-Q6-Y62" id="Z87-kj-Uli"/>
155
+ <outlet property="btnUpdateCard" destination="MCm-58-6Zg" id="edb-Ru-MPD"/>
156
+ <outlet property="imgViewCard" destination="a0y-1j-sx1" id="HU8-Mb-5pf"/>
157
+ <outlet property="imgViewCardRightCon" destination="3rF-o5-oAd" id="MBp-iC-kQE"/>
158
+ <outlet property="imgViewCardWidth" destination="DZU-gW-CCC" id="Vcz-xa-5Rx"/>
159
+ <outlet property="lblCardNumber" destination="NJ6-Fo-VxC" id="Dv6-de-FBK"/>
160
+ <outlet property="lblExpireDate" destination="WTD-Jh-5ZX" id="fmO-fS-X7C"/>
161
+ <outlet property="viewBtnRemoveUpdate" destination="p28-ex-owu" id="3Ma-kB-0po"/>
162
+ <outlet property="viewCell" destination="aNj-nR-WnE" id="c6U-9J-0Qb"/>
163
+ </connections>
164
+ <point key="canvasLocation" x="-5.343511450381679" y="33.802816901408455"/>
165
+ </tableViewCell>
166
+ </objects>
167
+ <resources>
168
+ <image name="Ellipsis" width="30" height="30"/>
169
+ <image name="circle" catalog="system" width="128" height="123"/>
170
+ <image name="circle.inset.filled" catalog="system" width="128" height="123"/>
171
+ <image name="creditcard.fill" catalog="system" width="128" height="88"/>
172
+ <namedColor name="E93939">
173
+ <color red="0.9137254901960784" green="0.22352941176470589" blue="0.22352941176470589" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
174
+ </namedColor>
175
+ <systemColor name="systemBackgroundColor">
176
+ <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
177
+ </systemColor>
178
+ <systemColor name="systemGray4Color">
179
+ <color red="0.81960784313725488" green="0.81960784313725488" blue="0.83921568627450982" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
180
+ </systemColor>
181
+ <systemColor name="systemGray6Color">
182
+ <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
183
+ </systemColor>
184
+ <systemColor name="systemGrayColor">
185
+ <color red="0.55686274509803924" green="0.55686274509803924" blue="0.57647058823529407" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
186
+ </systemColor>
187
+ </resources>
188
+ </document>