@propel-nsl/propel-react-native-sdk 1.0.0

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 (221) hide show
  1. package/assets/fonts/Lexend-Black.ttf +0 -0
  2. package/assets/fonts/Lexend-Bold.ttf +0 -0
  3. package/assets/fonts/Lexend-ExtraBold.ttf +0 -0
  4. package/assets/fonts/Lexend-ExtraLight.ttf +0 -0
  5. package/assets/fonts/Lexend-Light.ttf +0 -0
  6. package/assets/fonts/Lexend-Medium.ttf +0 -0
  7. package/assets/fonts/Lexend-Regular.ttf +0 -0
  8. package/assets/fonts/Lexend-SemiBold.ttf +0 -0
  9. package/assets/fonts/Lexend-Thin.ttf +0 -0
  10. package/assets/images/HomeGoods.png +0 -0
  11. package/assets/images/accessories.png +0 -0
  12. package/assets/images/amazon.png +0 -0
  13. package/assets/images/apnaClubLogo.png +0 -0
  14. package/assets/images/apparel.png +0 -0
  15. package/assets/images/backgroundblue.png +0 -0
  16. package/assets/images/bannerCard.png +0 -0
  17. package/assets/images/bottomWave.png +0 -0
  18. package/assets/images/coin_1_1.png +0 -0
  19. package/assets/images/flipkart.png +0 -0
  20. package/assets/images/frame_1171278967.png +0 -0
  21. package/assets/images/gift.png +0 -0
  22. package/assets/images/herobanner.png +0 -0
  23. package/assets/images/hinduPencilsLogo.png +0 -0
  24. package/assets/images/icons/addwhiteicon.png +0 -0
  25. package/assets/images/icons/arrow-back.png +0 -0
  26. package/assets/images/icons/arrowgreen.png +0 -0
  27. package/assets/images/icons/arrowred.png +0 -0
  28. package/assets/images/icons/arrowright.png +0 -0
  29. package/assets/images/icons/arrowup.png +0 -0
  30. package/assets/images/icons/blackarrowdown.png +0 -0
  31. package/assets/images/icons/blackarrowup.png +0 -0
  32. package/assets/images/icons/blackcross.png +0 -0
  33. package/assets/images/icons/call.png +0 -0
  34. package/assets/images/icons/camera.png +0 -0
  35. package/assets/images/icons/cart.png +0 -0
  36. package/assets/images/icons/chat.png +0 -0
  37. package/assets/images/icons/circleblack.png +0 -0
  38. package/assets/images/icons/copy.png +0 -0
  39. package/assets/images/icons/cross.png +0 -0
  40. package/assets/images/icons/delete.png +0 -0
  41. package/assets/images/icons/delivery.png +0 -0
  42. package/assets/images/icons/eVoucher.png +0 -0
  43. package/assets/images/icons/editIcon.png +0 -0
  44. package/assets/images/icons/email.png +0 -0
  45. package/assets/images/icons/eye.png +0 -0
  46. package/assets/images/icons/faq.png +0 -0
  47. package/assets/images/icons/filtericon.png +0 -0
  48. package/assets/images/icons/greyDownArrow.png +0 -0
  49. package/assets/images/icons/help.png +0 -0
  50. package/assets/images/icons/home.png +0 -0
  51. package/assets/images/icons/homeinactive.png +0 -0
  52. package/assets/images/icons/i_blackicon.png +0 -0
  53. package/assets/images/icons/i_icon.png +0 -0
  54. package/assets/images/icons/location.png +0 -0
  55. package/assets/images/icons/logout.png +0 -0
  56. package/assets/images/icons/minus.png +0 -0
  57. package/assets/images/icons/myOrders.png +0 -0
  58. package/assets/images/icons/orders.png +0 -0
  59. package/assets/images/icons/pencillogo.png +0 -0
  60. package/assets/images/icons/pending.png +0 -0
  61. package/assets/images/icons/plus.png +0 -0
  62. package/assets/images/icons/redCross.png +0 -0
  63. package/assets/images/icons/redCrossicon.png +0 -0
  64. package/assets/images/icons/redWarningicon.png +0 -0
  65. package/assets/images/icons/redeem.png +0 -0
  66. package/assets/images/icons/redeemactive.png +0 -0
  67. package/assets/images/icons/redemptionHistory.png +0 -0
  68. package/assets/images/icons/redhelpicon.png +0 -0
  69. package/assets/images/icons/search.png +0 -0
  70. package/assets/images/icons/stopwatch.png +0 -0
  71. package/assets/images/icons/successTick.gif +0 -0
  72. package/assets/images/icons/tick.png +0 -0
  73. package/assets/images/icons/tnc.png +0 -0
  74. package/assets/images/icons/user.png +0 -0
  75. package/assets/images/icons/userredicon.png +0 -0
  76. package/assets/images/icons/wavecorner.png +0 -0
  77. package/assets/images/logo.png +0 -0
  78. package/assets/images/myntra_copy.png +0 -0
  79. package/assets/images/nike.png +0 -0
  80. package/assets/images/oq3p0u0_1.png +0 -0
  81. package/assets/images/profileicon.png +0 -0
  82. package/assets/images/topWave.png +0 -0
  83. package/assets/images/zagglePropelLogo.png +0 -0
  84. package/index.ts +23 -0
  85. package/lib/index.ts +25 -0
  86. package/package.json +70 -0
  87. package/src/PropelSDKScreen.tsx +98 -0
  88. package/src/SDKApp.tsx +540 -0
  89. package/src/bridge/SDKBridge.ts +104 -0
  90. package/src/bridge/index.ts +3 -0
  91. package/src/components/SDKBackHandler.tsx +187 -0
  92. package/src/components/SDKProfile.tsx +87 -0
  93. package/src/components/SDKProfileWrapper.tsx +51 -0
  94. package/src/constants.ts +10 -0
  95. package/src/contexts/SDKContext.tsx +72 -0
  96. package/src/hooks/useSDKBackNavigation.ts +61 -0
  97. package/src/navigation/SDKMainTabNavigator.tsx +315 -0
  98. package/src/navigation/SDKNavigator.tsx +41 -0
  99. package/src/redux/store.ts +32 -0
  100. package/src/screens/Dashboard/index.tsx +531 -0
  101. package/src/screens/Dashboard/styles.ts +512 -0
  102. package/src/screens/DeliveryAddress/index.tsx +221 -0
  103. package/src/screens/DeliveryAddress/styles.ts +122 -0
  104. package/src/screens/E-Vouchers/index.tsx +157 -0
  105. package/src/screens/E-Vouchers/styles.ts +106 -0
  106. package/src/screens/Faq/Faq.constants.ts +164 -0
  107. package/src/screens/Faq/index.tsx +114 -0
  108. package/src/screens/Faq/styles.ts +131 -0
  109. package/src/screens/Help/index.tsx +128 -0
  110. package/src/screens/Help/styles.ts +121 -0
  111. package/src/screens/Login/index.tsx +215 -0
  112. package/src/screens/Login/styles.ts +134 -0
  113. package/src/screens/MyCart/MyCart.constants.ts +13 -0
  114. package/src/screens/MyCart/index.tsx +318 -0
  115. package/src/screens/MyCart/styles.ts +249 -0
  116. package/src/screens/MyOrders/index.tsx +87 -0
  117. package/src/screens/MyOrders/styles.ts +281 -0
  118. package/src/screens/MyProfile/index.tsx +72 -0
  119. package/src/screens/MyProfile/styles.ts +47 -0
  120. package/src/screens/NewDeliveryAddress/index.tsx +360 -0
  121. package/src/screens/NewDeliveryAddress/styles.ts +68 -0
  122. package/src/screens/Onboarding/index.tsx +57 -0
  123. package/src/screens/Onboarding/styles.ts +60 -0
  124. package/src/screens/OrdersDetails/index.tsx +333 -0
  125. package/src/screens/OrdersDetails/styles.ts +262 -0
  126. package/src/screens/OtpVerification/index.tsx +283 -0
  127. package/src/screens/OtpVerification/styles.ts +197 -0
  128. package/src/screens/PaymentMethod/index.tsx +389 -0
  129. package/src/screens/PaymentMethod/styles.ts +246 -0
  130. package/src/screens/PointsLog/index.tsx +286 -0
  131. package/src/screens/PointsLog/styles.ts +156 -0
  132. package/src/screens/ProductDetails/index.tsx +682 -0
  133. package/src/screens/ProductDetails/styles.ts +372 -0
  134. package/src/screens/Profile/index.tsx +368 -0
  135. package/src/screens/Profile/styles.ts +158 -0
  136. package/src/screens/RedemptionHistory/RedemptionHistory.constants.ts +4 -0
  137. package/src/screens/RedemptionHistory/index.tsx +304 -0
  138. package/src/screens/RedemptionHistory/styles.ts +84 -0
  139. package/src/screens/Reedem/index.tsx +345 -0
  140. package/src/screens/Reedem/styles.ts +269 -0
  141. package/src/screens/TnC/TnC.constants.ts +169 -0
  142. package/src/screens/TnC/index.tsx +83 -0
  143. package/src/screens/TnC/styles.ts +88 -0
  144. package/src/screens/TransactionSuccessful/index.tsx +77 -0
  145. package/src/screens/TransactionSuccessful/styles.ts +77 -0
  146. package/src/screens/Verification/index.tsx +58 -0
  147. package/src/screens/Verification/styles.ts +74 -0
  148. package/src/screens/index.ts +23 -0
  149. package/src/types/index.ts +46 -0
  150. package/src-app/components/AmountBreakDownModal/index.tsx +86 -0
  151. package/src-app/components/AmountBreakDownModal/styles.ts +110 -0
  152. package/src-app/components/BottomNavIcons.tsx +125 -0
  153. package/src-app/components/Button.tsx +120 -0
  154. package/src-app/components/Card.tsx +47 -0
  155. package/src-app/components/ConfirmPopup/ConfirmPopup.constants.ts +25 -0
  156. package/src-app/components/ConfirmPopup/index.tsx +48 -0
  157. package/src-app/components/ConfirmPopup/styles.ts +167 -0
  158. package/src-app/components/CustomButton/index.tsx +67 -0
  159. package/src-app/components/CustomButton/styles.ts +44 -0
  160. package/src-app/components/CustomCard/index.tsx +221 -0
  161. package/src-app/components/CustomCard/styles.ts +184 -0
  162. package/src-app/components/CustomError/index.tsx +54 -0
  163. package/src-app/components/CustomError/styles.ts +41 -0
  164. package/src-app/components/CustomImage/index.tsx +37 -0
  165. package/src-app/components/CustomImage/styles.ts +5 -0
  166. package/src-app/components/CustomLoader/index.tsx +45 -0
  167. package/src-app/components/CustomLoader/styles.ts +35 -0
  168. package/src-app/components/CustomMessagePopUp/index.tsx +51 -0
  169. package/src-app/components/CustomMessagePopUp/styles.ts +74 -0
  170. package/src-app/components/CustomProductCard/index.tsx +13 -0
  171. package/src-app/components/CustomProductCard/styles.ts +5 -0
  172. package/src-app/components/FilterModal.tsx +372 -0
  173. package/src-app/components/Footer/index.tsx +23 -0
  174. package/src-app/components/Footer/styles.ts +37 -0
  175. package/src-app/components/Icon.tsx +80 -0
  176. package/src-app/components/Logout/index.tsx +82 -0
  177. package/src-app/components/Logout/styles.ts +116 -0
  178. package/src-app/components/MobileHeader.tsx +141 -0
  179. package/src-app/components/NoDataFound/index.tsx +18 -0
  180. package/src-app/components/NoDataFound/styles.ts +26 -0
  181. package/src-app/components/OTPModal.tsx +747 -0
  182. package/src-app/components/ProfileField.tsx +47 -0
  183. package/src-app/components/QuantityModal/index.tsx +113 -0
  184. package/src-app/components/QuantityModal/styles.ts +84 -0
  185. package/src-app/components/TabBarIcons.tsx +110 -0
  186. package/src-app/components/TextInput.tsx +79 -0
  187. package/src-app/components/ToastConfig.tsx +60 -0
  188. package/src-app/components/index.ts +18 -0
  189. package/src-app/config/env.ts +22 -0
  190. package/src-app/constants/Fonts.ts +12 -0
  191. package/src-app/constants/Formatter.ts +39 -0
  192. package/src-app/constants/HtmlSanitization.ts +46 -0
  193. package/src-app/constants/Images.ts +81 -0
  194. package/src-app/constants/Labels.ts +8 -0
  195. package/src-app/constants/Messages.ts +108 -0
  196. package/src-app/constants/Routes.ts +17 -0
  197. package/src-app/constants/Scaling.ts +5 -0
  198. package/src-app/constants/Text.ts +8 -0
  199. package/src-app/constants/offSets.ts +18 -0
  200. package/src-app/hooks/useAppDispatch.ts +4 -0
  201. package/src-app/hooks/useAppSelector.ts +4 -0
  202. package/src-app/hooks/useBackHandler.ts +47 -0
  203. package/src-app/hooks/useScreenBackHandler.ts +91 -0
  204. package/src-app/navigation/AppNavigator.tsx +34 -0
  205. package/src-app/navigation/MainTabNavigator.tsx +294 -0
  206. package/src-app/redux/authSaga.ts +605 -0
  207. package/src-app/redux/authSlice.ts +754 -0
  208. package/src-app/redux/rootSaga.ts +6 -0
  209. package/src-app/redux/store.ts +25 -0
  210. package/src-app/services/api.ts +14 -0
  211. package/src-app/services/endpoints.ts +33 -0
  212. package/src-app/services/index.ts +574 -0
  213. package/src-app/services/sdkCredentials.ts +44 -0
  214. package/src-app/styles/colors.ts +85 -0
  215. package/src-app/styles/shared.ts +112 -0
  216. package/src-app/types/authTypes.ts +155 -0
  217. package/src-app/types/navigation.ts +99 -0
  218. package/src-app/utils/Validation.ts +48 -0
  219. package/src-app/utils/filterPins.ts +29 -0
  220. package/src-app/utils/navigationUtils.ts +43 -0
  221. package/src-app/utils/useHardwareBack.ts +21 -0
@@ -0,0 +1,512 @@
1
+ import { Platform, StyleSheet } from 'react-native';
2
+ import FontFamily from '../../../src-app/constants/Fonts';
3
+ import { SCALE, VSCALE } from '../../../src-app/constants/Scaling';
4
+ import { colors } from '../../../src-app/styles/colors';
5
+
6
+ const styles = StyleSheet.create({
7
+ container: {
8
+ flex: 1,
9
+ backgroundColor: colors.actionBackground,
10
+ paddingTop: Platform.OS === 'ios' ? 0 : VSCALE(16),
11
+ },
12
+ statusBar: {
13
+ flexDirection: 'row',
14
+ justifyContent: 'space-between',
15
+ alignItems: 'center',
16
+ paddingHorizontal: SCALE(20),
17
+ paddingTop: VSCALE(16),
18
+ paddingBottom: VSCALE(16),
19
+ },
20
+ timeText: {
21
+ fontFamily: FontFamily.LEXEND_REGULAR,
22
+ fontSize: SCALE(15),
23
+ fontWeight: '400',
24
+ color: colors.timeText,
25
+ letterSpacing: -0.165,
26
+ },
27
+ statusIcons: {
28
+ flexDirection: 'row',
29
+ alignItems: 'center',
30
+ gap: SCALE(8),
31
+ },
32
+ scrollView: {
33
+ flex: 1,
34
+ backgroundColor: colors.white,
35
+ },
36
+ scrollViewContent: {
37
+ flexGrow: 1,
38
+ paddingBottom: VSCALE(20),
39
+ },
40
+ headerSection: {
41
+ flexDirection: 'row',
42
+ justifyContent: 'space-between',
43
+ alignItems: 'center',
44
+ paddingHorizontal: SCALE(20),
45
+ paddingBottom: VSCALE(16),
46
+ },
47
+ userInfo: {
48
+ flexDirection: 'row',
49
+ alignItems: 'center',
50
+ gap: SCALE(12),
51
+ },
52
+ backButton: {
53
+ width: SCALE(24),
54
+ height: SCALE(24),
55
+ justifyContent: 'center',
56
+ alignItems: 'center',
57
+ },
58
+ backArrowIcon: {
59
+ width: SCALE(18),
60
+ height: SCALE(18),
61
+ resizeMode: 'contain',
62
+ },
63
+ avatar: {
64
+ width: SCALE(36),
65
+ height: SCALE(36),
66
+ borderRadius: SCALE(18),
67
+ backgroundColor: colors.avatarBackground,
68
+ justifyContent: 'center',
69
+ alignItems: 'center',
70
+ },
71
+ avatarText: {
72
+ fontFamily: FontFamily.LEXEND_REGULAR,
73
+ fontSize: SCALE(14),
74
+ fontWeight: '400',
75
+ color: colors.avatarText,
76
+ },
77
+ userDetails: {
78
+ gap: VSCALE(2),
79
+ },
80
+ greeting: {
81
+ fontFamily: FontFamily.LEXEND_REGULAR,
82
+ fontSize: SCALE(10),
83
+ fontWeight: '400',
84
+ color: colors.greeting,
85
+ },
86
+ userName: {
87
+ fontFamily: FontFamily.LEXEND_SEMIBOLD,
88
+ fontSize: SCALE(14),
89
+ fontWeight: '600',
90
+ color: colors.black,
91
+ },
92
+ cartButton: {
93
+ padding: SCALE(8),
94
+ },
95
+ cartContainer: {
96
+ position: 'relative',
97
+ width: SCALE(42),
98
+ height: SCALE(42),
99
+ borderRadius: SCALE(21),
100
+ backgroundColor: colors.cartBackground,
101
+ justifyContent: 'center',
102
+ alignItems: 'center',
103
+ },
104
+ cartBadge: {
105
+ position: 'absolute',
106
+ top: VSCALE(8),
107
+ right: SCALE(9),
108
+ width: SCALE(11),
109
+ height: VSCALE(12),
110
+ backgroundColor: colors.cartBadgeBackground,
111
+ borderRadius: SCALE(6),
112
+ justifyContent: 'center',
113
+ alignItems: 'center',
114
+ },
115
+ cartBadgeText: {
116
+ fontFamily: FontFamily.LEXEND_REGULAR,
117
+ fontSize: SCALE(10),
118
+ fontWeight: '700',
119
+ color: colors.cartBadgeText,
120
+ },
121
+ pointsCardContainer: {
122
+ paddingHorizontal: 0,
123
+ marginBottom: 0,
124
+ },
125
+ card: {
126
+ width: '100%',
127
+ height: VSCALE(148),
128
+ borderRadius: SCALE(21),
129
+ },
130
+ pointsCardContent: {
131
+ position: 'relative',
132
+ padding: SCALE(20),
133
+ flex: 1,
134
+ zIndex: 2,
135
+ },
136
+ pointsHeader: {
137
+ flexDirection: 'row',
138
+ alignItems: 'flex-end',
139
+ gap: SCALE(10),
140
+ marginBottom: Platform.OS === 'ios' ? VSCALE(20) : VSCALE(10),
141
+ right: SCALE(5),
142
+ },
143
+ apnaClubLogo: {
144
+ width: SCALE(60),
145
+ height: VSCALE(55),
146
+ resizeMode: 'contain',
147
+ },
148
+ pointsInfo: {
149
+ flex: 1,
150
+ },
151
+ pointsValue: {
152
+ fontFamily: FontFamily.LEXEND_BOLD,
153
+ fontSize: SCALE(18),
154
+ fontWeight: '700',
155
+ color: colors.pointsValue,
156
+ marginBottom: VSCALE(1),
157
+ },
158
+ pointsLabel: {
159
+ fontFamily: FontFamily.LEXEND_REGULAR,
160
+ fontSize: SCALE(12),
161
+ fontWeight: '400',
162
+ color: colors.avatarText,
163
+ },
164
+ redeemButton: {
165
+ height: VSCALE(40),
166
+ backgroundColor: colors.redeemButton,
167
+ borderRadius: SCALE(8),
168
+ justifyContent: 'center',
169
+ alignItems: 'center',
170
+ paddingHorizontal: SCALE(16),
171
+ minWidth: SCALE(100),
172
+ },
173
+ redeemButtonText: {
174
+ fontFamily: FontFamily.LEXEND_REGULAR,
175
+ fontSize: SCALE(12),
176
+ fontWeight: '700',
177
+ color: colors.redeemButtonText,
178
+ },
179
+ backgroundShape: {
180
+ position: 'absolute',
181
+ top: Platform.OS === 'ios' ? SCALE(3) : SCALE(1),
182
+ right: Platform.OS === 'ios' ? -SCALE(14) : -SCALE(15.5),
183
+ },
184
+ pencilIcon: {
185
+ position: 'absolute',
186
+ right: SCALE(16),
187
+ top: VSCALE(44),
188
+ width: SCALE(79),
189
+ height: VSCALE(89),
190
+ },
191
+ statsSection: {
192
+ flexDirection: 'row',
193
+ paddingHorizontal: SCALE(20),
194
+ gap: SCALE(18),
195
+ marginBottom: VSCALE(24),
196
+ },
197
+ statCard: {
198
+ flex: 1,
199
+ padding: SCALE(16),
200
+ borderRadius: SCALE(20),
201
+ backgroundColor: colors.statCardBackground,
202
+ alignItems: 'center',
203
+ },
204
+ statValue: {
205
+ fontFamily: FontFamily.LEXEND_REGULAR,
206
+ fontSize: SCALE(24),
207
+ fontWeight: '700',
208
+ color: colors.pointsValue,
209
+ marginBottom: VSCALE(8),
210
+ },
211
+ statLabel: {
212
+ fontFamily: FontFamily.LEXEND_REGULAR,
213
+ fontSize: SCALE(10),
214
+ fontWeight: '400',
215
+ color: colors.pointsValue,
216
+ textAlign: 'center',
217
+ },
218
+ actionsSection: {
219
+ flexDirection: 'row',
220
+ paddingHorizontal: SCALE(16),
221
+ gap: SCALE(10),
222
+ marginBottom: VSCALE(24),
223
+ },
224
+ actionItem: {
225
+ height: VSCALE(84),
226
+ padding: SCALE(14),
227
+ paddingBottom: VSCALE(12),
228
+ borderRadius: SCALE(20),
229
+ borderWidth: 1,
230
+ borderColor: colors.actionBorder,
231
+ backgroundColor: colors.actionBackground,
232
+ justifyContent: 'space-between',
233
+ alignItems: 'center',
234
+ width: SCALE(100),
235
+ },
236
+ actionLabel: {
237
+ fontFamily: FontFamily.LEXEND_REGULAR,
238
+ fontSize: SCALE(10),
239
+ fontWeight: '400',
240
+ color: colors.avatarText,
241
+ textAlign: 'center',
242
+ lineHeight: VSCALE(12),
243
+ width: '100%',
244
+ },
245
+ rewardsSection: {
246
+ paddingHorizontal: SCALE(20),
247
+ marginBottom: VSCALE(24),
248
+ },
249
+ rewardsCard: {
250
+ padding: SCALE(16),
251
+ borderRadius: SCALE(20),
252
+ borderWidth: 1,
253
+ borderColor: colors.actionBorder,
254
+ backgroundColor: colors.actionBackground,
255
+ },
256
+ giftImage: {
257
+ width: SCALE(106),
258
+ height: SCALE(106),
259
+ },
260
+ rewardsRow: {
261
+ flexDirection: 'row',
262
+ alignItems: 'center',
263
+ marginBottom: VSCALE(12),
264
+ },
265
+ rewardsTitle: {
266
+ fontFamily: FontFamily.LEXEND_REGULAR,
267
+ fontSize: SCALE(14),
268
+ fontWeight: '700',
269
+ color: colors.avatarText,
270
+ marginBottom: VSCALE(4),
271
+ textAlign: 'right',
272
+ },
273
+ rewardsSubtitle: {
274
+ fontFamily: FontFamily.LEXEND_REGULAR,
275
+ fontSize: SCALE(12),
276
+ fontWeight: '400',
277
+ color: colors.greeting,
278
+ lineHeight: VSCALE(18),
279
+ textAlign: 'right',
280
+ },
281
+ viewAllButton: {
282
+ width: SCALE(118),
283
+ height: VSCALE(32),
284
+ backgroundColor: colors.viewAllButton,
285
+ borderRadius: SCALE(8),
286
+ justifyContent: 'center',
287
+ alignItems: 'center',
288
+ marginTop: VSCALE(8),
289
+ alignSelf: 'flex-end',
290
+ },
291
+ rewardsTextColumn: {
292
+ flex: 1,
293
+ },
294
+ viewAllButtonText: {
295
+ fontFamily: FontFamily.LEXEND_REGULAR,
296
+ fontSize: SCALE(10),
297
+ fontWeight: '700',
298
+ color: colors.redeemButtonText,
299
+ },
300
+ bottomSpacing: {
301
+ height: VSCALE(120),
302
+ },
303
+ icon: {
304
+ height: SCALE(24),
305
+ width: SCALE(24),
306
+ },
307
+ bannerCard: {
308
+ height: VSCALE(177),
309
+ width: SCALE(353),
310
+ alignSelf: 'center',
311
+ marginBottom: VSCALE(20),
312
+ },
313
+ bannerPointsContainer: {
314
+ position: 'relative',
315
+ },
316
+ giftIcon: {
317
+ height: VSCALE(106),
318
+ width: SCALE(106),
319
+ resizeMode: 'contain',
320
+ right: SCALE(10),
321
+ },
322
+ waveCorner: {
323
+ height: Platform.OS === 'ios' ? VSCALE(142) : VSCALE(146),
324
+ width: SCALE(180),
325
+ resizeMode: 'contain',
326
+ },
327
+ backgroundblue: {
328
+ position: 'absolute',
329
+ top: 0,
330
+ left: 0,
331
+ width: '100%',
332
+ height: '100%',
333
+ resizeMode: 'contain',
334
+ },
335
+ pencillogoContainer: {
336
+ position: 'absolute',
337
+ top: VSCALE(40),
338
+ left: SCALE(50),
339
+ width: '100%',
340
+ height: '100%',
341
+ resizeMode: 'cover',
342
+ },
343
+ pencillogo: {
344
+ height: VSCALE(88),
345
+ width: SCALE(79),
346
+ resizeMode: 'contain',
347
+ },
348
+ cartCountContainer: {
349
+ position: 'absolute',
350
+ top: VSCALE(2),
351
+ right: SCALE(8),
352
+ width: SCALE(16),
353
+ height: VSCALE(14),
354
+ justifyContent: 'center',
355
+ alignItems: 'center',
356
+ },
357
+ cartCountText: {
358
+ fontFamily: FontFamily.LEXEND_REGULAR,
359
+ fontSize: SCALE(10),
360
+ fontWeight: '700',
361
+ color: colors.red,
362
+ },
363
+ // New styles for updated Home tab UI
364
+ headerBackground: {
365
+ marginHorizontal: SCALE(16),
366
+ borderRadius: SCALE(20),
367
+ overflow: 'hidden',
368
+ paddingVertical: VSCALE(16),
369
+ paddingHorizontal: SCALE(16),
370
+ marginBottom: VSCALE(10),
371
+ },
372
+ headerIcons: {
373
+ flexDirection: 'row',
374
+ alignItems: 'center',
375
+ gap: SCALE(8),
376
+ },
377
+ headerIcon: {
378
+ width: SCALE(20),
379
+ height: SCALE(20),
380
+ resizeMode: 'contain',
381
+ },
382
+ bellButton: {
383
+ padding: SCALE(8),
384
+ },
385
+ pointsCard: {
386
+ flexDirection: 'row',
387
+ alignItems: 'center',
388
+ backgroundColor: colors.white,
389
+ borderRadius: SCALE(16),
390
+ paddingVertical: VSCALE(16),
391
+ paddingHorizontal: SCALE(16),
392
+ shadowColor: colors.black,
393
+ shadowOffset: { width: 0, height: 2 },
394
+ shadowOpacity: 0.1,
395
+ shadowRadius: 4,
396
+ elevation: 3,
397
+ },
398
+ pointsCardLeft: {
399
+ marginRight: SCALE(12),
400
+ },
401
+ coinIcon: {
402
+ width: SCALE(48),
403
+ height: SCALE(48),
404
+ resizeMode: 'contain',
405
+ },
406
+ pointsCardCenter: {
407
+ flex: 1,
408
+ },
409
+ yourPointsLabel: {
410
+ fontFamily: FontFamily.LEXEND_REGULAR,
411
+ fontSize: SCALE(12),
412
+ fontWeight: '400',
413
+ color: colors.greeting,
414
+ },
415
+ actionIcon: {
416
+ width: SCALE(28),
417
+ height: SCALE(28),
418
+ resizeMode: 'contain',
419
+ },
420
+ bannerSection: {
421
+ marginHorizontal: SCALE(16),
422
+ marginBottom: VSCALE(20),
423
+ },
424
+ discountBanner: {
425
+ width: '100%',
426
+ height: VSCALE(140),
427
+ borderRadius: SCALE(16),
428
+ resizeMode: 'cover',
429
+ },
430
+ sectionContainer: {
431
+ marginBottom: VSCALE(20),
432
+ },
433
+ sectionHeader: {
434
+ flexDirection: 'row',
435
+ justifyContent: 'space-between',
436
+ alignItems: 'center',
437
+ paddingHorizontal: SCALE(16),
438
+ marginBottom: VSCALE(12),
439
+ },
440
+ sectionTitle: {
441
+ fontFamily: FontFamily.LEXEND_SEMIBOLD,
442
+ fontSize: SCALE(16),
443
+ fontWeight: '600',
444
+ color: colors.black,
445
+ },
446
+ viewAllText: {
447
+ fontFamily: FontFamily.LEXEND_REGULAR,
448
+ fontSize: SCALE(12),
449
+ fontWeight: '400',
450
+ color: colors.greeting,
451
+ },
452
+ categoriesList: {
453
+ paddingHorizontal: SCALE(16),
454
+ gap: SCALE(12),
455
+ },
456
+ categoryItem: {
457
+ alignItems: 'center',
458
+ marginRight: SCALE(12),
459
+ },
460
+ categoryImageContainer: {
461
+ width: SCALE(100),
462
+ height: SCALE(100),
463
+ borderRadius: SCALE(12),
464
+ backgroundColor: colors.surfaceVariant,
465
+ overflow: 'hidden',
466
+ marginBottom: VSCALE(8),
467
+ },
468
+ categoryImage: {
469
+ width: '100%',
470
+ height: '100%',
471
+ resizeMode: 'cover',
472
+ },
473
+ categoryName: {
474
+ fontFamily: FontFamily.LEXEND_REGULAR,
475
+ fontSize: SCALE(12),
476
+ fontWeight: '400',
477
+ color: colors.black,
478
+ textAlign: 'center',
479
+ },
480
+ eVouchersList: {
481
+ paddingHorizontal: SCALE(16),
482
+ gap: SCALE(12),
483
+ },
484
+ eVoucherItem: {
485
+ alignItems: 'center',
486
+ marginRight: SCALE(12),
487
+ },
488
+ eVoucherImageContainer: {
489
+ width: SCALE(100),
490
+ height: SCALE(100),
491
+ borderRadius: SCALE(12),
492
+ backgroundColor: colors.surfaceVariant,
493
+ overflow: 'hidden',
494
+ marginBottom: VSCALE(8),
495
+ justifyContent: 'center',
496
+ alignItems: 'center',
497
+ },
498
+ eVoucherLogo: {
499
+ width: '80%',
500
+ height: '80%',
501
+ resizeMode: 'contain',
502
+ },
503
+ eVoucherName: {
504
+ fontFamily: FontFamily.LEXEND_REGULAR,
505
+ fontSize: SCALE(12),
506
+ fontWeight: '400',
507
+ color: colors.black,
508
+ textAlign: 'center',
509
+ },
510
+ });
511
+
512
+ export default styles;