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";
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:
setSelectedExpedisi(e.target.value)}
required
>
Pilih Pengiriman
SELF PICKUP
{checkWeigth != true &&
listExpedisi.map((expedisi) => (
{' '}
{expedisi.label.toUpperCase()}{' '}
))}
{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:
setSelectedServiceType(e.target.value)}
>
{listserviceExpedisi.map((service) => (
{' '}
{service.description} - {service.service.toUpperCase()}
{extractDuration(service.cost[0].etd) &&
` (Estimasi Tiba ${extractDuration(
service.cost[0].etd
)} Hari)`}
))}
>
);
export const PickupAddress = ({ 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 : 0813 9000 7430
);
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 '';
};