@anker-in/campaign-ui 0.5.21 → 0.5.22

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 (95) hide show
  1. package/dist/cjs/components/credits/context/hooks/useCountries.d.ts +2 -1
  2. package/dist/cjs/components/credits/context/hooks/useCountries.js +1 -1
  3. package/dist/cjs/components/credits/context/hooks/useCountries.js.map +3 -3
  4. package/dist/cjs/components/credits/context/hooks/useShippingCountries.d.ts +2 -1
  5. package/dist/cjs/components/credits/context/hooks/useShippingCountries.js +1 -1
  6. package/dist/cjs/components/credits/context/hooks/useShippingCountries.js.map +3 -3
  7. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  8. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  9. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  10. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  11. package/dist/cjs/components/memberPopup/context/provider.js +1 -1
  12. package/dist/cjs/components/memberPopup/context/provider.js.map +2 -2
  13. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js +1 -1
  14. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +3 -3
  15. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js +1 -1
  16. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +3 -3
  17. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +1 -1
  18. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +2 -2
  19. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.d.ts +2 -1
  20. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js +1 -1
  21. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js.map +3 -3
  22. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralOverview.js +1 -1
  23. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralOverview.js.map +2 -2
  24. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  25. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  26. package/dist/cjs/components/registration/context/provider.d.ts +3 -1
  27. package/dist/cjs/components/registration/context/provider.js +1 -1
  28. package/dist/cjs/components/registration/context/provider.js.map +3 -3
  29. package/dist/cjs/lib/registration/hooks/useEmailValidation.d.ts +1 -1
  30. package/dist/cjs/lib/registration/hooks/useEmailValidation.js +1 -1
  31. package/dist/cjs/lib/registration/hooks/useEmailValidation.js.map +3 -3
  32. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.d.ts +1 -1
  33. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.js +1 -1
  34. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.js.map +3 -3
  35. package/dist/cjs/lib/utils/fetcher/fetcher.d.ts +1 -1
  36. package/dist/cjs/lib/utils/fetcher/fetcher.js +1 -1
  37. package/dist/cjs/lib/utils/fetcher/fetcher.js.map +3 -3
  38. package/dist/cjs/templates/Credits.js +1 -1
  39. package/dist/cjs/templates/Credits.js.map +2 -2
  40. package/dist/esm/components/credits/context/hooks/useCountries.d.ts +2 -1
  41. package/dist/esm/components/credits/context/hooks/useCountries.js +1 -1
  42. package/dist/esm/components/credits/context/hooks/useCountries.js.map +3 -3
  43. package/dist/esm/components/credits/context/hooks/useShippingCountries.d.ts +2 -1
  44. package/dist/esm/components/credits/context/hooks/useShippingCountries.js +1 -1
  45. package/dist/esm/components/credits/context/hooks/useShippingCountries.js.map +3 -3
  46. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  47. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  48. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  49. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  50. package/dist/esm/components/memberPopup/context/provider.js +1 -1
  51. package/dist/esm/components/memberPopup/context/provider.js.map +2 -2
  52. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js +1 -1
  53. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +3 -3
  54. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js +1 -1
  55. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +3 -3
  56. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +1 -1
  57. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +2 -2
  58. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.d.ts +2 -1
  59. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js +1 -1
  60. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js.map +3 -3
  61. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralOverview.js +1 -1
  62. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralOverview.js.map +2 -2
  63. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  64. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  65. package/dist/esm/components/registration/context/provider.d.ts +3 -1
  66. package/dist/esm/components/registration/context/provider.js +1 -1
  67. package/dist/esm/components/registration/context/provider.js.map +3 -3
  68. package/dist/esm/lib/registration/hooks/useEmailValidation.d.ts +1 -1
  69. package/dist/esm/lib/registration/hooks/useEmailValidation.js +1 -1
  70. package/dist/esm/lib/registration/hooks/useEmailValidation.js.map +3 -3
  71. package/dist/esm/lib/registration/hooks/useSendEmailValidation.d.ts +1 -1
  72. package/dist/esm/lib/registration/hooks/useSendEmailValidation.js +1 -1
  73. package/dist/esm/lib/registration/hooks/useSendEmailValidation.js.map +3 -3
  74. package/dist/esm/lib/utils/fetcher/fetcher.d.ts +1 -1
  75. package/dist/esm/lib/utils/fetcher/fetcher.js +1 -1
  76. package/dist/esm/lib/utils/fetcher/fetcher.js.map +3 -3
  77. package/dist/esm/templates/Credits.js +1 -1
  78. package/dist/esm/templates/Credits.js.map +2 -2
  79. package/package.json +1 -1
  80. package/src/components/credits/context/hooks/useCountries.ts +3 -3
  81. package/src/components/credits/context/hooks/useShippingCountries.ts +17 -8
  82. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +3 -1
  83. package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +2 -2
  84. package/src/components/memberPopup/context/provider.tsx +1 -0
  85. package/src/components/memberPopup/panels/ActivitiesSubscribePanel.tsx +3 -3
  86. package/src/components/memberPopup/panels/EarnCredits/ActivatePanel.tsx +3 -3
  87. package/src/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.tsx +2 -2
  88. package/src/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.ts +4 -3
  89. package/src/components/memberPopup/panels/Referral/hooks/useReferralOverview.ts +1 -1
  90. package/src/components/registration/authCodeActivate/index.tsx +3 -3
  91. package/src/components/registration/context/provider.tsx +8 -1
  92. package/src/lib/registration/hooks/useEmailValidation.ts +3 -1
  93. package/src/lib/registration/hooks/useSendEmailValidation.ts +2 -1
  94. package/src/lib/utils/fetcher/fetcher.ts +2 -1
  95. package/src/templates/Credits.tsx +5 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.tsx"],
4
- "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '../../../../lib'\nimport type { CompleteProfileCopy } from '../../type'\nimport { useUpdateProfile } from './hooks/useUpdateProfile'\nimport useCountries from '../../../credits/context/hooks/useCountries'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: CompleteProfileCopy\n onClose: () => void\n}\n\nexport default function CompleteProfilePanel({ copy, onClose }: Props) {\n const { profile, fetchCreditInfo, alpcConfig, setIsProfileCompleteSuccess } = useMemberPopupContext()\n const { locale } = alpcConfig\n const { brand, storeDomain } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [firstName, setFirstName] = useState('')\n const [lastName, setLastName] = useState('')\n const [phone, setPhone] = useState('')\n const [birthDay, setBirthDay] = useState('')\n const [country, setCountry] = useState('')\n const [firstNameError, setFirstNameError] = useState('')\n const [lastNameError, setLastNameError] = useState('')\n\n const { updateProfile, isLoading } = useUpdateProfile({ locale, appName: alpcConfig.appName })\n const { countries } = useCountries({ shopifyStoreDomain: storeDomain })\n\n useEffect(() => {\n if (profile) {\n setFirstName(profile.first_name ?? '')\n setLastName(profile.last_name ?? '')\n setPhone(profile.phone_number ?? '')\n setBirthDay(profile.dob ?? '')\n setCountry(profile.country?.id ?? '')\n }\n }, [profile])\n\n useEffect(() => {\n if (countries.length > 0 && !country) {\n setCountry(countries[0].id)\n }\n }, [countries])\n\n const validate = useCallback(() => {\n let hasError = false\n if (!firstName.trim()) {\n setFirstNameError(copy.required)\n hasError = true\n } else {\n setFirstNameError('')\n }\n if (!lastName.trim()) {\n setLastNameError(copy.required)\n hasError = true\n } else {\n setLastNameError('')\n }\n return hasError\n }, [firstName, lastName, copy.required])\n\n const handleSubmit = useCallback(async () => {\n if (validate()) return\n const success = await updateProfile({\n first_name: firstName.trim(),\n last_name: lastName.trim(),\n phone_number: phone,\n country,\n dob: birthDay,\n })\n if (success) {\n setTimeout(() => fetchCreditInfo(profile?.user_id), 3000)\n setIsProfileCompleteSuccess(true)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'earn_credits',\n button_name: 'complete_profile_success',\n info: 'Member Floating Window',\n },\n })\n onClose()\n }\n }, [\n validate,\n updateProfile,\n firstName,\n lastName,\n phone,\n country,\n birthDay,\n fetchCreditInfo,\n profile,\n setIsProfileCompleteSuccess,\n onClose,\n ])\n\n return (\n <div className=\"flex flex-col gap-[16px]\">\n {copy.subtitle && <Text className=\"text-[14px] text-[#1d1d1f]\" html={copy.subtitle} />}\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.email}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={profile?.email ?? ''}\n disabled\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.firstName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n firstNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={firstName}\n onChange={e => {\n setFirstName(e.target.value)\n setFirstNameError('')\n }}\n />\n {firstNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={firstNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.lastName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n lastNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={lastName}\n onChange={e => {\n setLastName(e.target.value)\n setLastNameError('')\n }}\n />\n {lastNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={lastNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.birthday}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n type=\"date\"\n value={birthDay}\n onChange={e => setBirthDay(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.phone}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={phone}\n onChange={e => setPhone(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.country}</label>\n <select\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={country}\n onChange={e => setCountry(e.target.value)}\n >\n {countries.map((c: { id: string; name: string }) => (\n <option key={c.id} value={c.id}>\n {c.name}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex gap-[12px]\">\n <Button variant=\"secondary\" size=\"base\" className=\"flex-1\" onClick={onClose} disabled={isLoading}>\n {copy.cancel}\n </Button>\n <Button variant=\"primary\" size=\"base\" className=\"flex-1\" loading={isLoading} onClick={handleSubmit}>\n {copy.save}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '../../../../lib'\nimport type { CompleteProfileCopy } from '../../type'\nimport { useUpdateProfile } from './hooks/useUpdateProfile'\nimport useCountries from '../../../credits/context/hooks/useCountries'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: CompleteProfileCopy\n onClose: () => void\n}\n\nexport default function CompleteProfilePanel({ copy, onClose }: Props) {\n const { profile, fetchCreditInfo, alpcConfig, setIsProfileCompleteSuccess } = useMemberPopupContext()\n const { locale } = alpcConfig\n const { brand, storeDomain } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [firstName, setFirstName] = useState('')\n const [lastName, setLastName] = useState('')\n const [phone, setPhone] = useState('')\n const [birthDay, setBirthDay] = useState('')\n const [country, setCountry] = useState('')\n const [firstNameError, setFirstNameError] = useState('')\n const [lastNameError, setLastNameError] = useState('')\n\n const { updateProfile, isLoading } = useUpdateProfile({ locale, appName: alpcConfig.appName, apiBaseUrl: alpcConfig.apiBaseUrl })\n const { countries } = useCountries({ shopifyStoreDomain: storeDomain, apiBaseUrl: alpcConfig.apiBaseUrl })\n\n useEffect(() => {\n if (profile) {\n setFirstName(profile.first_name ?? '')\n setLastName(profile.last_name ?? '')\n setPhone(profile.phone_number ?? '')\n setBirthDay(profile.dob ?? '')\n setCountry(profile.country?.id ?? '')\n }\n }, [profile])\n\n useEffect(() => {\n if (countries.length > 0 && !country) {\n setCountry(countries[0].id)\n }\n }, [countries])\n\n const validate = useCallback(() => {\n let hasError = false\n if (!firstName.trim()) {\n setFirstNameError(copy.required)\n hasError = true\n } else {\n setFirstNameError('')\n }\n if (!lastName.trim()) {\n setLastNameError(copy.required)\n hasError = true\n } else {\n setLastNameError('')\n }\n return hasError\n }, [firstName, lastName, copy.required])\n\n const handleSubmit = useCallback(async () => {\n if (validate()) return\n const success = await updateProfile({\n first_name: firstName.trim(),\n last_name: lastName.trim(),\n phone_number: phone,\n country,\n dob: birthDay,\n })\n if (success) {\n setTimeout(() => fetchCreditInfo(profile?.user_id), 3000)\n setIsProfileCompleteSuccess(true)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'earn_credits',\n button_name: 'complete_profile_success',\n info: 'Member Floating Window',\n },\n })\n onClose()\n }\n }, [\n validate,\n updateProfile,\n firstName,\n lastName,\n phone,\n country,\n birthDay,\n fetchCreditInfo,\n profile,\n setIsProfileCompleteSuccess,\n onClose,\n ])\n\n return (\n <div className=\"flex flex-col gap-[16px]\">\n {copy.subtitle && <Text className=\"text-[14px] text-[#1d1d1f]\" html={copy.subtitle} />}\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.email}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={profile?.email ?? ''}\n disabled\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.firstName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n firstNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={firstName}\n onChange={e => {\n setFirstName(e.target.value)\n setFirstNameError('')\n }}\n />\n {firstNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={firstNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.lastName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n lastNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={lastName}\n onChange={e => {\n setLastName(e.target.value)\n setLastNameError('')\n }}\n />\n {lastNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={lastNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.birthday}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n type=\"date\"\n value={birthDay}\n onChange={e => setBirthDay(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.phone}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={phone}\n onChange={e => setPhone(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.country}</label>\n <select\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={country}\n onChange={e => setCountry(e.target.value)}\n >\n {countries.map((c: { id: string; name: string }) => (\n <option key={c.id} value={c.id}>\n {c.name}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex gap-[12px]\">\n <Button variant=\"secondary\" size=\"base\" className=\"flex-1\" onClick={onClose} disabled={isLoading}>\n {copy.cancel}\n </Button>\n <Button variant=\"primary\" size=\"base\" className=\"flex-1\" loading={isLoading} onClick={handleSubmit}>\n {copy.save}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["CompleteProfilePanel_exports", "__export", "CompleteProfilePanel", "__toCommonJS", "import_jsx_runtime", "import_react", "import_headless_ui", "import_lib", "import_useUpdateProfile", "import_useCountries", "import_provider", "import_constants", "copy", "onClose", "profile", "fetchCreditInfo", "alpcConfig", "setIsProfileCompleteSuccess", "locale", "brand", "storeDomain", "rounded", "firstName", "setFirstName", "lastName", "setLastName", "phone", "setPhone", "birthDay", "setBirthDay", "country", "setCountry", "firstNameError", "setFirstNameError", "lastNameError", "setLastNameError", "updateProfile", "isLoading", "countries", "useCountries", "validate", "hasError", "handleSubmit", "cn", "e", "c"]
7
7
  }
@@ -1,6 +1,7 @@
1
1
  type UseUpdateProfileConfig = {
2
2
  locale?: string;
3
3
  appName?: string;
4
+ apiBaseUrl?: string;
4
5
  };
5
6
  type ProfileData = {
6
7
  first_name?: string;
@@ -9,7 +10,7 @@ type ProfileData = {
9
10
  country?: string;
10
11
  dob?: string;
11
12
  };
12
- export declare function useUpdateProfile({ locale, appName }?: UseUpdateProfileConfig): {
13
+ export declare function useUpdateProfile({ locale, appName, apiBaseUrl }?: UseUpdateProfileConfig): {
13
14
  updateProfile: (data: ProfileData) => Promise<boolean>;
14
15
  isLoading: boolean;
15
16
  error: string | null;
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var d=(r,e)=>{for(var n in e)u(r,n,{get:e[n],enumerable:!0})},m=(r,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!g.call(r,t)&&t!==n&&u(r,t,{get:()=>e[t],enumerable:!(s=p(e,t))||s.enumerable});return r};var y=r=>m(u({},"__esModule",{value:!0}),r);var U={};d(U,{useUpdateProfile:()=>P});module.exports=y(U);var a=require("react");function P({locale:r="",appName:e=""}={}){const[n,s]=(0,a.useState)(!1),[t,i]=(0,a.useState)(null);return{updateProfile:(0,a.useCallback)(async f=>{s(!0),i(null);try{const o=await fetch("/api/multipass/account/users/update_profile",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json","current-language":r},body:JSON.stringify({app:e,...f})}),l=await o.json();return o.ok&&!l.error?!0:(i(l?.error?.message||l?.error||"Update failed"),!1)}catch(o){return i(o?.message??"Unknown error"),!1}finally{s(!1)}},[r,e]),isLoading:n,error:t}}
1
+ "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var m=(r,e)=>{for(var n in e)u(r,n,{get:e[n],enumerable:!0})},y=(r,e,n,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of g(e))!d.call(r,t)&&t!==n&&u(r,t,{get:()=>e[t],enumerable:!(a=c(e,t))||a.enumerable});return r};var P=r=>y(u({},"__esModule",{value:!0}),r);var b={};m(b,{useUpdateProfile:()=>U});module.exports=P(b);var s=require("react");function U({locale:r="",appName:e="",apiBaseUrl:n=""}={}){const[a,t]=(0,s.useState)(!1),[f,i]=(0,s.useState)(null);return{updateProfile:(0,s.useCallback)(async p=>{t(!0),i(null);try{const o=await fetch(`${n}/api/multipass/account/users/update_profile`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json","current-language":r},body:JSON.stringify({app:e,...p})}),l=await o.json();return o.ok&&!l.error?!0:(i(l?.error?.message||l?.error||"Update failed"),!1)}catch(o){return i(o?.message??"Unknown error"),!1}finally{t(!1)}},[r,e,n]),isLoading:a,error:f}}
2
2
  //# sourceMappingURL=useUpdateProfile.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.ts"],
4
- "sourcesContent": ["import { useCallback, useState } from 'react'\n\ntype UseUpdateProfileConfig = {\n locale?: string\n appName?: string\n}\n\ntype ProfileData = {\n first_name?: string\n last_name?: string\n phone_number?: string\n country?: string\n dob?: string\n}\n\nexport function useUpdateProfile({ locale = '', appName = '' }: UseUpdateProfileConfig = {}) {\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const updateProfile = useCallback(\n async (data: ProfileData): Promise<boolean> => {\n setIsLoading(true)\n setError(null)\n try {\n const response = await fetch('/api/multipass/account/users/update_profile', {\n method: 'PUT',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n 'current-language': locale,\n },\n body: JSON.stringify({ app: appName, ...data }),\n })\n const result = await response.json()\n if (response.ok && !result.error) {\n return true\n }\n setError(result?.error?.message || result?.error || 'Update failed')\n return false\n } catch (e: any) {\n setError(e?.message ?? 'Unknown error')\n return false\n } finally {\n setIsLoading(false)\n }\n },\n [locale, appName]\n )\n\n return { updateProfile, isLoading, error }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsC,iBAe/B,SAASF,EAAiB,CAAE,OAAAG,EAAS,GAAI,QAAAC,EAAU,EAAG,EAA4B,CAAC,EAAG,CAC3F,KAAM,CAACC,EAAWC,CAAY,KAAI,YAAS,EAAK,EAC1C,CAACC,EAAOC,CAAQ,KAAI,YAAwB,IAAI,EAgCtD,MAAO,CAAE,iBA9Ba,eACpB,MAAOC,GAAwC,CAC7CH,EAAa,EAAI,EACjBE,EAAS,IAAI,EACb,GAAI,CACF,MAAME,EAAW,MAAM,MAAM,8CAA+C,CAC1E,OAAQ,MACR,YAAa,UACb,QAAS,CACP,eAAgB,mBAChB,mBAAoBP,CACtB,EACA,KAAM,KAAK,UAAU,CAAE,IAAKC,EAAS,GAAGK,CAAK,CAAC,CAChD,CAAC,EACKE,EAAS,MAAMD,EAAS,KAAK,EACnC,OAAIA,EAAS,IAAM,CAACC,EAAO,MAClB,IAETH,EAASG,GAAQ,OAAO,SAAWA,GAAQ,OAAS,eAAe,EAC5D,GACT,OAASC,EAAQ,CACf,OAAAJ,EAASI,GAAG,SAAW,eAAe,EAC/B,EACT,QAAE,CACAN,EAAa,EAAK,CACpB,CACF,EACA,CAACH,EAAQC,CAAO,CAClB,EAEwB,UAAAC,EAAW,MAAAE,CAAM,CAC3C",
6
- "names": ["useUpdateProfile_exports", "__export", "useUpdateProfile", "__toCommonJS", "import_react", "locale", "appName", "isLoading", "setIsLoading", "error", "setError", "data", "response", "result", "e"]
4
+ "sourcesContent": ["import { useCallback, useState } from 'react'\n\ntype UseUpdateProfileConfig = {\n locale?: string\n appName?: string\n apiBaseUrl?: string\n}\n\ntype ProfileData = {\n first_name?: string\n last_name?: string\n phone_number?: string\n country?: string\n dob?: string\n}\n\nexport function useUpdateProfile({ locale = '', appName = '', apiBaseUrl = '' }: UseUpdateProfileConfig = {}) {\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const updateProfile = useCallback(\n async (data: ProfileData): Promise<boolean> => {\n setIsLoading(true)\n setError(null)\n try {\n const response = await fetch(`${apiBaseUrl}/api/multipass/account/users/update_profile`, {\n method: 'PUT',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n 'current-language': locale,\n },\n body: JSON.stringify({ app: appName, ...data }),\n })\n const result = await response.json()\n if (response.ok && !result.error) {\n return true\n }\n setError(result?.error?.message || result?.error || 'Update failed')\n return false\n } catch (e: any) {\n setError(e?.message ?? 'Unknown error')\n return false\n } finally {\n setIsLoading(false)\n }\n },\n [locale, appName, apiBaseUrl]\n )\n\n return { updateProfile, isLoading, error }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsC,iBAgB/B,SAASF,EAAiB,CAAE,OAAAG,EAAS,GAAI,QAAAC,EAAU,GAAI,WAAAC,EAAa,EAAG,EAA4B,CAAC,EAAG,CAC5G,KAAM,CAACC,EAAWC,CAAY,KAAI,YAAS,EAAK,EAC1C,CAACC,EAAOC,CAAQ,KAAI,YAAwB,IAAI,EAgCtD,MAAO,CAAE,iBA9Ba,eACpB,MAAOC,GAAwC,CAC7CH,EAAa,EAAI,EACjBE,EAAS,IAAI,EACb,GAAI,CACF,MAAME,EAAW,MAAM,MAAM,GAAGN,CAAU,8CAA+C,CACvF,OAAQ,MACR,YAAa,UACb,QAAS,CACP,eAAgB,mBAChB,mBAAoBF,CACtB,EACA,KAAM,KAAK,UAAU,CAAE,IAAKC,EAAS,GAAGM,CAAK,CAAC,CAChD,CAAC,EACKE,EAAS,MAAMD,EAAS,KAAK,EACnC,OAAIA,EAAS,IAAM,CAACC,EAAO,MAClB,IAETH,EAASG,GAAQ,OAAO,SAAWA,GAAQ,OAAS,eAAe,EAC5D,GACT,OAASC,EAAQ,CACf,OAAAJ,EAASI,GAAG,SAAW,eAAe,EAC/B,EACT,QAAE,CACAN,EAAa,EAAK,CACpB,CACF,EACA,CAACJ,EAAQC,EAASC,CAAU,CAC9B,EAEwB,UAAAC,EAAW,MAAAE,CAAM,CAC3C",
6
+ "names": ["useUpdateProfile_exports", "__export", "useUpdateProfile", "__toCommonJS", "import_react", "locale", "appName", "apiBaseUrl", "isLoading", "setIsLoading", "error", "setError", "data", "response", "result", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var v=Object.create;var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var g=(e,r)=>{for(var a in r)s(e,a,{get:r[a],enumerable:!0})},i=(e,r,a,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of f(r))!m.call(e,n)&&n!==a&&s(e,n,{get:()=>r[n],enumerable:!(o=w(r,n))||o.enumerable});return e};var h=(e,r,a)=>(a=e!=null?v(R(e)):{},i(r||!e||!e.__esModule?s(a,"default",{value:e,enumerable:!0}):a,e)),b=e=>i(s({},"__esModule",{value:!0}),e);var y={};g(y,{useReferralOverview:()=>O});module.exports=b(y);var l=h(require("swr")),p=require("../../../context/provider");function O(){const{profile:e,alpcConfig:r}=(0,p.useMemberPopupContext)(),o=!!e?"/api/multipass/mktsrv/v1/referral/reward/overview/cash":null,n=async d=>{const t=await fetch(d,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json","current-language":r.locale}});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()},{data:c,isLoading:u}=(0,l.default)(o,n,{revalidateOnFocus:!1});return{isLoading:u,data:c}}
1
+ "use strict";var v=Object.create;var o=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var g=(e,r)=>{for(var a in r)o(e,a,{get:r[a],enumerable:!0})},i=(e,r,a,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of f(r))!m.call(e,s)&&s!==a&&o(e,s,{get:()=>r[s],enumerable:!(n=w(r,s))||n.enumerable});return e};var h=(e,r,a)=>(a=e!=null?v(R(e)):{},i(r||!e||!e.__esModule?o(a,"default",{value:e,enumerable:!0}):a,e)),b=e=>i(o({},"__esModule",{value:!0}),e);var y={};g(y,{useReferralOverview:()=>O});module.exports=b(y);var l=h(require("swr")),p=require("../../../context/provider");function O(){const{profile:e,alpcConfig:r}=(0,p.useMemberPopupContext)(),n=!!e?`${r.apiBaseUrl||""}/api/multipass/mktsrv/v1/referral/reward/overview/cash`:null,s=async d=>{const t=await fetch(d,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json","current-language":r.locale}});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()},{data:c,isLoading:u}=(0,l.default)(n,s,{revalidateOnFocus:!1});return{isLoading:u,data:c}}
2
2
  //# sourceMappingURL=useReferralOverview.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/components/memberPopup/panels/Referral/hooks/useReferralOverview.ts"],
4
- "sourcesContent": ["import useSWR from 'swr'\nimport { useMemberPopupContext } from '../../../context/provider'\n\nexport type ReferralRewardOverviewResponse = {\n data: {\n data: {\n available: number\n pending: number\n }\n }\n}\n\nexport function useReferralOverview(): {\n isLoading: boolean\n data?: ReferralRewardOverviewResponse\n} {\n const { profile, alpcConfig } = useMemberPopupContext()\n const isLogin = !!profile\n\n const swrKey = isLogin ? `/api/multipass/mktsrv/v1/referral/reward/overview/cash` : null\n\n const swrFetcher = async (url: string) => {\n const response = await fetch(url, {\n method: 'GET',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n 'current-language': alpcConfig.locale,\n },\n })\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`)\n }\n return response.json()\n }\n\n const { data, isLoading } = useSWR<ReferralRewardOverviewResponse>(swrKey, swrFetcher, {\n revalidateOnFocus: false,\n })\n\n return { isLoading, data }\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmB,kBACnBC,EAAsC,qCAW/B,SAASH,GAGd,CACA,KAAM,CAAE,QAAAI,EAAS,WAAAC,CAAW,KAAI,yBAAsB,EAGhDC,EAFU,CAAC,CAACF,EAEO,yDAA2D,KAE9EG,EAAa,MAAOC,GAAgB,CACxC,MAAMC,EAAW,MAAM,MAAMD,EAAK,CAChC,OAAQ,MACR,YAAa,UACb,QAAS,CACP,eAAgB,mBAChB,mBAAoBH,EAAW,MACjC,CACF,CAAC,EACD,GAAI,CAACI,EAAS,GACZ,MAAM,IAAI,MAAM,uBAAuBA,EAAS,MAAM,EAAE,EAE1D,OAAOA,EAAS,KAAK,CACvB,EAEM,CAAE,KAAAC,EAAM,UAAAC,CAAU,KAAI,EAAAC,SAAuCN,EAAQC,EAAY,CACrF,kBAAmB,EACrB,CAAC,EAED,MAAO,CAAE,UAAAI,EAAW,KAAAD,CAAK,CAC3B",
4
+ "sourcesContent": ["import useSWR from 'swr'\nimport { useMemberPopupContext } from '../../../context/provider'\n\nexport type ReferralRewardOverviewResponse = {\n data: {\n data: {\n available: number\n pending: number\n }\n }\n}\n\nexport function useReferralOverview(): {\n isLoading: boolean\n data?: ReferralRewardOverviewResponse\n} {\n const { profile, alpcConfig } = useMemberPopupContext()\n const isLogin = !!profile\n\n const swrKey = isLogin ? `${alpcConfig.apiBaseUrl || ''}/api/multipass/mktsrv/v1/referral/reward/overview/cash` : null\n\n const swrFetcher = async (url: string) => {\n const response = await fetch(url, {\n method: 'GET',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n 'current-language': alpcConfig.locale,\n },\n })\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`)\n }\n return response.json()\n }\n\n const { data, isLoading } = useSWR<ReferralRewardOverviewResponse>(swrKey, swrFetcher, {\n revalidateOnFocus: false,\n })\n\n return { isLoading, data }\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmB,kBACnBC,EAAsC,qCAW/B,SAASH,GAGd,CACA,KAAM,CAAE,QAAAI,EAAS,WAAAC,CAAW,KAAI,yBAAsB,EAGhDC,EAFU,CAAC,CAACF,EAEO,GAAGC,EAAW,YAAc,EAAE,yDAA2D,KAE5GE,EAAa,MAAOC,GAAgB,CACxC,MAAMC,EAAW,MAAM,MAAMD,EAAK,CAChC,OAAQ,MACR,YAAa,UACb,QAAS,CACP,eAAgB,mBAChB,mBAAoBH,EAAW,MACjC,CACF,CAAC,EACD,GAAI,CAACI,EAAS,GACZ,MAAM,IAAI,MAAM,uBAAuBA,EAAS,MAAM,EAAE,EAE1D,OAAOA,EAAS,KAAK,CACvB,EAEM,CAAE,KAAAC,EAAM,UAAAC,CAAU,KAAI,EAAAC,SAAuCN,EAAQC,EAAY,CACrF,kBAAmB,EACrB,CAAC,EAED,MAAO,CAAE,UAAAI,EAAW,KAAAD,CAAK,CAC3B",
6
6
  "names": ["useReferralOverview_exports", "__export", "useReferralOverview", "__toCommonJS", "import_swr", "import_provider", "profile", "alpcConfig", "swrKey", "swrFetcher", "url", "response", "data", "isLoading", "useSWR"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var M=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.prototype.hasOwnProperty;var y=(e,i)=>{for(var g in i)M(e,g,{get:i[g],enumerable:!0})},ee=(e,i,g,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of Y(i))!Z.call(e,r)&&r!==g&&M(e,r,{get:()=>i[r],enumerable:!(l=X(i,r))||l.enumerable});return e};var te=e=>ee(M({},"__esModule",{value:!0}),e);var se={};y(se,{AuthCodeActivate:()=>ae});module.exports=te(se);var s=require("react/jsx-runtime"),c=require("@anker-in/headless-ui"),o=require("../../../lib"),n=require("react"),V=require("./Message"),B=require("../context"),$=require("../modalContainer"),F=require("../../../constants");const ae=({copy:e})=>{const{locale:i,brand:g}=(0,o.useHeadlessContext)(),{email:l,authCodeActivate:r}=(0,B.useRegistration)(),O=F.ROUNDED_BRANDS.includes(g),{activeToken:w,setActiveToken:P,setIsSendingActivateEmail:D,setIsActivateSuccess:j,onAuthSuccess:v,autoSendEmail:I}=r,{isMutating:z,trigger:K}=(0,o.useEmailValidation)(),{isMutating:N,trigger:C,data:_}=(0,o.useSendEmailValidation)(),[U,f]=(0,n.useState)(""),[q,p]=(0,n.useState)(""),{startCountDown:R,startAction:H,countDown:G}=(0,o.useCountDown)(60),[L,b]=(0,n.useState)(""),[S,h]=(0,n.useState)(0),[u,T]=(0,n.useState)(new Array(6).fill("")),A=(0,n.useRef)([]),E=u.join("");(0,n.useEffect)(()=>{A.current[S]&&A.current[S].focus()},[S]),(0,n.useEffect)(()=>{const d=_?.data?.data?.active_token??_?.data?.active_token;d&&P(d)},[_?.data?.data?.active_token,_?.data?.active_token]),(0,n.useEffect)(()=>{D(N)},[N,D]),(0,n.useEffect)(()=>{I&&l&&C({email:l,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{p("success"),f(e?.sendEmailSuccessMessage||""),H(),setTimeout(()=>{p(""),f("")},5e3)}})},[I,l,C]);const J=(0,n.useCallback)(async()=>{l&&(await C({email:l,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{p("success"),f(e?.sendEmailSuccessMessage||""),H(),setTimeout(()=>{p(""),f("")},5e3)}}),(0,o.gaTrack)({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"sent_again"}}))},[l,C]),Q=(d,t)=>{const{value:a}=d.target;if(b(""),Number.isNaN(Number(a)))return;if(a.length>1){t<u.length-1&&(u[t+1]||(h(t+1),T(x=>{const k=[...x];return k[t]=a[0],a.length>1&&(k[t+1]=a[1]),k})));return}const m=[...u];m[t]=a,T(m),a?t<u.length-1&&!u[t+1]&&h(t+1):t>0&&h(t-1)},W=(0,n.useCallback)(async()=>{if(!E?.length){b(e?.codeEmptyError||"");return}if(E.length<6){b(e?.incorrectCodeError||"");return}w&&await K({token:w,code:E},{onSuccess:t=>{if(t.status>=200&&t.status<300||t?.data?.user_id||t?.user_id)p("success"),f(e?.authSuccessMessage||""),j(!0),v?v():setTimeout(()=>{r.close(),window.location.reload()},3e3);else{const a=t?.data?.error_code??t?.error_code;a==="104"?v?v():setTimeout(()=>{r.close(),window.location.reload()},3e3):b(a==="142"?e?.incorrectCodeError||"Invalid verification code.":a==="154"?e?.expiredCodeMessage||"":e?.sendEmailErrorMessage||"")}}});let d=setTimeout(()=>{p(""),f(""),clearTimeout(d)},5e3);(0,o.gaTrack)({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active"}})},[E,e?.codeEmptyError,e?.authSuccessMessage,e?.incorrectCodeError,e?.expiredCodeMessage,e?.sendEmailErrorMessage,i,w]);return(0,s.jsx)($.RegistrationModalContainer,{isOpen:r.isOpen,onClose:r.close,children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(c.Text,{className:"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]",html:e?.authCodeTitle}),(0,s.jsx)(c.Text,{as:"p",className:"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]",html:e?.authCodeDesc?.replace("%email%",l||"")})]}),(0,s.jsxs)("div",{className:"mt-6",children:[(0,s.jsx)(c.Text,{className:"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6",html:e?.enterActiveCodeText}),(0,s.jsx)("div",{className:"my-3 grid grid-cols-6 gap-2",children:u.map((d,t)=>(0,s.jsx)("div",{className:"col-span-1 aspect-1 text-[#555]",children:(0,s.jsx)("input",{ref:a=>{a&&(A.current[t]=a)},type:"tel",className:(0,o.classNames)("flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none",O&&"rounded-[12px]"),value:d,autoComplete:"false",autoCorrect:"false",spellCheck:"false",autoCapitalize:"false",onChange:a=>Q(a,t),onFocus:()=>{h(t)},onPaste:a=>{const m=a.clipboardData.getData("text");if(!Number.isNaN(Number(m))){const x=m.split("").slice(0,6);T(x.concat(Array(6-x.length).fill(""))),x.length<=u.length&&h(x.length-1)}},onKeyDown:a=>{const{value:m}=a.target;a.key==="Backspace"&&!m&&t>0&&h(t-1)}},t)},t))}),L&&(0,s.jsx)(c.Text,{className:"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]",html:L}),e?.authCodeContent&&(0,s.jsx)("ul",{className:'flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-["\u2022"]',dangerouslySetInnerHTML:{__html:e?.authCodeContent}})]}),(0,s.jsxs)("div",{className:"mt-4 min-l:mt-6",children:[(0,s.jsx)(c.Text,{className:"text-base font-semibold leading-[100%] text-[#333]",html:e?.authCodeReceiveText})," ",R?(0,s.jsx)(c.Text,{html:e?.retrieveText?.replace("%countdownTime%",G.toString()),className:"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline"}):(0,s.jsx)(c.Text,{onClick:J,className:(0,o.classNames)("cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline",{"pointer-events-none":R||N}),html:e?.sendAgainText}),(0,s.jsx)(c.Button,{type:"submit",loading:z,className:"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8",onClick:W,children:e.buttonText})]}),(0,s.jsx)(V.Message,{status:q,message:U})]})})};
1
+ "use strict";var M=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var ee=(e,i)=>{for(var g in i)M(e,g,{get:i[g],enumerable:!0})},te=(e,i,g,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of Z(i))!y.call(e,r)&&r!==g&&M(e,r,{get:()=>i[r],enumerable:!(l=Y(i,r))||l.enumerable});return e};var ae=e=>te(M({},"__esModule",{value:!0}),e);var se={};ee(se,{AuthCodeActivate:()=>ne});module.exports=ae(se);var n=require("react/jsx-runtime"),c=require("@anker-in/headless-ui"),o=require("../../../lib"),s=require("react"),V=require("./Message"),$=require("../context"),F=require("../modalContainer"),O=require("../../../constants");const ne=({copy:e})=>{const{locale:i,brand:g}=(0,o.useHeadlessContext)(),{email:l,authCodeActivate:r,apiBaseUrl:D}=(0,$.useRegistration)(),P=O.ROUNDED_BRANDS.includes(g),{activeToken:w,setActiveToken:j,setIsSendingActivateEmail:I,setIsActivateSuccess:z,onAuthSuccess:v,autoSendEmail:R}=r,{isMutating:U,trigger:K}=(0,o.useEmailValidation)(void 0,D),{isMutating:N,trigger:C,data:_}=(0,o.useSendEmailValidation)(D),[q,f]=(0,s.useState)(""),[G,p]=(0,s.useState)(""),{startCountDown:B,startAction:H,countDown:J}=(0,o.useCountDown)(60),[L,b]=(0,s.useState)(""),[S,h]=(0,s.useState)(0),[u,T]=(0,s.useState)(new Array(6).fill("")),A=(0,s.useRef)([]),E=u.join("");(0,s.useEffect)(()=>{A.current[S]&&A.current[S].focus()},[S]),(0,s.useEffect)(()=>{const d=_?.data?.data?.active_token??_?.data?.active_token;d&&j(d)},[_?.data?.data?.active_token,_?.data?.active_token]),(0,s.useEffect)(()=>{I(N)},[N,I]),(0,s.useEffect)(()=>{R&&l&&C({email:l,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{p("success"),f(e?.sendEmailSuccessMessage||""),H(),setTimeout(()=>{p(""),f("")},5e3)}})},[R,l,C]);const Q=(0,s.useCallback)(async()=>{l&&(await C({email:l,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{p("success"),f(e?.sendEmailSuccessMessage||""),H(),setTimeout(()=>{p(""),f("")},5e3)}}),(0,o.gaTrack)({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"sent_again"}}))},[l,C]),W=(d,t)=>{const{value:a}=d.target;if(b(""),Number.isNaN(Number(a)))return;if(a.length>1){t<u.length-1&&(u[t+1]||(h(t+1),T(x=>{const k=[...x];return k[t]=a[0],a.length>1&&(k[t+1]=a[1]),k})));return}const m=[...u];m[t]=a,T(m),a?t<u.length-1&&!u[t+1]&&h(t+1):t>0&&h(t-1)},X=(0,s.useCallback)(async()=>{if(!E?.length){b(e?.codeEmptyError||"");return}if(E.length<6){b(e?.incorrectCodeError||"");return}w&&await K({token:w,code:E},{onSuccess:t=>{if(t.status>=200&&t.status<300||t?.data?.user_id||t?.user_id)p("success"),f(e?.authSuccessMessage||""),z(!0),v?v():setTimeout(()=>{r.close(),window.location.reload()},3e3);else{const a=t?.data?.error_code??t?.error_code;a==="104"?v?v():setTimeout(()=>{r.close(),window.location.reload()},3e3):b(a==="142"?e?.incorrectCodeError||"Invalid verification code.":a==="154"?e?.expiredCodeMessage||"":e?.sendEmailErrorMessage||"")}}});let d=setTimeout(()=>{p(""),f(""),clearTimeout(d)},5e3);(0,o.gaTrack)({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active"}})},[E,e?.codeEmptyError,e?.authSuccessMessage,e?.incorrectCodeError,e?.expiredCodeMessage,e?.sendEmailErrorMessage,i,w]);return(0,n.jsx)(F.RegistrationModalContainer,{isOpen:r.isOpen,onClose:r.close,children:(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(c.Text,{className:"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]",html:e?.authCodeTitle}),(0,n.jsx)(c.Text,{as:"p",className:"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]",html:e?.authCodeDesc?.replace("%email%",l||"")})]}),(0,n.jsxs)("div",{className:"mt-6",children:[(0,n.jsx)(c.Text,{className:"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6",html:e?.enterActiveCodeText}),(0,n.jsx)("div",{className:"my-3 grid grid-cols-6 gap-2",children:u.map((d,t)=>(0,n.jsx)("div",{className:"col-span-1 aspect-1 text-[#555]",children:(0,n.jsx)("input",{ref:a=>{a&&(A.current[t]=a)},type:"tel",className:(0,o.classNames)("flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none",P&&"rounded-[12px]"),value:d,autoComplete:"false",autoCorrect:"false",spellCheck:"false",autoCapitalize:"false",onChange:a=>W(a,t),onFocus:()=>{h(t)},onPaste:a=>{const m=a.clipboardData.getData("text");if(!Number.isNaN(Number(m))){const x=m.split("").slice(0,6);T(x.concat(Array(6-x.length).fill(""))),x.length<=u.length&&h(x.length-1)}},onKeyDown:a=>{const{value:m}=a.target;a.key==="Backspace"&&!m&&t>0&&h(t-1)}},t)},t))}),L&&(0,n.jsx)(c.Text,{className:"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]",html:L}),e?.authCodeContent&&(0,n.jsx)("ul",{className:'flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-["\u2022"]',dangerouslySetInnerHTML:{__html:e?.authCodeContent}})]}),(0,n.jsxs)("div",{className:"mt-4 min-l:mt-6",children:[(0,n.jsx)(c.Text,{className:"text-base font-semibold leading-[100%] text-[#333]",html:e?.authCodeReceiveText})," ",B?(0,n.jsx)(c.Text,{html:e?.retrieveText?.replace("%countdownTime%",J.toString()),className:"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline"}):(0,n.jsx)(c.Text,{onClick:Q,className:(0,o.classNames)("cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline",{"pointer-events-none":B||N}),html:e?.sendAgainText}),(0,n.jsx)(c.Button,{type:"submit",loading:U,className:"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8",onClick:X,children:e.buttonText})]}),(0,n.jsx)(V.Message,{status:G,message:q})]})})};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/registration/authCodeActivate/index.tsx"],
4
- "sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useEmailValidation,\n useCountDown,\n} from '../../../lib'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Message } from './Message'\nimport { AuthCodeActivateProps } from './type'\nimport { useRegistration } from '../context'\nimport { RegistrationModalContainer } from '../modalContainer'\nimport { ROUNDED_BRANDS } from '../../../constants'\n\nexport const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {\n const { locale, brand } = useHeadlessContext()\n const { email, authCodeActivate } = useRegistration()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const { activeToken, setActiveToken, setIsSendingActivateEmail, setIsActivateSuccess, onAuthSuccess, autoSendEmail } =\n authCodeActivate\n\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation()\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation()\n\n const [messageText, setMessageText] = useState('')\n const [messageStatus, setMessageStatus] = useState('')\n const { startCountDown: isStartCountDown, startAction: startCountDown, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n const token = sendEmailData?.data?.data?.active_token ?? sendEmailData?.data?.active_token\n if (token) {\n setActiveToken(token)\n }\n }, [sendEmailData?.data?.data?.active_token, sendEmailData?.data?.active_token])\n\n useEffect(() => {\n setIsSendingActivateEmail(isSendingEmail)\n }, [isSendingEmail, setIsSendingActivateEmail])\n\n // \u81EA\u52A8\u53D1\u9001\u90AE\u7BB1\u9A8C\u8BC1\u7801\n useEffect(() => {\n if (autoSendEmail && email) {\n triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n }\n }, [autoSendEmail, email, triggerSendValidationEmail])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n // \u53D1\u8D77\u7F51\u7EDC\u8BF7\u6C42\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(copy?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(copy?.incorrectCodeError || '')\n return\n }\n\n if (activeToken) {\n await triggerEmailValidation(\n {\n token: activeToken,\n code: code,\n },\n {\n onSuccess: data => {\n if ((data.status >= 200 && data.status < 300) || data?.data?.user_id || data?.user_id) {\n setMessageStatus('success')\n setMessageText(copy?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n window.location.reload()\n }, 3000)\n }\n } else {\n const errorCode = data?.data?.error_code ?? data?.error_code\n if (errorCode === '104') {\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n window.location.reload()\n }, 3000)\n }\n } else if (errorCode === '142') {\n setError(copy?.incorrectCodeError || 'Invalid verification code.')\n } else if (errorCode === '154') {\n setError(copy?.expiredCodeMessage || '')\n } else {\n setError(copy?.sendEmailErrorMessage || '')\n }\n }\n },\n }\n )\n }\n\n // \u8BBE\u7F6E\u5B9A\u65F6\u5668\u6E05\u9664\u72B6\u6001\u4FE1\u606F\n let timer = setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n },\n })\n }, [\n code,\n copy?.codeEmptyError,\n copy?.authSuccessMessage,\n copy?.incorrectCodeError,\n copy?.expiredCodeMessage,\n copy?.sendEmailErrorMessage,\n locale,\n activeToken,\n ])\n\n return (\n <RegistrationModalContainer isOpen={authCodeActivate.isOpen} onClose={authCodeActivate.close}>\n <div className=\"relative\">\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={copy?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={copy?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={copy?.enterActiveCodeText}\n />\n <div className=\"my-3 grid grid-cols-6 gap-2\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className={cn(\n 'flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none',\n rounded && 'rounded-[12px]'\n )}\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {copy?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: copy?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={copy?.authCodeReceiveText} />{' '}\n {isStartCountDown ? (\n <Text\n html={copy?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': isStartCountDown || isSendingEmail,\n }\n )}\n html={copy?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8\"\n onClick={handleAuthCodeSubmit}\n >\n {copy.buttonText}\n </Button>\n </div>\n <Message status={messageStatus} message={messageText} />\n </div>\n </RegistrationModalContainer>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["authCodeActivate_exports", "__export", "AuthCodeActivate", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_lib", "import_react", "import_Message", "import_context", "import_modalContainer", "import_constants", "copy", "locale", "brand", "email", "authCodeActivate", "rounded", "activeToken", "setActiveToken", "setIsSendingActivateEmail", "setIsActivateSuccess", "onAuthSuccess", "autoSendEmail", "emailValidationLoading", "triggerEmailValidation", "isSendingEmail", "triggerSendValidationEmail", "sendEmailData", "messageText", "setMessageText", "messageStatus", "setMessageStatus", "isStartCountDown", "startCountDown", "countDown", "error", "setError", "focusIndex", "setFocusIndex", "codeArray", "setCodeArray", "inputRefs", "code", "token", "handleSendAgain", "handleInputCodeChange", "event", "index", "value", "old", "newCode", "handleAuthCodeSubmit", "data", "errorCode", "timer", "item", "inputRef", "cn", "paste", "pastedCode"]
4
+ "sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useEmailValidation,\n useCountDown,\n} from '../../../lib'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Message } from './Message'\nimport { AuthCodeActivateProps } from './type'\nimport { useRegistration } from '../context'\nimport { RegistrationModalContainer } from '../modalContainer'\nimport { ROUNDED_BRANDS } from '../../../constants'\n\nexport const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {\n const { locale, brand } = useHeadlessContext()\n const { email, authCodeActivate, apiBaseUrl } = useRegistration()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const { activeToken, setActiveToken, setIsSendingActivateEmail, setIsActivateSuccess, onAuthSuccess, autoSendEmail } =\n authCodeActivate\n\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation(undefined, apiBaseUrl)\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation(apiBaseUrl)\n\n const [messageText, setMessageText] = useState('')\n const [messageStatus, setMessageStatus] = useState('')\n const { startCountDown: isStartCountDown, startAction: startCountDown, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n const token = sendEmailData?.data?.data?.active_token ?? sendEmailData?.data?.active_token\n if (token) {\n setActiveToken(token)\n }\n }, [sendEmailData?.data?.data?.active_token, sendEmailData?.data?.active_token])\n\n useEffect(() => {\n setIsSendingActivateEmail(isSendingEmail)\n }, [isSendingEmail, setIsSendingActivateEmail])\n\n // \u81EA\u52A8\u53D1\u9001\u90AE\u7BB1\u9A8C\u8BC1\u7801\n useEffect(() => {\n if (autoSendEmail && email) {\n triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n }\n }, [autoSendEmail, email, triggerSendValidationEmail])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n // \u53D1\u8D77\u7F51\u7EDC\u8BF7\u6C42\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(copy?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(copy?.incorrectCodeError || '')\n return\n }\n\n if (activeToken) {\n await triggerEmailValidation(\n {\n token: activeToken,\n code: code,\n },\n {\n onSuccess: data => {\n if ((data.status >= 200 && data.status < 300) || data?.data?.user_id || data?.user_id) {\n setMessageStatus('success')\n setMessageText(copy?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n window.location.reload()\n }, 3000)\n }\n } else {\n const errorCode = data?.data?.error_code ?? data?.error_code\n if (errorCode === '104') {\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n window.location.reload()\n }, 3000)\n }\n } else if (errorCode === '142') {\n setError(copy?.incorrectCodeError || 'Invalid verification code.')\n } else if (errorCode === '154') {\n setError(copy?.expiredCodeMessage || '')\n } else {\n setError(copy?.sendEmailErrorMessage || '')\n }\n }\n },\n }\n )\n }\n\n // \u8BBE\u7F6E\u5B9A\u65F6\u5668\u6E05\u9664\u72B6\u6001\u4FE1\u606F\n let timer = setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n },\n })\n }, [\n code,\n copy?.codeEmptyError,\n copy?.authSuccessMessage,\n copy?.incorrectCodeError,\n copy?.expiredCodeMessage,\n copy?.sendEmailErrorMessage,\n locale,\n activeToken,\n ])\n\n return (\n <RegistrationModalContainer isOpen={authCodeActivate.isOpen} onClose={authCodeActivate.close}>\n <div className=\"relative\">\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={copy?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={copy?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={copy?.enterActiveCodeText}\n />\n <div className=\"my-3 grid grid-cols-6 gap-2\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className={cn(\n 'flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none',\n rounded && 'rounded-[12px]'\n )}\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {copy?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: copy?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={copy?.authCodeReceiveText} />{' '}\n {isStartCountDown ? (\n <Text\n html={copy?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': isStartCountDown || isSendingEmail,\n }\n )}\n html={copy?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8\"\n onClick={handleAuthCodeSubmit}\n >\n {copy.buttonText}\n </Button>\n </div>\n <Message status={messageStatus} message={messageText} />\n </div>\n </RegistrationModalContainer>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["authCodeActivate_exports", "__export", "AuthCodeActivate", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_lib", "import_react", "import_Message", "import_context", "import_modalContainer", "import_constants", "copy", "locale", "brand", "email", "authCodeActivate", "apiBaseUrl", "rounded", "activeToken", "setActiveToken", "setIsSendingActivateEmail", "setIsActivateSuccess", "onAuthSuccess", "autoSendEmail", "emailValidationLoading", "triggerEmailValidation", "isSendingEmail", "triggerSendValidationEmail", "sendEmailData", "messageText", "setMessageText", "messageStatus", "setMessageStatus", "isStartCountDown", "startCountDown", "countDown", "error", "setError", "focusIndex", "setFocusIndex", "codeArray", "setCodeArray", "inputRefs", "code", "token", "handleSendAgain", "handleInputCodeChange", "event", "index", "value", "old", "newCode", "handleAuthCodeSubmit", "data", "errorCode", "timer", "item", "inputRef", "cn", "paste", "pastedCode"]
7
7
  }
@@ -2,6 +2,7 @@ import { Dispatch, PropsWithChildren, SetStateAction } from 'react';
2
2
  interface RegistrationContextType {
3
3
  email?: string;
4
4
  copy?: any;
5
+ apiBaseUrl?: string;
5
6
  authCodeActivate: {
6
7
  isOpen: boolean;
7
8
  open: () => void;
@@ -20,8 +21,9 @@ interface RegistrationContextType {
20
21
  }
21
22
  export declare const RegistrationContext: import("react").Context<RegistrationContextType>;
22
23
  export declare const useRegistration: () => RegistrationContextType;
23
- export declare const RegistrationProvider: ({ children, email, copy }: PropsWithChildren<{
24
+ export declare const RegistrationProvider: ({ children, email, copy, apiBaseUrl, }: PropsWithChildren<{
24
25
  email?: string;
25
26
  copy?: any;
27
+ apiBaseUrl?: string;
26
28
  }>) => import("react").JSX.Element;
27
29
  export {};
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},R=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of E(t))!x.call(e,s)&&s!==n&&c(e,s,{get:()=>t[s],enumerable:!(o=C(t,s))||o.enumerable});return e};var T=e=>R(c({},"__esModule",{value:!0}),e);var y={};b(y,{RegistrationContext:()=>d,RegistrationProvider:()=>k,useRegistration:()=>P});module.exports=T(y);var a=require("react/jsx-runtime"),i=require("react"),u=require("../authCodeActivate");const d=(0,i.createContext)({email:void 0,copy:void 0,authCodeActivate:{activeToken:void 0,setActiveToken:()=>{},isOpen:!1,open:()=>{},close:()=>{},isActivateSuccess:!1,isSendingActivateEmail:!1,setIsSendingActivateEmail:()=>{},setIsActivateSuccess:()=>{},setOnAuthSuccess:()=>{},onAuthSuccess:void 0,autoSendEmail:!1,setAutoSendEmail:()=>{}}}),P=()=>{const e=(0,i.useContext)(d);if(!e)throw new Error("useRegistration must be used within a RegistrationProvider");return e},k=({children:e,email:t,copy:n})=>{const[o,s]=(0,i.useState)(!1),[r,A]=(0,i.useState)(void 0),[l,S]=(0,i.useState)(!1),[v,h]=(0,i.useState)(),[p,f]=(0,i.useState)(!1),[g,m]=(0,i.useState)(!1);return(0,a.jsxs)(d.Provider,{value:{email:t,copy:n,authCodeActivate:{activeToken:v,isOpen:o,open:()=>s(!0),close:()=>s(!1),isActivateSuccess:l,setIsActivateSuccess:S,onAuthSuccess:r,setOnAuthSuccess:A,isSendingActivateEmail:p,setIsSendingActivateEmail:f,setActiveToken:h,autoSendEmail:g,setAutoSendEmail:m}},children:[e,n?.authCodeActivate&&(0,a.jsx)(u.AuthCodeActivate,{copy:n.authCodeActivate})]})};
1
+ "use strict";var c=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var R=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},T=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of x(t))!b.call(e,s)&&s!==n&&c(e,s,{get:()=>t[s],enumerable:!(o=E(t,s))||o.enumerable});return e};var P=e=>T(c({},"__esModule",{value:!0}),e);var D={};R(D,{RegistrationContext:()=>d,RegistrationProvider:()=>y,useRegistration:()=>k});module.exports=P(D);var a=require("react/jsx-runtime"),i=require("react"),r=require("../authCodeActivate");const d=(0,i.createContext)({email:void 0,copy:void 0,authCodeActivate:{activeToken:void 0,setActiveToken:()=>{},isOpen:!1,open:()=>{},close:()=>{},isActivateSuccess:!1,isSendingActivateEmail:!1,setIsSendingActivateEmail:()=>{},setIsActivateSuccess:()=>{},setOnAuthSuccess:()=>{},onAuthSuccess:void 0,autoSendEmail:!1,setAutoSendEmail:()=>{}}}),k=()=>{const e=(0,i.useContext)(d);if(!e)throw new Error("useRegistration must be used within a RegistrationProvider");return e},y=({children:e,email:t,copy:n,apiBaseUrl:o})=>{const[s,u]=(0,i.useState)(!1),[l,A]=(0,i.useState)(void 0),[S,v]=(0,i.useState)(!1),[p,h]=(0,i.useState)(),[f,g]=(0,i.useState)(!1),[m,C]=(0,i.useState)(!1);return(0,a.jsxs)(d.Provider,{value:{email:t,copy:n,apiBaseUrl:o,authCodeActivate:{activeToken:p,isOpen:s,open:()=>u(!0),close:()=>u(!1),isActivateSuccess:S,setIsActivateSuccess:v,onAuthSuccess:l,setOnAuthSuccess:A,isSendingActivateEmail:f,setIsSendingActivateEmail:g,setActiveToken:h,autoSendEmail:m,setAutoSendEmail:C}},children:[e,n?.authCodeActivate&&(0,a.jsx)(r.AuthCodeActivate,{copy:n.authCodeActivate})]})};
2
2
  //# sourceMappingURL=provider.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/registration/context/provider.tsx"],
4
- "sourcesContent": ["import { createContext, Dispatch, PropsWithChildren, SetStateAction, useContext, useState } from 'react'\nimport { AuthCodeActivate } from '../authCodeActivate'\n\ninterface RegistrationContextType {\n email?: string\n copy?: any\n authCodeActivate: {\n isOpen: boolean\n open: () => void\n close: () => void\n isActivateSuccess: boolean\n activeToken?: string\n onAuthSuccess: (() => void) | undefined\n isSendingActivateEmail: boolean\n setIsSendingActivateEmail: Dispatch<SetStateAction<boolean>>\n setActiveToken: Dispatch<SetStateAction<string | undefined>>\n setIsActivateSuccess: Dispatch<SetStateAction<boolean>>\n setOnAuthSuccess: Dispatch<SetStateAction<(() => void) | undefined>>\n autoSendEmail: boolean\n setAutoSendEmail: Dispatch<SetStateAction<boolean>>\n }\n}\n\nexport const RegistrationContext = createContext<RegistrationContextType>({\n email: undefined,\n copy: undefined,\n authCodeActivate: {\n activeToken: undefined,\n setActiveToken: () => {},\n isOpen: false,\n open: () => {},\n close: () => {},\n isActivateSuccess: false,\n isSendingActivateEmail: false,\n setIsSendingActivateEmail: () => {},\n setIsActivateSuccess: () => {},\n setOnAuthSuccess: () => {},\n onAuthSuccess: undefined,\n autoSendEmail: false,\n setAutoSendEmail: () => {},\n },\n})\n\nexport const useRegistration = () => {\n const context = useContext(RegistrationContext)\n if (!context) {\n throw new Error('useRegistration must be used within a RegistrationProvider')\n }\n return context\n}\n\nexport const RegistrationProvider = ({ children, email, copy }: PropsWithChildren<{ email?: string; copy?: any }>) => {\n const [popAuthCode, setPopAuthCode] = useState(false)\n const [onAuthSuccess, setOnAuthSuccess] = useState<(() => void) | undefined>(undefined)\n const [isActivateSuccess, setIsActivateSuccess] = useState(false)\n const [activeToken, setActiveToken] = useState<string>()\n const [isSendingActivateEmail, setIsSendingActivateEmail] = useState(false)\n const [autoSendEmail, setAutoSendEmail] = useState(false)\n\n return (\n <RegistrationContext.Provider\n value={{\n email,\n copy,\n authCodeActivate: {\n activeToken,\n isOpen: popAuthCode,\n open: () => setPopAuthCode(true),\n close: () => setPopAuthCode(false),\n isActivateSuccess,\n setIsActivateSuccess,\n onAuthSuccess,\n setOnAuthSuccess,\n isSendingActivateEmail,\n setIsSendingActivateEmail,\n setActiveToken,\n autoSendEmail,\n setAutoSendEmail,\n },\n }}\n >\n {children}\n {copy?.authCodeActivate && <AuthCodeActivate copy={copy.authCodeActivate} />}\n </RegistrationContext.Provider>\n )\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,yBAAAC,EAAA,oBAAAC,IAAA,eAAAC,EAAAL,GA4DI,IAAAM,EAAA,6BA5DJC,EAAiG,iBACjGC,EAAiC,+BAsB1B,MAAMN,KAAsB,iBAAuC,CACxE,MAAO,OACP,KAAM,OACN,iBAAkB,CAChB,YAAa,OACb,eAAgB,IAAM,CAAC,EACvB,OAAQ,GACR,KAAM,IAAM,CAAC,EACb,MAAO,IAAM,CAAC,EACd,kBAAmB,GACnB,uBAAwB,GACxB,0BAA2B,IAAM,CAAC,EAClC,qBAAsB,IAAM,CAAC,EAC7B,iBAAkB,IAAM,CAAC,EACzB,cAAe,OACf,cAAe,GACf,iBAAkB,IAAM,CAAC,CAC3B,CACF,CAAC,EAEYE,EAAkB,IAAM,CACnC,MAAMK,KAAU,cAAWP,CAAmB,EAC9C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,4DAA4D,EAE9E,OAAOA,CACT,EAEaN,EAAuB,CAAC,CAAE,SAAAO,EAAU,MAAAC,EAAO,KAAAC,CAAK,IAAyD,CACpH,KAAM,CAACC,EAAaC,CAAc,KAAI,YAAS,EAAK,EAC9C,CAACC,EAAeC,CAAgB,KAAI,YAAmC,MAAS,EAChF,CAACC,EAAmBC,CAAoB,KAAI,YAAS,EAAK,EAC1D,CAACC,EAAaC,CAAc,KAAI,YAAiB,EACjD,CAACC,EAAwBC,CAAyB,KAAI,YAAS,EAAK,EACpE,CAACC,EAAeC,CAAgB,KAAI,YAAS,EAAK,EAExD,SACE,QAACtB,EAAoB,SAApB,CACC,MAAO,CACL,MAAAS,EACA,KAAAC,EACA,iBAAkB,CAChB,YAAAO,EACA,OAAQN,EACR,KAAM,IAAMC,EAAe,EAAI,EAC/B,MAAO,IAAMA,EAAe,EAAK,EACjC,kBAAAG,EACA,qBAAAC,EACA,cAAAH,EACA,iBAAAC,EACA,uBAAAK,EACA,0BAAAC,EACA,eAAAF,EACA,cAAAG,EACA,iBAAAC,CACF,CACF,EAEC,UAAAd,EACAE,GAAM,qBAAoB,OAAC,oBAAiB,KAAMA,EAAK,iBAAkB,GAC5E,CAEJ",
6
- "names": ["provider_exports", "__export", "RegistrationContext", "RegistrationProvider", "useRegistration", "__toCommonJS", "import_jsx_runtime", "import_react", "import_authCodeActivate", "context", "children", "email", "copy", "popAuthCode", "setPopAuthCode", "onAuthSuccess", "setOnAuthSuccess", "isActivateSuccess", "setIsActivateSuccess", "activeToken", "setActiveToken", "isSendingActivateEmail", "setIsSendingActivateEmail", "autoSendEmail", "setAutoSendEmail"]
4
+ "sourcesContent": ["import { createContext, Dispatch, PropsWithChildren, SetStateAction, useContext, useState } from 'react'\nimport { AuthCodeActivate } from '../authCodeActivate'\n\ninterface RegistrationContextType {\n email?: string\n copy?: any\n apiBaseUrl?: string\n authCodeActivate: {\n isOpen: boolean\n open: () => void\n close: () => void\n isActivateSuccess: boolean\n activeToken?: string\n onAuthSuccess: (() => void) | undefined\n isSendingActivateEmail: boolean\n setIsSendingActivateEmail: Dispatch<SetStateAction<boolean>>\n setActiveToken: Dispatch<SetStateAction<string | undefined>>\n setIsActivateSuccess: Dispatch<SetStateAction<boolean>>\n setOnAuthSuccess: Dispatch<SetStateAction<(() => void) | undefined>>\n autoSendEmail: boolean\n setAutoSendEmail: Dispatch<SetStateAction<boolean>>\n }\n}\n\nexport const RegistrationContext = createContext<RegistrationContextType>({\n email: undefined,\n copy: undefined,\n authCodeActivate: {\n activeToken: undefined,\n setActiveToken: () => {},\n isOpen: false,\n open: () => {},\n close: () => {},\n isActivateSuccess: false,\n isSendingActivateEmail: false,\n setIsSendingActivateEmail: () => {},\n setIsActivateSuccess: () => {},\n setOnAuthSuccess: () => {},\n onAuthSuccess: undefined,\n autoSendEmail: false,\n setAutoSendEmail: () => {},\n },\n})\n\nexport const useRegistration = () => {\n const context = useContext(RegistrationContext)\n if (!context) {\n throw new Error('useRegistration must be used within a RegistrationProvider')\n }\n return context\n}\n\nexport const RegistrationProvider = ({\n children,\n email,\n copy,\n apiBaseUrl,\n}: PropsWithChildren<{ email?: string; copy?: any; apiBaseUrl?: string }>) => {\n const [popAuthCode, setPopAuthCode] = useState(false)\n const [onAuthSuccess, setOnAuthSuccess] = useState<(() => void) | undefined>(undefined)\n const [isActivateSuccess, setIsActivateSuccess] = useState(false)\n const [activeToken, setActiveToken] = useState<string>()\n const [isSendingActivateEmail, setIsSendingActivateEmail] = useState(false)\n const [autoSendEmail, setAutoSendEmail] = useState(false)\n\n return (\n <RegistrationContext.Provider\n value={{\n email,\n copy,\n apiBaseUrl,\n authCodeActivate: {\n activeToken,\n isOpen: popAuthCode,\n open: () => setPopAuthCode(true),\n close: () => setPopAuthCode(false),\n isActivateSuccess,\n setIsActivateSuccess,\n onAuthSuccess,\n setOnAuthSuccess,\n isSendingActivateEmail,\n setIsSendingActivateEmail,\n setActiveToken,\n autoSendEmail,\n setAutoSendEmail,\n },\n }}\n >\n {children}\n {copy?.authCodeActivate && <AuthCodeActivate copy={copy.authCodeActivate} />}\n </RegistrationContext.Provider>\n )\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,yBAAAC,EAAA,oBAAAC,IAAA,eAAAC,EAAAL,GAkEI,IAAAM,EAAA,6BAlEJC,EAAiG,iBACjGC,EAAiC,+BAuB1B,MAAMN,KAAsB,iBAAuC,CACxE,MAAO,OACP,KAAM,OACN,iBAAkB,CAChB,YAAa,OACb,eAAgB,IAAM,CAAC,EACvB,OAAQ,GACR,KAAM,IAAM,CAAC,EACb,MAAO,IAAM,CAAC,EACd,kBAAmB,GACnB,uBAAwB,GACxB,0BAA2B,IAAM,CAAC,EAClC,qBAAsB,IAAM,CAAC,EAC7B,iBAAkB,IAAM,CAAC,EACzB,cAAe,OACf,cAAe,GACf,iBAAkB,IAAM,CAAC,CAC3B,CACF,CAAC,EAEYE,EAAkB,IAAM,CACnC,MAAMK,KAAU,cAAWP,CAAmB,EAC9C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,4DAA4D,EAE9E,OAAOA,CACT,EAEaN,EAAuB,CAAC,CACnC,SAAAO,EACA,MAAAC,EACA,KAAAC,EACA,WAAAC,CACF,IAA8E,CAC5E,KAAM,CAACC,EAAaC,CAAc,KAAI,YAAS,EAAK,EAC9C,CAACC,EAAeC,CAAgB,KAAI,YAAmC,MAAS,EAChF,CAACC,EAAmBC,CAAoB,KAAI,YAAS,EAAK,EAC1D,CAACC,EAAaC,CAAc,KAAI,YAAiB,EACjD,CAACC,EAAwBC,CAAyB,KAAI,YAAS,EAAK,EACpE,CAACC,EAAeC,CAAgB,KAAI,YAAS,EAAK,EAExD,SACE,QAACvB,EAAoB,SAApB,CACC,MAAO,CACL,MAAAS,EACA,KAAAC,EACA,WAAAC,EACA,iBAAkB,CAChB,YAAAO,EACA,OAAQN,EACR,KAAM,IAAMC,EAAe,EAAI,EAC/B,MAAO,IAAMA,EAAe,EAAK,EACjC,kBAAAG,EACA,qBAAAC,EACA,cAAAH,EACA,iBAAAC,EACA,uBAAAK,EACA,0BAAAC,EACA,eAAAF,EACA,cAAAG,EACA,iBAAAC,CACF,CACF,EAEC,UAAAf,EACAE,GAAM,qBAAoB,OAAC,oBAAiB,KAAMA,EAAK,iBAAkB,GAC5E,CAEJ",
6
+ "names": ["provider_exports", "__export", "RegistrationContext", "RegistrationProvider", "useRegistration", "__toCommonJS", "import_jsx_runtime", "import_react", "import_authCodeActivate", "context", "children", "email", "copy", "apiBaseUrl", "popAuthCode", "setPopAuthCode", "onAuthSuccess", "setOnAuthSuccess", "isActivateSuccess", "setIsActivateSuccess", "activeToken", "setActiveToken", "isSendingActivateEmail", "setIsSendingActivateEmail", "autoSendEmail", "setAutoSendEmail"]
7
7
  }
@@ -6,7 +6,7 @@ export declare const useEmailValidation: (config?: SWRMutationConfiguration<any,
6
6
  }, string, {
7
7
  token: string;
8
8
  code: string;
9
- }>) => import("swr/dist/mutation").SWRMutationResponse<any, {
9
+ }>, apiBaseUrl?: string) => import("swr/dist/mutation").SWRMutationResponse<any, {
10
10
  type: "responseError";
11
11
  data: any;
12
12
  response: any;
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.create;var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var f=(t,o)=>{for(var a in o)i(t,a,{get:o[a],enumerable:!0})},r=(t,o,a,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of m(o))!g.call(t,e)&&e!==a&&i(t,e,{get:()=>o[e],enumerable:!(n=l(o,e))||n.enumerable});return t};var y=(t,o,a)=>(a=t!=null?d(p(t)):{},r(o||!t||!t.__esModule?i(a,"default",{value:t,enumerable:!0}):a,t)),R=t=>r(i({},"__esModule",{value:!0}),t);var _={};f(_,{useEmailValidation:()=>S});module.exports=R(_);var s=y(require("swr/mutation")),c=require("../../context"),u=require("../../utils");const S=t=>{const{locale:o}=(0,c.useHeadlessContext)();return(0,s.default)("emailValidation",(a,{arg:{token:n,code:e}})=>(0,u.fetcher)({url:"/api/multipass/account/users/email_validation",method:"POST",body:{activation_code:n,verify_code:e},action:"account",needRecaptcha:!0,locale:o}),t)};
1
+ "use strict";var l=Object.create;var n=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var y=(t,o)=>{for(var a in o)n(t,a,{get:o[a],enumerable:!0})},i=(t,o,a,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of g(o))!f.call(t,e)&&e!==a&&n(t,e,{get:()=>o[e],enumerable:!(r=m(o,e))||r.enumerable});return t};var R=(t,o,a)=>(a=t!=null?l(p(t)):{},i(o||!t||!t.__esModule?n(a,"default",{value:t,enumerable:!0}):a,t)),S=t=>i(n({},"__esModule",{value:!0}),t);var h={};y(h,{useEmailValidation:()=>_});module.exports=S(h);var s=R(require("swr/mutation")),c=require("../../context"),u=require("../../utils");const _=(t,o)=>{const{locale:a}=(0,c.useHeadlessContext)();return(0,s.default)("emailValidation",(r,{arg:{token:e,code:d}})=>(0,u.fetcher)({url:"/api/multipass/account/users/email_validation",baseUrl:o,method:"POST",body:{activation_code:e,verify_code:d},action:"account",needRecaptcha:!0,locale:a}),t)};
2
2
  //# sourceMappingURL=useEmailValidation.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/registration/hooks/useEmailValidation.ts"],
4
- "sourcesContent": ["import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { useHeadlessContext } from '../../context'\nimport { fetcher } from '../../utils'\n\nexport const useEmailValidation = (\n config?: SWRMutationConfiguration<\n any,\n { type: 'responseError'; data: any; response: any },\n string,\n { token: string; code: string }\n >\n) => {\n const { locale } = useHeadlessContext()\n return useSWRMutation(\n 'emailValidation',\n (_, { arg: { token, code } }: { arg: { token: string; code: string } }) => {\n return fetcher({\n url: `/api/multipass/account/users/email_validation`,\n method: 'POST',\n body: { activation_code: token, verify_code: code },\n action: 'account',\n needRecaptcha: true,\n locale,\n })\n },\n config\n )\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyD,2BACzDC,EAAmC,yBACnCC,EAAwB,uBAEjB,MAAMJ,EACXK,GAMG,CACH,KAAM,CAAE,OAAAC,CAAO,KAAI,sBAAmB,EACtC,SAAO,EAAAC,SACL,kBACA,CAACC,EAAG,CAAE,IAAK,CAAE,MAAAC,EAAO,KAAAC,CAAK,CAAE,OAClB,WAAQ,CACb,IAAK,gDACL,OAAQ,OACR,KAAM,CAAE,gBAAiBD,EAAO,YAAaC,CAAK,EAClD,OAAQ,UACR,cAAe,GACf,OAAAJ,CACF,CAAC,EAEHD,CACF,CACF",
6
- "names": ["useEmailValidation_exports", "__export", "useEmailValidation", "__toCommonJS", "import_mutation", "import_context", "import_utils", "config", "locale", "useSWRMutation", "_", "token", "code"]
4
+ "sourcesContent": ["import useSWRMutation, { SWRMutationConfiguration } from 'swr/mutation'\nimport { useHeadlessContext } from '../../context'\nimport { fetcher } from '../../utils'\n\nexport const useEmailValidation = (\n config?: SWRMutationConfiguration<\n any,\n { type: 'responseError'; data: any; response: any },\n string,\n { token: string; code: string }\n >,\n apiBaseUrl?: string\n) => {\n const { locale } = useHeadlessContext()\n return useSWRMutation(\n 'emailValidation',\n (_, { arg: { token, code } }: { arg: { token: string; code: string } }) => {\n return fetcher({\n url: `/api/multipass/account/users/email_validation`,\n baseUrl: apiBaseUrl,\n method: 'POST',\n body: { activation_code: token, verify_code: code },\n action: 'account',\n needRecaptcha: true,\n locale,\n })\n },\n config\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyD,2BACzDC,EAAmC,yBACnCC,EAAwB,uBAEjB,MAAMJ,EAAqB,CAChCK,EAMAC,IACG,CACH,KAAM,CAAE,OAAAC,CAAO,KAAI,sBAAmB,EACtC,SAAO,EAAAC,SACL,kBACA,CAACC,EAAG,CAAE,IAAK,CAAE,MAAAC,EAAO,KAAAC,CAAK,CAAE,OAClB,WAAQ,CACb,IAAK,gDACL,QAASL,EACT,OAAQ,OACR,KAAM,CAAE,gBAAiBI,EAAO,YAAaC,CAAK,EAClD,OAAQ,UACR,cAAe,GACf,OAAAJ,CACF,CAAC,EAEHF,CACF,CACF",
6
+ "names": ["useEmailValidation_exports", "__export", "useEmailValidation", "__toCommonJS", "import_mutation", "import_context", "import_utils", "config", "apiBaseUrl", "locale", "useSWRMutation", "_", "token", "code"]
7
7
  }
@@ -3,6 +3,6 @@ export type RequestData = {
3
3
  email: string;
4
4
  data: any;
5
5
  };
6
- export declare function useSendEmailValidation(): SWRMutationResponse<any, any, string, {
6
+ export declare function useSendEmailValidation(apiBaseUrl?: string): SWRMutationResponse<any, any, string, {
7
7
  email: string;
8
8
  } & any>;
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var o=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var R=(a,e)=>{for(var t in e)o(a,t,{get:e[t],enumerable:!0})},s=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of c(e))!y.call(a,n)&&n!==t&&o(a,n,{get:()=>e[n],enumerable:!(i=l(e,n))||i.enumerable});return a};var f=(a,e,t)=>(t=a!=null?m(d(a)):{},s(e||!a||!a.__esModule?o(t,"default",{value:a,enumerable:!0}):t,a)),g=a=>s(o({},"__esModule",{value:!0}),a);var h={};R(h,{useSendEmailValidation:()=>S});module.exports=g(h);var r=f(require("swr/mutation")),p=require("../../context"),u=require("../../utils");function S(){const{appName:a,locale:e}=(0,p.useHeadlessContext)();return(0,r.default)("send-email-validation",(t,{arg:{email:i,...n}})=>(0,u.fetcher)({locale:e,url:"/api/multipass/account/users/send_validation_email",method:"POST",body:{email:i,app:a,...n},needRecaptcha:!0,action:"verifyAccount"}))}
1
+ "use strict";var m=Object.create;var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var f=(a,e)=>{for(var t in e)i(a,t,{get:e[t],enumerable:!0})},s=(a,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of d(e))!R.call(a,n)&&n!==t&&i(a,n,{get:()=>e[n],enumerable:!(o=c(e,n))||o.enumerable});return a};var g=(a,e,t)=>(t=a!=null?m(y(a)):{},s(e||!a||!a.__esModule?i(t,"default",{value:a,enumerable:!0}):t,a)),S=a=>s(i({},"__esModule",{value:!0}),a);var v={};f(v,{useSendEmailValidation:()=>h});module.exports=S(v);var r=g(require("swr/mutation")),p=require("../../context"),u=require("../../utils");function h(a){const{appName:e,locale:t}=(0,p.useHeadlessContext)();return(0,r.default)("send-email-validation",(o,{arg:{email:n,...l}})=>(0,u.fetcher)({locale:t,url:"/api/multipass/account/users/send_validation_email",baseUrl:a,method:"POST",body:{email:n,app:e,...l},needRecaptcha:!0,action:"verifyAccount"}))}
2
2
  //# sourceMappingURL=useSendEmailValidation.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/registration/hooks/useSendEmailValidation.ts"],
4
- "sourcesContent": ["import useSWRMutation, { type SWRMutationResponse } from 'swr/mutation'\nimport { useHeadlessContext } from '../../context'\nimport { fetcher } from '../../utils'\n\n// data \u53C2\u6570\u4F1A\u88AB stringify \u540E\u653E\u5165\u5230\u90AE\u4EF6\u94FE\u63A5\u53C2\u6570\u4E2D\nexport type RequestData = { email: string; data: any }\n\nexport function useSendEmailValidation(): SWRMutationResponse<any, any, string, { email: string } & any> {\n const { appName, locale } = useHeadlessContext()\n\n return useSWRMutation('send-email-validation', (_, { arg: { email, ...rest } }: { arg: RequestData }) =>\n fetcher({\n locale,\n url: '/api/multipass/account/users/send_validation_email',\n method: 'POST',\n body: { email: email, app: appName, ...rest },\n needRecaptcha: true,\n action: 'verifyAccount',\n })\n )\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyD,2BACzDC,EAAmC,yBACnCC,EAAwB,uBAKjB,SAASJ,GAAyF,CACvG,KAAM,CAAE,QAAAK,EAAS,OAAAC,CAAO,KAAI,sBAAmB,EAE/C,SAAO,EAAAC,SAAe,wBAAyB,CAACC,EAAG,CAAE,IAAK,CAAE,MAAAC,EAAO,GAAGC,CAAK,CAAE,OAC3E,WAAQ,CACN,OAAAJ,EACA,IAAK,qDACL,OAAQ,OACR,KAAM,CAAE,MAAOG,EAAO,IAAKJ,EAAS,GAAGK,CAAK,EAC5C,cAAe,GACf,OAAQ,eACV,CAAC,CACH,CACF",
6
- "names": ["useSendEmailValidation_exports", "__export", "useSendEmailValidation", "__toCommonJS", "import_mutation", "import_context", "import_utils", "appName", "locale", "useSWRMutation", "_", "email", "rest"]
4
+ "sourcesContent": ["import useSWRMutation, { type SWRMutationResponse } from 'swr/mutation'\nimport { useHeadlessContext } from '../../context'\nimport { fetcher } from '../../utils'\n\n// data \u53C2\u6570\u4F1A\u88AB stringify \u540E\u653E\u5165\u5230\u90AE\u4EF6\u94FE\u63A5\u53C2\u6570\u4E2D\nexport type RequestData = { email: string; data: any }\n\nexport function useSendEmailValidation(apiBaseUrl?: string): SWRMutationResponse<any, any, string, { email: string } & any> {\n const { appName, locale } = useHeadlessContext()\n\n return useSWRMutation('send-email-validation', (_, { arg: { email, ...rest } }: { arg: RequestData }) =>\n fetcher({\n locale,\n url: '/api/multipass/account/users/send_validation_email',\n baseUrl: apiBaseUrl,\n method: 'POST',\n body: { email: email, app: appName, ...rest },\n needRecaptcha: true,\n action: 'verifyAccount',\n })\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyD,2BACzDC,EAAmC,yBACnCC,EAAwB,uBAKjB,SAASJ,EAAuBK,EAAqF,CAC1H,KAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,KAAI,sBAAmB,EAE/C,SAAO,EAAAC,SAAe,wBAAyB,CAACC,EAAG,CAAE,IAAK,CAAE,MAAAC,EAAO,GAAGC,CAAK,CAAE,OAC3E,WAAQ,CACN,OAAAJ,EACA,IAAK,qDACL,QAASF,EACT,OAAQ,OACR,KAAM,CAAE,MAAOK,EAAO,IAAKJ,EAAS,GAAGK,CAAK,EAC5C,cAAe,GACf,OAAQ,eACV,CAAC,CACH,CACF",
6
+ "names": ["useSendEmailValidation_exports", "__export", "useSendEmailValidation", "__toCommonJS", "import_mutation", "import_context", "import_utils", "apiBaseUrl", "appName", "locale", "useSWRMutation", "_", "email", "rest"]
7
7
  }
@@ -1 +1 @@
1
- export declare const fetcher: ({ locale, url, method, headers, repeatKey, body, type, timeout, }: any) => Promise<any>;
1
+ export declare const fetcher: ({ locale, url, baseUrl, method, headers, repeatKey, body, type, timeout, }: any) => Promise<any>;
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var r in e)c(n,r,{get:e[r],enumerable:!0})},T=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of h(e))!u.call(n,a)&&a!==r&&c(n,a,{get:()=>e[a],enumerable:!(t=p(e,a))||t.enumerable});return n};var b=n=>T(c({},"__esModule",{value:!0}),n);var F={};y(F,{fetcher:()=>w});module.exports=b(F);var d=require("./fetchResponse");const w=async({locale:n="en",url:e,method:r="POST",headers:t={},repeatKey:a,body:l,type:f,timeout:o=9e4})=>{let s="";f==="uploadFile"?s=l:s=l?JSON.stringify(l):"";const i=new AbortController;o&&setTimeout(()=>i.abort(),o);const g=await fetch(e,{method:r,mode:"cors",credentials:"include",headers:{"current-language":n,...t},...o&&{signal:i.signal},...r!=="GET"&&{body:s}});return(0,d.handleFetchResponse)(g)};
1
+ "use strict";var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var a in e)c(n,a,{get:e[a],enumerable:!0})},T=(n,e,a,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of h(e))!u.call(n,r)&&r!==a&&c(n,r,{get:()=>e[r],enumerable:!(t=p(e,r))||t.enumerable});return n};var b=n=>T(c({},"__esModule",{value:!0}),n);var F={};y(F,{fetcher:()=>w});module.exports=b(F);var d=require("./fetchResponse");const w=async({locale:n="en",url:e,baseUrl:a,method:t="POST",headers:r={},repeatKey:O,body:l,type:f,timeout:o=9e4})=>{let s="";f==="uploadFile"?s=l:s=l?JSON.stringify(l):"";const i=new AbortController;o&&setTimeout(()=>i.abort(),o);const g=await fetch(`${a||""}${e}`,{method:t,mode:"cors",credentials:"include",headers:{"current-language":n,...r},...o&&{signal:i.signal},...t!=="GET"&&{body:s}});return(0,d.handleFetchResponse)(g)};
2
2
  //# sourceMappingURL=fetcher.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/utils/fetcher/fetcher.ts"],
4
- "sourcesContent": ["import { handleFetchResponse } from './fetchResponse'\n\nexport const fetcher = async ({\n locale = 'en',\n url,\n method = 'POST',\n headers = {},\n repeatKey,\n body,\n type,\n timeout = 90000,\n}: any) => {\n // \u6DFB\u52A0\u8C37\u6B4C\u9A8C\u8BC1\n let bodyData = ''\n if (type === 'uploadFile') {\n bodyData = body\n } else {\n bodyData = body ? JSON.stringify(body) : ''\n }\n\n const controller = new AbortController()\n if (timeout) {\n // \u8D85\u65F6\u62A5\u9519\n setTimeout(() => controller.abort(), timeout)\n }\n\n const data = await fetch(url, {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'current-language': locale,\n ...headers,\n },\n ...(timeout && { signal: controller.signal }),\n ...(method !== 'GET' && { body: bodyData }),\n })\n return handleFetchResponse(data)\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,2BAE7B,MAAMF,EAAU,MAAO,CAC5B,OAAAG,EAAS,KACT,IAAAC,EACA,OAAAC,EAAS,OACT,QAAAC,EAAU,CAAC,EACX,UAAAC,EACA,KAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,GACZ,IAAW,CAET,IAAIC,EAAW,GACXF,IAAS,aACXE,EAAWH,EAEXG,EAAWH,EAAO,KAAK,UAAUA,CAAI,EAAI,GAG3C,MAAMI,EAAa,IAAI,gBACnBF,GAEF,WAAW,IAAME,EAAW,MAAM,EAAGF,CAAO,EAG9C,MAAMG,EAAO,MAAM,MAAMT,EAAK,CAC5B,OAAAC,EACA,KAAM,OACN,YAAa,UACb,QAAS,CACP,mBAAoBF,EACpB,GAAGG,CACL,EACA,GAAII,GAAW,CAAE,OAAQE,EAAW,MAAO,EAC3C,GAAIP,IAAW,OAAS,CAAE,KAAMM,CAAS,CAC3C,CAAC,EACD,SAAO,uBAAoBE,CAAI,CACjC",
6
- "names": ["fetcher_exports", "__export", "fetcher", "__toCommonJS", "import_fetchResponse", "locale", "url", "method", "headers", "repeatKey", "body", "type", "timeout", "bodyData", "controller", "data"]
4
+ "sourcesContent": ["import { handleFetchResponse } from './fetchResponse'\n\nexport const fetcher = async ({\n locale = 'en',\n url,\n baseUrl,\n method = 'POST',\n headers = {},\n repeatKey,\n body,\n type,\n timeout = 90000,\n}: any) => {\n // \u6DFB\u52A0\u8C37\u6B4C\u9A8C\u8BC1\n let bodyData = ''\n if (type === 'uploadFile') {\n bodyData = body\n } else {\n bodyData = body ? JSON.stringify(body) : ''\n }\n\n const controller = new AbortController()\n if (timeout) {\n // \u8D85\u65F6\u62A5\u9519\n setTimeout(() => controller.abort(), timeout)\n }\n\n const data = await fetch(`${baseUrl || ''}${url}`, {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'current-language': locale,\n ...headers,\n },\n ...(timeout && { signal: controller.signal }),\n ...(method !== 'GET' && { body: bodyData }),\n })\n return handleFetchResponse(data)\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,2BAE7B,MAAMF,EAAU,MAAO,CAC5B,OAAAG,EAAS,KACT,IAAAC,EACA,QAAAC,EACA,OAAAC,EAAS,OACT,QAAAC,EAAU,CAAC,EACX,UAAAC,EACA,KAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,GACZ,IAAW,CAET,IAAIC,EAAW,GACXF,IAAS,aACXE,EAAWH,EAEXG,EAAWH,EAAO,KAAK,UAAUA,CAAI,EAAI,GAG3C,MAAMI,EAAa,IAAI,gBACnBF,GAEF,WAAW,IAAME,EAAW,MAAM,EAAGF,CAAO,EAG9C,MAAMG,EAAO,MAAM,MAAM,GAAGT,GAAW,EAAE,GAAGD,CAAG,GAAI,CACjD,OAAAE,EACA,KAAM,OACN,YAAa,UACb,QAAS,CACP,mBAAoBH,EACpB,GAAGI,CACL,EACA,GAAII,GAAW,CAAE,OAAQE,EAAW,MAAO,EAC3C,GAAIP,IAAW,OAAS,CAAE,KAAMM,CAAS,CAC3C,CAAC,EACD,SAAO,uBAAoBE,CAAI,CACjC",
6
+ "names": ["fetcher_exports", "__export", "fetcher", "__toCommonJS", "import_fetchResponse", "locale", "url", "baseUrl", "method", "headers", "repeatKey", "body", "type", "timeout", "bodyData", "controller", "data"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var U=Object.create;var C=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var Y=(t,r)=>{for(var d in r)C(t,d,{get:r[d],enumerable:!0})},M=(t,r,d,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of E(r))!K.call(t,p)&&p!==d&&C(t,p,{get:()=>r[p],enumerable:!(i=W(r,p))||i.enumerable});return t};var h=(t,r,d)=>(d=t!=null?U(H(t)):{},M(r||!t||!t.__esModule?C(d,"default",{value:t,enumerable:!0}):d,t)),z=t=>M(C({},"__esModule",{value:!0}),t);var V={};Y(V,{CreditsTemplate:()=>Q});module.exports=z(V);var e=require("react/jsx-runtime"),c=require("../lib"),l=require("react"),T=require("../components/registration/context/provider"),f=require("../components/credits/context/provider"),w=require("../components/credits/creditsBanner"),B=require("../components/credits/creditsInfoCard"),b=require("../components/credits/creditsBenefits"),I=require("../components/credits/creditsWaysToGetCredits"),G=require("../components/credits/creditsAnkersolixTask"),R=require("../components/credits/creditsRedeemList"),L=require("../components/credits/creditsGoGift"),N=require("../components/credits/creditsCash"),A=require("../components/credits/creditsMemberPrice"),S=require("../components/credits/creditsFaq"),D=require("../components/credits/creditsNavigation"),F=h(require("../components/credits/modal/ActivitiesModal")),q=h(require("../components/credits/modal/RewardsModal")),s=require("./Credits.types");const J=({headlessConfig:t,pageConfig:r,userContext:d})=>{const{openMyRewardsModal:i,setOpenMyRewardsModal:p,openActivitiesModal:m,setOpenActivitiesModal:y,pageCommon:n}=(0,f.useCreditsContext)(),g=(0,l.useRef)(!1);return(0,l.useEffect)(()=>{if(g.current||typeof window>"u")return;const a=new URLSearchParams(window.location.search).get("section");if(!a)return;const x=56,u=(P=0)=>{const v=document.getElementById(a);if(v){g.current=!0;const O=v.getBoundingClientRect().top+window.pageYOffset-x;window.scrollTo({top:O,behavior:"smooth"})}else P<10&&setTimeout(()=>u(P+1),300)};u()},[]),(0,e.jsxs)(e.Fragment,{children:[r.components[s.ComponentKey.Navigation]&&(0,e.jsx)(D.CreditsNavigation,{copy:r.components[s.ComponentKey.Navigation]}),(0,e.jsx)("div",{className:(0,c.classNames)("bg-[#f5f5f7] leading-[1.2]"),children:r.order.map(o=>{if(o===s.ComponentKey.Navigation)return null;const a=r.components?.[o];return a?(0,e.jsxs)(e.Fragment,{children:[o===s.ComponentKey.Banner&&(0,e.jsx)(w.CreditsBanner,{copy:a,id:o}),o===s.ComponentKey.InfoCard&&d?.profile&&(0,e.jsx)(B.CreditsInfoCard,{copy:a,id:o}),o===s.ComponentKey.Benefits&&(0,e.jsx)(b.CreditsBenefits,{copy:a,id:o}),o===s.ComponentKey.WaysToGetCredits&&(0,e.jsx)(I.CreditsWaysToGetCredits,{copy:a,id:o,classNames:t.brand==="anker"?{subtitle:"text-white",equalCreditsText:"bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent"}:{subtitle:"text-[#D1D1D1]",equalCreditsText:"text-[#F6EAD0]"}}),o===s.ComponentKey.AnkersolixTask&&(0,e.jsx)(G.CreditsAnkersolixTask,{copy:a,id:o}),o===s.ComponentKey.RedeemList&&(0,e.jsx)(R.CreditsRedeemList,{copy:a,id:o}),o===s.ComponentKey.GoGift&&(0,e.jsx)(L.CreditsGoGift,{copy:a,id:o}),o===s.ComponentKey.SpendCreditsLikeCash&&(0,e.jsx)(N.CreditsCash,{copy:a,id:o}),o===s.ComponentKey.MemberPrice&&(0,e.jsx)(A.CreditsMemberPrice,{copy:a,id:o}),o===s.ComponentKey.Faqs&&(0,e.jsx)(S.CreditsFaq,{copy:a,id:o}),o!==s.ComponentKey.Banner&&(0,e.jsx)("div",{className:"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16"})]}):null})}),n?.activitiesModal&&(0,e.jsx)(F.default,{isOpen:m,data:n.activitiesModal,onClose:()=>y(!1)}),n?.rewardsModal&&(0,e.jsx)(q.default,{isOpen:i,data:n.rewardsModal,onClose:()=>p(!1)})]})},Q=({headlessConfig:t,siteConfig:r,creditsConfig:d,userContext:i,pageConfig:p,registrationContext:m,gtm:y,cartConfig:n})=>(0,e.jsx)(c.HeadlessProvider,{headlessConfig:t,children:(0,e.jsx)(T.RegistrationProvider,{copy:r.registrationsSettings,email:i?.profile?.email,children:(0,e.jsx)(f.CreditsProvider,{profile:i?.profile,removeProfile:i?.removeProfile,isLoadingProfile:i?.isLoadingProfile,openSignInPopup:m.openSignInPopup,openSignUpPopup:m.openSignUpPopup,creditInfo:i?.creditInfo,taskIdToTypeMapping:r.taskIdToTypeMapping,taskNameMapping:r.taskNameMapping,customer:i?.customer,fetchCreditInfo:i?.fetchCreditInfo,customerLoading:i?.customerLoading,gtm:y,pageCommon:p.common,memberPriceDiscount:r.memberPriceDiscount,alpcBrand:d?.alpcBrand,alpcCountry:d?.alpcCountry,cartConfig:n,apiBaseUrl:i?.apiBaseUrl,children:(0,e.jsx)(J,{headlessConfig:t,pageConfig:p,userContext:i})})})});
1
+ "use strict";var x=Object.create;var C=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var Y=(i,r)=>{for(var d in r)C(i,d,{get:r[d],enumerable:!0})},M=(i,r,d,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of E(r))!K.call(i,p)&&p!==d&&C(i,p,{get:()=>r[p],enumerable:!(t=W(r,p))||t.enumerable});return i};var h=(i,r,d)=>(d=i!=null?x(H(i)):{},M(r||!i||!i.__esModule?C(d,"default",{value:i,enumerable:!0}):d,i)),z=i=>M(C({},"__esModule",{value:!0}),i);var V={};Y(V,{CreditsTemplate:()=>Q});module.exports=z(V);var e=require("react/jsx-runtime"),l=require("../lib"),c=require("react"),T=require("../components/registration/context/provider"),f=require("../components/credits/context/provider"),B=require("../components/credits/creditsBanner"),w=require("../components/credits/creditsInfoCard"),b=require("../components/credits/creditsBenefits"),I=require("../components/credits/creditsWaysToGetCredits"),G=require("../components/credits/creditsAnkersolixTask"),R=require("../components/credits/creditsRedeemList"),L=require("../components/credits/creditsGoGift"),N=require("../components/credits/creditsCash"),A=require("../components/credits/creditsMemberPrice"),S=require("../components/credits/creditsFaq"),D=require("../components/credits/creditsNavigation"),F=h(require("../components/credits/modal/ActivitiesModal")),U=h(require("../components/credits/modal/RewardsModal")),s=require("./Credits.types");const J=({headlessConfig:i,pageConfig:r,userContext:d})=>{const{openMyRewardsModal:t,setOpenMyRewardsModal:p,openActivitiesModal:m,setOpenActivitiesModal:y,pageCommon:n}=(0,f.useCreditsContext)(),g=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(g.current||typeof window>"u")return;const a=new URLSearchParams(window.location.search).get("section");if(!a)return;const q=56,u=(P=0)=>{const v=document.getElementById(a);if(v){g.current=!0;const O=v.getBoundingClientRect().top+window.pageYOffset-q;window.scrollTo({top:O,behavior:"smooth"})}else P<10&&setTimeout(()=>u(P+1),300)};u()},[]),(0,e.jsxs)(e.Fragment,{children:[r.components[s.ComponentKey.Navigation]&&(0,e.jsx)(D.CreditsNavigation,{copy:r.components[s.ComponentKey.Navigation]}),(0,e.jsx)("div",{className:(0,l.classNames)("bg-[#f5f5f7] leading-[1.2]"),children:r.order.map(o=>{if(o===s.ComponentKey.Navigation)return null;const a=r.components?.[o];return a?(0,e.jsxs)(e.Fragment,{children:[o===s.ComponentKey.Banner&&(0,e.jsx)(B.CreditsBanner,{copy:a,id:o}),o===s.ComponentKey.InfoCard&&d?.profile&&(0,e.jsx)(w.CreditsInfoCard,{copy:a,id:o}),o===s.ComponentKey.Benefits&&(0,e.jsx)(b.CreditsBenefits,{copy:a,id:o}),o===s.ComponentKey.WaysToGetCredits&&(0,e.jsx)(I.CreditsWaysToGetCredits,{copy:a,id:o,classNames:i.brand==="anker"?{subtitle:"text-white",equalCreditsText:"bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent"}:{subtitle:"text-[#D1D1D1]",equalCreditsText:"text-[#F6EAD0]"}}),o===s.ComponentKey.AnkersolixTask&&(0,e.jsx)(G.CreditsAnkersolixTask,{copy:a,id:o}),o===s.ComponentKey.RedeemList&&(0,e.jsx)(R.CreditsRedeemList,{copy:a,id:o}),o===s.ComponentKey.GoGift&&(0,e.jsx)(L.CreditsGoGift,{copy:a,id:o}),o===s.ComponentKey.SpendCreditsLikeCash&&(0,e.jsx)(N.CreditsCash,{copy:a,id:o}),o===s.ComponentKey.MemberPrice&&(0,e.jsx)(A.CreditsMemberPrice,{copy:a,id:o}),o===s.ComponentKey.Faqs&&(0,e.jsx)(S.CreditsFaq,{copy:a,id:o}),o!==s.ComponentKey.Banner&&(0,e.jsx)("div",{className:"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16"})]}):null})}),n?.activitiesModal&&(0,e.jsx)(F.default,{isOpen:m,data:n.activitiesModal,onClose:()=>y(!1)}),n?.rewardsModal&&(0,e.jsx)(U.default,{isOpen:t,data:n.rewardsModal,onClose:()=>p(!1)})]})},Q=({headlessConfig:i,siteConfig:r,creditsConfig:d,userContext:t,pageConfig:p,registrationContext:m,gtm:y,cartConfig:n})=>(0,e.jsx)(l.HeadlessProvider,{headlessConfig:i,children:(0,e.jsx)(T.RegistrationProvider,{copy:r.registrationsSettings,email:t?.profile?.email,apiBaseUrl:t?.apiBaseUrl,children:(0,e.jsx)(f.CreditsProvider,{profile:t?.profile,removeProfile:t?.removeProfile,isLoadingProfile:t?.isLoadingProfile,openSignInPopup:m.openSignInPopup,openSignUpPopup:m.openSignUpPopup,creditInfo:t?.creditInfo,taskIdToTypeMapping:r.taskIdToTypeMapping,taskNameMapping:r.taskNameMapping,customer:t?.customer,fetchCreditInfo:t?.fetchCreditInfo,customerLoading:t?.customerLoading,gtm:y,pageCommon:p.common,memberPriceDiscount:r.memberPriceDiscount,alpcBrand:d?.alpcBrand,alpcCountry:d?.alpcCountry,cartConfig:n,apiBaseUrl:t?.apiBaseUrl,children:(0,e.jsx)(J,{headlessConfig:i,pageConfig:p,userContext:t})})})});
2
2
  //# sourceMappingURL=Credits.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/templates/Credits.tsx"],
4
- "sourcesContent": ["import { classNames, HeadlessProvider } from '../lib'\nimport { useEffect, useRef } from 'react'\nimport { RegistrationProvider } from '../components/registration/context/provider'\nimport { CreditsProvider, useCreditsContext } from '../components/credits/context/provider'\nimport { CreditsBanner } from '../components/credits/creditsBanner'\nimport { CreditsInfoCard } from '../components/credits/creditsInfoCard'\nimport { CreditsBenefits } from '../components/credits/creditsBenefits'\nimport { CreditsWaysToGetCredits } from '../components/credits/creditsWaysToGetCredits'\nimport { CreditsAnkersolixTask } from '../components/credits/creditsAnkersolixTask'\nimport { CreditsRedeemList } from '../components/credits/creditsRedeemList'\nimport { CreditsGoGift } from '../components/credits/creditsGoGift'\nimport { CreditsCash } from '../components/credits/creditsCash'\nimport { CreditsMemberPrice } from '../components/credits/creditsMemberPrice'\nimport { CreditsFaq } from '../components/credits/creditsFaq'\nimport { CreditsNavigation } from '../components/credits/creditsNavigation'\nimport ActivitiesModal from '../components/credits/modal/ActivitiesModal'\nimport RewardsModal from '../components/credits/modal/RewardsModal'\nimport { ComponentKey } from './Credits.types'\nimport type {\n CreditsTemplateProps,\n CreditsContentProps,\n CreditsBannerCopy,\n CreditsInfoCardCopy,\n CreditsBenefitsCopy,\n CreditsWaysToGetCreditsCopy,\n CreditsAnkersolixTaskCopy,\n CreditsRedeemListCopy,\n CreditsGoGiftCopy,\n CreditsCashCopy,\n CreditsMemberPriceCopy,\n CreditsFaqCopy,\n} from './Credits.types'\n\nconst CreditsContent = ({ headlessConfig, pageConfig, userContext }: CreditsContentProps) => {\n const { openMyRewardsModal, setOpenMyRewardsModal, openActivitiesModal, setOpenActivitiesModal, pageCommon } = useCreditsContext()\n const hasScrolled = useRef(false)\n\n useEffect(() => {\n if (hasScrolled.current || typeof window === 'undefined') return\n\n const params = new URLSearchParams(window.location.search)\n const section = params.get('section')\n if (!section) return\n\n const navHeight = 56\n\n const tryScroll = (attempts = 0) => {\n const el = document.getElementById(section)\n if (el) {\n hasScrolled.current = true\n const top = el.getBoundingClientRect().top + window.pageYOffset - navHeight\n window.scrollTo({ top, behavior: 'smooth' })\n } else if (attempts < 10) {\n setTimeout(() => tryScroll(attempts + 1), 300)\n }\n }\n\n tryScroll()\n }, [])\n\n return (\n <>\n {/* \u5BFC\u822A\u7EC4\u4EF6 - \u56FA\u5B9A\u4F4D\u7F6E\uFF0C\u4E0D\u53C2\u4E0E order \u6392\u5E8F */}\n {pageConfig.components[ComponentKey.Navigation] && (\n <CreditsNavigation copy={pageConfig.components[ComponentKey.Navigation]} />\n )}\n <div className={classNames('bg-[#f5f5f7] leading-[1.2]')}>\n {pageConfig.order.map(key => {\n // \u8DF3\u8FC7\u5BFC\u822A\u7EC4\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u5DF2\u7ECF\u56FA\u5B9A\u6E32\u67D3\u5728\u4E0A\u65B9\n if (key === ComponentKey.Navigation) return null\n const componentCopy = pageConfig.components?.[key]\n if (!componentCopy) return null\n return (\n <>\n {key === ComponentKey.Banner && <CreditsBanner copy={componentCopy as CreditsBannerCopy} id={key} />}\n {key === ComponentKey.InfoCard && userContext?.profile && (\n <CreditsInfoCard copy={componentCopy as CreditsInfoCardCopy} id={key} />\n )}\n {key === ComponentKey.Benefits && (\n <CreditsBenefits copy={componentCopy as CreditsBenefitsCopy} id={key} />\n )}\n {key === ComponentKey.WaysToGetCredits && (\n <CreditsWaysToGetCredits\n copy={componentCopy as CreditsWaysToGetCreditsCopy}\n id={key}\n classNames={\n headlessConfig.brand === 'anker'\n ? {\n subtitle: 'text-white',\n equalCreditsText:\n 'bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent',\n }\n : {\n subtitle: 'text-[#D1D1D1]',\n equalCreditsText: 'text-[#F6EAD0]',\n }\n }\n />\n )}\n {key === ComponentKey.AnkersolixTask && (\n <CreditsAnkersolixTask copy={componentCopy as CreditsAnkersolixTaskCopy} id={key} />\n )}\n {key === ComponentKey.RedeemList && (\n <CreditsRedeemList copy={componentCopy as CreditsRedeemListCopy} id={key} />\n )}\n {key === ComponentKey.GoGift && <CreditsGoGift copy={componentCopy as CreditsGoGiftCopy} id={key} />}\n {key === ComponentKey.SpendCreditsLikeCash && (\n <CreditsCash copy={componentCopy as CreditsCashCopy} id={key} />\n )}\n {key === ComponentKey.MemberPrice && (\n <CreditsMemberPrice copy={componentCopy as CreditsMemberPriceCopy} id={key} />\n )}\n {key === ComponentKey.Faqs && <CreditsFaq copy={componentCopy as CreditsFaqCopy} id={key} />}\n {key !== ComponentKey.Banner && (\n <div className=\"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16\" />\n )}\n </>\n )\n })}\n </div>\n\n {/* Global Modals */}\n {pageCommon?.activitiesModal && (\n <ActivitiesModal\n isOpen={openActivitiesModal}\n data={pageCommon.activitiesModal}\n onClose={() => setOpenActivitiesModal(false)}\n />\n )}\n {pageCommon?.rewardsModal && (\n <RewardsModal\n isOpen={openMyRewardsModal}\n data={pageCommon.rewardsModal}\n onClose={() => setOpenMyRewardsModal(false)}\n />\n )}\n </>\n )\n}\n\nexport const CreditsTemplate = ({\n headlessConfig,\n siteConfig,\n creditsConfig,\n userContext,\n pageConfig,\n registrationContext,\n gtm,\n cartConfig,\n}: CreditsTemplateProps) => {\n return (\n <HeadlessProvider headlessConfig={headlessConfig}>\n <RegistrationProvider copy={siteConfig.registrationsSettings} email={userContext?.profile?.email}>\n <CreditsProvider\n profile={userContext?.profile}\n removeProfile={userContext?.removeProfile}\n isLoadingProfile={userContext?.isLoadingProfile}\n openSignInPopup={registrationContext.openSignInPopup}\n openSignUpPopup={registrationContext.openSignUpPopup}\n creditInfo={userContext?.creditInfo}\n taskIdToTypeMapping={siteConfig.taskIdToTypeMapping}\n taskNameMapping={siteConfig.taskNameMapping}\n customer={userContext?.customer}\n fetchCreditInfo={userContext?.fetchCreditInfo}\n customerLoading={userContext?.customerLoading}\n gtm={gtm}\n pageCommon={pageConfig.common}\n memberPriceDiscount={siteConfig.memberPriceDiscount}\n alpcBrand={creditsConfig?.alpcBrand}\n alpcCountry={creditsConfig?.alpcCountry}\n cartConfig={cartConfig}\n apiBaseUrl={userContext?.apiBaseUrl}\n >\n <CreditsContent headlessConfig={headlessConfig} pageConfig={pageConfig} userContext={userContext} />\n </CreditsProvider>\n </RegistrationProvider>\n </HeadlessProvider>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { classNames, HeadlessProvider } from '../lib'\nimport { useEffect, useRef } from 'react'\nimport { RegistrationProvider } from '../components/registration/context/provider'\nimport { CreditsProvider, useCreditsContext } from '../components/credits/context/provider'\nimport { CreditsBanner } from '../components/credits/creditsBanner'\nimport { CreditsInfoCard } from '../components/credits/creditsInfoCard'\nimport { CreditsBenefits } from '../components/credits/creditsBenefits'\nimport { CreditsWaysToGetCredits } from '../components/credits/creditsWaysToGetCredits'\nimport { CreditsAnkersolixTask } from '../components/credits/creditsAnkersolixTask'\nimport { CreditsRedeemList } from '../components/credits/creditsRedeemList'\nimport { CreditsGoGift } from '../components/credits/creditsGoGift'\nimport { CreditsCash } from '../components/credits/creditsCash'\nimport { CreditsMemberPrice } from '../components/credits/creditsMemberPrice'\nimport { CreditsFaq } from '../components/credits/creditsFaq'\nimport { CreditsNavigation } from '../components/credits/creditsNavigation'\nimport ActivitiesModal from '../components/credits/modal/ActivitiesModal'\nimport RewardsModal from '../components/credits/modal/RewardsModal'\nimport { ComponentKey } from './Credits.types'\nimport type {\n CreditsTemplateProps,\n CreditsContentProps,\n CreditsBannerCopy,\n CreditsInfoCardCopy,\n CreditsBenefitsCopy,\n CreditsWaysToGetCreditsCopy,\n CreditsAnkersolixTaskCopy,\n CreditsRedeemListCopy,\n CreditsGoGiftCopy,\n CreditsCashCopy,\n CreditsMemberPriceCopy,\n CreditsFaqCopy,\n} from './Credits.types'\n\nconst CreditsContent = ({ headlessConfig, pageConfig, userContext }: CreditsContentProps) => {\n const { openMyRewardsModal, setOpenMyRewardsModal, openActivitiesModal, setOpenActivitiesModal, pageCommon } = useCreditsContext()\n const hasScrolled = useRef(false)\n\n useEffect(() => {\n if (hasScrolled.current || typeof window === 'undefined') return\n\n const params = new URLSearchParams(window.location.search)\n const section = params.get('section')\n if (!section) return\n\n const navHeight = 56\n\n const tryScroll = (attempts = 0) => {\n const el = document.getElementById(section)\n if (el) {\n hasScrolled.current = true\n const top = el.getBoundingClientRect().top + window.pageYOffset - navHeight\n window.scrollTo({ top, behavior: 'smooth' })\n } else if (attempts < 10) {\n setTimeout(() => tryScroll(attempts + 1), 300)\n }\n }\n\n tryScroll()\n }, [])\n\n return (\n <>\n {/* \u5BFC\u822A\u7EC4\u4EF6 - \u56FA\u5B9A\u4F4D\u7F6E\uFF0C\u4E0D\u53C2\u4E0E order \u6392\u5E8F */}\n {pageConfig.components[ComponentKey.Navigation] && (\n <CreditsNavigation copy={pageConfig.components[ComponentKey.Navigation]} />\n )}\n <div className={classNames('bg-[#f5f5f7] leading-[1.2]')}>\n {pageConfig.order.map(key => {\n // \u8DF3\u8FC7\u5BFC\u822A\u7EC4\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u5DF2\u7ECF\u56FA\u5B9A\u6E32\u67D3\u5728\u4E0A\u65B9\n if (key === ComponentKey.Navigation) return null\n const componentCopy = pageConfig.components?.[key]\n if (!componentCopy) return null\n return (\n <>\n {key === ComponentKey.Banner && <CreditsBanner copy={componentCopy as CreditsBannerCopy} id={key} />}\n {key === ComponentKey.InfoCard && userContext?.profile && (\n <CreditsInfoCard copy={componentCopy as CreditsInfoCardCopy} id={key} />\n )}\n {key === ComponentKey.Benefits && (\n <CreditsBenefits copy={componentCopy as CreditsBenefitsCopy} id={key} />\n )}\n {key === ComponentKey.WaysToGetCredits && (\n <CreditsWaysToGetCredits\n copy={componentCopy as CreditsWaysToGetCreditsCopy}\n id={key}\n classNames={\n headlessConfig.brand === 'anker'\n ? {\n subtitle: 'text-white',\n equalCreditsText:\n 'bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent',\n }\n : {\n subtitle: 'text-[#D1D1D1]',\n equalCreditsText: 'text-[#F6EAD0]',\n }\n }\n />\n )}\n {key === ComponentKey.AnkersolixTask && (\n <CreditsAnkersolixTask copy={componentCopy as CreditsAnkersolixTaskCopy} id={key} />\n )}\n {key === ComponentKey.RedeemList && (\n <CreditsRedeemList copy={componentCopy as CreditsRedeemListCopy} id={key} />\n )}\n {key === ComponentKey.GoGift && <CreditsGoGift copy={componentCopy as CreditsGoGiftCopy} id={key} />}\n {key === ComponentKey.SpendCreditsLikeCash && (\n <CreditsCash copy={componentCopy as CreditsCashCopy} id={key} />\n )}\n {key === ComponentKey.MemberPrice && (\n <CreditsMemberPrice copy={componentCopy as CreditsMemberPriceCopy} id={key} />\n )}\n {key === ComponentKey.Faqs && <CreditsFaq copy={componentCopy as CreditsFaqCopy} id={key} />}\n {key !== ComponentKey.Banner && (\n <div className=\"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16\" />\n )}\n </>\n )\n })}\n </div>\n\n {/* Global Modals */}\n {pageCommon?.activitiesModal && (\n <ActivitiesModal\n isOpen={openActivitiesModal}\n data={pageCommon.activitiesModal}\n onClose={() => setOpenActivitiesModal(false)}\n />\n )}\n {pageCommon?.rewardsModal && (\n <RewardsModal\n isOpen={openMyRewardsModal}\n data={pageCommon.rewardsModal}\n onClose={() => setOpenMyRewardsModal(false)}\n />\n )}\n </>\n )\n}\n\nexport const CreditsTemplate = ({\n headlessConfig,\n siteConfig,\n creditsConfig,\n userContext,\n pageConfig,\n registrationContext,\n gtm,\n cartConfig,\n}: CreditsTemplateProps) => {\n return (\n <HeadlessProvider headlessConfig={headlessConfig}>\n <RegistrationProvider\n copy={siteConfig.registrationsSettings}\n email={userContext?.profile?.email}\n apiBaseUrl={userContext?.apiBaseUrl}\n >\n <CreditsProvider\n profile={userContext?.profile}\n removeProfile={userContext?.removeProfile}\n isLoadingProfile={userContext?.isLoadingProfile}\n openSignInPopup={registrationContext.openSignInPopup}\n openSignUpPopup={registrationContext.openSignUpPopup}\n creditInfo={userContext?.creditInfo}\n taskIdToTypeMapping={siteConfig.taskIdToTypeMapping}\n taskNameMapping={siteConfig.taskNameMapping}\n customer={userContext?.customer}\n fetchCreditInfo={userContext?.fetchCreditInfo}\n customerLoading={userContext?.customerLoading}\n gtm={gtm}\n pageCommon={pageConfig.common}\n memberPriceDiscount={siteConfig.memberPriceDiscount}\n alpcBrand={creditsConfig?.alpcBrand}\n alpcCountry={creditsConfig?.alpcCountry}\n cartConfig={cartConfig}\n apiBaseUrl={userContext?.apiBaseUrl}\n >\n <CreditsContent headlessConfig={headlessConfig} pageConfig={pageConfig} userContext={userContext} />\n </CreditsProvider>\n </RegistrationProvider>\n </HeadlessProvider>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GAgEQ,IAAAI,EAAA,6BAhERC,EAA6C,kBAC7CC,EAAkC,iBAClCC,EAAqC,uDACrCA,EAAmD,kDACnDC,EAA8B,+CAC9BC,EAAgC,iDAChCC,EAAgC,iDAChCC,EAAwC,yDACxCC,EAAsC,uDACtCC,EAAkC,mDAClCC,EAA8B,+CAC9BC,EAA4B,6CAC5BC,EAAmC,oDACnCC,EAA2B,4CAC3BC,EAAkC,mDAClCC,EAA4B,0DAC5BC,EAAyB,uDACzBC,EAA6B,2BAgB7B,MAAMC,EAAiB,CAAC,CAAE,eAAAC,EAAgB,WAAAC,EAAY,YAAAC,CAAY,IAA2B,CAC3F,KAAM,CAAE,mBAAAC,EAAoB,sBAAAC,EAAuB,oBAAAC,EAAqB,uBAAAC,EAAwB,WAAAC,CAAW,KAAI,qBAAkB,EAC3HC,KAAc,UAAO,EAAK,EAEhC,sBAAU,IAAM,CACd,GAAIA,EAAY,SAAW,OAAO,OAAW,IAAa,OAG1D,MAAMC,EADS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAClC,IAAI,SAAS,EACpC,GAAI,CAACA,EAAS,OAEd,MAAMC,EAAY,GAEZC,EAAY,CAACC,EAAW,IAAM,CAClC,MAAMC,EAAK,SAAS,eAAeJ,CAAO,EAC1C,GAAII,EAAI,CACNL,EAAY,QAAU,GACtB,MAAMM,EAAMD,EAAG,sBAAsB,EAAE,IAAM,OAAO,YAAcH,EAClE,OAAO,SAAS,CAAE,IAAAI,EAAK,SAAU,QAAS,CAAC,CAC7C,MAAWF,EAAW,IACpB,WAAW,IAAMD,EAAUC,EAAW,CAAC,EAAG,GAAG,CAEjD,EAEAD,EAAU,CACZ,EAAG,CAAC,CAAC,KAGH,oBAEG,UAAAV,EAAW,WAAW,eAAa,UAAU,MAC5C,OAAC,qBAAkB,KAAMA,EAAW,WAAW,eAAa,UAAU,EAAG,KAE3E,OAAC,OAAI,aAAW,cAAW,4BAA4B,EACpD,SAAAA,EAAW,MAAM,IAAIc,GAAO,CAE3B,GAAIA,IAAQ,eAAa,WAAY,OAAO,KAC5C,MAAMC,EAAgBf,EAAW,aAAac,CAAG,EACjD,OAAKC,KAEH,oBACG,UAAAD,IAAQ,eAAa,WAAU,OAAC,iBAAc,KAAMC,EAAoC,GAAID,EAAK,EACjGA,IAAQ,eAAa,UAAYb,GAAa,YAC7C,OAAC,mBAAgB,KAAMc,EAAsC,GAAID,EAAK,EAEvEA,IAAQ,eAAa,aACpB,OAAC,mBAAgB,KAAMC,EAAsC,GAAID,EAAK,EAEvEA,IAAQ,eAAa,qBACpB,OAAC,2BACC,KAAMC,EACN,GAAID,EACJ,WACEf,EAAe,QAAU,QACrB,CACA,SAAU,aACV,iBACE,4EACJ,EACE,CACA,SAAU,iBACV,iBAAkB,gBACpB,EAEN,EAEDe,IAAQ,eAAa,mBACpB,OAAC,yBAAsB,KAAMC,EAA4C,GAAID,EAAK,EAEnFA,IAAQ,eAAa,eACpB,OAAC,qBAAkB,KAAMC,EAAwC,GAAID,EAAK,EAE3EA,IAAQ,eAAa,WAAU,OAAC,iBAAc,KAAMC,EAAoC,GAAID,EAAK,EACjGA,IAAQ,eAAa,yBACpB,OAAC,eAAY,KAAMC,EAAkC,GAAID,EAAK,EAE/DA,IAAQ,eAAa,gBACpB,OAAC,sBAAmB,KAAMC,EAAyC,GAAID,EAAK,EAE7EA,IAAQ,eAAa,SAAQ,OAAC,cAAW,KAAMC,EAAiC,GAAID,EAAK,EACzFA,IAAQ,eAAa,WACpB,OAAC,OAAI,UAAU,qEAAqE,GAExF,EA7CyB,IA+C7B,CAAC,EACH,EAGCR,GAAY,oBACX,OAAC,EAAAU,QAAA,CACC,OAAQZ,EACR,KAAME,EAAW,gBACjB,QAAS,IAAMD,EAAuB,EAAK,EAC7C,EAEDC,GAAY,iBACX,OAAC,EAAAW,QAAA,CACC,OAAQf,EACR,KAAMI,EAAW,aACjB,QAAS,IAAMH,EAAsB,EAAK,EAC5C,GAEJ,CAEJ,EAEazB,EAAkB,CAAC,CAC9B,eAAAqB,EACA,WAAAmB,EACA,cAAAC,EACA,YAAAlB,EACA,WAAAD,EACA,oBAAAoB,EACA,IAAAC,EACA,WAAAC,CACF,OAEI,OAAC,oBAAiB,eAAgBvB,EAChC,mBAAC,wBACC,KAAMmB,EAAW,sBACjB,MAAOjB,GAAa,SAAS,MAC7B,WAAYA,GAAa,WAEzB,mBAAC,mBACC,QAASA,GAAa,QACtB,cAAeA,GAAa,cAC5B,iBAAkBA,GAAa,iBAC/B,gBAAiBmB,EAAoB,gBACrC,gBAAiBA,EAAoB,gBACrC,WAAYnB,GAAa,WACzB,oBAAqBiB,EAAW,oBAChC,gBAAiBA,EAAW,gBAC5B,SAAUjB,GAAa,SACvB,gBAAiBA,GAAa,gBAC9B,gBAAiBA,GAAa,gBAC9B,IAAKoB,EACL,WAAYrB,EAAW,OACvB,oBAAqBkB,EAAW,oBAChC,UAAWC,GAAe,UAC1B,YAAaA,GAAe,YAC5B,WAAYG,EACZ,WAAYrB,GAAa,WAEzB,mBAACH,EAAA,CAAe,eAAgBC,EAAgB,WAAYC,EAAY,YAAaC,EAAa,EACpG,EACF,EACF",
6
6
  "names": ["Credits_exports", "__export", "CreditsTemplate", "__toCommonJS", "import_jsx_runtime", "import_lib", "import_react", "import_provider", "import_creditsBanner", "import_creditsInfoCard", "import_creditsBenefits", "import_creditsWaysToGetCredits", "import_creditsAnkersolixTask", "import_creditsRedeemList", "import_creditsGoGift", "import_creditsCash", "import_creditsMemberPrice", "import_creditsFaq", "import_creditsNavigation", "import_ActivitiesModal", "import_RewardsModal", "import_Credits", "CreditsContent", "headlessConfig", "pageConfig", "userContext", "openMyRewardsModal", "setOpenMyRewardsModal", "openActivitiesModal", "setOpenActivitiesModal", "pageCommon", "hasScrolled", "section", "navHeight", "tryScroll", "attempts", "el", "top", "key", "componentCopy", "ActivitiesModal", "RewardsModal", "siteConfig", "creditsConfig", "registrationContext", "gtm", "cartConfig"]
7
7
  }