import { __, _n, sprintf } from '@wordpress/i18n'; import React from 'react'; import { getCustomFulfillmentSummary } from 'utils'; import { SHIPMENT_TYPE } from 'utils/shipment'; import type { ShipmentType } from 'types'; export const getShipmentTitle = ( index: string | number, totalCount: number, type: ShipmentType ) => { if ( type === SHIPMENT_TYPE.RETURN ) { return sprintf( // translators: %1$d is the shipment number, %2$d is the total number of shipments __( 'Return %1$d/%2$d', 'woocommerce-shipping' ), parseInt( `${ index }`, 10 ) + 1, totalCount ); } return sprintf( // translators: %1$d is the shipment number, %2$d is the total number of shipments __( 'Shipment %1$d/%2$d', 'woocommerce-shipping' ), parseInt( `${ index }`, 10 ) + 1, totalCount ); }; export const getShipmentSummaryText = ( orderFulfilled: boolean, purchasedLabelProductCount: number, totalProductCount: number ) => { const classNames = 'wcshipping-shipping-label-meta-box__summary'; // If there is a custom message, display that instead. if ( getCustomFulfillmentSummary() ) { return ( { getCustomFulfillmentSummary() } ); } if ( orderFulfilled ) { return ( { sprintf( // translators: %1$d: number of items _n( '%1$d item was fulfilled.', '%1$d items were fulfilled.', totalProductCount, 'woocommerce-shipping' ), totalProductCount ) } ); } else if ( purchasedLabelProductCount < totalProductCount && purchasedLabelProductCount > 0 ) { return ( { sprintf( // translators: %1$d: number of items fulfilled _n( '%1$d item was fulfilled,', '%1$d items were fulfilled,', purchasedLabelProductCount, 'woocommerce-shipping' ), purchasedLabelProductCount ) }{ ' ' } { sprintf( // translators: %d: number of items to be fulfilled _n( '%d item still requires fulfillment.', '%d items still require fulfillment.', totalProductCount - purchasedLabelProductCount, 'woocommerce-shipping' ), totalProductCount - purchasedLabelProductCount ) } ); } return ( { sprintf( // translators: %d: number of items _n( '%d item is ready to be fulfilled', '%d items are ready to be fulfilled', totalProductCount, 'woocommerce-shipping' ), totalProductCount ) } ); };