import Link from 'next/link'; import BottomPopup from '@/core/components/elements/Popup/BottomPopup'; import { AnimatePresence, motion } from 'framer-motion'; import { Divider, Spinner } from '@chakra-ui/react'; import whatsappUrl from '@/core/utils/whatsappUrl'; export const SectionAddress = ({ address, label, url }) => { return (
{label}
Pilih Alamat Lain
{address && (
{address.type.charAt(0).toUpperCase() + address.type.slice(1) + ' Address'}

{address.name}

{address.mobile}

{address.street}, {address?.city?.name}

)}
); }; export const SectionValidation = ({ address }) => address?.rajaongkirCityId == 0 && (
Mohon untuk memperbarui alamat Anda dengan mengklik tombol di bawah ini.{' '}
Update Alamat
); export const SectionExpedisi = ({ address, listExpedisi, setSelectedExpedisi, checkWeigth, checkoutValidation, expedisiValidation, loadingRajaOngkir, }) => address?.rajaongkirCityId > 0 && (
Pilih Ekspedisi:
{loadingRajaOngkir && ( )}
{checkoutValidation && ( *silahkan pilih expedisi )}
{checkWeigth == true && (

Mohon maaf, pengiriman hanya tersedia untuk self pickup karena terdapat barang yang belum diatur beratnya. Mohon atur berat barang dengan menghubungi admin melalui{' '} tautan ini

)}
); export const SectionListService = ({ listserviceExpedisi, setSelectedServiceType, }) => listserviceExpedisi?.length > 0 && ( <>
Tipe Layanan Ekspedisi:
); export const PickupAddress = ({ label }) => (
{label}

Indoteknik

Jl. Bandengan Utara Raya No.85, RT.3/RW.16, Penjaringan, Kec. Penjaringan, Kota Jkt Utara, Daerah Khusus Ibukota Jakarta, Indonesia Kodepos : 14440

Telp : 021-2933 8828/29

Mobile : 0817-1718-1922

); const extractDuration = (text) => { const matches = text.match(/\d+(?:-\d+)?/g); if (matches && matches.length === 1) { const parts = matches[0].split('-'); const min = parseInt(parts[0]); const max = parseInt(parts[1]); if (min === max) { return min.toString(); } return matches[0]; } return ''; }; export function calculateEstimatedArrival(duration) { if (duration) { let estimationDate = duration.split('-'); estimationDate[0] = parseInt(estimationDate[0]); estimationDate[1] = parseInt(estimationDate[1]); const from = addDays(new Date(), estimationDate[0] + 3); const to = addDays(new Date(), estimationDate[1] + 3); let etdText = `*Estimasi tiba ${formatDate(from)}`; if (estimationDate[1] > estimationDate[0]) { etdText += ` - ${formatDate(to)}`; } return etdText; } return ''; } function addDays(date, days) { const result = new Date(date); result.setDate(result.getDate() + days); return result; } function formatDate(date) { const day = date.getDate(); const month = date.toLocaleString('default', { month: 'short' }); return `${day} ${month}`; } export function splitDuration(duration) { if (duration) { let estimationDate = null; if (duration.includes('-')) { estimationDate = duration.split('-'); estimationDate = parseInt(estimationDate[1]); } else { estimationDate = parseInt(duration); } return estimationDate; } return ''; }