@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.35 kB
JavaScript
"use client";
import{formatCentsToCurrency}from"../currencies";export function manageGiftCard({order}){if(!order||!order?.payment_source)return null;const getPaymentSource=order.payment_source?.type==="adyen_payments"?order.payment_source:null;if(!getPaymentSource||getPaymentSource?.payment_response?.errorCode||!(getPaymentSource?.payment_request_data?.payment_method?.type==="giftcard"))return null;const additionalData=getPaymentSource?.payment_response?.additionalData,amount=getPaymentSource?.payment_response?.amount?.value??0,giftCardData={cardSummary:additionalData?.cardSummary??"",currentBalanceValue:amount??Number.parseInt(additionalData?.currentBalanceValue)??0,currentBalanceCurrency:additionalData?.currentBalanceCurrency??"",cardBrand:additionalData?.originalSelectedBrand??additionalData?.paymentMethod??"",formattedBalanceValue:additionalData?.currentBalanceValue??""},orderTotal=order?.total_amount_with_taxes_cents!=null?order?.total_amount_with_taxes_cents-giftCardData.currentBalanceValue:0,currencyCode=order?.currency_code??"USD",formattedOrderTotal=formatCentsToCurrency(orderTotal,currencyCode),formattedCurrentBalance=formatCentsToCurrency(giftCardData.currentBalanceValue,currencyCode);return giftCardData.formattedBalanceValue=formattedCurrentBalance,giftCardData.cardSummary===""?null:{...giftCardData,formattedOrderTotal}}