@anker-in/campaign-ui 0.2.10-beta.13 → 0.2.10-beta.15

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 (36) hide show
  1. package/dist/cjs/components/chat/action.js +1 -1
  2. package/dist/cjs/components/chat/action.js.map +1 -1
  3. package/dist/cjs/components/chat/button.js +1 -1
  4. package/dist/cjs/components/chat/button.js.map +1 -1
  5. package/dist/cjs/components/chat/index.js +1 -1
  6. package/dist/cjs/components/chat/index.js.map +2 -2
  7. package/dist/cjs/components/chat/messages.js +1 -1
  8. package/dist/cjs/components/chat/messages.js.map +2 -2
  9. package/dist/cjs/components/chat/props.js +1 -1
  10. package/dist/cjs/components/chat/props.js.map +2 -2
  11. package/dist/cjs/components/chat/suggestions.js.map +1 -1
  12. package/dist/cjs/components/index.js +1 -1
  13. package/dist/cjs/components/index.js.map +3 -3
  14. package/dist/cjs/helpers/fetcher.js +1 -1
  15. package/dist/cjs/helpers/fetcher.js.map +2 -2
  16. package/dist/cjs/helpers/index.js +1 -1
  17. package/dist/cjs/helpers/index.js.map +2 -2
  18. package/dist/cjs/helpers/track.d.ts +2 -2
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/stories/chat.stories.js +2 -0
  21. package/dist/cjs/stories/chat.stories.js.map +7 -0
  22. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  23. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  24. package/dist/esm/components/credits/creditsInfoCard/index.js.map +3 -3
  25. package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
  26. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +2 -2
  27. package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
  28. package/dist/esm/components/credits/modal/activitiesModal.js.map +2 -2
  29. package/dist/esm/helpers/track.d.ts +2 -2
  30. package/dist/esm/helpers/track.js +1 -1
  31. package/dist/esm/helpers/track.js.map +3 -3
  32. package/dist/esm/index.js +1 -67715
  33. package/dist/esm/index.js.map +4 -4
  34. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +22 -22
  36. package/src/helpers/track.ts +6 -0
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Button as g,Container as u,Text as r}from"@anker-in/headless-ui";import{useCallback as y,useState as p}from"react";import{useCreditsContext as w}from"../context/provider";import{cn as s}from"../../../helpers";import{numberFormat as c}from"../context/utils";import N from"../modal/activitiesModal";import C from"../modal/MyRewardsModal";function S({data:t}){const[f,m]=p(!1),[v,x]=p(!1),[n,o]=p(!1),b=y(l=>{if(l.type)switch(l.type){case"activities":m(!0);break;case"rewards":x(!0);break}},[]),{creditInfo:a}=w();return i(u,{asChild:!0,id:"infoCard",className:"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]",children:[i("div",{className:s("mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]","l:flex-col","min-l:px-[48px]","min-xl:px-[100px]"),style:{background:"linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)",backdropFilter:"blur(8px)"},children:[i("div",{className:s("grid grid-cols-2 gap-[24px] font-bold md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center"),children:[i("div",{className:"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]",children:[e("div",{className:s("mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]"),children:t.balanceLabel}),i("div",{className:"flex items-baseline",children:[e("div",{className:s("mr-[8px] text-[36px] font-extrabold","min-md:text-[44px]","min-xl:text-[56px]"),children:a?c(a.available_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]}),i("div",{className:"w-fit md:flex-1",children:[i("div",{className:s("mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]"),children:[e(r,{className:"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]",html:t.comingSoonLabel}),t.comingSoonTips&&i("div",{className:"group relative ml-[4px] flex cursor-pointer items-start",children:[e(r,{as:"div",html:t?.infoIcon,className:"size-[18px] cursor-pointer [&_svg]:size-full",onClick:()=>{n?o(!1):(o(!0),setTimeout(()=>{o(!1)},5e3))}}),e("div",{className:s("absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]",n?"block":"hidden"),children:i("div",{className:"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow",children:[e(r,{size:"2",html:t.comingSoonTips,className:"desktop:text-[18px]"}),e("div",{className:"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]"})]})})]})]}),i("div",{className:"flex items-baseline ",children:[e("div",{className:s("mr-[8px] text-[36px] font-extrabold","min-l:text-[44px]","min-xl:text-[56px]"),children:a?c(a.pending_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]})]}),e("div",{className:s("grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2"),children:t.buttons?.map((l,d)=>e(g,{variant:d===0?"secondary":"primary",size:"lg",className:"min-w-[156px] laptop:min-w-[189px]",onClick:()=>{b(l)},children:l.text},d))}),t?.myActivities&&e(N,{isOpen:f,data:t?.myActivities,onClose:()=>{m(!1)}}),t?.myRewards&&e(C,{isOpen:v,data:t?.myRewards,onClose:()=>{x(!1)}})]}),n&&e("div",{role:"button",tabIndex:0,className:"fixed inset-0 z-10",onClick:()=>o(!1),onKeyDown:l=>l.key==="Escape"&&o(!1)})]})}export{S as CreditsInfoCard};
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Button as g,Container as u,Text as r}from"@anker-in/headless-ui";import{useCallback as y,useState as p}from"react";import{useCreditsContext as w}from"../context/provider";import{cn as l}from"../../../helpers";import{numberFormat as c}from"../context/utils";import N from"../modal/activitiesModal";import C from"../modal/MyRewardsModal";import{gaNormalClick as k}from"@utils/track";function T({data:t}){const[f,m]=p(!1),[v,x]=p(!1),[n,o]=p(!1),b=y(s=>{if(k({position:"info_card",label:s.text}),s.type)switch(s.type){case"activities":m(!0);break;case"rewards":x(!0);break}},[]),{creditInfo:a}=w();return i(u,{asChild:!0,id:"infoCard",className:"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]",children:[i("div",{className:l("mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]","l:flex-col","min-l:px-[48px]","min-xl:px-[100px]"),style:{background:"linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)",backdropFilter:"blur(8px)"},children:[i("div",{className:l("grid grid-cols-2 gap-[24px] font-bold md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center"),children:[i("div",{className:"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]",children:[e("div",{className:l("mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]"),children:t.balanceLabel}),i("div",{className:"flex items-baseline",children:[e("div",{className:l("mr-[8px] text-[36px] font-extrabold","min-md:text-[44px]","min-xl:text-[56px]"),children:a?c(a.available_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]}),i("div",{className:"w-fit md:flex-1",children:[i("div",{className:l("mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]"),children:[e(r,{className:"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]",html:t.comingSoonLabel}),t.comingSoonTips&&i("div",{className:"group relative ml-[4px] flex cursor-pointer items-start",children:[e(r,{as:"div",html:t?.infoIcon,className:"size-[18px] cursor-pointer [&_svg]:size-full",onClick:()=>{n?o(!1):(o(!0),setTimeout(()=>{o(!1)},5e3))}}),e("div",{className:l("absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]",n?"block":"hidden"),children:i("div",{className:"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow",children:[e(r,{size:"2",html:t.comingSoonTips,className:"desktop:text-[18px]"}),e("div",{className:"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]"})]})})]})]}),i("div",{className:"flex items-baseline ",children:[e("div",{className:l("mr-[8px] text-[36px] font-extrabold","min-l:text-[44px]","min-xl:text-[56px]"),children:a?c(a.pending_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]})]}),e("div",{className:l("grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2"),children:t.buttons?.map((s,d)=>e(g,{variant:d===0?"secondary":"primary",size:"lg",className:"min-w-[156px] laptop:min-w-[189px]",onClick:()=>{b(s)},children:s.text},d))}),t?.myActivities&&e(N,{isOpen:f,data:t?.myActivities,onClose:()=>{m(!1)}}),t?.myRewards&&e(C,{isOpen:v,data:t?.myRewards,onClose:()=>{x(!1)}})]}),n&&e("div",{role:"button",tabIndex:0,className:"fixed inset-0 z-10",onClick:()=>o(!1),onKeyDown:s=>s.key==="Escape"&&o(!1)})]})}export{T as CreditsInfoCard};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/credits/creditsInfoCard/index.tsx"],
4
- "sourcesContent": ["import { Button, Container, Text } from '@anker-in/headless-ui'\n\nimport { useCallback, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { cn } from '../../../helpers'\nimport { numberFormat } from '../context/utils'\nimport ActivitiesModal from '../modal/activitiesModal'\nimport MyRewardsModal, { type MyRewardsMetafields } from '../modal/MyRewardsModal'\nimport { type MyActivitiesMetafields } from '../modal/activitiesModal'\n\ntype ButtonConfig = {\n text: string\n type: 'activities' | 'rewards'\n}\nexport interface InfoCardProps {\n data: {\n balanceLabel: string\n comingSoonLabel: string\n comingSoonTips: string\n buttons: ButtonConfig[]\n pointUnit: string\n infoIcon: string\n myActivities: MyActivitiesMetafields\n myRewards: MyRewardsMetafields\n }\n}\nexport function CreditsInfoCard({ data }: InfoCardProps) {\n const [openActivities, setOpenActivities] = useState(false)\n const [openRewards, setOpenRewards] = useState(false)\n const [hover, setHover] = useState<boolean>(false)\n\n const handleButtonClick = useCallback((buttonConfig: ButtonConfig) => {\n // gaNormalClick({ position: 'info_card', label: buttonConfig.text })\n\n if (buttonConfig.type) {\n switch (buttonConfig.type) {\n case 'activities':\n setOpenActivities(true)\n break\n case 'rewards':\n setOpenRewards(true)\n break\n }\n }\n }, [])\n\n const { creditInfo } = useCreditsContext()\n\n return (\n <Container asChild id=\"infoCard\" className=\"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]\">\n <div\n className={cn(\n 'mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]',\n 'l:flex-col',\n 'min-l:px-[48px]',\n 'min-xl:px-[100px]'\n )}\n style={{\n background:\n 'linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)',\n backdropFilter: 'blur(8px)',\n }}\n >\n <div\n className={cn(\n 'grid grid-cols-2 gap-[24px] font-bold md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center'\n )}\n >\n <div className=\"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]\">\n <div\n className={cn(\n 'mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]'\n )}\n >\n {data.balanceLabel}\n </div>\n <div className=\"flex items-baseline\">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.available_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n <div className=\"w-fit md:flex-1\">\n <div className={cn('mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]')}>\n <Text className=\"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]\" html={data.comingSoonLabel} />\n {data.comingSoonTips && (\n <div className=\"group relative ml-[4px] flex cursor-pointer items-start\">\n <Text\n as=\"div\"\n html={data?.infoIcon}\n className=\"size-[18px] cursor-pointer [&_svg]:size-full\"\n onClick={() => {\n if (hover) {\n setHover(false)\n } else {\n setHover(true)\n setTimeout(() => {\n setHover(false)\n }, 5000)\n }\n }}\n />\n <div\n className={cn(\n 'absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]',\n hover ? 'block' : 'hidden'\n )}\n >\n <div className=\"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow\">\n <Text size=\"2\" html={data.comingSoonTips} className=\"desktop:text-[18px]\" />\n <div className=\"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]\" />\n </div>\n </div>\n </div>\n )}\n </div>\n <div className=\"flex items-baseline \">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-l:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.pending_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n </div>\n <div\n className={cn(\n 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'\n )}\n >\n {data.buttons?.map((item, index) => (\n <Button\n key={index}\n variant={index === 0 ? 'secondary' : 'primary'}\n size=\"lg\"\n className=\"min-w-[156px] laptop:min-w-[189px]\"\n onClick={() => {\n handleButtonClick(item)\n }}\n >\n {item.text}\n </Button>\n ))}\n </div>\n\n {data?.myActivities && (\n <ActivitiesModal\n isOpen={openActivities}\n data={data?.myActivities}\n onClose={() => {\n setOpenActivities(false)\n }}\n />\n )}\n {data?.myRewards && (\n <MyRewardsModal\n isOpen={openRewards}\n data={data?.myRewards}\n onClose={() => {\n setOpenRewards(false)\n }}\n ></MyRewardsModal>\n )}\n </div>\n {hover && (\n <div\n role=\"button\"\n tabIndex={0}\n className=\"fixed inset-0 z-10\"\n onClick={() => setHover(false)}\n onKeyDown={e => e.key === 'Escape' && setHover(false)}\n />\n )}\n </Container>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "Button", "Container", "Text", "useCallback", "useState", "useCreditsContext", "cn", "numberFormat", "ActivitiesModal", "MyRewardsModal", "CreditsInfoCard", "data", "openActivities", "setOpenActivities", "openRewards", "setOpenRewards", "hover", "setHover", "handleButtonClick", "buttonConfig", "creditInfo", "item", "index", "e"]
4
+ "sourcesContent": ["import { Button, Container, Text } from '@anker-in/headless-ui'\n\nimport { useCallback, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { cn } from '../../../helpers'\nimport { numberFormat } from '../context/utils'\nimport ActivitiesModal from '../modal/activitiesModal'\nimport MyRewardsModal, { type MyRewardsMetafields } from '../modal/MyRewardsModal'\nimport { type MyActivitiesMetafields } from '../modal/activitiesModal'\nimport { gaNormalClick } from '@utils/track'\n\ntype ButtonConfig = {\n text: string\n type: 'activities' | 'rewards'\n}\nexport interface InfoCardProps {\n data: {\n balanceLabel: string\n comingSoonLabel: string\n comingSoonTips: string\n buttons: ButtonConfig[]\n pointUnit: string\n infoIcon: string\n myActivities: MyActivitiesMetafields\n myRewards: MyRewardsMetafields\n }\n}\nexport function CreditsInfoCard({ data }: InfoCardProps) {\n const [openActivities, setOpenActivities] = useState(false)\n const [openRewards, setOpenRewards] = useState(false)\n const [hover, setHover] = useState<boolean>(false)\n\n const handleButtonClick = useCallback((buttonConfig: ButtonConfig) => {\n gaNormalClick({ position: 'info_card', label: buttonConfig.text })\n\n if (buttonConfig.type) {\n switch (buttonConfig.type) {\n case 'activities':\n setOpenActivities(true)\n break\n case 'rewards':\n setOpenRewards(true)\n break\n }\n }\n }, [])\n\n const { creditInfo } = useCreditsContext()\n\n return (\n <Container asChild id=\"infoCard\" className=\"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]\">\n <div\n className={cn(\n 'mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]',\n 'l:flex-col',\n 'min-l:px-[48px]',\n 'min-xl:px-[100px]'\n )}\n style={{\n background:\n 'linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)',\n backdropFilter: 'blur(8px)',\n }}\n >\n <div\n className={cn(\n 'grid grid-cols-2 gap-[24px] font-bold md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center'\n )}\n >\n <div className=\"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]\">\n <div\n className={cn(\n 'mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]'\n )}\n >\n {data.balanceLabel}\n </div>\n <div className=\"flex items-baseline\">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.available_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n <div className=\"w-fit md:flex-1\">\n <div className={cn('mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]')}>\n <Text className=\"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]\" html={data.comingSoonLabel} />\n {data.comingSoonTips && (\n <div className=\"group relative ml-[4px] flex cursor-pointer items-start\">\n <Text\n as=\"div\"\n html={data?.infoIcon}\n className=\"size-[18px] cursor-pointer [&_svg]:size-full\"\n onClick={() => {\n if (hover) {\n setHover(false)\n } else {\n setHover(true)\n setTimeout(() => {\n setHover(false)\n }, 5000)\n }\n }}\n />\n <div\n className={cn(\n 'absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]',\n hover ? 'block' : 'hidden'\n )}\n >\n <div className=\"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow\">\n <Text size=\"2\" html={data.comingSoonTips} className=\"desktop:text-[18px]\" />\n <div className=\"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]\" />\n </div>\n </div>\n </div>\n )}\n </div>\n <div className=\"flex items-baseline \">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-l:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.pending_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n </div>\n <div\n className={cn(\n 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'\n )}\n >\n {data.buttons?.map((item, index) => (\n <Button\n key={index}\n variant={index === 0 ? 'secondary' : 'primary'}\n size=\"lg\"\n className=\"min-w-[156px] laptop:min-w-[189px]\"\n onClick={() => {\n handleButtonClick(item)\n }}\n >\n {item.text}\n </Button>\n ))}\n </div>\n\n {data?.myActivities && (\n <ActivitiesModal\n isOpen={openActivities}\n data={data?.myActivities}\n onClose={() => {\n setOpenActivities(false)\n }}\n />\n )}\n {data?.myRewards && (\n <MyRewardsModal\n isOpen={openRewards}\n data={data?.myRewards}\n onClose={() => {\n setOpenRewards(false)\n }}\n ></MyRewardsModal>\n )}\n </div>\n {hover && (\n <div\n role=\"button\"\n tabIndex={0}\n className=\"fixed inset-0 z-10\"\n onClick={() => setHover(false)}\n onKeyDown={e => e.key === 'Escape' && setHover(false)}\n />\n )}\n </Container>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "Button", "Container", "Text", "useCallback", "useState", "useCreditsContext", "cn", "numberFormat", "ActivitiesModal", "MyRewardsModal", "gaNormalClick", "CreditsInfoCard", "data", "openActivities", "setOpenActivities", "openRewards", "setOpenRewards", "hover", "setHover", "handleButtonClick", "buttonConfig", "creditInfo", "item", "index", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as i,jsxs as r}from"react/jsx-runtime";import{Tabs as j,TabsList as E,TabsTrigger as $,Picture as z}from"@anker-in/headless-ui";import M from"classnames";import H from"copy-to-clipboard";import K from"dayjs";import{useCallback as w,useMemo as p,useState as c}from"react";import{ApprovalStatus as m,AlpcConsumeType as n,RewardType as t}from"../context/const";import{CreditsModalContainer as V}from"./modalContainer";import q from"./tip";import B from"./loadingDots";import S from"../context/hooks/useMyRewards";function G({data:o,...a}){const[l,R]=c(n.Coupon),[d,F]=c(1),[u,h]=c(1),[_,g]=c(-1),A=p(()=>{const e=[];return o.couponTab&&e.push({title:o.couponTab,type:n.Coupon}),o.productTab&&e.push({title:o.productTab,type:n.Product}),e},[o.couponTab,o.productTab]),D=p(()=>({page:a.isOpen?u:0,pageSize:1e3,consumeType:n.Product}),[a.isOpen,u]),O=p(()=>({page:a.isOpen?d:0,pageSize:1e3,consumeType:n.Coupon}),[a.isOpen,d]),{myRewards:v=[],canNext:b,isLoading:x}=S(O),{myRewards:y=[],canNext:C,isLoading:T}=S(D),N=p(()=>l===n.Coupon?v.map(e=>({title:e.goods_title,value:e.consume_credits,type:t.Received,date:new Date(e.create_time*1e3),couponCode:e.coupon_code,orderNumber:""})):l===n.Product?y.map(e=>{let s=t.Pending;return e.fulfillment_status&&e.fulfillment_status!=="null"?e.fulfillment_status==="fulfilled"?s=t.Fulfilled:s=t.Unfulfilled:e.approval_status===m.Success||e.approval_status===m.DoubleConfirm?s=t.ApproveSuccess:e.approval_status===m.Failed&&(s=t.Failed),{title:e.goods_title,value:e.consume_credits,type:s,date:new Date(e.create_time*1e3),orderNumber:e.order_number,couponCode:""}}):[],[l,y,v]),L=p(()=>l===n.Coupon?b:l===n.Product?C:!1,[l,b,C]),k=p(()=>({[t.Received]:o.receivedLabel,[t.Pending]:o.pendingLabel,[t.ApproveFail]:o.failedLabel,[t.ApproveSuccess]:o.approveSuccessLabel,[t.Unfulfilled]:o.unfulfilledLabel,[t.Fulfilled]:o.fulfilledLabel,[t.Failed]:o.failedLabel}),[o]),P=p(()=>({[t.Received]:"",[t.Pending]:o.pendingTip,[t.ApproveFail]:"",[t.ApproveSuccess]:o.confirmedTip,[t.Unfulfilled]:o.processingTip,[t.Fulfilled]:o.ShippedTip,[t.Failed]:""}),[o]),I=p(()=>({[t.Received]:"#52C41A",[t.Pending]:"#999",[t.ApproveFail]:"#F84D4F",[t.ApproveSuccess]:"#999",[t.Unfulfilled]:"#999",[t.Fulfilled]:"#999",[t.Failed]:"#F84D4F"}),[]),U=w(()=>{L&&(l===n.Coupon?F(d+1):l===n.Product&&h(u+1))},[l,u,d,L]),Y=w((e,s)=>{g(s),H(e),setTimeout(()=>{g(-1)},2e3)},[]);return r(V,{title:o.title,className:M("h-[800px] w-[640px]"),useAnimation:!0,animationClassName:"md:translate-y-[100vh]",scrollClassName:"min-l:px-0 md:mb-0 md:px-0",...a,onScrollEnd:U,children:[i("div",{className:"px-[24px] md:px-[16px]",children:i(j,{align:"left",shape:"rounded",value:l.toString(),onValueChange:e=>{R(Number(e))},children:i(E,{children:A.map(e=>i($,{value:e.type.toString(),children:e.title},e.type))})})}),r("div",{className:"mt-[24px] overflow-auto overscroll-contain px-[24px] md:px-[16px]",children:[!N.length&&!x&&!T&&r("div",{className:"flex h-full flex-col items-center justify-center",children:[i(z,{className:"mb-[12px] w-[160px]",src:o?.emptyListImage.url}),i("div",{className:"text-[16px] font-semibold leading-[1.4]",children:o?.emptyListLabel})]}),x||T&&i("div",{className:"flex h-full flex-col items-center justify-center",children:i(B,{})}),i("div",{className:"grid gap-[18px] md:gap-[12px]",children:N.map((e,s)=>r("div",{className:"grid gap-[8px]",children:[e?.orderNumber&&r("div",{className:"text-[15px] font-semibold leading-[1.4] text-[#777]",children:[o.orderNumberLabel,": ",e.orderNumber]}),r("div",{className:"flex items-center justify-between rounded-[8px] bg-[#f7f8f9] px-[16px] py-[20px]",children:[r("div",{className:"grid gap-[4px]",children:[i("div",{className:"text-[16px] font-bold leading-[1.4]",children:e.title}),r("div",{className:"text-[14px] font-semibold text-[#999]",children:[o.valueLabel,": ",e.value," ",o?.pointUnit]}),r("div",{className:"text-[14px] font-semibold text-[#999]",children:[e?.couponCode?`${o?.code||"Code"}: ${e.couponCode} `:"",e?.couponCode&&i("span",{className:"cursor-pointer text-[14px] font-semibold text-brand underline",onClick:()=>{Y(e.couponCode,s)},role:"button",tabIndex:0,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&f.preventDefault()},children:_===s?o?.copied||"COPIED":o?.copy||"COPY"})]})]}),r("div",{className:"grid gap-[4px] text-right",children:[r("div",{className:M("flex items-center justify-end text-[16px] font-bold leading-[1.4]",`text-[${I[e.type]}]`),children:[i("span",{children:k[e.type]}),P[e.type]&&i(q,{info:P[e.type],index:s})]}),i("div",{className:"text-[14px] font-semibold text-[#999]",children:K(e.date).format("YYYY-MM-DD HH:mm").toString()})]})]})]},s))})]})]})}var ne=G;export{ne as default};
1
+ import{jsx as i,jsxs as l}from"react/jsx-runtime";import{Tabs as j,TabsList as E,TabsTrigger as $,Picture as z}from"@anker-in/headless-ui";import M from"classnames";import H from"copy-to-clipboard";import K from"dayjs";import{useCallback as w,useMemo as p,useState as c}from"react";import{ApprovalStatus as m,AlpcConsumeType as n,RewardType as t}from"../context/const";import{CreditsModalContainer as V}from"./modalContainer";import q from"./tip";import B from"./loadingDots";import S from"../context/hooks/useMyRewards";function G({data:o,...a}){const[r,R]=c(n.Coupon);console.log("data123",o);const[d,F]=c(1),[u,h]=c(1),[_,g]=c(-1),A=p(()=>{const e=[];return o.couponTab&&e.push({title:o.couponTab,type:n.Coupon}),o.productTab&&e.push({title:o.productTab,type:n.Product}),e},[o.couponTab,o.productTab]),D=p(()=>({page:a.isOpen?u:0,pageSize:1e3,consumeType:n.Product}),[a.isOpen,u]),O=p(()=>({page:a.isOpen?d:0,pageSize:1e3,consumeType:n.Coupon}),[a.isOpen,d]),{myRewards:v=[],canNext:b,isLoading:x}=S(O),{myRewards:y=[],canNext:C,isLoading:T}=S(D),N=p(()=>r===n.Coupon?v.map(e=>({title:e.goods_title,value:e.consume_credits,type:t.Received,date:new Date(e.create_time*1e3),couponCode:e.coupon_code,orderNumber:""})):r===n.Product?y.map(e=>{let s=t.Pending;return e.fulfillment_status&&e.fulfillment_status!=="null"?e.fulfillment_status==="fulfilled"?s=t.Fulfilled:s=t.Unfulfilled:e.approval_status===m.Success||e.approval_status===m.DoubleConfirm?s=t.ApproveSuccess:e.approval_status===m.Failed&&(s=t.Failed),{title:e.goods_title,value:e.consume_credits,type:s,date:new Date(e.create_time*1e3),orderNumber:e.order_number,couponCode:""}}):[],[r,y,v]),L=p(()=>r===n.Coupon?b:r===n.Product?C:!1,[r,b,C]),I=p(()=>({[t.Received]:o.receivedLabel,[t.Pending]:o.pendingLabel,[t.ApproveFail]:o.failedLabel,[t.ApproveSuccess]:o.approveSuccessLabel,[t.Unfulfilled]:o.unfulfilledLabel,[t.Fulfilled]:o.fulfilledLabel,[t.Failed]:o.failedLabel}),[o]),P=p(()=>({[t.Received]:"",[t.Pending]:o.pendingTip,[t.ApproveFail]:"",[t.ApproveSuccess]:o.confirmedTip,[t.Unfulfilled]:o.processingTip,[t.Fulfilled]:o.ShippedTip,[t.Failed]:""}),[o]),k=p(()=>({[t.Received]:"#52C41A",[t.Pending]:"#999",[t.ApproveFail]:"#F84D4F",[t.ApproveSuccess]:"#999",[t.Unfulfilled]:"#999",[t.Fulfilled]:"#999",[t.Failed]:"#F84D4F"}),[]),U=w(()=>{L&&(r===n.Coupon?F(d+1):r===n.Product&&h(u+1))},[r,u,d,L]),Y=w((e,s)=>{g(s),H(e),setTimeout(()=>{g(-1)},2e3)},[]);return l(V,{title:o.title,className:M("h-[800px] w-[640px]"),useAnimation:!0,animationClassName:"md:translate-y-[100vh]",scrollClassName:"min-l:px-0 md:mb-0 md:px-0",...a,onScrollEnd:U,children:[i("div",{className:"px-[24px] md:px-[16px]",children:i(j,{align:"left",shape:"rounded",value:r.toString(),onValueChange:e=>{R(Number(e))},children:i(E,{children:A.map(e=>i($,{value:e.type.toString(),children:e.title},e.type))})})}),l("div",{className:"mt-[24px] overflow-auto overscroll-contain px-[24px] md:px-[16px]",children:[!N.length&&!x&&!T&&l("div",{className:"flex h-full flex-col items-center justify-center",children:[i(z,{className:"mb-[12px] w-[160px]",source:o?.emptyListImage?.url,alt:o?.emptyListImage?.alt||"empty list image"}),i("div",{className:"text-[16px] font-semibold leading-[1.4]",children:o?.emptyListLabel})]}),x||T&&i("div",{className:"flex h-full flex-col items-center justify-center",children:i(B,{})}),i("div",{className:"grid gap-[18px] md:gap-[12px]",children:N.map((e,s)=>l("div",{className:"grid gap-[8px]",children:[e?.orderNumber&&l("div",{className:"text-[15px] font-semibold leading-[1.4] text-[#777]",children:[o.orderNumberLabel,": ",e.orderNumber]}),l("div",{className:"flex items-center justify-between rounded-[8px] bg-[#f7f8f9] px-[16px] py-[20px]",children:[l("div",{className:"grid gap-[4px]",children:[i("div",{className:"text-[16px] font-bold leading-[1.4]",children:e.title}),l("div",{className:"text-[14px] font-semibold text-[#999]",children:[o.valueLabel,": ",e.value," ",o?.pointUnit]}),l("div",{className:"text-[14px] font-semibold text-[#999]",children:[e?.couponCode?`${o?.code||"Code"}: ${e.couponCode} `:"",e?.couponCode&&i("span",{className:"cursor-pointer text-[14px] font-semibold text-brand underline",onClick:()=>{Y(e.couponCode,s)},role:"button",tabIndex:0,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&f.preventDefault()},children:_===s?o?.copied||"COPIED":o?.copy||"COPY"})]})]}),l("div",{className:"grid gap-[4px] text-right",children:[l("div",{className:M("flex items-center justify-end text-[16px] font-bold leading-[1.4]",`text-[${k[e.type]}]`),children:[i("span",{children:I[e.type]}),P[e.type]&&i(q,{info:P[e.type],index:s})]}),i("div",{className:"text-[14px] font-semibold text-[#999]",children:K(e.date).format("YYYY-MM-DD HH:mm").toString()})]})]})]},s))})]})]})}var ne=G;export{ne as default};
2
2
  //# sourceMappingURL=MyRewardsModal.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/credits/modal/MyRewardsModal.tsx"],
4
- "sourcesContent": ["import { Tabs, TabsList, TabsTrigger, Picture } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport clipboard from 'copy-to-clipboard'\nimport dayjs from 'dayjs'\nimport { useCallback, useMemo, useState } from 'react'\n\nimport { ApprovalStatus, AlpcConsumeType, RewardType } from '../context/const'\nimport { CreditsModalContainer, type ModalContainerProps } from './modalContainer'\nimport Tip from './tip'\nimport LoadingDots from './loadingDots'\nimport useMyRewards from '../context/hooks/useMyRewards'\n\nexport interface MyRewardsMetafields {\n title: string\n orderNumberLabel: string\n valueLabel: string\n receivedLabel: string\n failedLabel: string\n approveSuccessLabel: string\n couponTab: string\n productTab: string\n pendingLabel: string\n unfulfilledLabel: string\n fulfilledLabel: string\n confirmedTip: string\n pendingTip: string\n processingTip: string\n ShippedTip: string\n emptyListLabel: string\n pointUnit: string\n code: string\n copied: string\n copy: string\n emptyListImage: {\n url: string\n }\n}\ninterface MyRewardsModalProps extends ModalContainerProps {\n data: MyRewardsMetafields\n}\n\nfunction MyRewardsModal({ data, ...props }: MyRewardsModalProps) {\n const [activeTab, setActiveTab] = useState(AlpcConsumeType.Coupon)\n\n const [couponPage, setCouponPage] = useState(1)\n const [productPage, setProductPage] = useState(1)\n const [copied, setCopied] = useState(-1)\n\n const tabs = useMemo(() => {\n const availableTabs: { title: string; type: number }[] = []\n\n if (data.couponTab) {\n availableTabs.push({\n title: data.couponTab,\n type: AlpcConsumeType.Coupon,\n })\n }\n\n if (data.productTab) {\n availableTabs.push({\n title: data.productTab,\n type: AlpcConsumeType.Product,\n })\n }\n\n return availableTabs\n }, [data.couponTab, data.productTab])\n\n const myProductRewardsOptions = useMemo(() => {\n return {\n page: props.isOpen ? productPage : 0,\n pageSize: 1000,\n consumeType: AlpcConsumeType.Product,\n }\n }, [props.isOpen, productPage])\n const myCouponRewardsOptions = useMemo(() => {\n return {\n page: props.isOpen ? couponPage : 0,\n pageSize: 1000,\n consumeType: AlpcConsumeType.Coupon,\n }\n }, [props.isOpen, couponPage])\n\n const {\n myRewards: myCouponRewards = [],\n canNext: couponCanNext,\n isLoading: couponIsLoading,\n } = useMyRewards(myCouponRewardsOptions)\n const {\n myRewards: myProductRewards = [],\n canNext: productCanNext,\n isLoading: productIsLoading,\n } = useMyRewards(myProductRewardsOptions)\n\n const list = useMemo(() => {\n if (activeTab === AlpcConsumeType.Coupon) {\n return myCouponRewards.map(item => ({\n title: item.goods_title,\n value: item.consume_credits,\n type: RewardType.Received,\n date: new Date(item.create_time * 1000),\n couponCode: item.coupon_code,\n orderNumber: '',\n }))\n }\n\n if (activeTab === AlpcConsumeType.Product) {\n return myProductRewards.map(item => {\n let type = RewardType.Pending\n\n if (item.fulfillment_status && item.fulfillment_status !== 'null') {\n // \u7269\u6D41\u72B6\u6001\n if (item.fulfillment_status === 'fulfilled') {\n type = RewardType.Fulfilled\n } else {\n type = RewardType.Unfulfilled\n }\n } else {\n if (\n item.approval_status === ApprovalStatus.Success ||\n item.approval_status === ApprovalStatus.DoubleConfirm\n ) {\n type = RewardType.ApproveSuccess\n } else if (item.approval_status === ApprovalStatus.Failed) {\n type = RewardType.Failed\n }\n }\n\n return {\n title: item.goods_title,\n value: item.consume_credits,\n type,\n date: new Date(item.create_time * 1000),\n orderNumber: item.order_number,\n couponCode: '',\n }\n })\n }\n\n return []\n }, [activeTab, myProductRewards, myCouponRewards])\n\n const canNext = useMemo(() => {\n if (activeTab === AlpcConsumeType.Coupon) {\n return couponCanNext\n }\n\n if (activeTab === AlpcConsumeType.Product) {\n return productCanNext\n }\n\n return false\n }, [activeTab, couponCanNext, productCanNext])\n\n const TypeMap = useMemo(() => {\n return {\n [RewardType.Received]: data.receivedLabel,\n [RewardType.Pending]: data.pendingLabel,\n [RewardType.ApproveFail]: data.failedLabel,\n [RewardType.ApproveSuccess]: data.approveSuccessLabel,\n [RewardType.Unfulfilled]: data.unfulfilledLabel,\n [RewardType.Fulfilled]: data.fulfilledLabel,\n [RewardType.Failed]: data.failedLabel,\n }\n }, [data])\n\n const TipMap = useMemo(() => {\n return {\n [RewardType.Received]: '',\n [RewardType.Pending]: data.pendingTip,\n [RewardType.ApproveFail]: '',\n [RewardType.ApproveSuccess]: data.confirmedTip,\n [RewardType.Unfulfilled]: data.processingTip,\n [RewardType.Fulfilled]: data.ShippedTip,\n [RewardType.Failed]: '',\n }\n }, [data])\n\n const ColorMap = useMemo(() => {\n return {\n [RewardType.Received]: '#52C41A',\n [RewardType.Pending]: '#999',\n [RewardType.ApproveFail]: '#F84D4F',\n [RewardType.ApproveSuccess]: '#999',\n [RewardType.Unfulfilled]: '#999',\n [RewardType.Fulfilled]: '#999',\n [RewardType.Failed]: '#F84D4F',\n }\n }, [])\n\n const handleScrollEnd = useCallback(() => {\n if (!canNext) {\n return\n }\n\n if (activeTab === AlpcConsumeType.Coupon) {\n setCouponPage(couponPage + 1)\n } else if (activeTab === AlpcConsumeType.Product) {\n setProductPage(productPage + 1)\n }\n }, [activeTab, productPage, couponPage, canNext])\n\n const handleCopy = useCallback((code: string, idx: number) => {\n setCopied(idx)\n clipboard(code)\n setTimeout(() => {\n setCopied(-1)\n }, 2000)\n }, [])\n\n return (\n <CreditsModalContainer\n title={data.title}\n className={classNames('h-[800px] w-[640px]')}\n useAnimation\n animationClassName=\"md:translate-y-[100vh]\"\n scrollClassName=\"min-l:px-0 md:mb-0 md:px-0\"\n {...props}\n onScrollEnd={handleScrollEnd}\n >\n <div className=\"px-[24px] md:px-[16px]\">\n <Tabs\n align=\"left\"\n shape=\"rounded\"\n value={activeTab.toString()}\n onValueChange={value => {\n setActiveTab(Number(value))\n }}\n >\n <TabsList>\n {tabs.map(tab => (\n <TabsTrigger key={tab.type} value={tab.type.toString()}>\n {tab.title}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n <div className=\"mt-[24px] overflow-auto overscroll-contain px-[24px] md:px-[16px]\">\n {!list.length && !couponIsLoading && !productIsLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <Picture className=\"mb-[12px] w-[160px]\" src={data?.emptyListImage.url}></Picture>\n <div className=\"text-[16px] font-semibold leading-[1.4]\">{data?.emptyListLabel}</div>\n </div>\n )}\n {couponIsLoading ||\n (productIsLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <LoadingDots />\n </div>\n ))}\n <div className=\"grid gap-[18px] md:gap-[12px]\">\n {list.map((item, index) => (\n <div key={index} className=\"grid gap-[8px]\">\n {item?.orderNumber && (\n <div className=\"text-[15px] font-semibold leading-[1.4] text-[#777]\">\n {data.orderNumberLabel}: {item.orderNumber}\n </div>\n )}\n <div className=\"flex items-center justify-between rounded-[8px] bg-[#f7f8f9] px-[16px] py-[20px]\">\n <div className=\"grid gap-[4px]\">\n <div className=\"text-[16px] font-bold leading-[1.4]\">{item.title}</div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {data.valueLabel}: {item.value} {data?.pointUnit}\n </div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {item?.couponCode ? `${data?.code || 'Code'}: ${item.couponCode} ` : ''}\n {item?.couponCode && (\n <span\n className=\"cursor-pointer text-[14px] font-semibold text-brand underline\"\n onClick={() => {\n handleCopy(item.couponCode, index)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {copied === index ? data?.copied || 'COPIED' : data?.copy || 'COPY'}\n </span>\n )}\n </div>\n </div>\n <div className=\"grid gap-[4px] text-right\">\n <div\n className={classNames(\n 'flex items-center justify-end text-[16px] font-bold leading-[1.4]',\n `text-[${ColorMap[item.type]}]`\n )}\n >\n <span>{TypeMap[item.type]}</span>\n {TipMap[item.type] && <Tip info={TipMap[item.type]} index={index} />}\n </div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {dayjs(item.date).format('YYYY-MM-DD HH:mm').toString()}\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </CreditsModalContainer>\n )\n}\n\nexport default MyRewardsModal\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Tabs, TabsList, TabsTrigger, Picture } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport clipboard from 'copy-to-clipboard'\nimport dayjs from 'dayjs'\nimport { useCallback, useMemo, useState } from 'react'\n\nimport { ApprovalStatus, AlpcConsumeType, RewardType } from '../context/const'\nimport { CreditsModalContainer, type ModalContainerProps } from './modalContainer'\nimport Tip from './tip'\nimport LoadingDots from './loadingDots'\nimport useMyRewards from '../context/hooks/useMyRewards'\n\nexport interface MyRewardsMetafields {\n title: string\n orderNumberLabel: string\n valueLabel: string\n receivedLabel: string\n failedLabel: string\n approveSuccessLabel: string\n couponTab: string\n productTab: string\n pendingLabel: string\n unfulfilledLabel: string\n fulfilledLabel: string\n confirmedTip: string\n pendingTip: string\n processingTip: string\n ShippedTip: string\n emptyListLabel: string\n pointUnit: string\n code: string\n copied: string\n copy: string\n emptyListImage: {\n url: string\n alt?: string\n }\n}\ninterface MyRewardsModalProps extends ModalContainerProps {\n data: MyRewardsMetafields\n}\n\nfunction MyRewardsModal({ data, ...props }: MyRewardsModalProps) {\n const [activeTab, setActiveTab] = useState(AlpcConsumeType.Coupon)\n console.log('data123', data)\n\n const [couponPage, setCouponPage] = useState(1)\n const [productPage, setProductPage] = useState(1)\n const [copied, setCopied] = useState(-1)\n\n const tabs = useMemo(() => {\n const availableTabs: { title: string; type: number }[] = []\n\n if (data.couponTab) {\n availableTabs.push({\n title: data.couponTab,\n type: AlpcConsumeType.Coupon,\n })\n }\n\n if (data.productTab) {\n availableTabs.push({\n title: data.productTab,\n type: AlpcConsumeType.Product,\n })\n }\n\n return availableTabs\n }, [data.couponTab, data.productTab])\n\n const myProductRewardsOptions = useMemo(() => {\n return {\n page: props.isOpen ? productPage : 0,\n pageSize: 1000,\n consumeType: AlpcConsumeType.Product,\n }\n }, [props.isOpen, productPage])\n const myCouponRewardsOptions = useMemo(() => {\n return {\n page: props.isOpen ? couponPage : 0,\n pageSize: 1000,\n consumeType: AlpcConsumeType.Coupon,\n }\n }, [props.isOpen, couponPage])\n\n const {\n myRewards: myCouponRewards = [],\n canNext: couponCanNext,\n isLoading: couponIsLoading,\n } = useMyRewards(myCouponRewardsOptions)\n const {\n myRewards: myProductRewards = [],\n canNext: productCanNext,\n isLoading: productIsLoading,\n } = useMyRewards(myProductRewardsOptions)\n\n const list = useMemo(() => {\n if (activeTab === AlpcConsumeType.Coupon) {\n return myCouponRewards.map(item => ({\n title: item.goods_title,\n value: item.consume_credits,\n type: RewardType.Received,\n date: new Date(item.create_time * 1000),\n couponCode: item.coupon_code,\n orderNumber: '',\n }))\n }\n\n if (activeTab === AlpcConsumeType.Product) {\n return myProductRewards.map(item => {\n let type = RewardType.Pending\n\n if (item.fulfillment_status && item.fulfillment_status !== 'null') {\n // \u7269\u6D41\u72B6\u6001\n if (item.fulfillment_status === 'fulfilled') {\n type = RewardType.Fulfilled\n } else {\n type = RewardType.Unfulfilled\n }\n } else {\n if (\n item.approval_status === ApprovalStatus.Success ||\n item.approval_status === ApprovalStatus.DoubleConfirm\n ) {\n type = RewardType.ApproveSuccess\n } else if (item.approval_status === ApprovalStatus.Failed) {\n type = RewardType.Failed\n }\n }\n\n return {\n title: item.goods_title,\n value: item.consume_credits,\n type,\n date: new Date(item.create_time * 1000),\n orderNumber: item.order_number,\n couponCode: '',\n }\n })\n }\n\n return []\n }, [activeTab, myProductRewards, myCouponRewards])\n\n const canNext = useMemo(() => {\n if (activeTab === AlpcConsumeType.Coupon) {\n return couponCanNext\n }\n\n if (activeTab === AlpcConsumeType.Product) {\n return productCanNext\n }\n\n return false\n }, [activeTab, couponCanNext, productCanNext])\n\n const TypeMap = useMemo(() => {\n return {\n [RewardType.Received]: data.receivedLabel,\n [RewardType.Pending]: data.pendingLabel,\n [RewardType.ApproveFail]: data.failedLabel,\n [RewardType.ApproveSuccess]: data.approveSuccessLabel,\n [RewardType.Unfulfilled]: data.unfulfilledLabel,\n [RewardType.Fulfilled]: data.fulfilledLabel,\n [RewardType.Failed]: data.failedLabel,\n }\n }, [data])\n\n const TipMap = useMemo(() => {\n return {\n [RewardType.Received]: '',\n [RewardType.Pending]: data.pendingTip,\n [RewardType.ApproveFail]: '',\n [RewardType.ApproveSuccess]: data.confirmedTip,\n [RewardType.Unfulfilled]: data.processingTip,\n [RewardType.Fulfilled]: data.ShippedTip,\n [RewardType.Failed]: '',\n }\n }, [data])\n\n const ColorMap = useMemo(() => {\n return {\n [RewardType.Received]: '#52C41A',\n [RewardType.Pending]: '#999',\n [RewardType.ApproveFail]: '#F84D4F',\n [RewardType.ApproveSuccess]: '#999',\n [RewardType.Unfulfilled]: '#999',\n [RewardType.Fulfilled]: '#999',\n [RewardType.Failed]: '#F84D4F',\n }\n }, [])\n\n const handleScrollEnd = useCallback(() => {\n if (!canNext) {\n return\n }\n\n if (activeTab === AlpcConsumeType.Coupon) {\n setCouponPage(couponPage + 1)\n } else if (activeTab === AlpcConsumeType.Product) {\n setProductPage(productPage + 1)\n }\n }, [activeTab, productPage, couponPage, canNext])\n\n const handleCopy = useCallback((code: string, idx: number) => {\n setCopied(idx)\n clipboard(code)\n setTimeout(() => {\n setCopied(-1)\n }, 2000)\n }, [])\n\n return (\n <CreditsModalContainer\n title={data.title}\n className={classNames('h-[800px] w-[640px]')}\n useAnimation\n animationClassName=\"md:translate-y-[100vh]\"\n scrollClassName=\"min-l:px-0 md:mb-0 md:px-0\"\n {...props}\n onScrollEnd={handleScrollEnd}\n >\n <div className=\"px-[24px] md:px-[16px]\">\n <Tabs\n align=\"left\"\n shape=\"rounded\"\n value={activeTab.toString()}\n onValueChange={value => {\n setActiveTab(Number(value))\n }}\n >\n <TabsList>\n {tabs.map(tab => (\n <TabsTrigger key={tab.type} value={tab.type.toString()}>\n {tab.title}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n <div className=\"mt-[24px] overflow-auto overscroll-contain px-[24px] md:px-[16px]\">\n {!list.length && !couponIsLoading && !productIsLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <Picture\n className=\"mb-[12px] w-[160px]\"\n source={data?.emptyListImage?.url}\n alt={data?.emptyListImage?.alt || 'empty list image'}\n ></Picture>\n <div className=\"text-[16px] font-semibold leading-[1.4]\">{data?.emptyListLabel}</div>\n </div>\n )}\n {couponIsLoading ||\n (productIsLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <LoadingDots />\n </div>\n ))}\n <div className=\"grid gap-[18px] md:gap-[12px]\">\n {list.map((item, index) => (\n <div key={index} className=\"grid gap-[8px]\">\n {item?.orderNumber && (\n <div className=\"text-[15px] font-semibold leading-[1.4] text-[#777]\">\n {data.orderNumberLabel}: {item.orderNumber}\n </div>\n )}\n <div className=\"flex items-center justify-between rounded-[8px] bg-[#f7f8f9] px-[16px] py-[20px]\">\n <div className=\"grid gap-[4px]\">\n <div className=\"text-[16px] font-bold leading-[1.4]\">{item.title}</div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {data.valueLabel}: {item.value} {data?.pointUnit}\n </div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {item?.couponCode ? `${data?.code || 'Code'}: ${item.couponCode} ` : ''}\n {item?.couponCode && (\n <span\n className=\"cursor-pointer text-[14px] font-semibold text-brand underline\"\n onClick={() => {\n handleCopy(item.couponCode, index)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {copied === index ? data?.copied || 'COPIED' : data?.copy || 'COPY'}\n </span>\n )}\n </div>\n </div>\n <div className=\"grid gap-[4px] text-right\">\n <div\n className={classNames(\n 'flex items-center justify-end text-[16px] font-bold leading-[1.4]',\n `text-[${ColorMap[item.type]}]`\n )}\n >\n <span>{TypeMap[item.type]}</span>\n {TipMap[item.type] && <Tip info={TipMap[item.type]} index={index} />}\n </div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {dayjs(item.date).format('YYYY-MM-DD HH:mm').toString()}\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </CreditsModalContainer>\n )\n}\n\nexport default MyRewardsModal\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "Tabs", "TabsList", "TabsTrigger", "Picture", "classNames", "clipboard", "dayjs", "useCallback", "useMemo", "useState", "ApprovalStatus", "AlpcConsumeType", "RewardType", "CreditsModalContainer", "Tip", "LoadingDots", "useMyRewards", "MyRewardsModal", "data", "props", "activeTab", "setActiveTab", "couponPage", "setCouponPage", "productPage", "setProductPage", "copied", "setCopied", "tabs", "availableTabs", "myProductRewardsOptions", "myCouponRewardsOptions", "myCouponRewards", "couponCanNext", "couponIsLoading", "myProductRewards", "productCanNext", "productIsLoading", "list", "item", "type", "canNext", "TypeMap", "TipMap", "ColorMap", "handleScrollEnd", "handleCopy", "code", "idx", "value", "tab", "index", "e", "MyRewardsModal_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as i,jsxs as n}from"react/jsx-runtime";import{useCallback as D,useMemo as f,useState as y}from"react";import{useCreditsContext as L}from"../context/provider";import{CreditType as p,DTC_TASK_TYPE as g,TaskSubType as r,TaskType as Y}from"../context/const";import E from"../context/hooks/useActivities";import{CreditsModalContainer as w}from"./modalContainer";import{cn as b}from"../../../helpers/utils";import{Tabs as R,TabsList as B,TabsTrigger as I}from"@anker-in/headless-ui";import j from"./loadingDots";import{Picture as F,Text as h}from"@anker-in/headless-ui";import N from"dayjs";function O({data:e,...c}){const[d,A]=y(1),{taskIdToTypeMapping:u}=L(),_=f(()=>({page:c.isOpen?d:0,pageSize:1e3}),[c.isOpen,d]),[o,M]=y(p.All),P=f(()=>{const s=[{title:e.allTab,type:p.All},{title:e.earnedTab,type:p.Earned},{title:e.deductedTab,type:p.Deducted}];return e.expiredTab&&s.push({title:e.expiredTab,type:p.Expired}),s},[e]),{activities:x=[],canNext:v,isLoading:k}=E(_),T=f(()=>{const s={[r.Activation]:e.activationTask,[r.UpdateName]:e.updateNameTask,[r.UpdatePhone]:e.updatePhoneTask,[r.UpdateBirthday]:e.updateBirthdayTask,[r.Subscription]:e.subscriptionTask,[r.UpadteAppName]:e.updateAppNameTask,[r.Refund]:e.refundTask,[r.ProductUnApproved]:e.productUnApprovedTask},m={[g.FirstPurchase]:e.firstPurchaseTask,[g.UploadReceipt]:e.uploadReceiptTask,[g.Shopping]:e.shoppingTask};function U(t){return t.task_type===Y.Redeem&&t.task_sub_type===r.ProductUnApproved&&e.productUnApprovedTask?t.task_name.replace("Refund",e.productUnApprovedTask):u?.[String(t.task_rule_id)]?m[u?.[String(t.task_rule_id)]]:s[t.task_sub_type]||t.task_name}let a=x.map(t=>({title:U(t),date:new Date(t.create_time*1e3),value:t.credit,type:t.credit_type,pending_time:t.pending_time,credit_type:t.credit_type,status:t.status}))||[];return o===p.Earned?a=a?.filter(t=>t.type===1):o===p.Deducted?a=a?.filter(t=>t.type===2&&t.status!==3):o===p.Expired&&(a=a?.filter(t=>t.type===2&&t.status===3)),a.map(t=>{let{value:l,...S}=t;return t.type===p.Deducted&&l>0&&(l=-l),{value:l,...S}})},[e.activationTask,e.updateNameTask,e.updatePhoneTask,e.updateBirthdayTask,e.subscriptionTask,e.updateAppNameTask,e.refundTask,e.productUnApprovedTask,e.firstPurchaseTask,e.uploadReceiptTask,e.shoppingTask,x,o,u]),C=D(()=>{v&&A(d+1)},[d,v]);return n(w,{title:e.title,className:b("h-[800px] w-[640px]"),useAnimation:!0,animationClassName:"md:translate-y-[100vh]",scrollClassName:"min-l:px-0 md:mb-0 md:px-0",...c,onScrollEnd:C,children:[i("div",{className:"w-full overflow-x-auto",children:i(R,{align:"left",shape:"rounded",value:o.toString(),onValueChange:s=>{M(Number(s))},className:"px-[24px] md:px-[16px]",children:i(B,{children:P.map(s=>i(I,{value:s.type.toString(),children:s.title},s.type))})})}),n("div",{className:"mt-[24px] grid gap-[18px] overflow-auto overscroll-contain px-[24px] md:gap-[12px] md:px-[16px]",children:[k&&i("div",{className:"flex h-full flex-col items-center justify-center",children:i(j,{})}),!T.length&&!k&&n("div",{className:"flex h-full flex-col items-center justify-center",children:[i(F,{className:"mb-[16px] h-[120px] w-[160px]",src:e?.emptyListImageUrl}),i("div",{className:"leading-1.4 text-[16px] font-semibold",children:e?.emptyListLabel})]}),T.map((s,m)=>n("div",{className:"flex h-fit items-center justify-between rounded-[8px] bg-[#f2f0f1] px-[16px] py-[20px] text-[16px]",children:[n("div",{className:"grid gap-[6px]",children:[i("div",{className:"font-bold",children:s.title}),i("div",{className:"text-[14px] font-semibold text-[#999]",children:N(s.date).format("YYYY-MM-DD HH:mm").toString()}),!e.pendingTips&&n("div",{className:`hidden text-[14px] font-semibold text-[#777] ${s.status===2&&s.credit_type===1?"!flex":""}`,children:[i(h,{html:e.pendingTips}),i("span",{children:N.unix(s.pending_time).add(1,"day").format("YYYY-MM-DD")}),e.pendingTips2&&i(h,{html:e.pendingTips2})]})]}),n("div",{className:b("font-bold",s.value>=0||s.credit_type===p.Expired?"text-[#52C41A]":"text-[#F84D4F]"),children:[s.value>=0&&"+",s.value]})]},m))]}),!!T.length&&i("div",{className:"mt-[12px] px-[24px] pb-[24px] text-[14px] font-semibold text-[#999] md:px-[16px]",children:e.tips})]})}var Z=O;export{Z as default};
1
+ import{jsx as i,jsxs as n}from"react/jsx-runtime";import{useCallback as D,useMemo as g,useState as y}from"react";import{useCreditsContext as L}from"../context/provider";import{CreditType as p,DTC_TASK_TYPE as f,TaskSubType as r,TaskType as Y}from"../context/const";import E from"../context/hooks/useActivities";import{CreditsModalContainer as w}from"./modalContainer";import{cn as b}from"../../../helpers/utils";import{Tabs as R,TabsList as I,TabsTrigger as B}from"@anker-in/headless-ui";import j from"./loadingDots";import{Picture as F,Text as h}from"@anker-in/headless-ui";import N from"dayjs";function O({data:e,...c}){const[l,A]=y(1),{taskIdToTypeMapping:u}=L(),_=g(()=>({page:c.isOpen?l:0,pageSize:1e3}),[c.isOpen,l]),[o,M]=y(p.All),P=g(()=>{const s=[{title:e.allTab,type:p.All},{title:e.earnedTab,type:p.Earned},{title:e.deductedTab,type:p.Deducted}];return e.expiredTab&&s.push({title:e.expiredTab,type:p.Expired}),s},[e]),{activities:x=[],canNext:v,isLoading:k}=E(_),m=g(()=>{const s={[r.Activation]:e.activationTask,[r.UpdateName]:e.updateNameTask,[r.UpdatePhone]:e.updatePhoneTask,[r.UpdateBirthday]:e.updateBirthdayTask,[r.Subscription]:e.subscriptionTask,[r.UpadteAppName]:e.updateAppNameTask,[r.Refund]:e.refundTask,[r.ProductUnApproved]:e.productUnApprovedTask},T={[f.FirstPurchase]:e.firstPurchaseTask,[f.UploadReceipt]:e.uploadReceiptTask,[f.Shopping]:e.shoppingTask};function S(t){return t.task_type===Y.Redeem&&t.task_sub_type===r.ProductUnApproved&&e.productUnApprovedTask?t.task_name.replace("Refund",e.productUnApprovedTask):u?.[String(t.task_rule_id)]?T[u?.[String(t.task_rule_id)]]:s[t.task_sub_type]||t.task_name}let a=x.map(t=>({title:S(t),date:new Date(t.create_time*1e3),value:t.credit,type:t.credit_type,pending_time:t.pending_time,credit_type:t.credit_type,status:t.status}))||[];return o===p.Earned?a=a?.filter(t=>t.type===1):o===p.Deducted?a=a?.filter(t=>t.type===2&&t.status!==3):o===p.Expired&&(a=a?.filter(t=>t.type===2&&t.status===3)),a.map(t=>{let{value:d,...U}=t;return t.type===p.Deducted&&d>0&&(d=-d),{value:d,...U}})},[e.activationTask,e.updateNameTask,e.updatePhoneTask,e.updateBirthdayTask,e.subscriptionTask,e.updateAppNameTask,e.refundTask,e.productUnApprovedTask,e.firstPurchaseTask,e.uploadReceiptTask,e.shoppingTask,x,o,u]),C=D(()=>{v&&A(l+1)},[l,v]);return n(w,{title:e.title,className:b("h-[800px] w-[640px]"),useAnimation:!0,animationClassName:"md:translate-y-[100vh]",scrollClassName:"min-l:px-0 md:mb-0 md:px-0",...c,onScrollEnd:C,children:[i("div",{className:"w-full overflow-x-auto",children:i(R,{align:"left",shape:"rounded",value:o.toString(),onValueChange:s=>{M(Number(s))},className:"px-[24px] md:px-[16px]",children:i(I,{children:P.map(s=>i(B,{value:s.type.toString(),children:s.title},s.type))})})}),n("div",{className:"mt-[24px] grid gap-[18px] overflow-auto overscroll-contain px-[24px] md:gap-[12px] md:px-[16px]",children:[k&&i("div",{className:"flex h-full flex-col items-center justify-center",children:i(j,{})}),!m.length&&!k&&n("div",{className:"flex h-full flex-col items-center justify-center",children:[i(F,{className:"mb-[16px] h-[120px] w-[160px]",source:e?.emptyListImage?.url,alt:e?.emptyListImage?.alt||"empty list image"}),i("div",{className:"leading-1.4 text-[16px] font-semibold",children:e?.emptyListLabel})]}),m.map((s,T)=>n("div",{className:"flex h-fit items-center justify-between rounded-[8px] bg-[#f2f0f1] px-[16px] py-[20px] text-[16px]",children:[n("div",{className:"grid gap-[6px]",children:[i("div",{className:"font-bold",children:s.title}),i("div",{className:"text-[14px] font-semibold text-[#999]",children:N(s.date).format("YYYY-MM-DD HH:mm").toString()}),!e.pendingTips&&n("div",{className:`hidden text-[14px] font-semibold text-[#777] ${s.status===2&&s.credit_type===1?"!flex":""}`,children:[i(h,{html:e.pendingTips}),i("span",{children:N.unix(s.pending_time).add(1,"day").format("YYYY-MM-DD")}),e.pendingTips2&&i(h,{html:e.pendingTips2})]})]}),n("div",{className:b("font-bold",s.value>=0||s.credit_type===p.Expired?"text-[#52C41A]":"text-[#F84D4F]"),children:[s.value>=0&&"+",s.value]})]},T))]}),!!m.length&&i("div",{className:"mt-[12px] px-[24px] pb-[24px] text-[14px] font-semibold text-[#999] md:px-[16px]",children:e.tips})]})}var Z=O;export{Z as default};
2
2
  //# sourceMappingURL=activitiesModal.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/credits/modal/activitiesModal.tsx"],
4
- "sourcesContent": ["import { useCallback, useMemo, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { CreditType, DTC_TASK_TYPE, TaskSubType, TaskType } from '../context/const'\nimport useActivities from '../context/hooks/useActivities'\nimport type { Task } from '../context/response'\nimport { CreditsModalContainer, type ModalContainerProps } from './modalContainer'\nimport { cn } from '../../../helpers/utils'\nimport { Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'\nimport LoadingDots from './loadingDots'\nimport { Picture, Text } from '@anker-in/headless-ui'\nimport dayjs from 'dayjs'\n\nexport interface MyActivitiesMetafields {\n title: string\n tips: string\n allTab: string\n earnedTab: string\n deductedTab: string\n expiredTab: string\n activationTask: string\n updateNameTask: string\n updatePhoneTask: string\n updateBirthdayTask: string\n updateAppNameTask: string\n subscriptionTask: string\n refundTask: string\n productUnApprovedTask: string\n pendingTips?: string\n pendingTips2?: string\n firstPurchaseTask: string\n uploadReceiptTask: string\n shoppingTask: string\n emptyListImageUrl: string\n emptyListLabel: string\n}\n\ninterface ActivitiesModalProps extends ModalContainerProps {\n data: MyActivitiesMetafields\n}\n\nfunction ActivitiesModal({ data, ...props }: ActivitiesModalProps) {\n const [page, setPage] = useState(1)\n const { taskIdToTypeMapping } = useCreditsContext()\n\n const myActivitiesOptions = useMemo(() => {\n return {\n page: props.isOpen ? page : 0,\n pageSize: 1000,\n }\n }, [props.isOpen, page])\n\n const [activeTab, setActiveTab] = useState(CreditType.All)\n const tabs = useMemo(() => {\n const tabs = [\n {\n title: data.allTab,\n type: CreditType.All,\n },\n {\n title: data.earnedTab,\n type: CreditType.Earned,\n },\n {\n title: data.deductedTab,\n type: CreditType.Deducted,\n },\n ]\n if (data.expiredTab) {\n tabs.push({\n title: data.expiredTab,\n type: CreditType.Expired,\n })\n }\n return tabs\n }, [data])\n\n const { activities = [], canNext, isLoading } = useActivities(myActivitiesOptions)\n\n const list = useMemo(() => {\n const taskNameMap = {\n [TaskSubType.Activation]: data.activationTask,\n [TaskSubType.UpdateName]: data.updateNameTask,\n [TaskSubType.UpdatePhone]: data.updatePhoneTask,\n [TaskSubType.UpdateBirthday]: data.updateBirthdayTask,\n [TaskSubType.Subscription]: data.subscriptionTask,\n [TaskSubType.UpadteAppName]: data.updateAppNameTask,\n [TaskSubType.Refund]: data.refundTask,\n [TaskSubType.ProductUnApproved]: data.productUnApprovedTask,\n }\n const dtcTaskTypeToNameMap = {\n [DTC_TASK_TYPE.FirstPurchase]: data.firstPurchaseTask,\n [DTC_TASK_TYPE.UploadReceipt]: data.uploadReceiptTask,\n [DTC_TASK_TYPE.Shopping]: data.shoppingTask,\n }\n\n function getTitle(item: Task) {\n if (\n item.task_type === TaskType.Redeem &&\n item.task_sub_type === TaskSubType.ProductUnApproved &&\n data.productUnApprovedTask\n ) {\n // \u65B0\u589E\u7684\u90E8\u5206\u4EFB\u52A1\u90FD\u4F7F\u7528\u4E86 alpc \u540C\u4E00\u4E2A\u4EFB\u52A1\u7C7B\u578B\uFF0C\u9700\u8981\u7528\u4EFB\u52A1 id \u6765\u533A\u5206\n return item.task_name.replace('Refund', data.productUnApprovedTask)\n } else if (taskIdToTypeMapping?.[String(item.task_rule_id)]) {\n return dtcTaskTypeToNameMap[taskIdToTypeMapping?.[String(item.task_rule_id)]]\n } else {\n return taskNameMap[item.task_sub_type] || item.task_name\n }\n }\n\n const all = activities.map(item => ({\n title: getTitle(item),\n date: new Date(item.create_time * 1000),\n value: item.credit,\n type: item.credit_type,\n pending_time: item.pending_time,\n credit_type: item.credit_type,\n status: item.status,\n }))\n\n let filtered = all || []\n if (activeTab === CreditType.Earned) {\n filtered = filtered?.filter(item => item.type === 1)\n } else if (activeTab === CreditType.Deducted) {\n filtered = filtered?.filter(item => item.type === 2 && item.status !== 3)\n } else if (activeTab === CreditType.Expired) {\n filtered = filtered?.filter(item => item.type === 2 && item.status === 3)\n }\n\n return filtered.map(item => {\n let { value, ...otherItem } = item\n if (item.type === CreditType.Deducted && value > 0) {\n value = -value\n }\n\n return {\n value,\n ...otherItem,\n }\n })\n }, [\n data.activationTask,\n data.updateNameTask,\n data.updatePhoneTask,\n data.updateBirthdayTask,\n data.subscriptionTask,\n data.updateAppNameTask,\n data.refundTask,\n data.productUnApprovedTask,\n data.firstPurchaseTask,\n data.uploadReceiptTask,\n data.shoppingTask,\n activities,\n activeTab,\n taskIdToTypeMapping,\n ])\n\n const handleScrollEnd = useCallback(() => {\n if (!canNext) {\n return\n }\n setPage(page + 1)\n }, [page, canNext])\n\n return (\n <CreditsModalContainer\n title={data.title}\n className={cn('h-[800px] w-[640px]')}\n useAnimation\n animationClassName=\"md:translate-y-[100vh]\"\n scrollClassName=\"min-l:px-0 md:mb-0 md:px-0\"\n {...props}\n onScrollEnd={handleScrollEnd}\n >\n <div className=\"w-full overflow-x-auto\">\n <Tabs\n align=\"left\"\n shape=\"rounded\"\n value={activeTab.toString()}\n onValueChange={value => {\n setActiveTab(Number(value))\n }}\n className=\"px-[24px] md:px-[16px]\"\n >\n <TabsList>\n {tabs.map(tab => (\n <TabsTrigger key={tab.type} value={tab.type.toString()}>\n {tab.title}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n <div className=\"mt-[24px] grid gap-[18px] overflow-auto overscroll-contain px-[24px] md:gap-[12px] md:px-[16px]\">\n {isLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <LoadingDots />\n </div>\n )}\n {!list.length && !isLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <Picture className=\"mb-[16px] h-[120px] w-[160px]\" src={data?.emptyListImageUrl}></Picture>\n <div className=\"leading-1.4 text-[16px] font-semibold\">{data?.emptyListLabel}</div>\n </div>\n )}\n {list.map((item, index) => (\n <div\n key={index}\n className=\"flex h-fit items-center justify-between rounded-[8px] bg-[#f2f0f1] px-[16px] py-[20px] text-[16px]\"\n >\n <div className=\"grid gap-[6px]\">\n <div className=\"font-bold\">{item.title}</div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {dayjs(item.date).format('YYYY-MM-DD HH:mm').toString()}\n </div>\n {!data.pendingTips && (\n <div\n className={`hidden text-[14px] font-semibold text-[#777] ${item.status === 2 && item.credit_type === 1 ? '!flex' : ''}`}\n >\n <Text html={data.pendingTips} />\n <span>{dayjs.unix(item.pending_time).add(1, 'day').format('YYYY-MM-DD')}</span>\n {data.pendingTips2 && <Text html={data.pendingTips2} />}\n </div>\n )}\n </div>\n <div\n className={cn(\n 'font-bold',\n item.value >= 0 || item.credit_type === CreditType.Expired ? 'text-[#52C41A]' : 'text-[#F84D4F]'\n )}\n >\n {item.value >= 0 && '+'}\n {item.value}\n </div>\n </div>\n ))}\n </div>\n {!!list.length && (\n <div className=\"mt-[12px] px-[24px] pb-[24px] text-[14px] font-semibold text-[#999] md:px-[16px]\">\n {data.tips}\n </div>\n )}\n </CreditsModalContainer>\n )\n}\n\nexport default ActivitiesModal\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useCallback, useMemo, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { CreditType, DTC_TASK_TYPE, TaskSubType, TaskType } from '../context/const'\nimport useActivities from '../context/hooks/useActivities'\nimport type { Task } from '../context/response'\nimport { CreditsModalContainer, type ModalContainerProps } from './modalContainer'\nimport { cn } from '../../../helpers/utils'\nimport { Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'\nimport LoadingDots from './loadingDots'\nimport { Picture, Text } from '@anker-in/headless-ui'\nimport dayjs from 'dayjs'\n\nexport interface MyActivitiesMetafields {\n title: string\n tips: string\n allTab: string\n earnedTab: string\n deductedTab: string\n expiredTab: string\n activationTask: string\n updateNameTask: string\n updatePhoneTask: string\n updateBirthdayTask: string\n updateAppNameTask: string\n subscriptionTask: string\n refundTask: string\n productUnApprovedTask: string\n pendingTips?: string\n pendingTips2?: string\n firstPurchaseTask: string\n uploadReceiptTask: string\n shoppingTask: string\n emptyListImage: {\n url: string\n alt?: string\n }\n emptyListLabel: string\n}\n\ninterface ActivitiesModalProps extends ModalContainerProps {\n data: MyActivitiesMetafields\n}\n\nfunction ActivitiesModal({ data, ...props }: ActivitiesModalProps) {\n const [page, setPage] = useState(1)\n const { taskIdToTypeMapping } = useCreditsContext()\n\n const myActivitiesOptions = useMemo(() => {\n return {\n page: props.isOpen ? page : 0,\n pageSize: 1000,\n }\n }, [props.isOpen, page])\n\n const [activeTab, setActiveTab] = useState(CreditType.All)\n const tabs = useMemo(() => {\n const tabs = [\n {\n title: data.allTab,\n type: CreditType.All,\n },\n {\n title: data.earnedTab,\n type: CreditType.Earned,\n },\n {\n title: data.deductedTab,\n type: CreditType.Deducted,\n },\n ]\n if (data.expiredTab) {\n tabs.push({\n title: data.expiredTab,\n type: CreditType.Expired,\n })\n }\n return tabs\n }, [data])\n\n const { activities = [], canNext, isLoading } = useActivities(myActivitiesOptions)\n\n const list = useMemo(() => {\n const taskNameMap = {\n [TaskSubType.Activation]: data.activationTask,\n [TaskSubType.UpdateName]: data.updateNameTask,\n [TaskSubType.UpdatePhone]: data.updatePhoneTask,\n [TaskSubType.UpdateBirthday]: data.updateBirthdayTask,\n [TaskSubType.Subscription]: data.subscriptionTask,\n [TaskSubType.UpadteAppName]: data.updateAppNameTask,\n [TaskSubType.Refund]: data.refundTask,\n [TaskSubType.ProductUnApproved]: data.productUnApprovedTask,\n }\n const dtcTaskTypeToNameMap = {\n [DTC_TASK_TYPE.FirstPurchase]: data.firstPurchaseTask,\n [DTC_TASK_TYPE.UploadReceipt]: data.uploadReceiptTask,\n [DTC_TASK_TYPE.Shopping]: data.shoppingTask,\n }\n\n function getTitle(item: Task) {\n if (\n item.task_type === TaskType.Redeem &&\n item.task_sub_type === TaskSubType.ProductUnApproved &&\n data.productUnApprovedTask\n ) {\n // \u65B0\u589E\u7684\u90E8\u5206\u4EFB\u52A1\u90FD\u4F7F\u7528\u4E86 alpc \u540C\u4E00\u4E2A\u4EFB\u52A1\u7C7B\u578B\uFF0C\u9700\u8981\u7528\u4EFB\u52A1 id \u6765\u533A\u5206\n return item.task_name.replace('Refund', data.productUnApprovedTask)\n } else if (taskIdToTypeMapping?.[String(item.task_rule_id)]) {\n return dtcTaskTypeToNameMap[taskIdToTypeMapping?.[String(item.task_rule_id)]]\n } else {\n return taskNameMap[item.task_sub_type] || item.task_name\n }\n }\n\n const all = activities.map(item => ({\n title: getTitle(item),\n date: new Date(item.create_time * 1000),\n value: item.credit,\n type: item.credit_type,\n pending_time: item.pending_time,\n credit_type: item.credit_type,\n status: item.status,\n }))\n\n let filtered = all || []\n if (activeTab === CreditType.Earned) {\n filtered = filtered?.filter(item => item.type === 1)\n } else if (activeTab === CreditType.Deducted) {\n filtered = filtered?.filter(item => item.type === 2 && item.status !== 3)\n } else if (activeTab === CreditType.Expired) {\n filtered = filtered?.filter(item => item.type === 2 && item.status === 3)\n }\n\n return filtered.map(item => {\n let { value, ...otherItem } = item\n if (item.type === CreditType.Deducted && value > 0) {\n value = -value\n }\n\n return {\n value,\n ...otherItem,\n }\n })\n }, [\n data.activationTask,\n data.updateNameTask,\n data.updatePhoneTask,\n data.updateBirthdayTask,\n data.subscriptionTask,\n data.updateAppNameTask,\n data.refundTask,\n data.productUnApprovedTask,\n data.firstPurchaseTask,\n data.uploadReceiptTask,\n data.shoppingTask,\n activities,\n activeTab,\n taskIdToTypeMapping,\n ])\n\n const handleScrollEnd = useCallback(() => {\n if (!canNext) {\n return\n }\n setPage(page + 1)\n }, [page, canNext])\n\n return (\n <CreditsModalContainer\n title={data.title}\n className={cn('h-[800px] w-[640px]')}\n useAnimation\n animationClassName=\"md:translate-y-[100vh]\"\n scrollClassName=\"min-l:px-0 md:mb-0 md:px-0\"\n {...props}\n onScrollEnd={handleScrollEnd}\n >\n <div className=\"w-full overflow-x-auto\">\n <Tabs\n align=\"left\"\n shape=\"rounded\"\n value={activeTab.toString()}\n onValueChange={value => {\n setActiveTab(Number(value))\n }}\n className=\"px-[24px] md:px-[16px]\"\n >\n <TabsList>\n {tabs.map(tab => (\n <TabsTrigger key={tab.type} value={tab.type.toString()}>\n {tab.title}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n <div className=\"mt-[24px] grid gap-[18px] overflow-auto overscroll-contain px-[24px] md:gap-[12px] md:px-[16px]\">\n {isLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <LoadingDots />\n </div>\n )}\n {!list.length && !isLoading && (\n <div className=\"flex h-full flex-col items-center justify-center\">\n <Picture\n className=\"mb-[16px] h-[120px] w-[160px]\"\n source={data?.emptyListImage?.url}\n alt={data?.emptyListImage?.alt || 'empty list image'}\n ></Picture>\n <div className=\"leading-1.4 text-[16px] font-semibold\">{data?.emptyListLabel}</div>\n </div>\n )}\n {list.map((item, index) => (\n <div\n key={index}\n className=\"flex h-fit items-center justify-between rounded-[8px] bg-[#f2f0f1] px-[16px] py-[20px] text-[16px]\"\n >\n <div className=\"grid gap-[6px]\">\n <div className=\"font-bold\">{item.title}</div>\n <div className=\"text-[14px] font-semibold text-[#999]\">\n {dayjs(item.date).format('YYYY-MM-DD HH:mm').toString()}\n </div>\n {!data.pendingTips && (\n <div\n className={`hidden text-[14px] font-semibold text-[#777] ${item.status === 2 && item.credit_type === 1 ? '!flex' : ''}`}\n >\n <Text html={data.pendingTips} />\n <span>{dayjs.unix(item.pending_time).add(1, 'day').format('YYYY-MM-DD')}</span>\n {data.pendingTips2 && <Text html={data.pendingTips2} />}\n </div>\n )}\n </div>\n <div\n className={cn(\n 'font-bold',\n item.value >= 0 || item.credit_type === CreditType.Expired ? 'text-[#52C41A]' : 'text-[#F84D4F]'\n )}\n >\n {item.value >= 0 && '+'}\n {item.value}\n </div>\n </div>\n ))}\n </div>\n {!!list.length && (\n <div className=\"mt-[12px] px-[24px] pb-[24px] text-[14px] font-semibold text-[#999] md:px-[16px]\">\n {data.tips}\n </div>\n )}\n </CreditsModalContainer>\n )\n}\n\nexport default ActivitiesModal\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "useCallback", "useMemo", "useState", "useCreditsContext", "CreditType", "DTC_TASK_TYPE", "TaskSubType", "TaskType", "useActivities", "CreditsModalContainer", "cn", "Tabs", "TabsList", "TabsTrigger", "LoadingDots", "Picture", "Text", "dayjs", "ActivitiesModal", "data", "props", "page", "setPage", "taskIdToTypeMapping", "myActivitiesOptions", "activeTab", "setActiveTab", "tabs", "activities", "canNext", "isLoading", "list", "taskNameMap", "dtcTaskTypeToNameMap", "getTitle", "item", "filtered", "value", "otherItem", "handleScrollEnd", "tab", "index", "activitiesModal_default"]
7
7
  }
@@ -11,8 +11,8 @@ export declare function gaNormalClick({ position, label }: {
11
11
  position: string;
12
12
  label: string;
13
13
  }): void;
14
- export declare const fbq: (...args: any[]) => void;
15
- export declare const gtag: (...args: any[]) => void;
14
+ export declare const fbq: (...args: any[]) => "" | undefined;
15
+ export declare const gtag: (...args: any[]) => "" | undefined;
16
16
  export declare const getGtmGroup: ({ query, asPath }: {
17
17
  query: any;
18
18
  asPath: string;
@@ -1,2 +1,2 @@
1
- const r=a=>{if(typeof window>"u"||(window.dataLayer=window?.dataLayer||[],!Array.isArray(window.dataLayer)))return"";try{window?.dataLayer?.push({event_parameters:null}),window?.dataLayer?.push(a||{})}catch(e){console.log("pageGTMEvent error",e)}},n=(...a)=>{window.fbq&&window.fbq(...a)},t=(...a)=>{window.gtag&&window.gtag(...a)},o=({query:a,asPath:e})=>e.includes("collections")?`Product List Page_${a?.handle}`:e.includes("products")?"Product Detail Page_"+a?.handle:e==="/"||e==="/app-home"?"Home Page":"Activity Page_"+a?.handle||a?.paths?.[0]?.replace("storefront-","");export{n as fbq,r as gaTrack,o as getGtmGroup,t as gtag};
1
+ const r=e=>{if(typeof window>"u"||(window.dataLayer=window?.dataLayer||[],!Array.isArray(window.dataLayer)))return"";try{window?.dataLayer?.push({event_parameters:null}),window?.dataLayer?.push(e||{})}catch(n){console.log("pageGTMEvent error",n)}};function t({position:e,label:n}){r({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"soundcoreCredits Rewards Program",position:e,button_name:n}})}const a=(...e)=>{if(typeof window>"u")return"";window.fbq&&window.fbq(...e)},o=(...e)=>{if(typeof window>"u")return"";window.gtag&&window.gtag(...e)},i=({query:e,asPath:n})=>n.includes("collections")?`Product List Page_${e?.handle}`:n.includes("products")?"Product Detail Page_"+e?.handle:n==="/"||n==="/app-home"?"Home Page":"Activity Page_"+e?.handle||e?.paths?.[0]?.replace("storefront-","");export{a as fbq,t as gaNormalClick,r as gaTrack,i as getGtmGroup,o as gtag};
2
2
  //# sourceMappingURL=track.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/track.ts"],
4
- "sourcesContent": ["declare global {\n interface Window {\n dataLayer?: Array<any>\n fbq?: (...args: any[]) => void\n klaviyo?: any\n gtag?: any\n }\n}\n\n// GA \u57CB\u70B9\nexport const gaTrack = (data: any) => {\n if (typeof window === 'undefined') {\n return ''\n }\n window.dataLayer = window?.dataLayer || []\n if (!Array.isArray(window.dataLayer)) {\n return ''\n }\n\n try {\n window?.dataLayer?.push({ event_parameters: null })\n window?.dataLayer?.push(data || {})\n } catch (error) {\n console.log('pageGTMEvent error', error)\n }\n}\n\n// facebook \u57CB\u70B9\nexport const fbq = (...args: any[]) => {\n if (window.fbq) {\n window.fbq(...args)\n }\n}\n\nexport const gtag = (...args: any[]) => {\n if (window.gtag) {\n window.gtag(...args)\n }\n}\n\nexport const getGtmGroup = ({ query, asPath }: { query: any; asPath: string }) => {\n if (asPath.includes('collections')) {\n return `Product List Page_${query?.handle}`\n }\n\n if (asPath.includes('products')) {\n return 'Product Detail Page_' + query?.handle\n }\n\n if (asPath === '/' || asPath === '/app-home') {\n return 'Home Page'\n }\n\n return 'Activity Page_' + query?.handle || query?.paths?.[0]?.replace('storefront-', '')\n}\n"],
5
- "mappings": "AAUO,MAAMA,EAAWC,GAAc,CAKpC,GAJI,OAAO,OAAW,MAGtB,OAAO,UAAY,QAAQ,WAAa,CAAC,EACrC,CAAC,MAAM,QAAQ,OAAO,SAAS,GACjC,MAAO,GAGT,GAAI,CACF,QAAQ,WAAW,KAAK,CAAE,iBAAkB,IAAK,CAAC,EAClD,QAAQ,WAAW,KAAKA,GAAQ,CAAC,CAAC,CACpC,OAASC,EAAO,CACd,QAAQ,IAAI,qBAAsBA,CAAK,CACzC,CACF,EAGaC,EAAM,IAAIC,IAAgB,CACjC,OAAO,KACT,OAAO,IAAI,GAAGA,CAAI,CAEtB,EAEaC,EAAO,IAAID,IAAgB,CAClC,OAAO,MACT,OAAO,KAAK,GAAGA,CAAI,CAEvB,EAEaE,EAAc,CAAC,CAAE,MAAAC,EAAO,OAAAC,CAAO,IACtCA,EAAO,SAAS,aAAa,EACxB,qBAAqBD,GAAO,MAAM,GAGvCC,EAAO,SAAS,UAAU,EACrB,uBAAyBD,GAAO,OAGrCC,IAAW,KAAOA,IAAW,YACxB,YAGF,iBAAmBD,GAAO,QAAUA,GAAO,QAAQ,CAAC,GAAG,QAAQ,cAAe,EAAE",
6
- "names": ["gaTrack", "data", "error", "fbq", "args", "gtag", "getGtmGroup", "query", "asPath"]
4
+ "sourcesContent": ["declare global {\n interface Window {\n dataLayer?: Array<any>\n fbq?: (...args: any[]) => void\n klaviyo?: any\n gtag?: any\n }\n}\n\n// GA \u57CB\u70B9\nexport const gaTrack = (data: any) => {\n if (typeof window === 'undefined') {\n return ''\n }\n window.dataLayer = window?.dataLayer || []\n if (!Array.isArray(window.dataLayer)) {\n return ''\n }\n\n try {\n window?.dataLayer?.push({ event_parameters: null })\n window?.dataLayer?.push(data || {})\n } catch (error) {\n console.log('pageGTMEvent error', error)\n }\n}\n\nexport function gaNormalClick({ position, label }: { position: string; label: string }) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'soundcoreCredits Rewards Program',\n position: position,\n button_name: label,\n },\n })\n}\n\n// facebook \u57CB\u70B9\nexport const fbq = (...args: any[]) => {\n if (typeof window === 'undefined') {\n return ''\n }\n if (window.fbq) {\n window.fbq(...args)\n }\n}\n\nexport const gtag = (...args: any[]) => {\n if (typeof window === 'undefined') {\n return ''\n }\n if (window.gtag) {\n window.gtag(...args)\n }\n}\n\nexport const getGtmGroup = ({ query, asPath }: { query: any; asPath: string }) => {\n if (asPath.includes('collections')) {\n return `Product List Page_${query?.handle}`\n }\n\n if (asPath.includes('products')) {\n return 'Product Detail Page_' + query?.handle\n }\n\n if (asPath === '/' || asPath === '/app-home') {\n return 'Home Page'\n }\n\n return 'Activity Page_' + query?.handle || query?.paths?.[0]?.replace('storefront-', '')\n}\n"],
5
+ "mappings": "AAUO,MAAMA,EAAWC,GAAc,CAKpC,GAJI,OAAO,OAAW,MAGtB,OAAO,UAAY,QAAQ,WAAa,CAAC,EACrC,CAAC,MAAM,QAAQ,OAAO,SAAS,GACjC,MAAO,GAGT,GAAI,CACF,QAAQ,WAAW,KAAK,CAAE,iBAAkB,IAAK,CAAC,EAClD,QAAQ,WAAW,KAAKA,GAAQ,CAAC,CAAC,CACpC,OAASC,EAAO,CACd,QAAQ,IAAI,qBAAsBA,CAAK,CACzC,CACF,EAEO,SAASC,EAAc,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAwC,CACtFL,EAAQ,CACN,MAAO,WACP,WAAY,YACZ,iBAAkB,CAChB,WAAY,mCACZ,SAAUI,EACV,YAAaC,CACf,CACF,CAAC,CACH,CAGO,MAAMC,EAAM,IAAIC,IAAgB,CACrC,GAAI,OAAO,OAAW,IACpB,MAAO,GAEL,OAAO,KACT,OAAO,IAAI,GAAGA,CAAI,CAEtB,EAEaC,EAAO,IAAID,IAAgB,CACtC,GAAI,OAAO,OAAW,IACpB,MAAO,GAEL,OAAO,MACT,OAAO,KAAK,GAAGA,CAAI,CAEvB,EAEaE,EAAc,CAAC,CAAE,MAAAC,EAAO,OAAAC,CAAO,IACtCA,EAAO,SAAS,aAAa,EACxB,qBAAqBD,GAAO,MAAM,GAGvCC,EAAO,SAAS,UAAU,EACrB,uBAAyBD,GAAO,OAGrCC,IAAW,KAAOA,IAAW,YACxB,YAGF,iBAAmBD,GAAO,QAAUA,GAAO,QAAQ,CAAC,GAAG,QAAQ,cAAe,EAAE",
6
+ "names": ["gaTrack", "data", "error", "gaNormalClick", "position", "label", "fbq", "args", "gtag", "getGtmGroup", "query", "asPath"]
7
7
  }