import React, { useState } from "react"; import { View, Text, Image, StyleSheet, TouchableOpacity, Linking, } from "react-native"; import { Ionicons } from "@expo/vector-icons"; // Import Ionicons untuk ikon panah export default function DetailPengiriman({ route, navigation }) { const { item } = route.params; // Mendapatkan data item dari navigation params const [status, setStatus] = useState(item.status); // Menentukan status awal sesuai item // Fungsi untuk menangani perubahan status const handleItemReceived = () => { setStatus("selesai"); // Mengubah status menjadi selesai }; // Timeline status pengiriman const statusTimeline = { diproses: { title: "Diproses", time: "23 Januari 2025, 15:12 WIB", }, dikirim: { title: "Dikirim", time: "24 Januari 2025, 10:00 WIB", }, diterima: { title: "Diterima", time: "25 Januari 2025, 13:00 WIB", }, selesai: { title: "Selesai", time: "26 Januari 2025, 17:00 WIB", }, }; const handleContactAdmin = () => { const phoneNumber = "6287786770760"; // Ganti dengan nomor WhatsApp admin const message = "Halo Admin, saya ingin menanyakan tentang pengiriman."; // Pesan default yang ingin dikirim const url = `whatsapp://send?phone=${phoneNumber}&text=${encodeURIComponent( message )}`; // Mengecek apakah WhatsApp dapat dibuka Linking.openURL(url).catch((err) => { console.error("Error opening WhatsApp:", err); }); }; const currentItem = { ...item, statusDetails: status === "diproses" ? "Barang sedang diproses oleh kami." : status === "dikirim" ? "Barang telah dikirim melalui JNE." : status === "diterima" ? "Barang telah diterima, terima kasih telah berbelanja!" : "Pengiriman selesai. Terima kasih!", estimatedDate: status === "diterima" ? "Tidak ada tanggal estimasi lebih lanjut." : "Diperkirakan tiba pada 30 Januari 2025.", }; return ( navigation.goBack()} > DETAIL STATUS PENGIRIMAN {/* Hubungi Admin Button */} Hubungi Admin {/* Image */} {/* Product Details */} {currentItem.name} {currentItem.points} {/* Status Progress */} Proses Pengiriman {Object.keys(statusTimeline).map((step, index) => ( {statusTimeline[step].title} {statusTimeline[step].time} ))} {/* Status Detail */} {currentItem.statusDetails} {/* Estimated Delivery */} {currentItem.estimatedDate} {/* Shipping Information */} Alamat Pengiriman Jl. Letjen S. Parman IV Ds. Cangkringan Kab. Nganjuk Jasa Pengiriman JNE No Resi 5679032190775 {/* Button to mark the item as received (only for 'Diterima' status) */} {status === "diterima" && ( BARANG DITERIMA )} ); } const styles = StyleSheet.create({ container: { flex: 1, padding: 16, backgroundColor: "#fff", }, header: { flexDirection: "row", alignItems: "center", marginBottom: 30, marginTop: 40, }, backButton: { marginRight: 10, }, title: { fontSize: 22, fontWeight: "bold", color: "#333", }, contactButton: { backgroundColor: "#4CAF50", padding: 10, borderRadius: 5, marginBottom: 20, alignItems: "center", borderRadius: 20, marginLeft: 120, marginRight: 120, }, contactText: { color: "#fff", fontSize: 14, }, image: { width: 100, height: 100, alignSelf: "center", marginBottom: 16, }, productInfo: { alignItems: "center", marginBottom: 16, }, productName: { fontSize: 18, fontWeight: "bold", }, productPoints: { fontSize: 14, color: "#777", }, statusContainer: { marginBottom: 16, }, statusTitle: { fontSize: 16, fontWeight: "bold", marginBottom: 8, }, statusTimeline: { flexDirection: "column", alignItems: "flex-start", }, step: { marginBottom: 12, }, activeStep: { marginBottom: 12, borderLeftWidth: 4, borderColor: "#4CAF50", paddingLeft: 12, }, stepText: { fontSize: 14, fontWeight: "bold", }, time: { fontSize: 12, color: "#777", }, statusDetail: { marginBottom: 16, }, statusDetails: { fontSize: 14, color: "#777", }, estimatedDelivery: { marginBottom: 16, alignItems: "center", }, estimatedText: { fontSize: 14, fontStyle: "italic", }, shippingInfo: { marginBottom: 16, }, shippingTitle: { fontSize: 14, fontWeight: "bold", }, shippingDetails: { fontSize: 14, marginBottom: 8, }, button: { marginTop: 20, backgroundColor: "#2f4f2f", padding: 15, borderRadius: 10, alignItems: "center", }, buttonText: { color: "#fff", fontSize: 16, fontWeight: "bold", }, });