@anker-in/campaign-ui 0.2.11-beta.2 → 0.2.11-beta.21
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.
- package/dist/cjs/components/LiveChatWidget/LiveChatWidget.d.ts +43 -0
- package/dist/cjs/components/LiveChatWidget/LiveChatWidget.js +2 -0
- package/dist/cjs/components/LiveChatWidget/LiveChatWidget.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/api/chat.d.ts +25 -0
- package/dist/cjs/components/LiveChatWidget/api/chat.js +3 -0
- package/dist/cjs/components/LiveChatWidget/api/chat.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatBubble.d.ts +68 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatBubble.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatBubble.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatHeader.d.ts +57 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatHeader.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatHeader.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatInput.d.ts +70 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatInput.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatInput.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatMessage.d.ts +59 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatMessage.js +5 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatMessage.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatWindow.d.ts +127 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatWindow.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/ChatWindow.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.d.ts +54 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.d.ts +33 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.d.ts +16 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.d.ts +45 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.js +5 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.d.ts +48 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.js +5 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.d.ts +70 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.d.ts +47 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.d.ts +78 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.d.ts +54 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.d.ts +31 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.d.ts +31 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.d.ts +15 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent.d.ts +63 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageContent.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageList.d.ts +74 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageList.js +5 -0
- package/dist/cjs/components/LiveChatWidget/components/MessageList.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.d.ts +44 -0
- package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.js +2 -0
- package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/constants.d.ts +8 -0
- package/dist/cjs/components/LiveChatWidget/constants.js +2 -0
- package/dist/cjs/components/LiveChatWidget/constants.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.d.ts +51 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.js +2 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatState.d.ts +120 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatState.js +2 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useChatState.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useSession.d.ts +37 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useSession.js +2 -0
- package/dist/cjs/components/LiveChatWidget/hooks/useSession.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/index.d.ts +12 -0
- package/dist/cjs/components/LiveChatWidget/index.js +2 -0
- package/dist/cjs/components/LiveChatWidget/index.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/types.d.ts +609 -0
- package/dist/cjs/components/LiveChatWidget/types.js +2 -0
- package/dist/cjs/components/LiveChatWidget/types.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.d.ts +25 -0
- package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.js +2 -0
- package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
- package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js +2 -0
- package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
- package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js +2 -0
- package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/utils/userId.d.ts +18 -0
- package/dist/cjs/components/LiveChatWidget/utils/userId.js +2 -0
- package/dist/cjs/components/LiveChatWidget/utils/userId.js.map +7 -0
- package/dist/cjs/components/LiveChatWidget/utils/validation.d.ts +37 -0
- package/dist/cjs/components/LiveChatWidget/utils/validation.js +2 -0
- package/dist/cjs/components/LiveChatWidget/utils/validation.js.map +7 -0
- package/dist/cjs/components/chat/markdown.js +1 -1
- package/dist/cjs/components/chat/markdown.js.map +2 -2
- package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.d.ts +2 -2
- package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js +1 -1
- package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js.map +2 -2
- package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +1 -1
- package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +2 -2
- package/dist/cjs/components/credits/context/memberPriceConst.d.ts +0 -5
- package/dist/cjs/components/credits/context/memberPriceConst.js +1 -1
- package/dist/cjs/components/credits/context/memberPriceConst.js.map +3 -3
- package/dist/cjs/components/credits/context/memberPriceTypes.d.ts +1 -22
- package/dist/cjs/components/credits/context/memberPriceTypes.js +1 -1
- package/dist/cjs/components/credits/context/memberPriceTypes.js.map +1 -1
- package/dist/cjs/components/credits/context/provider.d.ts +16 -1
- package/dist/cjs/components/credits/context/provider.js +1 -1
- package/dist/cjs/components/credits/context/provider.js.map +3 -3
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.d.ts +2 -2
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js +1 -1
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js.map +1 -1
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +2 -2
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +1 -1
- package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +1 -1
- package/dist/cjs/components/credits/context/utils/variantGetCoupon.d.ts +2 -2
- package/dist/cjs/components/credits/context/utils/variantGetCoupon.js +1 -1
- package/dist/cjs/components/credits/context/utils/variantGetCoupon.js.map +1 -1
- package/dist/cjs/components/credits/context/utils.d.ts +4 -0
- package/dist/cjs/components/credits/context/utils.js +1 -1
- package/dist/cjs/components/credits/context/utils.js.map +3 -3
- package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
- package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
- package/dist/cjs/components/credits/creditsBanner/index.d.ts +2 -0
- package/dist/cjs/components/credits/creditsBanner/index.js +12 -1
- package/dist/cjs/components/credits/creditsBanner/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js +1 -1
- package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsBenefits/IconInfo.js +1 -1
- package/dist/cjs/components/credits/creditsBenefits/IconInfo.js.map +1 -1
- package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
- package/dist/cjs/components/credits/creditsBenefits/index.js.map +2 -2
- package/dist/cjs/components/credits/creditsCash/CreditsCash.js +1 -1
- package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +3 -3
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -0
- package/dist/cjs/components/credits/creditsCash/type.js +1 -1
- package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
- package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
- package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
- package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
- package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
- package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsMemberPrice/Pagination.d.ts +7 -0
- package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js +2 -0
- package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js.map +7 -0
- package/dist/cjs/components/credits/creditsMemberPrice/type.d.ts +3 -5
- package/dist/cjs/components/credits/creditsMemberPrice/type.js +1 -1
- package/dist/cjs/components/credits/creditsMemberPrice/type.js.map +1 -1
- package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
- package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
- package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
- package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
- package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
- package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
- package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
- package/dist/cjs/components/credits/modal/subscribeModal.js +1 -1
- package/dist/cjs/components/credits/modal/subscribeModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/tip.js +1 -1
- package/dist/cjs/components/credits/modal/tip.js.map +3 -3
- package/dist/cjs/components/index.d.ts +3 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
- package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
- package/dist/cjs/components/registration/modalContainer.js +1 -1
- package/dist/cjs/components/registration/modalContainer.js.map +3 -3
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +2 -0
- package/dist/cjs/constants.js.map +7 -0
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/stories/CartCard.stories.d.ts +33 -0
- package/dist/cjs/stories/CartCard.stories.js +21 -0
- package/dist/cjs/stories/CartCard.stories.js.map +7 -0
- package/dist/cjs/stories/LiveChatWidget.stories.d.ts +92 -0
- package/dist/cjs/stories/LiveChatWidget.stories.js +98 -0
- package/dist/cjs/stories/LiveChatWidget.stories.js.map +7 -0
- package/dist/cjs/templates/Credits.d.ts +15 -1
- package/dist/cjs/templates/Credits.js +1 -1
- package/dist/cjs/templates/Credits.js.map +3 -3
- package/dist/esm/components/LiveChatWidget/LiveChatWidget.d.ts +43 -0
- package/dist/esm/components/LiveChatWidget/LiveChatWidget.js +2 -0
- package/dist/esm/components/LiveChatWidget/LiveChatWidget.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/api/chat.d.ts +25 -0
- package/dist/esm/components/LiveChatWidget/api/chat.js +3 -0
- package/dist/esm/components/LiveChatWidget/api/chat.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ChatBubble.d.ts +68 -0
- package/dist/esm/components/LiveChatWidget/components/ChatBubble.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/ChatBubble.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ChatHeader.d.ts +57 -0
- package/dist/esm/components/LiveChatWidget/components/ChatHeader.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/ChatHeader.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ChatInput.d.ts +70 -0
- package/dist/esm/components/LiveChatWidget/components/ChatInput.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/ChatInput.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ChatMessage.d.ts +59 -0
- package/dist/esm/components/LiveChatWidget/components/ChatMessage.js +5 -0
- package/dist/esm/components/LiveChatWidget/components/ChatMessage.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ChatWindow.d.ts +127 -0
- package/dist/esm/components/LiveChatWidget/components/ChatWindow.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/ChatWindow.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.d.ts +54 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.d.ts +33 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.d.ts +16 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.d.ts +45 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js +5 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.d.ts +48 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js +5 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.d.ts +70 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.d.ts +47 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.d.ts +78 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.d.ts +54 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.d.ts +31 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.d.ts +31 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/index.d.ts +15 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent.d.ts +63 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/MessageContent.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/MessageList.d.ts +74 -0
- package/dist/esm/components/LiveChatWidget/components/MessageList.js +5 -0
- package/dist/esm/components/LiveChatWidget/components/MessageList.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.d.ts +44 -0
- package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js +2 -0
- package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/constants.d.ts +8 -0
- package/dist/esm/components/LiveChatWidget/constants.js +2 -0
- package/dist/esm/components/LiveChatWidget/constants.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.d.ts +51 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js +2 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatState.d.ts +120 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatState.js +2 -0
- package/dist/esm/components/LiveChatWidget/hooks/useChatState.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/hooks/useSession.d.ts +37 -0
- package/dist/esm/components/LiveChatWidget/hooks/useSession.js +2 -0
- package/dist/esm/components/LiveChatWidget/hooks/useSession.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/index.d.ts +12 -0
- package/dist/esm/components/LiveChatWidget/index.js +2 -0
- package/dist/esm/components/LiveChatWidget/index.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/types.d.ts +609 -0
- package/dist/esm/components/LiveChatWidget/types.js +1 -0
- package/dist/esm/components/LiveChatWidget/types.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/utils/cartTransformers.d.ts +25 -0
- package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js +2 -0
- package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
- package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js +2 -0
- package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
- package/dist/esm/components/LiveChatWidget/utils/productTransformers.js +2 -0
- package/dist/esm/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/utils/userId.d.ts +18 -0
- package/dist/esm/components/LiveChatWidget/utils/userId.js +2 -0
- package/dist/esm/components/LiveChatWidget/utils/userId.js.map +7 -0
- package/dist/esm/components/LiveChatWidget/utils/validation.d.ts +37 -0
- package/dist/esm/components/LiveChatWidget/utils/validation.js +2 -0
- package/dist/esm/components/LiveChatWidget/utils/validation.js.map +7 -0
- package/dist/esm/components/chat/markdown.js +1 -1
- package/dist/esm/components/chat/markdown.js.map +2 -2
- package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.d.ts +2 -2
- package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js +1 -1
- package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js.map +2 -2
- package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
- package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +2 -2
- package/dist/esm/components/credits/context/memberPriceConst.d.ts +0 -5
- package/dist/esm/components/credits/context/memberPriceConst.js +1 -1
- package/dist/esm/components/credits/context/memberPriceConst.js.map +3 -3
- package/dist/esm/components/credits/context/memberPriceTypes.d.ts +1 -22
- package/dist/esm/components/credits/context/provider.d.ts +16 -1
- package/dist/esm/components/credits/context/provider.js +1 -1
- package/dist/esm/components/credits/context/provider.js.map +3 -3
- package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.d.ts +2 -2
- package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js +1 -1
- package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js.map +1 -1
- package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +2 -2
- package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +1 -1
- package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +1 -1
- package/dist/esm/components/credits/context/utils/variantGetCoupon.d.ts +2 -2
- package/dist/esm/components/credits/context/utils/variantGetCoupon.js +1 -1
- package/dist/esm/components/credits/context/utils/variantGetCoupon.js.map +1 -1
- package/dist/esm/components/credits/context/utils.d.ts +4 -0
- package/dist/esm/components/credits/context/utils.js +1 -1
- package/dist/esm/components/credits/context/utils.js.map +3 -3
- package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
- package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
- package/dist/esm/components/credits/creditsBanner/index.d.ts +2 -0
- package/dist/esm/components/credits/creditsBanner/index.js +12 -1
- package/dist/esm/components/credits/creditsBanner/index.js.map +3 -3
- package/dist/esm/components/credits/creditsBenefits/BenefitItem.js +1 -1
- package/dist/esm/components/credits/creditsBenefits/BenefitItem.js.map +3 -3
- package/dist/esm/components/credits/creditsBenefits/IconInfo.js +1 -1
- package/dist/esm/components/credits/creditsBenefits/IconInfo.js.map +1 -1
- package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
- package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
- package/dist/esm/components/credits/creditsCash/CreditsCash.js +1 -1
- package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +3 -3
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
- package/dist/esm/components/credits/creditsCash/type.d.ts +1 -0
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
- package/dist/esm/components/credits/creditsFaq/index.js +1 -1
- package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
- package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
- package/dist/esm/components/credits/creditsInfoCard/index.js.map +2 -2
- package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
- package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
- package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
- package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
- package/dist/esm/components/credits/creditsMemberPrice/Pagination.d.ts +7 -0
- package/dist/esm/components/credits/creditsMemberPrice/Pagination.js +2 -0
- package/dist/esm/components/credits/creditsMemberPrice/Pagination.js.map +7 -0
- package/dist/esm/components/credits/creditsMemberPrice/type.d.ts +3 -5
- package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
- package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +2 -2
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
- package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
- package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
- package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
- package/dist/esm/components/credits/modal/MyRewardsModal.js.map +2 -2
- package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
- package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
- package/dist/esm/components/credits/modal/modalContainer.js +1 -1
- package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
- package/dist/esm/components/credits/modal/subscribeModal.js +1 -1
- package/dist/esm/components/credits/modal/subscribeModal.js.map +3 -3
- package/dist/esm/components/credits/modal/tip.js +1 -1
- package/dist/esm/components/credits/modal/tip.js.map +3 -3
- package/dist/esm/components/index.d.ts +3 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
- package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
- package/dist/esm/components/registration/modalContainer.js +1 -1
- package/dist/esm/components/registration/modalContainer.js.map +3 -3
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +7 -0
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/stories/CartCard.stories.d.ts +33 -0
- package/dist/esm/stories/CartCard.stories.js +21 -0
- package/dist/esm/stories/CartCard.stories.js.map +7 -0
- package/dist/esm/stories/LiveChatWidget.stories.d.ts +92 -0
- package/dist/esm/stories/LiveChatWidget.stories.js +98 -0
- package/dist/esm/stories/LiveChatWidget.stories.js.map +7 -0
- package/dist/esm/templates/Credits.d.ts +15 -1
- package/dist/esm/templates/Credits.js +1 -1
- package/dist/esm/templates/Credits.js.map +3 -3
- package/package.json +7 -3
- package/src/components/LiveChatWidget/LiveChatWidget.tsx +599 -0
- package/src/components/LiveChatWidget/api/chat.ts +136 -0
- package/src/components/LiveChatWidget/components/ChatBubble.tsx +152 -0
- package/src/components/LiveChatWidget/components/ChatHeader.tsx +151 -0
- package/src/components/LiveChatWidget/components/ChatInput.tsx +216 -0
- package/src/components/LiveChatWidget/components/ChatMessage.tsx +182 -0
- package/src/components/LiveChatWidget/components/ChatWindow.tsx +304 -0
- package/src/components/LiveChatWidget/components/MessageContent/CartCard.tsx +198 -0
- package/src/components/LiveChatWidget/components/MessageContent/ErrorBlock.tsx +75 -0
- package/src/components/LiveChatWidget/components/MessageContent/FAQList.tsx +127 -0
- package/src/components/LiveChatWidget/components/MessageContent/PolicyBlock.tsx +150 -0
- package/src/components/LiveChatWidget/components/MessageContent/ProductCard.tsx +139 -0
- package/src/components/LiveChatWidget/components/MessageContent/ProductComparison.tsx +348 -0
- package/src/components/LiveChatWidget/components/MessageContent/ProductList.tsx +275 -0
- package/src/components/LiveChatWidget/components/MessageContent/PromotionList.tsx +207 -0
- package/src/components/LiveChatWidget/components/MessageContent/QuickReplies.tsx +91 -0
- package/src/components/LiveChatWidget/components/MessageContent/TextBlock.tsx +89 -0
- package/src/components/LiveChatWidget/components/MessageContent/ThinkingBlock.tsx +53 -0
- package/src/components/LiveChatWidget/components/MessageContent/index.ts +16 -0
- package/src/components/LiveChatWidget/components/MessageContent.tsx +110 -0
- package/src/components/LiveChatWidget/components/MessageList.tsx +261 -0
- package/src/components/LiveChatWidget/components/ScrollAnchor.tsx +75 -0
- package/src/components/LiveChatWidget/constants.ts +15 -0
- package/src/components/LiveChatWidget/hooks/useChatAPI.ts +136 -0
- package/src/components/LiveChatWidget/hooks/useChatState.ts +542 -0
- package/src/components/LiveChatWidget/hooks/useSession.ts +123 -0
- package/src/components/LiveChatWidget/index.tsx +62 -0
- package/src/components/LiveChatWidget/types.ts +769 -0
- package/src/components/LiveChatWidget/utils/cartTransformers.ts +72 -0
- package/src/components/LiveChatWidget/utils/messageRenderers.ts +120 -0
- package/src/components/LiveChatWidget/utils/productTransformers.ts +149 -0
- package/src/components/LiveChatWidget/utils/userId.ts +140 -0
- package/src/components/LiveChatWidget/utils/validation.ts +99 -0
- package/src/components/chat/markdown.tsx +1 -1
- package/src/components/credits/context/hooks/useRedeemableList.ts +1 -1
- package/src/components/credits/context/memberPriceConst.ts +0 -7
- package/src/components/credits/context/memberPriceTypes.ts +1 -26
- package/src/components/credits/context/provider.tsx +16 -0
- package/src/components/credits/context/utils.ts +9 -0
- package/src/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.tsx +44 -41
- package/src/components/credits/creditsBanner/index.tsx +31 -3
- package/src/components/credits/creditsBenefits/BenefitItem.tsx +13 -5
- package/src/components/credits/creditsBenefits/IconInfo.tsx +1 -1
- package/src/components/credits/creditsBenefits/index.tsx +1 -1
- package/src/components/credits/creditsCash/CreditsCash.tsx +6 -3
- package/src/components/credits/creditsCash/RedeemableItem.tsx +29 -11
- package/src/components/credits/creditsCash/type.ts +1 -0
- package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +25 -23
- package/src/components/credits/creditsFaq/index.tsx +2 -1
- package/src/components/credits/creditsInfoCard/index.tsx +10 -3
- package/src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx +160 -136
- package/src/components/credits/creditsMemberPrice/MemberPriceItem.tsx +134 -29
- package/src/components/credits/creditsMemberPrice/Pagination.tsx +113 -0
- package/src/components/credits/creditsMemberPrice/type.ts +3 -5
- package/src/components/credits/creditsNavigation/CreditsNavigation.tsx +3 -3
- package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +2 -1
- package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +2 -1
- package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +2 -1
- package/src/components/credits/creditsRedeemList/CreditsRedeemList.tsx +32 -18
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +2 -1
- package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +6 -4
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +2 -1
- package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +21 -7
- package/src/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.tsx +34 -20
- package/src/components/credits/modal/MyRewardsModal.tsx +2 -1
- package/src/components/credits/modal/activitiesModal.tsx +2 -1
- package/src/components/credits/modal/creditsUploadReceiptModal.tsx +2 -1
- package/src/components/credits/modal/modalContainer.tsx +2 -1
- package/src/components/credits/modal/subscribeModal.tsx +2 -1
- package/src/components/credits/modal/tip.tsx +2 -1
- package/src/components/index.ts +23 -1
- package/src/components/registration/authCodeActivate/index.tsx +3 -1
- package/src/components/registration/modalContainer.tsx +2 -1
- package/src/constants.ts +1 -0
- package/src/index.ts +3 -2
- package/src/stories/CartCard.stories.tsx +459 -0
- package/src/stories/LiveChatWidget.stories.tsx +461 -0
- package/src/styles/livechat.css +263 -0
- package/src/templates/Credits.tsx +26 -9
- package/src/components/credits/context/hooks/useFunctionMemberPrice.ts +0 -33
- package/src/components/credits/context/utils/atobID.ts +0 -8
- package/src/components/credits/context/utils/functionDiscountCalculate.ts +0 -57
- package/src/components/credits/context/utils/getFunctionMemberPrice.ts +0 -135
- package/src/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.ts +0 -51
- package/src/components/credits/context/utils/variantGetCoupon.ts +0 -34
|
@@ -147,3 +147,12 @@ export function formatVariantPrice({
|
|
|
147
147
|
|
|
148
148
|
return { price, basePrice, discount }
|
|
149
149
|
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* 提取 variant id,去掉 gid://shopify/ProductVariant/ 前缀
|
|
153
|
+
*/
|
|
154
|
+
export function extractVariantId(id: string | number | undefined): string | null {
|
|
155
|
+
if (!id) return null
|
|
156
|
+
const idStr = typeof id === 'number' ? id.toString() : id
|
|
157
|
+
return idStr.replace('gid://shopify/ProductVariant/', '')
|
|
158
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Button, Container, Heading, Picture, Text } from '@anker-in/headless-ui'
|
|
2
2
|
import { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline'
|
|
3
|
-
import {
|
|
4
|
-
import { useMemo, useState } from 'react'
|
|
3
|
+
import { useMemo, useState, useRef, useEffect } from 'react'
|
|
5
4
|
|
|
6
5
|
import { TaskType, type CreditsAnkersolixTaskProps } from './type'
|
|
7
6
|
import { useActions } from '../creditsWaysToGetCredits/useActions'
|
|
8
7
|
import { useCreditsContext } from '../context/provider'
|
|
9
|
-
import { classNames as cn, useHeadlessContext
|
|
8
|
+
import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
|
|
10
9
|
import { useRegistration } from '../../registration'
|
|
11
10
|
import { CreditsUploadReceiptModal } from '../modal/creditsUploadReceiptModal'
|
|
12
11
|
import { CreditsSubscribeModal } from '../modal/subscribeModal'
|
|
12
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
13
13
|
|
|
14
14
|
export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersolixTaskProps & { id?: string }) => {
|
|
15
15
|
const [showMore, setShowMore] = useState(false)
|
|
@@ -35,6 +35,21 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
35
35
|
isSuccess: isUploadReceiptSuccess,
|
|
36
36
|
},
|
|
37
37
|
})
|
|
38
|
+
|
|
39
|
+
const shouldShowMask = (copy?.list || []).length > 3
|
|
40
|
+
|
|
41
|
+
// Handle scroll after collapse animation
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (!showMore && shouldShowMask && window.screen.width < 768) {
|
|
44
|
+
const timer = setTimeout(() => {
|
|
45
|
+
const section = document.getElementById(id || 'ankersolix-task')
|
|
46
|
+
if (section) {
|
|
47
|
+
section.scrollIntoView({ behavior: 'smooth', block: 'end' })
|
|
48
|
+
}
|
|
49
|
+
}, 300) // Match transition duration
|
|
50
|
+
return () => clearTimeout(timer)
|
|
51
|
+
}
|
|
52
|
+
}, [showMore, shouldShowMask, id])
|
|
38
53
|
const list = useMemo(() => {
|
|
39
54
|
const list = copy.list
|
|
40
55
|
.map(item => {
|
|
@@ -90,12 +105,9 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
90
105
|
}
|
|
91
106
|
}, [actions, copy.list, isLogin])
|
|
92
107
|
|
|
93
|
-
// 只有大于3个任务时才显示蒙层
|
|
94
|
-
const shouldShowMask = list.length > 3
|
|
95
|
-
|
|
96
108
|
return (
|
|
97
|
-
<Container id={id} className="
|
|
98
|
-
<Heading as="h2" size="4" html={copy.title}
|
|
109
|
+
<Container id={id} className="bg-[#F5F5F7]">
|
|
110
|
+
<Heading as="h2" size="4" html={copy.title} />
|
|
99
111
|
<div
|
|
100
112
|
className={cn(
|
|
101
113
|
'mt-[24px] p-[32px] md-l:p-[32px] md:p-[16px] relative overflow-hidden',
|
|
@@ -114,8 +126,8 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
114
126
|
}}
|
|
115
127
|
/>
|
|
116
128
|
{/* 副标题和装饰图部分 */}
|
|
117
|
-
<div className="flex items-center justify-between h-[560px]
|
|
118
|
-
<div className="flex flex-col gap-[8px]">
|
|
129
|
+
<div className="flex items-center justify-between xl-xxl:h-[448px] l-xl:h-[336px] h-[560px] l:h-auto md:flex-col md:items-start l:h-auto l:mb-[16px] l:flex-col-reverse l:items-start">
|
|
130
|
+
<div className="flex flex-col gap-[8px] l:mt-[8px]">
|
|
119
131
|
<Heading
|
|
120
132
|
as="h3"
|
|
121
133
|
size={4}
|
|
@@ -124,59 +136,55 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
124
136
|
/>
|
|
125
137
|
<div className="flex items-center gap-[8px]">
|
|
126
138
|
<p
|
|
127
|
-
className="text-[48px] font-bold
|
|
139
|
+
className="text-[48px] font-bold leading-none bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-43% to-[#00db84] bg-clip-text text-transparent xl-xxl:text-[40px] l-xl:text-[32px] l:text-[24px]"
|
|
128
140
|
dangerouslySetInnerHTML={{ __html: copy.equalCredits }}
|
|
129
141
|
/>
|
|
130
142
|
</div>
|
|
131
143
|
</div>
|
|
132
144
|
{copy.mainImage?.url && (
|
|
133
|
-
<Picture
|
|
145
|
+
<Picture
|
|
146
|
+
className="h-full object-contain l:mx-auto md:h-auto md:w-full md-l:h-[302px]"
|
|
147
|
+
imgClassName="!h-full !object-contain"
|
|
148
|
+
source={copy.mainImage.url}
|
|
149
|
+
/>
|
|
134
150
|
)}
|
|
135
151
|
</div>
|
|
136
152
|
|
|
137
153
|
{/* 卡片列表 */}
|
|
138
|
-
<div className="relative">
|
|
139
|
-
<
|
|
154
|
+
<div className="relative mt-[24px]">
|
|
155
|
+
<div
|
|
140
156
|
className={cn(
|
|
141
|
-
'grid grid-cols-3 gap-[16px] overflow-hidden md:grid-cols-1 md-l:grid-cols-2 min-md:!h-auto'
|
|
157
|
+
'grid grid-cols-3 gap-[16px] overflow-hidden md:grid-cols-1 md-l:grid-cols-2 min-md:!h-auto transition-all duration-300 ease-in-out'
|
|
142
158
|
)}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
transition={{ duration: 0.3 }}
|
|
146
|
-
onAnimationComplete={() => {
|
|
147
|
-
if (!showMore && shouldShowMask && window.screen.width < 768) {
|
|
148
|
-
const section = document.getElementById(id || 'ankersolix-task')
|
|
149
|
-
if (section) {
|
|
150
|
-
section.scrollIntoView({ behavior: 'smooth', block: 'end' })
|
|
151
|
-
}
|
|
152
|
-
}
|
|
159
|
+
style={{
|
|
160
|
+
height: showMore || !shouldShowMask ? 'auto' : '512px',
|
|
153
161
|
}}
|
|
154
162
|
>
|
|
155
163
|
{list.map(item => (
|
|
156
164
|
<div
|
|
157
165
|
key={item.id}
|
|
158
166
|
className={cn(
|
|
159
|
-
'flex min-h-[241px] xl-xxl:min-h-[192px] l:min-h-[160px] l-xl:min-h-[170px] flex-col justify-between bg-white p-[32px]
|
|
160
|
-
rounded ? '' : ''
|
|
167
|
+
'flex min-h-[241px] xl-xxl:min-h-[192px] l:min-h-[160px] l-xl:min-h-[170px] flex-col justify-between bg-white p-[32px] xl:p-[16px]',
|
|
168
|
+
rounded ? 'rounded-[16px]' : ''
|
|
161
169
|
)}
|
|
162
170
|
>
|
|
163
171
|
<div>
|
|
164
|
-
<
|
|
165
|
-
as="
|
|
172
|
+
<Text
|
|
173
|
+
as="p"
|
|
166
174
|
html={item.title}
|
|
167
175
|
size={2}
|
|
168
|
-
className="text-[24px] font-bold
|
|
176
|
+
className="text-pretty text-[24px] font-bold xxl:text-[20px]"
|
|
169
177
|
/>
|
|
170
|
-
<div className="mt-[8px] flex items-center
|
|
178
|
+
<div className="mt-[8px] l:mt-[4px] flex items-center">
|
|
171
179
|
<Picture
|
|
172
|
-
className="size-[24px] [&_path]:size-full"
|
|
180
|
+
className="size-[24px] xxl:size-[18px] [&_path]:size-full"
|
|
173
181
|
source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/20250902-153351.png?v=1756798450"
|
|
174
182
|
/>
|
|
175
183
|
<Text
|
|
176
184
|
as="p"
|
|
177
185
|
html={item.credits}
|
|
178
186
|
size={2}
|
|
179
|
-
className="
|
|
187
|
+
className="ml-[4px] mt-[6px] text-[18px] xxl:text-[14px]"
|
|
180
188
|
/>
|
|
181
189
|
</div>
|
|
182
190
|
</div>
|
|
@@ -191,17 +199,12 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
191
199
|
{...(item.handleClick && { onClick: item.handleClick })}
|
|
192
200
|
variant="primary"
|
|
193
201
|
size="lg"
|
|
194
|
-
className="mt-[24px] w-fit
|
|
202
|
+
className="mt-[24px] w-fit"
|
|
195
203
|
>
|
|
196
204
|
{item.buttonLabel}
|
|
197
205
|
</Button>
|
|
198
206
|
) : (
|
|
199
|
-
<Button
|
|
200
|
-
variant="primary"
|
|
201
|
-
size="lg"
|
|
202
|
-
className="mt-[24px] w-fit bg-[#080a0f] text-white text-[16px] font-bold tracking-[-0.64px] leading-[1.2]"
|
|
203
|
-
disabled
|
|
204
|
-
>
|
|
207
|
+
<Button variant="primary" size="lg" className="mt-[24px] w-fit" disabled>
|
|
205
208
|
{item.buttonLabel}
|
|
206
209
|
</Button>
|
|
207
210
|
)}
|
|
@@ -213,7 +216,7 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
|
|
|
213
216
|
style={{ background: 'linear-gradient(180deg, rgba(244, 202, 129, 0) 66.37%, #f4ca81 100%)' }}
|
|
214
217
|
></div>
|
|
215
218
|
)}
|
|
216
|
-
</
|
|
219
|
+
</div>
|
|
217
220
|
{shouldShowMask && (
|
|
218
221
|
<>
|
|
219
222
|
{showMore ? (
|
|
@@ -5,6 +5,8 @@ import { useCreditsContext } from '../context/provider'
|
|
|
5
5
|
type Img = {
|
|
6
6
|
url: string
|
|
7
7
|
alt: string
|
|
8
|
+
width?: number
|
|
9
|
+
height?: number
|
|
8
10
|
}
|
|
9
11
|
export type CreditsBannerCopy = {
|
|
10
12
|
pcImg: Img
|
|
@@ -34,15 +36,41 @@ export function CreditsBanner({ copy, id }: { copy: CreditsBannerCopy; id?: stri
|
|
|
34
36
|
buttonType === 'primary' ? openSignUpPopup() : openSignInPopup()
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
// 计算图片比例,如果没有配置则使用默认值
|
|
40
|
+
const pcAspectRatio =
|
|
41
|
+
copy.pcImg?.width && copy.pcImg?.height ? `${copy.pcImg.width} / ${copy.pcImg.height}` : '1920 / 804'
|
|
42
|
+
const laptopAspectRatio =
|
|
43
|
+
copy.laptopImg?.width && copy.laptopImg?.height ? `${copy.laptopImg.width} / ${copy.laptopImg.height}` : '768 / 660'
|
|
44
|
+
const mobileAspectRatio =
|
|
45
|
+
copy.mobileImg?.width && copy.mobileImg?.height ? `${copy.mobileImg.width} / ${copy.mobileImg.height}` : '390 / 660'
|
|
46
|
+
|
|
37
47
|
return (
|
|
38
48
|
<>
|
|
39
49
|
<div id={id} className=" relative w-full">
|
|
40
50
|
<Picture
|
|
41
|
-
className="
|
|
51
|
+
className="credits-banner-image w-full"
|
|
52
|
+
style={{
|
|
53
|
+
aspectRatio: pcAspectRatio,
|
|
54
|
+
}}
|
|
55
|
+
imgClassName="object-cover w-full h-full"
|
|
42
56
|
source={`${copy.pcImg?.url}, ${copy.laptopImg?.url} 1024, ${copy.mobileImg?.url} 768`}
|
|
43
57
|
alt={copy.pcImg?.alt}
|
|
44
58
|
loading="eager"
|
|
45
59
|
></Picture>
|
|
60
|
+
<style>
|
|
61
|
+
{`
|
|
62
|
+
@media (max-width: 1024px) and (min-width: 768px) {
|
|
63
|
+
.credits-banner-image {
|
|
64
|
+
aspect-ratio: ${laptopAspectRatio} !important;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
@media (max-width: 767px) {
|
|
68
|
+
.credits-banner-image {
|
|
69
|
+
aspect-ratio: ${mobileAspectRatio} !important;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
`}
|
|
73
|
+
</style>
|
|
46
74
|
{isLogin && (
|
|
47
75
|
<div
|
|
48
76
|
className="absolute inset-0 "
|
|
@@ -54,10 +82,10 @@ export function CreditsBanner({ copy, id }: { copy: CreditsBannerCopy; id?: stri
|
|
|
54
82
|
|
|
55
83
|
<Container className="l:h-auto !absolute inset-0 mx-auto grid h-full" asChild>
|
|
56
84
|
<div className="grid grid-cols-12">
|
|
57
|
-
<div className="l:col-span-12 l:justify-start l:truncate l:pt-[
|
|
85
|
+
<div className="l:col-span-12 l:justify-start l:truncate l:pt-[32px] col-span-5 flex h-full flex-col justify-center text-[#1F2021]">
|
|
58
86
|
<Heading
|
|
59
87
|
as="h1"
|
|
60
|
-
|
|
88
|
+
className="text-[48px] font-bold xl-xxl:text-[40px] l:text-[32px]"
|
|
61
89
|
html={isLogin ? copy.login.title?.replace('$name', displayName || '') : copy.unLogin.title}
|
|
62
90
|
></Heading>
|
|
63
91
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Heading, Picture, Text } from '@anker-in/headless-ui'
|
|
2
|
-
import { classNames as cn, useHeadlessContext
|
|
2
|
+
import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
|
|
3
3
|
import IconInfo from './IconInfo'
|
|
4
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
4
5
|
|
|
5
6
|
export interface BenefitItemCopy {
|
|
6
7
|
icon: {
|
|
@@ -28,13 +29,16 @@ const BenefitItem = ({
|
|
|
28
29
|
cardBgColor?: string
|
|
29
30
|
cardBorderColor?: string
|
|
30
31
|
}) => {
|
|
31
|
-
const { brand } = useHeadlessContext()
|
|
32
|
+
const { brand, locale } = useHeadlessContext()
|
|
32
33
|
const rounded = ROUNDED_BRANDS.includes(brand)
|
|
33
34
|
|
|
35
|
+
// 德语和法语需要折行
|
|
36
|
+
const shouldBreakWords = ['de', 'eu-de', 'fr', 'eu-fr'].includes(locale)
|
|
37
|
+
|
|
34
38
|
// 根据 bigIcon 设置不同屏幕下的图标大小
|
|
35
|
-
// 尺寸:≥1921px=64px, 1441-1920px=
|
|
39
|
+
// 尺寸:≥1921px=64px, 1441-1920px=56px, 1025-1440px=20px, ≤1024px=48px
|
|
36
40
|
const iconSizeClass = bigIcon
|
|
37
|
-
? 'mb-[16px] size-[64px] xl-xxl:size-[
|
|
41
|
+
? 'mb-[16px] size-[64px] xl-xxl:size-[56px] xl:size-[48px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0'
|
|
38
42
|
: 'mb-[16px] size-[31px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0'
|
|
39
43
|
|
|
40
44
|
console.log('cardBgColor in BenefitItem', cardBgColor)
|
|
@@ -60,7 +64,11 @@ const BenefitItem = ({
|
|
|
60
64
|
<div className="flex flex-col">
|
|
61
65
|
<Picture className={iconSizeClass} alt={item.icon?.alt} source={item.icon?.url} />
|
|
62
66
|
<div className="flex items-center">
|
|
63
|
-
<Heading
|
|
67
|
+
<Heading
|
|
68
|
+
html={item.text}
|
|
69
|
+
size="2"
|
|
70
|
+
className={cn('md-l:line-clamp-3', shouldBreakWords && 'break-words')}
|
|
71
|
+
/>
|
|
64
72
|
{item.note && (
|
|
65
73
|
<div
|
|
66
74
|
role="button"
|
|
@@ -47,7 +47,7 @@ export const CreditsBenefits = ({ copy, id }: { copy: CreditsBenefitsCopy; id?:
|
|
|
47
47
|
return (
|
|
48
48
|
<Container id={id} className="!z-[30] bg-[#F5F5F7]">
|
|
49
49
|
<Heading as="h2" size="4" html={copy?.title} />
|
|
50
|
-
<div className="mt-[24px] grid grid-cols-4
|
|
50
|
+
<div className="mt-[24px] grid grid-cols-4 gap-[16px] l:hidden items-stretch">
|
|
51
51
|
{copy.benefits.map((item, index) => (
|
|
52
52
|
<BenefitItem
|
|
53
53
|
key={index}
|
|
@@ -4,16 +4,19 @@ import { useMemo, useState } from 'react'
|
|
|
4
4
|
import RedeemableItem from './RedeemableItem'
|
|
5
5
|
import useRedeemableList from '../context/hooks/useRedeemableList'
|
|
6
6
|
import RulesModal from '../modal/rulesModal'
|
|
7
|
-
import { useProductsByHandles } from '@anker-in/lib'
|
|
7
|
+
import { useProductsByHandles, useHeadlessContext } from '@anker-in/lib'
|
|
8
8
|
import { CreditsCashCopy, RedeemItem } from './type'
|
|
9
9
|
import { Product, classNames as cn } from '@anker-in/lib'
|
|
10
10
|
import { useCreditsContext } from '../context/provider'
|
|
11
11
|
import { numberFormat } from '../context/utils'
|
|
12
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
12
13
|
|
|
13
14
|
export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }) => {
|
|
14
15
|
const [rules, setRules] = useState<string | string[]>()
|
|
15
16
|
const { redeemableList } = useRedeemableList()
|
|
16
17
|
const { pageCommon } = useCreditsContext()
|
|
18
|
+
const { brand } = useHeadlessContext()
|
|
19
|
+
const rounded = ROUNDED_BRANDS.includes(brand)
|
|
17
20
|
|
|
18
21
|
const variantMetafieldIdentifiers: any[] = []
|
|
19
22
|
|
|
@@ -27,7 +30,7 @@ export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }
|
|
|
27
30
|
const list = useMemo(() => {
|
|
28
31
|
return productByHandles
|
|
29
32
|
?.map((product: Product) => {
|
|
30
|
-
const config = copy.list.find(item => item.products?.[0]?.handle === product.handle)
|
|
33
|
+
const config = (copy.list || []).find(item => item.products?.[0]?.handle === product.handle)
|
|
31
34
|
const alpcData = redeemableList.find(item => item.id?.toString() === config?.redeemId?.toString())
|
|
32
35
|
const productVariant =
|
|
33
36
|
product.variants?.find((variant: any) => variant.sku === config?.products?.[0]?.sku) || product.variants?.[0]
|
|
@@ -69,7 +72,7 @@ export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }
|
|
|
69
72
|
{rules && (
|
|
70
73
|
<RulesModal
|
|
71
74
|
overlayClassName="md:px-[16px] md:items-center"
|
|
72
|
-
className=
|
|
75
|
+
className={cn('md:h-fit md:rounded-b-[16px]', !rounded && 'md:rounded-none')}
|
|
73
76
|
isOpen={rules.length > 0}
|
|
74
77
|
onClose={() => setRules([])}
|
|
75
78
|
titleClassName="border-b-transparent h-[56px]"
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { Button, Text, Picture } from '@anker-in/headless-ui'
|
|
1
|
+
import { Button, Text, Picture, Badge } from '@anker-in/headless-ui'
|
|
2
2
|
import { useMemo, useState } from 'react'
|
|
3
3
|
|
|
4
4
|
import { CreditsCashCopy, RedeemItem } from './type'
|
|
5
5
|
import { useCreditsContext } from '../context/provider'
|
|
6
6
|
import { useRedeemAndBuy } from '../context/hooks/useRedeemAndBuy'
|
|
7
|
-
import { formatPrice, numberFormat } from '../context/utils'
|
|
8
|
-
import { gaTrack, classNames as cn,
|
|
7
|
+
import { formatPrice, numberFormat, extractVariantId } from '../context/utils'
|
|
8
|
+
import { gaTrack, classNames as cn, useHeadlessContext } from '@anker-in/lib'
|
|
9
9
|
import { useRegistration } from '../../../components/registration'
|
|
10
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
10
11
|
|
|
11
12
|
function RedeemableItem({
|
|
12
13
|
copy,
|
|
@@ -25,7 +26,7 @@ function RedeemableItem({
|
|
|
25
26
|
profile,
|
|
26
27
|
openSignUpPopup,
|
|
27
28
|
pageCommon,
|
|
28
|
-
gtm: { pageGroup },
|
|
29
|
+
gtm: { pageGroup, pageHandle },
|
|
29
30
|
} = useCreditsContext()
|
|
30
31
|
const { authCodeActivate } = useRegistration()
|
|
31
32
|
const { brand, locale } = useHeadlessContext()
|
|
@@ -112,14 +113,31 @@ function RedeemableItem({
|
|
|
112
113
|
return (
|
|
113
114
|
<div
|
|
114
115
|
className={cn(
|
|
115
|
-
'flex flex-col items-center rounded-[16px] bg-[#EAEAEC]
|
|
116
|
+
'relative flex flex-col items-center rounded-[16px] bg-[#EAEAEC] md:rounded-[12px] px-[24px] pb-[24px] l:px-[8px] l:pb-[8px] md-xl:px-[16px] md-xl:pb-[16px]',
|
|
116
117
|
!rounded && 'rounded-none md:rounded-none',
|
|
118
|
+
copy.badgeLabel ? 'pt-[48px] l:pt-[44px]' : 'pt-[24px] md-xl:pt-[16px] l:pt-[8px]',
|
|
117
119
|
className
|
|
118
120
|
)}
|
|
119
121
|
>
|
|
122
|
+
{/* Redeem 标签 Badge */}
|
|
123
|
+
{copy.badgeLabel && (
|
|
124
|
+
<Badge
|
|
125
|
+
className="absolute left-[24px] l:left-[16px] !bg-gradient-brand top-[16px] z-10"
|
|
126
|
+
size="lg"
|
|
127
|
+
variant="promotional"
|
|
128
|
+
promotionalType="regular-member"
|
|
129
|
+
>
|
|
130
|
+
{copy.badgeLabel}
|
|
131
|
+
</Badge>
|
|
132
|
+
)}
|
|
133
|
+
|
|
120
134
|
<a
|
|
121
|
-
href={
|
|
122
|
-
|
|
135
|
+
href={
|
|
136
|
+
extractVariantId(itemData.productVariant?.id)
|
|
137
|
+
? `/products/${itemData.product.handle}?variant=${extractVariantId(itemData.productVariant?.id)}${pageHandle ? `&ref=${pageHandle}` : ''}`
|
|
138
|
+
: `/products/${itemData.product.handle}${pageHandle ? `?ref=${pageHandle}` : ''}`
|
|
139
|
+
}
|
|
140
|
+
className={cn('relative mx-auto h-[196px] w-fit md:h-[120px] md-xxl:h-[138px]')}
|
|
123
141
|
>
|
|
124
142
|
<Picture
|
|
125
143
|
className="mx-auto h-full w-auto"
|
|
@@ -131,12 +149,12 @@ function RedeemableItem({
|
|
|
131
149
|
}
|
|
132
150
|
></Picture>
|
|
133
151
|
</a>
|
|
134
|
-
<div className={cn('mt-[
|
|
152
|
+
<div className={cn('mt-[10px] w-full xl:mt-[8px]')}>
|
|
135
153
|
<Text
|
|
136
154
|
html={itemData?.product?.title}
|
|
137
155
|
title={itemData.config?.title || itemData.alpcData?.title || itemData.product?.title}
|
|
138
156
|
size={2}
|
|
139
|
-
className="line-clamp-2 h-[58px] text-[24px] l-xxl:text-[20px] l:text-[16px] leading-[1.2] l:h-[
|
|
157
|
+
className="line-clamp-2 h-[58px] text-[24px] l-xxl:text-[20px] l:text-[16px] leading-[1.2] l:h-[38px] l-xxl:h-[48px]"
|
|
140
158
|
/>
|
|
141
159
|
{itemData?.config?.rules?.split('<br>')?.length > 0 && (
|
|
142
160
|
<button
|
|
@@ -167,7 +185,7 @@ function RedeemableItem({
|
|
|
167
185
|
</button>
|
|
168
186
|
)}
|
|
169
187
|
|
|
170
|
-
<div className="flex flex-wrap items-center l:mt-[12px] laptop:text-[16px] lg-desktop:text-[18px]">
|
|
188
|
+
<div className="flex flex-wrap items-center l:mt-[12px] md:min-h-[46px] laptop:text-[16px] lg-desktop:text-[18px]">
|
|
171
189
|
<Picture
|
|
172
190
|
className="size-[24px] l-xxl:size-[22px] md-l:size-[18px] md:size-[16px]"
|
|
173
191
|
source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783"
|
|
@@ -193,7 +211,7 @@ function RedeemableItem({
|
|
|
193
211
|
/>
|
|
194
212
|
</div>
|
|
195
213
|
|
|
196
|
-
<div className="group relative w-full">
|
|
214
|
+
<div className="group relative w-full mt-[8px]">
|
|
197
215
|
<Button
|
|
198
216
|
disabled={isDisabled}
|
|
199
217
|
variant="primary"
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Heading, Text } from '@anker-in/headless-ui'
|
|
2
2
|
import { ChevronDownIcon } from '@heroicons/react/24/outline'
|
|
3
3
|
import { classNames as cn } from '@anker-in/lib'
|
|
4
|
-
import { motion } from 'framer-motion'
|
|
5
4
|
import { type ReactNode, useEffect, useState } from 'react'
|
|
6
5
|
|
|
7
6
|
type FaqItemProps = {
|
|
@@ -67,29 +66,32 @@ export const FaqItem = ({
|
|
|
67
66
|
/>
|
|
68
67
|
)}
|
|
69
68
|
</div>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
>
|
|
75
|
-
{answer?.toString()?.includes('https://www.youtube.com') ? (
|
|
76
|
-
<Text
|
|
77
|
-
as="div"
|
|
78
|
-
className={cn('mt-[8px]')}
|
|
79
|
-
data-ratio="16:9"
|
|
80
|
-
data-content={answer}
|
|
81
|
-
html={answer?.toString()}
|
|
82
|
-
></Text>
|
|
83
|
-
) : (
|
|
84
|
-
<Text
|
|
85
|
-
as="div"
|
|
86
|
-
html={answer?.toString()}
|
|
87
|
-
className={cn(
|
|
88
|
-
'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline'
|
|
89
|
-
)}
|
|
90
|
-
></Text>
|
|
69
|
+
<div
|
|
70
|
+
className={cn(
|
|
71
|
+
'grid transition-all duration-300 ease-in-out [&_td]:border [&_td]:border-[#333] [&_td]:px-[8px] [&_td]:py-[4px]',
|
|
72
|
+
expanded ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'
|
|
91
73
|
)}
|
|
92
|
-
|
|
74
|
+
>
|
|
75
|
+
<div className="overflow-hidden">
|
|
76
|
+
{answer?.toString()?.includes('https://www.youtube.com') ? (
|
|
77
|
+
<Text
|
|
78
|
+
as="div"
|
|
79
|
+
className={cn('mt-[8px]')}
|
|
80
|
+
data-ratio="16:9"
|
|
81
|
+
data-content={answer}
|
|
82
|
+
html={answer?.toString()}
|
|
83
|
+
></Text>
|
|
84
|
+
) : (
|
|
85
|
+
<Text
|
|
86
|
+
as="div"
|
|
87
|
+
html={answer?.toString()}
|
|
88
|
+
className={cn(
|
|
89
|
+
'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline'
|
|
90
|
+
)}
|
|
91
|
+
></Text>
|
|
92
|
+
)}
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
93
95
|
</div>
|
|
94
96
|
)
|
|
95
97
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Container, Heading, Tabs, TabsList, TabsTrigger, Text } from '@anker-in/headless-ui'
|
|
2
|
-
import { classNames as cn, useHeadlessContext
|
|
2
|
+
import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
|
|
3
3
|
import { useMemo, useState } from 'react'
|
|
4
4
|
|
|
5
5
|
import { FaqItem } from './faqItem/FaqItem'
|
|
6
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
6
7
|
|
|
7
8
|
export type CreditsFaqCopy = {
|
|
8
9
|
title: string
|
|
@@ -5,7 +5,8 @@ import { useCreditsContext } from '../context/provider'
|
|
|
5
5
|
import { numberFormat } from '../context/utils'
|
|
6
6
|
import ActivitiesModal from '../modal/activitiesModal'
|
|
7
7
|
import MyRewardsModal from '../modal/MyRewardsModal'
|
|
8
|
-
import { gaNormalClick, classNames as cn, useHeadlessContext
|
|
8
|
+
import { gaNormalClick, classNames as cn, useHeadlessContext } from '@anker-in/lib'
|
|
9
|
+
import { ROUNDED_BRANDS } from '../../../constants'
|
|
9
10
|
|
|
10
11
|
type ButtonConfig = {
|
|
11
12
|
text: string
|
|
@@ -71,7 +72,13 @@ export function CreditsInfoCard({ copy, id }: { copy: CreditsInfoCardCopy; id?:
|
|
|
71
72
|
{copy.balanceLabel}
|
|
72
73
|
</div>
|
|
73
74
|
<div className="flex items-baseline">
|
|
74
|
-
<div
|
|
75
|
+
<div
|
|
76
|
+
className={cn(
|
|
77
|
+
'mr-[8px] text-[36px] font-extrabold text-brand-color-1',
|
|
78
|
+
'min-md:text-[44px]',
|
|
79
|
+
'min-xl:text-[56px]'
|
|
80
|
+
)}
|
|
81
|
+
>
|
|
75
82
|
{creditInfo ? numberFormat(creditInfo.available_credit) : 0}
|
|
76
83
|
</div>
|
|
77
84
|
<div className="text-[16px]">{pageCommon?.pointUnit}</div>
|
|
@@ -131,7 +138,7 @@ export function CreditsInfoCard({ copy, id }: { copy: CreditsInfoCardCopy; id?:
|
|
|
131
138
|
</div>
|
|
132
139
|
<div
|
|
133
140
|
className={cn(
|
|
134
|
-
'grid w-fit md:w-full l:mt-[32px] l:gap-[12px]
|
|
141
|
+
'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] gap-[16px] l:pl-0 l:pl-[48px] md-l:grid-cols-2'
|
|
135
142
|
)}
|
|
136
143
|
>
|
|
137
144
|
{copy.buttons?.map((item, index) => (
|