export function formatShipmentRange( shipmentDurationRange, shipmentDurationUnit ) { if (!shipmentDurationRange || !shipmentDurationUnit) { return ''; } let minRange, maxRange; // Cek apakah durasi berupa range atau angka tunggal if (shipmentDurationRange.includes('-')) { [minRange, maxRange] = shipmentDurationRange.split(' - ').map(Number); } else { minRange = maxRange = Number(shipmentDurationRange); // Jika angka tunggal } const start = new Date(); // Tanggal saat ini let minDate, maxDate; // Hitung estimasi berdasarkan unit waktu if (shipmentDurationUnit === 'days' || shipmentDurationUnit === 'day') { minDate = new Date(start); minDate.setDate(start.getDate() + (minRange + 3)); maxDate = new Date(start); maxDate.setDate(start.getDate() + (maxRange + 3)); } else if (shipmentDurationUnit === 'hours') { minDate = new Date(start.getTime() + (minRange + 3) * 60 * 60 * 1000); maxDate = new Date(start.getTime() + (maxRange + 3) * 60 * 60 * 1000); } else { throw new Error("Unsupported unit. Please use 'days' or 'hours'."); } console.log('min max', minDate, maxDate); const minDateStr = formatDate(minDate); const maxDateStr = formatDate(maxDate); if (minDateStr === maxDateStr) { return `Estimasi tiba ${minDateStr}`; } return `Estimasi tiba ${minDateStr} - ${maxDateStr}`; } export function getToDate(shipmentDurationRange, shipmentDurationUnit) { if (!shipmentDurationRange || !shipmentDurationUnit) { return ''; } const start = new Date(); // Tanggal saat ini let maxRange; // Cek apakah durasi berupa range atau angka tunggal if (shipmentDurationRange.includes('-')) { [, maxRange] = shipmentDurationRange.split(' - ').map(Number); } else { maxRange = Number(shipmentDurationRange); // Jika angka tunggal } let maxDate; // Hitung estimasi berdasarkan unit waktu if (shipmentDurationUnit === 'days' || shipmentDurationUnit === 'day') { maxDate = new Date(start); maxDate.setDate(start.getDate() + (maxRange + 3)); } else if (shipmentDurationUnit === 'hours') { maxDate = new Date(start.getTime() + (maxRange + 3) * 60 * 60 * 1000); } else { throw new Error("Unsupported unit. Please use 'days' or 'hours'."); } return formatDate(maxDate); } function formatDate(date) { const day = date.getDate(); const month = date.toLocaleString('default', { month: 'short' }); return `${day} ${month}`; }