import { AlertDefaultSystem, ButtonCustom, Grid } from "@/components"; import { apiEventDelete, apiEventUpdateStatus, } from "@/service/api-client/api-event"; import { router } from "expo-router"; import Toast from "react-native-toast-message"; export default function Event_ButtonStatusSection({ id, status, }: { id: string; status: string; }) { const handleBatalkanReview = () => { AlertDefaultSystem({ title: "Batalkan Review", message: "Apakah Anda yakin ingin batalkan review ini?", textLeft: "Batal", textRight: "Ya", onPressRight: async () => { try { const response = await apiEventUpdateStatus({ id: id, status: "draft", }); if (response.success) { Toast.show({ type: "success", text1: response.message, }); router.replace(`/event/(tabs)/status?status=draft`); } else { Toast.show({ type: "info", text1: "Info", text2: response.message, }); router.back(); } } catch (error) { console.log("[ERROR]", error); } }, }); }; const handleAjukanReview = () => { AlertDefaultSystem({ title: "Ajukan Review", message: "Apakah Anda yakin ingin ajukan review ini?", textLeft: "Batal", textRight: "Ya", onPressRight: async () => { try { const response = await apiEventUpdateStatus({ id: id, status: "review", }); if (response.success) { Toast.show({ type: "success", text1: response.message, }); router.replace(`/event/(tabs)/status?status=review`); } else { Toast.show({ type: "info", text1: "Info", text2: response.message, }); router.back(); } } catch (error) { console.log("[ERROR]", error); } }, }); }; const handleEditKembali = () => { AlertDefaultSystem({ title: "Edit Kembali", message: "Apakah Anda yakin ingin edit kembali ini?", textLeft: "Batal", textRight: "Ya", onPressRight: async () => { try { const response = await apiEventUpdateStatus({ id: id, status: "draft", }); if (response.success) { Toast.show({ type: "success", text1: response.message, }); router.replace(`/event/(tabs)/status?status=draft`); } else { Toast.show({ type: "info", text1: "Info", text2: response.message, }); router.back(); } } catch (error) { console.log("[ERROR]", error); } }, }); }; const handleOpenDeleteAlert = () => { AlertDefaultSystem({ title: "Hapus", message: "Apakah Anda yakin ingin menghapus data ini?", textLeft: "Batal", textRight: "Hapus", onPressRight: async () => { try { const response = await apiEventDelete({ id: id }); if (response.success) { Toast.show({ type: "success", text1: "Data dihapus", }); router.back(); } else { Toast.show({ type: "info", text1: "Info", text2: response.message, }); router.back(); } } catch (error) { console.log("[ERROR]", error); } }, }); }; const DeleteButton = () => { return ( <> Hapus ); }; switch (status) { case "publish": return <>; case "review": return ( Batalkan Review ); case "draft": return ( <> Ajukan Review {DeleteButton()} ); case "reject": return ( <> Edit Kembali {DeleteButton()} ); default: return Status Undifined; } }