@anker-in/campaign-ui 0.2.0 → 0.2.1

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 (363) hide show
  1. package/dist/cjs/components/chat/index.js +1 -1
  2. package/dist/cjs/components/chat/index.js.map +3 -3
  3. package/dist/cjs/components/credits/const.d.ts +1 -0
  4. package/dist/cjs/components/credits/const.js +2 -0
  5. package/dist/cjs/components/credits/const.js.map +7 -0
  6. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  7. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  8. package/dist/cjs/components/credits/context/hooks/useSubscribed.js +1 -1
  9. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +3 -3
  10. package/dist/cjs/components/credits/context/provider.d.ts +8 -33
  11. package/dist/cjs/components/credits/context/provider.js +1 -1
  12. package/dist/cjs/components/credits/context/provider.js.map +3 -3
  13. package/dist/cjs/components/credits/creditsBanner/index.d.ts +16 -16
  14. package/dist/cjs/components/credits/creditsBanner/index.js +1 -1
  15. package/dist/cjs/components/credits/creditsBanner/index.js.map +2 -2
  16. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +1 -1
  17. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +3 -3
  18. package/dist/cjs/components/credits/creditsBenefits/index.d.ts +7 -8
  19. package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
  20. package/dist/cjs/components/credits/creditsBenefits/index.js.map +3 -3
  21. package/dist/cjs/components/credits/creditsCash/CreditsCash.d.ts +4 -0
  22. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +2 -0
  23. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +7 -0
  24. package/dist/cjs/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  25. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  26. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  27. package/dist/cjs/components/credits/creditsCash/index.d.ts +2 -11
  28. package/dist/cjs/components/credits/creditsCash/index.js +1 -1
  29. package/dist/cjs/components/credits/creditsCash/index.js.map +4 -4
  30. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -3
  31. package/dist/cjs/components/credits/creditsCash/type.js +1 -1
  32. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  33. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  34. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  35. package/dist/cjs/components/credits/creditsFaq/index.d.ts +2 -2
  36. package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
  37. package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
  38. package/dist/cjs/components/credits/creditsInfoCard/index.d.ts +9 -15
  39. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  40. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
  41. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  42. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  43. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  44. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  45. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  46. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  47. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
  48. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  49. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  50. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  51. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  52. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  53. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  54. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  55. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  56. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  57. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  58. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  59. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  60. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  61. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  62. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  63. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  64. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  65. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  66. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  67. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  68. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  69. package/dist/cjs/components/credits/creditsRedeemList/index.d.ts +2 -12
  70. package/dist/cjs/components/credits/creditsRedeemList/index.js +1 -1
  71. package/dist/cjs/components/credits/creditsRedeemList/index.js.map +4 -4
  72. package/dist/cjs/components/credits/creditsRedeemList/type.d.ts +1 -15
  73. package/dist/cjs/components/credits/creditsRedeemList/type.js +1 -1
  74. package/dist/cjs/components/credits/creditsRedeemList/type.js.map +1 -1
  75. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
  76. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  77. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  78. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  79. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +1 -1
  80. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  81. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  82. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +1 -1
  83. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  84. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  85. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  86. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  87. package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
  88. package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
  89. package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
  90. package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
  91. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  92. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  93. package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
  94. package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
  95. package/dist/cjs/components/credits/modal/rulesModal.js +1 -1
  96. package/dist/cjs/components/credits/modal/rulesModal.js.map +3 -3
  97. package/dist/cjs/components/credits/modal/subscribeModal.d.ts +15 -0
  98. package/dist/cjs/components/credits/modal/subscribeModal.js +2 -0
  99. package/dist/cjs/components/credits/modal/subscribeModal.js.map +7 -0
  100. package/dist/cjs/components/credits/modal/tip.js +1 -1
  101. package/dist/cjs/components/credits/modal/tip.js.map +3 -3
  102. package/dist/cjs/components/credits/type.d.ts +23 -4
  103. package/dist/cjs/components/credits/type.js +1 -1
  104. package/dist/cjs/components/credits/type.js.map +1 -1
  105. package/dist/cjs/components/index.d.ts +1 -0
  106. package/dist/cjs/components/index.js +1 -1
  107. package/dist/cjs/components/index.js.map +2 -2
  108. package/dist/cjs/components/registration/authCodeActivate/Message.js +1 -1
  109. package/dist/cjs/components/registration/authCodeActivate/Message.js.map +2 -2
  110. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  111. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  112. package/dist/cjs/components/registration/authCodeActivate/type.d.ts +1 -2
  113. package/dist/cjs/components/registration/authCodeActivate/type.js +1 -1
  114. package/dist/cjs/components/registration/authCodeActivate/type.js.map +1 -1
  115. package/dist/cjs/components/registration/context/index.d.ts +1 -0
  116. package/dist/cjs/components/registration/context/index.js +2 -0
  117. package/dist/cjs/components/registration/context/index.js.map +7 -0
  118. package/dist/cjs/components/registration/context/provider.d.ts +27 -0
  119. package/dist/cjs/components/registration/context/provider.js +2 -0
  120. package/dist/cjs/components/registration/context/provider.js.map +7 -0
  121. package/dist/cjs/components/registration/index.d.ts +1 -0
  122. package/dist/cjs/components/registration/index.js +1 -1
  123. package/dist/cjs/components/registration/index.js.map +2 -2
  124. package/dist/cjs/components/registration/modalContainer.d.ts +1 -2
  125. package/dist/cjs/components/registration/modalContainer.js +1 -1
  126. package/dist/cjs/components/registration/modalContainer.js.map +3 -3
  127. package/dist/cjs/index.d.ts +2 -1
  128. package/dist/cjs/index.js +1 -1
  129. package/dist/cjs/index.js.map +2 -2
  130. package/dist/cjs/templates/credits.d.ts +59 -0
  131. package/dist/cjs/templates/credits.js +2 -0
  132. package/dist/cjs/templates/credits.js.map +7 -0
  133. package/dist/cjs/templates/index.d.ts +1 -0
  134. package/dist/cjs/templates/index.js +2 -0
  135. package/dist/cjs/templates/index.js.map +7 -0
  136. package/dist/esm/components/chat/index.js +1 -1
  137. package/dist/esm/components/chat/index.js.map +2 -2
  138. package/dist/esm/components/credits/const.d.ts +1 -0
  139. package/dist/esm/components/credits/const.js +2 -0
  140. package/dist/esm/components/credits/const.js.map +7 -0
  141. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  142. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  143. package/dist/esm/components/credits/context/hooks/useSubscribed.js +1 -1
  144. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +3 -3
  145. package/dist/esm/components/credits/context/provider.d.ts +8 -33
  146. package/dist/esm/components/credits/context/provider.js +1 -1
  147. package/dist/esm/components/credits/context/provider.js.map +3 -3
  148. package/dist/esm/components/credits/creditsBanner/index.d.ts +16 -16
  149. package/dist/esm/components/credits/creditsBanner/index.js +1 -1
  150. package/dist/esm/components/credits/creditsBanner/index.js.map +2 -2
  151. package/dist/esm/components/credits/creditsBenefits/benefitItem.js +1 -1
  152. package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +3 -3
  153. package/dist/esm/components/credits/creditsBenefits/index.d.ts +7 -8
  154. package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
  155. package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
  156. package/dist/esm/components/credits/creditsCash/CreditsCash.d.ts +4 -0
  157. package/dist/esm/components/credits/creditsCash/CreditsCash.js +2 -0
  158. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +7 -0
  159. package/dist/esm/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  160. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  161. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  162. package/dist/esm/components/credits/creditsCash/index.d.ts +2 -11
  163. package/dist/esm/components/credits/creditsCash/index.js +1 -1
  164. package/dist/esm/components/credits/creditsCash/index.js.map +4 -4
  165. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -3
  166. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  167. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
  168. package/dist/esm/components/credits/creditsFaq/index.d.ts +2 -2
  169. package/dist/esm/components/credits/creditsFaq/index.js +1 -1
  170. package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
  171. package/dist/esm/components/credits/creditsInfoCard/index.d.ts +9 -15
  172. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  173. package/dist/esm/components/credits/creditsInfoCard/index.js.map +3 -3
  174. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  175. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  176. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  177. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  178. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  179. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  180. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
  181. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  182. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  183. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  184. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  185. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  186. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  187. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  188. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  189. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  190. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  191. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  192. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  193. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  194. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  195. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  196. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  197. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  198. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  199. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  200. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  201. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  202. package/dist/esm/components/credits/creditsRedeemList/index.d.ts +2 -12
  203. package/dist/esm/components/credits/creditsRedeemList/index.js +1 -1
  204. package/dist/esm/components/credits/creditsRedeemList/index.js.map +4 -4
  205. package/dist/esm/components/credits/creditsRedeemList/type.d.ts +1 -15
  206. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
  207. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  208. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  209. package/dist/esm/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  210. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +1 -1
  211. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  212. package/dist/esm/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  213. package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  214. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  215. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  216. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  217. package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
  218. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +3 -3
  219. package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
  220. package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
  221. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  222. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  223. package/dist/esm/components/credits/modal/modalContainer.js +1 -1
  224. package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
  225. package/dist/esm/components/credits/modal/rulesModal.js +1 -1
  226. package/dist/esm/components/credits/modal/rulesModal.js.map +2 -2
  227. package/dist/esm/components/credits/modal/subscribeModal.d.ts +15 -0
  228. package/dist/esm/components/credits/modal/subscribeModal.js +2 -0
  229. package/dist/esm/components/credits/modal/subscribeModal.js.map +7 -0
  230. package/dist/esm/components/credits/modal/tip.js +1 -1
  231. package/dist/esm/components/credits/modal/tip.js.map +3 -3
  232. package/dist/esm/components/credits/type.d.ts +23 -4
  233. package/dist/esm/components/index.d.ts +1 -0
  234. package/dist/esm/components/index.js +1 -1
  235. package/dist/esm/components/index.js.map +2 -2
  236. package/dist/esm/components/registration/authCodeActivate/Message.js +1 -1
  237. package/dist/esm/components/registration/authCodeActivate/Message.js.map +2 -2
  238. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  239. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  240. package/dist/esm/components/registration/authCodeActivate/type.d.ts +1 -2
  241. package/dist/esm/components/registration/context/index.d.ts +1 -0
  242. package/dist/esm/components/registration/context/index.js +2 -0
  243. package/dist/esm/components/registration/context/index.js.map +7 -0
  244. package/dist/esm/components/registration/context/provider.d.ts +27 -0
  245. package/dist/esm/components/registration/context/provider.js +2 -0
  246. package/dist/esm/components/registration/context/provider.js.map +7 -0
  247. package/dist/esm/components/registration/index.d.ts +1 -0
  248. package/dist/esm/components/registration/index.js +1 -1
  249. package/dist/esm/components/registration/index.js.map +2 -2
  250. package/dist/esm/components/registration/modalContainer.d.ts +1 -2
  251. package/dist/esm/components/registration/modalContainer.js +1 -1
  252. package/dist/esm/components/registration/modalContainer.js.map +3 -3
  253. package/dist/esm/index.d.ts +2 -1
  254. package/dist/esm/index.js +1 -1
  255. package/dist/esm/index.js.map +2 -2
  256. package/dist/esm/templates/credits.d.ts +59 -0
  257. package/dist/esm/templates/credits.js +2 -0
  258. package/dist/esm/templates/credits.js.map +7 -0
  259. package/dist/esm/templates/index.d.ts +1 -0
  260. package/dist/esm/templates/index.js +2 -0
  261. package/dist/esm/templates/index.js.map +7 -0
  262. package/package.json +5 -4
  263. package/src/components/chat/index.tsx +1 -1
  264. package/src/components/credits/context/hooks/useRedeemAndBuy.ts +0 -2
  265. package/src/components/credits/context/hooks/useSubscribed.ts +1 -2
  266. package/src/components/credits/context/provider.tsx +16 -20
  267. package/src/components/credits/creditsBanner/index.tsx +14 -16
  268. package/src/components/credits/creditsBenefits/benefitItem.tsx +19 -4
  269. package/src/components/credits/creditsBenefits/index.tsx +6 -10
  270. package/src/components/credits/creditsCash/{index.tsx → CreditsCash.tsx} +8 -26
  271. package/src/components/credits/creditsCash/RedeemableItem.tsx +35 -17
  272. package/src/components/credits/creditsCash/index.ts +2 -0
  273. package/src/components/credits/creditsCash/type.ts +1 -3
  274. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +12 -12
  275. package/src/components/credits/creditsFaq/index.tsx +6 -4
  276. package/src/components/credits/creditsInfoCard/index.tsx +38 -33
  277. package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +7 -3
  278. package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +5 -1
  279. package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +5 -4
  280. package/src/components/credits/creditsRedeemList/{index.tsx → CreditsRedeemList.tsx} +15 -28
  281. package/src/components/credits/creditsRedeemList/NonProductValue.tsx +4 -3
  282. package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +6 -6
  283. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +14 -11
  284. package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +4 -2
  285. package/src/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.tsx +3 -1
  286. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +9 -5
  287. package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +4 -1
  288. package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +2 -2
  289. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +11 -7
  290. package/src/components/credits/creditsRedeemList/index.ts +2 -0
  291. package/src/components/credits/creditsRedeemList/type.ts +1 -16
  292. package/src/components/credits/creditsWaysToGetCredits/{index.tsx → CreditsWaysToGetCredits.tsx} +64 -15
  293. package/src/components/credits/creditsWaysToGetCredits/index.ts +2 -0
  294. package/src/components/credits/creditsWaysToGetCredits/type.ts +5 -15
  295. package/src/components/credits/creditsWaysToGetCredits/useActions.ts +22 -8
  296. package/src/components/credits/modal/MyRewardsModal.tsx +10 -2
  297. package/src/components/credits/modal/activitiesModal.tsx +8 -3
  298. package/src/components/credits/modal/creditsUploadReceiptModal.tsx +9 -1
  299. package/src/components/credits/modal/modalContainer.tsx +5 -1
  300. package/src/components/credits/modal/rulesModal.tsx +1 -1
  301. package/src/components/credits/modal/subscribeModal.tsx +201 -0
  302. package/src/components/credits/modal/tip.tsx +10 -1
  303. package/src/components/credits/type.ts +23 -4
  304. package/src/components/index.ts +2 -2
  305. package/src/components/registration/authCodeActivate/Message.tsx +43 -0
  306. package/src/components/registration/authCodeActivate/index.tsx +338 -0
  307. package/src/components/registration/authCodeActivate/type.ts +23 -0
  308. package/src/components/registration/context/index.tsx +1 -0
  309. package/src/components/registration/context/provider.tsx +86 -0
  310. package/src/components/registration/index.ts +2 -0
  311. package/src/components/registration/modalContainer.tsx +114 -0
  312. package/src/index.ts +2 -1
  313. package/src/templates/credits.tsx +134 -0
  314. package/src/templates/index.ts +1 -0
  315. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  316. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  317. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  318. package/dist/cjs/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  319. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +0 -2
  320. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  321. package/dist/cjs/helpers/fetchResponse.d.ts +0 -14
  322. package/dist/cjs/helpers/fetchResponse.js +0 -2
  323. package/dist/cjs/helpers/fetchResponse.js.map +0 -7
  324. package/dist/cjs/helpers/fetcher.d.ts +0 -2
  325. package/dist/cjs/helpers/fetcher.js +0 -2
  326. package/dist/cjs/helpers/fetcher.js.map +0 -7
  327. package/dist/cjs/helpers/index.d.ts +0 -2
  328. package/dist/cjs/helpers/index.js +0 -2
  329. package/dist/cjs/helpers/index.js.map +0 -7
  330. package/dist/cjs/helpers/track.d.ts +0 -19
  331. package/dist/cjs/helpers/track.js +0 -2
  332. package/dist/cjs/helpers/track.js.map +0 -7
  333. package/dist/cjs/helpers/utils.d.ts +0 -3
  334. package/dist/cjs/helpers/utils.js +0 -2
  335. package/dist/cjs/helpers/utils.js.map +0 -7
  336. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  337. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  338. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  339. package/dist/esm/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  340. package/dist/esm/components/credits/context/hooks/useSubscriptions.js +0 -2
  341. package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  342. package/dist/esm/helpers/fetchResponse.d.ts +0 -14
  343. package/dist/esm/helpers/fetchResponse.js +0 -2
  344. package/dist/esm/helpers/fetchResponse.js.map +0 -7
  345. package/dist/esm/helpers/fetcher.d.ts +0 -2
  346. package/dist/esm/helpers/fetcher.js +0 -2
  347. package/dist/esm/helpers/fetcher.js.map +0 -7
  348. package/dist/esm/helpers/index.d.ts +0 -2
  349. package/dist/esm/helpers/index.js +0 -2
  350. package/dist/esm/helpers/index.js.map +0 -7
  351. package/dist/esm/helpers/track.d.ts +0 -19
  352. package/dist/esm/helpers/track.js +0 -2
  353. package/dist/esm/helpers/track.js.map +0 -7
  354. package/dist/esm/helpers/utils.d.ts +0 -3
  355. package/dist/esm/helpers/utils.js +0 -2
  356. package/dist/esm/helpers/utils.js.map +0 -7
  357. package/src/components/credits/context/hooks/useSendEmailValidation.ts +0 -20
  358. package/src/components/credits/context/hooks/useSubscriptions.ts +0 -29
  359. package/src/helpers/fetchResponse.ts +0 -35
  360. package/src/helpers/fetcher.ts +0 -44
  361. package/src/helpers/index.ts +0 -2
  362. package/src/helpers/track.ts +0 -73
  363. package/src/helpers/utils.ts +0 -8
@@ -2,33 +2,29 @@ import { Button, Container, Text } from '@anker-in/headless-ui'
2
2
 
3
3
  import { useCallback, useState } from 'react'
4
4
  import { useCreditsContext } from '../context/provider'
5
- import { cn } from '../../../helpers'
6
5
  import { numberFormat } from '../context/utils'
7
6
  import ActivitiesModal from '../modal/activitiesModal'
8
- import MyRewardsModal, { type MyRewardsMetafields } from '../modal/MyRewardsModal'
9
- import { type MyActivitiesMetafields } from '../modal/activitiesModal'
10
- import { gaNormalClick } from '../../../helpers/track'
7
+ import MyRewardsModal from '../modal/MyRewardsModal'
8
+ import { gaNormalClick, classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
11
9
 
12
10
  type ButtonConfig = {
13
11
  text: string
14
12
  type: 'activities' | 'rewards'
15
13
  }
16
- export interface InfoCardProps {
17
- data: {
18
- balanceLabel: string
19
- comingSoonLabel: string
20
- comingSoonTips: string
21
- buttons: ButtonConfig[]
22
- pointUnit: string
23
- infoIcon: string
24
- myActivities: MyActivitiesMetafields
25
- myRewards: MyRewardsMetafields
26
- }
14
+ export type CreditsInfoCardCopy = {
15
+ balanceLabel: string
16
+ comingSoonLabel: string
17
+ comingSoonTips: string
18
+ buttons: ButtonConfig[]
27
19
  }
28
- export function CreditsInfoCard({ data }: InfoCardProps) {
20
+
21
+ export function CreditsInfoCard({ copy }: { copy: CreditsInfoCardCopy }) {
29
22
  const [openActivities, setOpenActivities] = useState(false)
30
23
  const [openRewards, setOpenRewards] = useState(false)
31
24
  const [hover, setHover] = useState<boolean>(false)
25
+ const { creditInfo, pageCommon } = useCreditsContext()
26
+ const { brand } = useHeadlessContext()
27
+ const rounded = ROUNDED_BRANDS.includes(brand)
32
28
 
33
29
  const handleButtonClick = useCallback((buttonConfig: ButtonConfig) => {
34
30
  gaNormalClick({ position: 'info_card', label: buttonConfig.text })
@@ -45,8 +41,6 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
45
41
  }
46
42
  }, [])
47
43
 
48
- const { creditInfo } = useCreditsContext()
49
-
50
44
  return (
51
45
  <Container asChild id="infoCard" className="-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]">
52
46
  <div
@@ -54,7 +48,8 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
54
48
  'mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]',
55
49
  'l:flex-col l:items-start',
56
50
  'min-l:px-[48px]',
57
- 'min-xl:px-[100px]'
51
+ 'min-xl:px-[100px]',
52
+ !rounded && 'rounded-none'
58
53
  )}
59
54
  style={{
60
55
  background:
@@ -73,23 +68,23 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
73
68
  'mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]'
74
69
  )}
75
70
  >
76
- {data.balanceLabel}
71
+ {copy.balanceLabel}
77
72
  </div>
78
73
  <div className="flex items-baseline">
79
74
  <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>
80
75
  {creditInfo ? numberFormat(creditInfo.available_credit) : 0}
81
76
  </div>
82
- <div className="text-[16px]">{data?.pointUnit}</div>
77
+ <div className="text-[16px]">{pageCommon?.pointUnit}</div>
83
78
  </div>
84
79
  </div>
85
80
  <div className="w-fit md:flex-1">
86
81
  <div className={cn('mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]')}>
87
- <Text className="text-[14px] font-bold xl:text-[16px] min-md:text-[18px]" html={data.comingSoonLabel} />
88
- {data.comingSoonTips && (
82
+ <Text className="text-[14px] font-bold xl:text-[16px] min-md:text-[18px]" html={copy.comingSoonLabel} />
83
+ {copy.comingSoonTips && (
89
84
  <div className="group relative ml-[4px] flex cursor-pointer items-start">
90
85
  <Text
91
86
  as="div"
92
- html={data?.infoIcon}
87
+ html={pageCommon?.infoIcon}
93
88
  className="size-[18px] cursor-pointer [&_svg]:size-full"
94
89
  onClick={() => {
95
90
  if (hover) {
@@ -108,9 +103,19 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
108
103
  hover ? 'block' : 'hidden'
109
104
  )}
110
105
  >
111
- <div className="relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow">
112
- <Text size="2" html={data.comingSoonTips} className="desktop:text-[18px]" />
113
- <div className="absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]" />
106
+ <div
107
+ className={cn(
108
+ 'relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow',
109
+ !rounded && 'rounded-none'
110
+ )}
111
+ >
112
+ <Text size="2" html={copy.comingSoonTips} className="desktop:text-[18px]" />
113
+ <div
114
+ className={cn(
115
+ 'absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]',
116
+ !rounded && 'rounded-none'
117
+ )}
118
+ />
114
119
  </div>
115
120
  </div>
116
121
  </div>
@@ -120,7 +125,7 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
120
125
  <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-l:text-[44px]', 'min-xl:text-[56px]')}>
121
126
  {creditInfo ? numberFormat(creditInfo.pending_credit) : 0}
122
127
  </div>
123
- <div className="text-[16px]">{data?.pointUnit}</div>
128
+ <div className="text-[16px]">{pageCommon?.pointUnit}</div>
124
129
  </div>
125
130
  </div>
126
131
  </div>
@@ -129,7 +134,7 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
129
134
  'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'
130
135
  )}
131
136
  >
132
- {data.buttons?.map((item, index) => (
137
+ {copy.buttons?.map((item, index) => (
133
138
  <Button
134
139
  key={index}
135
140
  variant={index === 0 ? 'secondary' : 'primary'}
@@ -144,19 +149,19 @@ export function CreditsInfoCard({ data }: InfoCardProps) {
144
149
  ))}
145
150
  </div>
146
151
 
147
- {data?.myActivities && (
152
+ {pageCommon?.activitiesModal && (
148
153
  <ActivitiesModal
149
154
  isOpen={openActivities}
150
- data={data?.myActivities}
155
+ data={pageCommon?.activitiesModal}
151
156
  onClose={() => {
152
157
  setOpenActivities(false)
153
158
  }}
154
159
  />
155
160
  )}
156
- {data?.myRewards && (
161
+ {pageCommon?.rewardsModal && (
157
162
  <MyRewardsModal
158
163
  isOpen={openRewards}
159
- data={data?.myRewards}
164
+ data={pageCommon?.rewardsModal}
160
165
  onClose={() => {
161
166
  setOpenRewards(false)
162
167
  }}
@@ -2,6 +2,7 @@ import { Picture } from '@anker-in/headless-ui'
2
2
  import useClickOutside from '../../context/hooks/useClickOutside'
3
3
  import classNames from 'classnames'
4
4
  import { useEffect, useState } from 'react'
5
+ import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
6
 
6
7
  interface Country {
7
8
  id: string
@@ -20,7 +21,8 @@ interface CountrySelectProps {
20
21
  export function CountrySelect({ countries, loading, className, value, onChange }: CountrySelectProps) {
21
22
  const [show, setShow] = useState(false)
22
23
  const [display, setDisplay] = useState<any>('')
23
-
24
+ const { brand } = useHeadlessContext()
25
+ const rounded = ROUNDED_BRANDS.includes(brand)
24
26
  const dorpdown = useClickOutside<HTMLDivElement>(() => {
25
27
  setShow(false)
26
28
  })
@@ -53,6 +55,7 @@ export function CountrySelect({ countries, loading, className, value, onChange }
53
55
  <div
54
56
  className={classNames(
55
57
  'absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block',
58
+ !rounded && 'rounded-none',
56
59
  className
57
60
  )}
58
61
  onClick={() => {
@@ -71,14 +74,15 @@ export function CountrySelect({ countries, loading, className, value, onChange }
71
74
 
72
75
  <Picture
73
76
  source="https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500"
74
- imgClassName="pointer-events-none absolute right-0 top-0 bottom-0 !w-[45px] object-cover"
77
+ className="absolute pointer-events-none right-0 top-0 bottom-0 size-[50px] object-cover"
75
78
  alt="arrow"
76
79
  />
77
80
 
78
81
  <div
79
82
  ref={dorpdown}
80
83
  className={classNames(
81
- 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',
84
+ 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',
85
+ !rounded && 'rounded-none',
82
86
  { '!hidden': !show }
83
87
  )}
84
88
  >
@@ -2,6 +2,7 @@ import classNames from 'classnames'
2
2
  import { Picture } from '@anker-in/headless-ui'
3
3
  import { useEffect, useMemo, useState } from 'react'
4
4
  import useClickOutside from '../../context/hooks/useClickOutside'
5
+ import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
6
 
6
7
  interface StateSelectProps {
7
8
  states: { code: string; id: string; name: string }[]
@@ -16,6 +17,8 @@ interface StateSelectProps {
16
17
  export function StateSelect({ states, stateName = '', stateCode = '', className = '', onChange }: StateSelectProps) {
17
18
  const [show, setShow] = useState(false)
18
19
  const [display, setDisplay] = useState<any>('')
20
+ const { brand } = useHeadlessContext()
21
+ const rounded = ROUNDED_BRANDS.includes(brand)
19
22
 
20
23
  const dropdown = useClickOutside<HTMLDivElement>(() => {
21
24
  setShow(false)
@@ -78,7 +81,8 @@ export function StateSelect({ states, stateName = '', stateCode = '', className
78
81
  <div
79
82
  ref={dropdown}
80
83
  className={classNames(
81
- 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',
84
+ 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',
85
+ !rounded && 'rounded-none',
82
86
  { '!hidden': !show }
83
87
  )}
84
88
  >
@@ -7,13 +7,13 @@ import { Input } from './Input'
7
7
  import { StateSelect } from './StateSelect'
8
8
  import { ALPC_COUNTRY_MAP } from '../../context/const'
9
9
  import { useCreditsContext } from '../../context/provider'
10
- import { useHeadlessContext } from '@anker-in/lib'
10
+ import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
11
11
  import { AddressFormProps } from './type'
12
12
 
13
13
  export const AddressForm = ({ countries, countriesLoading, form, validate, errors, onChange }: AddressFormProps) => {
14
14
  const { profile, customer } = useCreditsContext()
15
- const { locale } = useHeadlessContext()
16
-
15
+ const { locale, brand } = useHeadlessContext()
16
+ const rounded = ROUNDED_BRANDS.includes(brand)
17
17
  const [address, setAddress] = useState<Record<string, any>>()
18
18
 
19
19
  const states = useMemo(() => {
@@ -79,7 +79,8 @@ export const AddressForm = ({ countries, countriesLoading, form, validate, error
79
79
  const error = errors.find(item => item.key === input.key)?.message
80
80
  const inputClassName = classNames(
81
81
  'h-full w-full appearance-none rounded-[2px] border bg-white px-[14px] py-[17px] leading-[1] outline-none placeholder:text-[#999] autofill:shadow-white focus:border-brand disabled:pointer-events-none disabled:text-[#999] disabled:bg-[#F7F8F9] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none',
82
- error ? '!border-[#F84D4F]' : 'border-[#d8d8d8]'
82
+ error ? '!border-[#F84D4F]' : 'border-[#d8d8d8]',
83
+ !rounded && 'rounded-none'
83
84
  )
84
85
 
85
86
  if (input.type === 'state') {
@@ -7,36 +7,24 @@ import RedeemProductModal from './RedeemProductModal'
7
7
  import { useCreditsContext } from '../context/provider'
8
8
  import useRedeemableList from '../context/hooks/useRedeemableList'
9
9
  import { AlpcConsumeType, AlpcErrorCode } from '../context/const'
10
- import { useProductsByHandles } from '@anker-in/lib'
10
+ import { useHeadlessContext, useProductsByHandles, gaTrack, ROUNDED_BRANDS } from '@anker-in/lib'
11
11
  import type { RedeemableItem as RedeemableItemType } from '../type'
12
12
  import { RedeemableItem } from './RedeemableItem'
13
13
  import RulesModal from '../modal/rulesModal'
14
14
  import { CreditsRedeemListCopy } from './type'
15
- import { gaTrack } from '../../../helpers/track'
15
+ import { useRegistration } from '../../../components/registration'
16
16
 
17
- export function CreditsRedeemList({
18
- copy,
19
- className = '',
20
- tabClassName = '',
21
- hideTitle = false,
22
- cardClassName,
23
- activate,
24
- }: {
25
- copy: CreditsRedeemListCopy
26
- className?: string
27
- tabClassName?: string
28
- hideTitle?: boolean
29
- cardClassName?: string
30
- activate: {
31
- openAuthCodePopup: () => void
32
- isSuccess: boolean
33
- }
34
- }) {
17
+ export const CreditsRedeemList = ({ copy }: { copy: CreditsRedeemListCopy }) => {
35
18
  const {
36
19
  profile,
37
20
  openSignUpPopup,
38
21
  gtm: { pageGroup },
22
+ pageCommon,
39
23
  } = useCreditsContext()
24
+ const { authCodeActivate } = useRegistration()
25
+ const { brand } = useHeadlessContext()
26
+ const rounded = ROUNDED_BRANDS.includes(brand)
27
+
40
28
  const isLogin = Object.keys(profile || {}).length > 0
41
29
 
42
30
  const [activeTab, setActiveTab] = useState<string>(copy.list[0].label)
@@ -95,13 +83,13 @@ export function CreditsRedeemList({
95
83
  )
96
84
 
97
85
  return (
98
- <Container className={classNames('relative bg-[#F5F5F7]', className)}>
99
- {!hideTitle && <Heading as="h2" size="4" html={copy.title} />}
86
+ <Container className={classNames('relative bg-[#F5F5F7]')}>
87
+ <Heading as="h2" size="4" html={copy.title} />
100
88
 
101
89
  <Tabs
102
- shape="rounded"
90
+ shape={rounded ? 'rounded' : 'square'}
103
91
  align="left"
104
- className={classNames('sticky top-0 z-20 py-[24px] md:justify-center', tabClassName)}
92
+ className={classNames('sticky top-0 z-20 py-[24px] md:justify-center')}
105
93
  value={activeTab.toString()}
106
94
  onValueChange={value => {
107
95
  setActiveTab(value)
@@ -136,14 +124,13 @@ export function CreditsRedeemList({
136
124
  onRedeem={(item: RedeemableItemType) => {
137
125
  if (!isLogin) {
138
126
  openSignUpPopup()
139
- } else if (!profile?.activated && !activate.isSuccess) {
140
- activate.openAuthCodePopup()
127
+ } else if (!profile?.activated && !authCodeActivate.isActivateSuccess) {
128
+ authCodeActivate.open()
141
129
  } else {
142
130
  setPopRedeemData(item)
143
131
  }
144
132
  }}
145
133
  onRulesOpen={setRules}
146
- className={cardClassName}
147
134
  />
148
135
  ))}
149
136
  </div>
@@ -180,7 +167,7 @@ export function CreditsRedeemList({
180
167
  titleClassName="border-b-transparent h-[56px]"
181
168
  rules={rules}
182
169
  scrollClassName="md:mt-[8px] md:mb-[24px] md:pt-0"
183
- title={copy?.ruleLabel}
170
+ title={pageCommon?.ruleLabel}
184
171
  ruleClassName="text-[#1d1d1f] font-bold"
185
172
  />
186
173
  )}
@@ -1,9 +1,10 @@
1
1
  import { Text } from '@anker-in/headless-ui'
2
2
  import { RedeemableItem } from '../type'
3
3
  import { ConsumeType } from '../context/const'
4
- import { CreditsRedeemListCopy } from './type'
4
+ import { useCreditsContext } from '../context/provider'
5
5
 
6
- export const NoneProductValue = ({ item, copy }: { item: RedeemableItem; copy: CreditsRedeemListCopy }) => {
6
+ export const NoneProductValue = ({ item }: { item: RedeemableItem }) => {
7
+ const { pageCommon } = useCreditsContext()
7
8
  // shipping coupon 仅展示文案
8
9
  if (item.config?.type === ConsumeType.ShippingCoupon) {
9
10
  return (
@@ -26,7 +27,7 @@ export const NoneProductValue = ({ item, copy }: { item: RedeemableItem; copy: C
26
27
  />
27
28
  <Text
28
29
  className="ml-[4px] text-[24px] font-bold leading-[2] md:ml-[2px] l:text-[12px] xxl:leading-[1.4] l-xxl:text-[20px]"
29
- html={item.config?.type === ConsumeType.GiftCard ? copy?.giftCardLabel : copy?.off}
30
+ html={item.config?.type === ConsumeType.GiftCard ? pageCommon?.giftCardLabel : pageCommon?.off}
30
31
  />
31
32
  </div>
32
33
  ) : (
@@ -30,7 +30,7 @@ function RedeemCouponModal({
30
30
  const [disabled, setDisabled] = useState(false)
31
31
  const { copy: copyText, copied: copiedStatus } = useCopy()
32
32
 
33
- const { profile, fetchCreditInfo } = useCreditsContext()
33
+ const { profile, fetchCreditInfo, pageCommon } = useCreditsContext()
34
34
 
35
35
  const { isMutating: loading, trigger } = useRedeemCoupon({
36
36
  onSuccess(responseData) {
@@ -96,8 +96,8 @@ function RedeemCouponModal({
96
96
  )}
97
97
  >
98
98
  <div className="relative mx-auto h-[164px] w-[324px]">
99
- {copy?.imageMapping[item.config?.type]?.url && (
100
- <Picture source={copy.imageMapping[item.config.type].url} className="h-full [&_img]:h-full" />
99
+ {pageCommon?.imageMapping?.[item.config?.type]?.url && (
100
+ <Picture source={pageCommon.imageMapping[item.config.type].url} className="h-full [&_img]:h-full" />
101
101
  )}
102
102
  <div className="absolute bottom-[8px] left-[16px] font-extrabold text-white">
103
103
  {item.config.value ? (
@@ -126,7 +126,7 @@ function RedeemCouponModal({
126
126
  }
127
127
  }}
128
128
  >
129
- {copiedStatus ? copy?.copied : copy?.copy}
129
+ {copiedStatus ? pageCommon?.copied : pageCommon?.copy}
130
130
  </div>
131
131
  </div>
132
132
  ) : (
@@ -136,12 +136,12 @@ function RedeemCouponModal({
136
136
  'mt-[30px] text-center text-[24px] font-bold leading-[1.2] md:mt-[18px] md:text-[20px] md:leading-[1.2]'
137
137
  )}
138
138
  >
139
- {numberFormat(item.alpc?.consumeCredits)} {copy?.pointUnit}
139
+ {numberFormat(item.alpc?.consumeCredits)} {pageCommon?.pointUnit}
140
140
  </Text>
141
141
  )}
142
142
  {!couponCode && item.config?.rules?.length > 0 && (
143
143
  <div className="mt-[18px] w-full text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:mt-[12px] md:text-[14px]">
144
- <div className="mb-[4px]">{copy?.ruleLabel}:</div>
144
+ <div className="mb-[4px]">{pageCommon?.ruleLabel}:</div>
145
145
  <ul className="ml-4 grid grid-flow-row gap-[4px]">
146
146
  {item.config?.rules?.map((text, index) => (
147
147
  <li className="list-disc" key={index}>
@@ -1,7 +1,7 @@
1
1
  import { Button, Text } from '@anker-in/headless-ui'
2
2
  import classNames from 'classnames'
3
3
  import { AddressForm } from '../AddressForm'
4
- import { useHeadlessContext } from '@anker-in/lib'
4
+ import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
5
  import type { RedeemableItem as RedeemableItemType } from '../../type'
6
6
  import { CreditsRedeemListCopy } from '../type'
7
7
  import { ProductInfo } from './ProductInfo'
@@ -34,7 +34,8 @@ export const Address = ({
34
34
  handlePayment,
35
35
  item,
36
36
  }: AddressProps) => {
37
- const { storeDomain } = useHeadlessContext()
37
+ const { storeDomain, brand } = useHeadlessContext()
38
+ const rounded = ROUNDED_BRANDS.includes(brand)
38
39
  const { countries = [], isLoading: countriesLoading } = useCountries({ shopifyStoreDomain: storeDomain })
39
40
 
40
41
  return (
@@ -42,18 +43,20 @@ export const Address = ({
42
43
  <div className={classNames('max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]')}>
43
44
  <div>
44
45
  {shippingAddress && <Text className="mb-5 text-[16px] font-bold" html={shippingAddress}></Text>}
45
- <AddressForm
46
- onChange={setAddress}
47
- validate={validateAddress}
48
- errors={validateErrors}
49
- form={copy.redeemModal.product.addressForm}
50
- countries={countries}
51
- countriesLoading={countriesLoading}
52
- ></AddressForm>
46
+ {copy.redeemModal?.product?.addressForm && (
47
+ <AddressForm
48
+ onChange={setAddress}
49
+ validate={validateAddress}
50
+ errors={validateErrors}
51
+ form={copy.redeemModal.product.addressForm}
52
+ countries={countries}
53
+ countriesLoading={countriesLoading}
54
+ ></AddressForm>
55
+ )}
53
56
  </div>
54
57
  </div>
55
58
  <div className="sticky bottom-0 flex flex-col items-center justify-center bg-white px-[48px] py-[24px] l:px-[16px]">
56
- <div className="flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]">
59
+ <div className={classNames('flex w-full items-center bg-[#F5F5F7] p-[16px]', !rounded && 'rounded-none')}>
57
60
  {shippingProduct && <Text className="mb-5 text-[16px] font-bold" html={shippingProduct}></Text>}
58
61
  <ProductInfo item={item} copy={copy} />
59
62
  </div>
@@ -6,6 +6,7 @@ import type { RedeemableItem as RedeemableItemType } from '../../type'
6
6
  import { CreditsRedeemListCopy } from '../type'
7
7
  import { ConsumeType } from '../../context/const'
8
8
  import { NoneProductValue } from './NonProductValue'
9
+ import { useCreditsContext } from '../../context/provider'
9
10
 
10
11
  type InitProps = {
11
12
  copy: CreditsRedeemListCopy
@@ -16,6 +17,7 @@ type InitProps = {
16
17
  }
17
18
 
18
19
  export const Init = ({ copy, item, loading, disabled, setStatus }: InitProps) => {
20
+ const { pageCommon } = useCreditsContext()
19
21
  const rules = useMemo(() => {
20
22
  if (item.config.rules?.length) {
21
23
  return item.config.rules
@@ -37,7 +39,7 @@ export const Init = ({ copy, item, loading, disabled, setStatus }: InitProps) =>
37
39
  source={
38
40
  item.config?.type === ConsumeType.Product
39
41
  ? item.product.images[0]?.url
40
- : copy?.imageMapping[item.config.type]?.url || item.config.image?.url
42
+ : pageCommon?.imageMapping?.[item.config.type]?.url || item.config.image?.url
41
43
  }
42
44
  className="h-full w-auto [&_img]:h-full [&_img]:w-auto [&_img]:object-contain"
43
45
  ></Picture>
@@ -60,7 +62,7 @@ export const Init = ({ copy, item, loading, disabled, setStatus }: InitProps) =>
60
62
  as="p"
61
63
  className={classNames(' text-center text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]')}
62
64
  >
63
- {numberFormat(item.alpc?.consumeCredits)} {copy?.pointUnit}
65
+ {numberFormat(item.alpc?.consumeCredits)} {pageCommon?.pointUnit}
64
66
  </Text>
65
67
  </div>
66
68
  <div className="mt-[16px] w-full text-[14px] font-semibold text-[#777] md:mt-[12px]">
@@ -2,8 +2,10 @@ import { Text } from '@anker-in/headless-ui'
2
2
  import { RedeemableItem } from '../../type'
3
3
  import { CreditsRedeemListCopy } from '../type'
4
4
  import { ConsumeType } from '../../context/const'
5
+ import { useCreditsContext } from '../../context/provider'
5
6
 
6
7
  export const NoneProductValue = ({ item, copy }: { item: RedeemableItem; copy: CreditsRedeemListCopy }) => {
8
+ const { pageCommon } = useCreditsContext()
7
9
  // shipping coupon 仅展示文案
8
10
  if (item.config?.type === ConsumeType.ShippingCoupon) {
9
11
  return <Text className="text-[24px] w-[70%] font-bold leading-none" html={item.config?.value} as="p" />
@@ -13,7 +15,7 @@ export const NoneProductValue = ({ item, copy }: { item: RedeemableItem; copy: C
13
15
  <Text className="text-[64px] font-extrabold leading-none" html={item.config.value.toString()} />
14
16
  <Text
15
17
  className="text-[24px] font-bold leading-[2]"
16
- html={item.config.type === ConsumeType.Coupon ? copy?.off : copy?.giftCardLabel}
18
+ html={item.config.type === ConsumeType.Coupon ? pageCommon?.off : pageCommon?.giftCardLabel}
17
19
  />
18
20
  </div>
19
21
  ) : (
@@ -1,8 +1,9 @@
1
- import { Picture } from '@anker-in/headless-ui'
1
+ import { Picture, Text } from '@anker-in/headless-ui'
2
2
  import { formatPrice } from '../../context/utils'
3
3
  import type { RedeemableItem as RedeemableItemType } from '../../type'
4
4
  import { CreditsRedeemListCopy } from '../type'
5
5
  import { useHeadlessContext } from '@anker-in/lib'
6
+ import { useCreditsContext } from '../../context/provider'
6
7
 
7
8
  type ProductInfoProps = {
8
9
  item: RedeemableItemType
@@ -11,6 +12,7 @@ type ProductInfoProps = {
11
12
 
12
13
  export const ProductInfo = ({ item, copy }: ProductInfoProps) => {
13
14
  const { locale } = useHeadlessContext()
15
+ const { pageCommon } = useCreditsContext()
14
16
 
15
17
  return (
16
18
  <div className="flex w-full items-center justify-center md:items-start md:justify-start">
@@ -32,9 +34,11 @@ export const ProductInfo = ({ item, copy }: ProductInfoProps) => {
32
34
  </div>
33
35
 
34
36
  <div className="mt-[16px] md:mt-[12px]">
35
- <div className="mb-[12px] line-clamp-1 text-[16px] font-bold l:!hidden" title={item.product.title}>
36
- {item.product.title}
37
- </div>
37
+ <Text
38
+ className="mb-[12px] line-clamp-1 text-[16px] font-bold l:!hidden"
39
+ html={item.product.title}
40
+ title={item.product.title}
41
+ ></Text>
38
42
  <div className="flex font-semibold leading-[1.4] md:flex-col">
39
43
  <div className="mr-[40px] text-[15px] font-bold text-[#777] md:mr-0 md:text-[12px]">
40
44
  <div className="mb-[8px] flex items-center md:mb-[4px]">
@@ -60,7 +64,7 @@ export const ProductInfo = ({ item, copy }: ProductInfoProps) => {
60
64
  <div className="l:flex l:items-center l:justify-between">
61
65
  <span>{copy.redeemModal.product.totalPriceLabel}: </span>
62
66
  <span className="ml-1">
63
- {item.alpc?.consumeCredits} {copy?.pointUnit}
67
+ {item.alpc?.consumeCredits} {pageCommon?.pointUnit}
64
68
  </span>
65
69
  </div>
66
70
  </div>
@@ -3,6 +3,7 @@ import classNames from 'classnames'
3
3
  import type { RedeemableItem as RedeemableItemType } from '../../type'
4
4
  import { CreditsRedeemListCopy } from '../type'
5
5
  import { ProductInfo } from './ProductInfo'
6
+ import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
6
7
 
7
8
  type SuccessProps = {
8
9
  copy: CreditsRedeemListCopy
@@ -15,6 +16,8 @@ type SuccessProps = {
15
16
  }
16
17
 
17
18
  export const Success = ({ copy, shippingProduct, loading, address, disabled, onClose, item }: SuccessProps) => {
19
+ const { brand } = useHeadlessContext()
20
+ const rounded = ROUNDED_BRANDS.includes(brand)
18
21
  return (
19
22
  <div className={classNames('max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]')}>
20
23
  <div className="flex flex-col items-center">
@@ -26,7 +29,7 @@ export const Success = ({ copy, shippingProduct, loading, address, disabled, onC
26
29
 
27
30
  {shippingProduct && <Text className="mb-5 text-[16px] font-bold" html={shippingProduct}></Text>}
28
31
 
29
- <div className="flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]">
32
+ <div className={classNames('flex w-full items-center bg-[#F5F5F7] p-[16px]', !rounded && 'rounded-none')}>
30
33
  <ProductInfo item={item} copy={copy} />
31
34
  </div>
32
35
 
@@ -25,7 +25,7 @@ function RedeemProductModal({ item, copy, onError, ...props }: RedeemProductModa
25
25
  const { fetchCreditInfo, profile } = useCreditsContext()
26
26
  const { storeDomain, locale } = useHeadlessContext()
27
27
 
28
- const { validatorInfo } = copy
28
+ const { pageCommon } = useCreditsContext()
29
29
  const { shippingAddress, shippingProduct } = copy.redeemModal.product
30
30
 
31
31
  const [status, setStatus] = useState<'init' | 'address' | 'success' | 'error'>('init')
@@ -99,7 +99,7 @@ function RedeemProductModal({ item, copy, onError, ...props }: RedeemProductModa
99
99
 
100
100
  const { validate: validateAddress, errors: validateErrors } = useAddressValidate({
101
101
  address: address,
102
- validatorInfo: validatorInfo,
102
+ validatorInfo: pageCommon?.validatorInfo,
103
103
  formData: copy?.redeemModal.product.form?.flat() || [],
104
104
  errorLabel: {
105
105
  require: copy.redeemModal.product.required,