@anker-in/campaign-ui 0.4.4 → 0.4.5-beta.2

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 (58) hide show
  1. package/dist/cjs/components/credits/context/hooks/useActivities.js +1 -1
  2. package/dist/cjs/components/credits/context/hooks/useActivities.js.map +3 -3
  3. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js +1 -1
  4. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js.map +3 -3
  5. package/dist/cjs/components/credits/context/hooks/useCountries.js +1 -1
  6. package/dist/cjs/components/credits/context/hooks/useCountries.js.map +2 -2
  7. package/dist/cjs/components/credits/context/hooks/useMyRewards.js +1 -1
  8. package/dist/cjs/components/credits/context/hooks/useMyRewards.js.map +3 -3
  9. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  10. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +3 -3
  11. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +1 -1
  12. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  13. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.d.ts +0 -8
  14. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js +1 -1
  15. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js.map +3 -3
  16. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  17. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  18. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal.js +1 -1
  19. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal.js.map +3 -3
  20. package/dist/cjs/components/credits/modal/SubscribeModal.js +1 -1
  21. package/dist/cjs/components/credits/modal/SubscribeModal.js.map +3 -3
  22. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  23. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  24. package/dist/esm/components/credits/context/hooks/useActivities.js +1 -1
  25. package/dist/esm/components/credits/context/hooks/useActivities.js.map +3 -3
  26. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js +1 -1
  27. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js.map +3 -3
  28. package/dist/esm/components/credits/context/hooks/useCountries.js +1 -1
  29. package/dist/esm/components/credits/context/hooks/useCountries.js.map +2 -2
  30. package/dist/esm/components/credits/context/hooks/useMyRewards.js +1 -1
  31. package/dist/esm/components/credits/context/hooks/useMyRewards.js.map +3 -3
  32. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  33. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +3 -3
  34. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
  35. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  36. package/dist/esm/components/credits/context/hooks/useUploadReceipt.d.ts +0 -8
  37. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js +1 -1
  38. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js.map +3 -3
  39. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  40. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  41. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal.js +1 -1
  42. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal.js.map +3 -3
  43. package/dist/esm/components/credits/modal/SubscribeModal.js +1 -1
  44. package/dist/esm/components/credits/modal/SubscribeModal.js.map +3 -3
  45. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  46. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  47. package/package.json +1 -1
  48. package/src/components/credits/context/hooks/useActivities.ts +5 -4
  49. package/src/components/credits/context/hooks/useAlpcFetch.ts +30 -10
  50. package/src/components/credits/context/hooks/useCountries.ts +7 -2
  51. package/src/components/credits/context/hooks/useMyRewards.ts +8 -4
  52. package/src/components/credits/context/hooks/useRedeemAndBuy.ts +3 -2
  53. package/src/components/credits/context/hooks/useRedeemableList.ts +28 -23
  54. package/src/components/credits/context/hooks/useUploadReceipt.tsx +28 -23
  55. package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +3 -2
  56. package/src/components/credits/creditsRedeemList/RedeemVirtualProductModal.tsx +3 -2
  57. package/src/components/credits/modal/SubscribeModal.tsx +4 -6
  58. package/src/components/registration/authCodeActivate/index.tsx +8 -6
@@ -23,7 +23,7 @@ function useRedeemableList(props?: { consumeType: AlpcConsumeType }) {
23
23
  {
24
24
  data: { consume_credit_rules: ConsumeCreditRuleResponse[] }
25
25
  },
26
- { consume_type?: AlpcConsumeType, user_id?: string}
26
+ { consume_type?: AlpcConsumeType; user_id?: string }
27
27
  >({
28
28
  url: `/v1/credit/consume_credit_rules`,
29
29
  initData: {
@@ -34,32 +34,37 @@ function useRedeemableList(props?: { consumeType: AlpcConsumeType }) {
34
34
  },
35
35
  })
36
36
 
37
- const getRedeemableList = useCallback((props?: { consumeType?: AlpcConsumeType}) => {
38
- trigger(
39
- {
40
- user_id: profile?.user_id,
41
- ...(props?.consumeType && {consume_type: props.consumeType})
42
- },
43
- {
44
- onSuccess(responseData) {
45
- console.log('responseData', responseData)
46
- let list = responseData.data.consume_credit_rules || []
47
- // let cList = list.filter(i => i.consume_type == 1) || []
48
- // let pList = list.filter(i => i.consume_type == 2) || []
49
- // cList = cList.sort((prev, next) => prev.consume_credits - next.consume_credits)
50
- // pList = pList.sort((prev, next) => prev.consume_credits - next.consume_credits)
51
- // const resultList = cList.concat(pList)
52
- setRedeemableList(list)
37
+ const getRedeemableList = useCallback(
38
+ (props?: { consumeType?: AlpcConsumeType }) => {
39
+ trigger(
40
+ {
41
+ user_id: profile?.user_id,
42
+ ...(props?.consumeType && { consume_type: props.consumeType }),
53
43
  },
54
- }
55
- )
56
- }, [profile, trigger, locale])
44
+ {
45
+ onSuccess(responseData) {
46
+ console.log('responseData', responseData)
47
+ const data = responseData?.data || responseData
48
+ let list = data?.consume_credit_rules || []
49
+ // let cList = list.filter(i => i.consume_type == 1) || []
50
+ // let pList = list.filter(i => i.consume_type == 2) || []
51
+ // cList = cList.sort((prev, next) => prev.consume_credits - next.consume_credits)
52
+ // pList = pList.sort((prev, next) => prev.consume_credits - next.consume_credits)
53
+ // const resultList = cList.concat(pList)
54
+ setRedeemableList(list)
55
+ },
56
+ }
57
+ )
58
+ },
59
+ [profile, trigger, locale]
60
+ )
57
61
 
58
62
  useEffect(() => {
59
- if (!isLoadingProfile) {
60
- getRedeemableList({ consumeType: props?.consumeType })
63
+ if (!brand || isLoadingProfile) {
64
+ return
61
65
  }
62
- }, [getRedeemableList, isLoadingProfile])
66
+ getRedeemableList({ consumeType: props?.consumeType })
67
+ }, [getRedeemableList, isLoadingProfile, brand])
63
68
 
64
69
  return {
65
70
  listLoading,
@@ -1,29 +1,34 @@
1
1
  import useSWRMutation from 'swr/mutation'
2
+ import { useHeadlessContext } from '@anker-in/lib'
2
3
 
3
- export const uploadReceipt = async (
4
- _: any,
5
- { arg: { orderName } }: { arg: { orderName: string } }
6
- ): Promise<{
7
- ok: boolean
8
- code: number
9
- }> => {
10
- const response = await fetch(`/api/multipass/mktsrv/v1/credit/upload_third_party_order`, {
11
- credentials: 'include',
12
- method: 'POST',
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- },
16
- body: JSON.stringify({
17
- order_name: orderName,
18
- }),
19
- })
20
- const { data } = await response.json()
21
- return {
22
- ok: data?.code === 0,
23
- code: data?.code,
4
+ export const useUploadReceipt = () => {
5
+ const { locale } = useHeadlessContext()
6
+
7
+ const uploadReceipt = async (
8
+ _: any,
9
+ { arg: { orderName } }: { arg: { orderName: string } }
10
+ ): Promise<{
11
+ ok: boolean
12
+ code: number
13
+ }> => {
14
+ const response = await fetch(`/api/multipass/mktsrv/v1/credit/upload_third_party_order`, {
15
+ credentials: 'include',
16
+ method: 'POST',
17
+ headers: {
18
+ 'Content-Type': 'application/json',
19
+ 'current-language': locale,
20
+ },
21
+ body: JSON.stringify({
22
+ order_name: orderName,
23
+ }),
24
+ })
25
+ const result = await response.json()
26
+ const { data } = result
27
+ return {
28
+ ok: result?.code === 0 || data?.code === 0,
29
+ code: result?.code ?? data?.code,
30
+ }
24
31
  }
25
- }
26
32
 
27
- export const useUploadReceipt = () => {
28
33
  return useSWRMutation('/api/multipass/mktsrv/v1/credit/upload_third_party_order', uploadReceipt)
29
34
  }
@@ -32,8 +32,9 @@ function RedeemCouponModal({
32
32
  return
33
33
  }
34
34
 
35
- if (responseData?.data?.success) {
36
- setCouponCode(responseData.data.coupon_code)
35
+ const data = responseData?.data || responseData
36
+ if (data?.success) {
37
+ setCouponCode(data.coupon_code)
37
38
  fetchCreditInfo(profile?.user_id)
38
39
  } else {
39
40
  let errorMsg
@@ -40,8 +40,9 @@ function RedeemVirtualProductModal({
40
40
  return
41
41
  }
42
42
 
43
- if (responseData?.data?.id) {
44
- setGiftCardId(responseData.data.id)
43
+ const data = responseData?.data || responseData
44
+ if (data?.id) {
45
+ setGiftCardId(data.id)
45
46
  fetchCreditInfo(profile?.user_id)
46
47
  } else {
47
48
  handleRedeemError(responseData.code)
@@ -1,5 +1,4 @@
1
1
  import { useCallback, useEffect, useState } from 'react'
2
- import { useRouter } from 'next/router'
3
2
  import { Button, Checkbox, Picture, Text } from '@anker-in/headless-ui'
4
3
  import { classNames, fetcher, gaTrack, useHeadlessContext } from '@anker-in/lib'
5
4
  import Cookies from 'js-cookie'
@@ -43,9 +42,8 @@ const getAdCookie = () => {
43
42
  }
44
43
 
45
44
  export function CreditsSubscribeModal({ copy, onSuccess, ...props }: CreditsSubscribeModalProps) {
46
- const { brand } = useHeadlessContext()
45
+ const { brand, locale } = useHeadlessContext()
47
46
  const rounded = ROUNDED_BRANDS.includes(brand)
48
- const { locale } = useRouter()
49
47
  const [policy, setPolicy] = useState(false)
50
48
  const [email, setEmail] = useState('')
51
49
  const [errorMessage, setErrorMessage] = useState('')
@@ -137,7 +135,7 @@ export function CreditsSubscribeModal({ copy, onSuccess, ...props }: CreditsSubs
137
135
  animationClassName="md:translate-y-[100vh]"
138
136
  {...props}
139
137
  >
140
- <div className="flex flex-col gap-[16px] text-center min-l:px-[16px]">
138
+ <div className="min-l:px-[16px] flex flex-col gap-[16px] text-center">
141
139
  <div>
142
140
  <Text className={classNames('mb-[24px] text-[22px] font-bold')} html={copy.title}></Text>
143
141
  </div>
@@ -173,7 +171,7 @@ export function CreditsSubscribeModal({ copy, onSuccess, ...props }: CreditsSubs
173
171
  >
174
172
  <Picture
175
173
  source="https://cdn.shopify.com/s/files/1/0512/8568/8505/files/icon_email.png?v=1697527383"
176
- className="h-[24px] w-[24px]"
174
+ className="size-[24px]"
177
175
  alt="email"
178
176
  />
179
177
  </Button>
@@ -181,7 +179,7 @@ export function CreditsSubscribeModal({ copy, onSuccess, ...props }: CreditsSubs
181
179
  <div className="flex w-full">
182
180
  <Checkbox checked={policy} onCheckedChange={() => setPolicy(!policy)} required className="border-[#1d1d1f]" />
183
181
  <label
184
- className="text-left ml-2 text-[14px] font-semibold text-[#777] [&_a]:underline"
182
+ className="ml-2 text-left text-[14px] font-semibold text-[#777] [&_a]:underline"
185
183
  dangerouslySetInnerHTML={{
186
184
  __html: copy?.policy || '',
187
185
  }}
@@ -48,10 +48,11 @@ export const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {
48
48
  }, [focusIndex])
49
49
 
50
50
  useEffect(() => {
51
- if (sendEmailData?.data?.data?.active_token) {
52
- setActiveToken(sendEmailData.data.data.active_token)
51
+ const token = sendEmailData?.data?.data?.active_token ?? sendEmailData?.data?.active_token
52
+ if (token) {
53
+ setActiveToken(token)
53
54
  }
54
- }, [sendEmailData?.data?.data?.active_token])
55
+ }, [sendEmailData?.data?.data?.active_token, sendEmailData?.data?.active_token])
55
56
 
56
57
  useEffect(() => {
57
58
  setIsSendingActivateEmail(isSendingEmail)
@@ -184,7 +185,8 @@ export const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {
184
185
  }, 3000)
185
186
  }
186
187
  } else {
187
- if (data?.data?.error_code === '104') {
188
+ const errorCode = data?.data?.error_code ?? data?.error_code
189
+ if (errorCode === '104') {
188
190
  if (onAuthSuccess) {
189
191
  onAuthSuccess()
190
192
  } else {
@@ -193,9 +195,9 @@ export const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {
193
195
  window.location.reload()
194
196
  }, 3000)
195
197
  }
196
- } else if (data?.data?.error_code === '142') {
198
+ } else if (errorCode === '142') {
197
199
  setError(copy?.incorrectCodeError || 'Invalid verification code.')
198
- } else if (data?.data?.error_code === '154') {
200
+ } else if (errorCode === '154') {
199
201
  setError(copy?.expiredCodeMessage || '')
200
202
  } else {
201
203
  setError(copy?.sendEmailErrorMessage || '')