import Styles from "@/constants/Styles" import { apiDeleteProject } from "@/lib/api" import { setUpdateProject } from "@/lib/projectUpdate" import { useAuthSession } from "@/providers/AuthProvider" import { AntDesign, Ionicons, MaterialCommunityIcons, MaterialIcons } from "@expo/vector-icons" import { router } from "expo-router" import { useState } from "react" import { ToastAndroid, View } from "react-native" import { useDispatch, useSelector } from "react-redux" import AlertKonfirmasi from "../alertKonfirmasi" import ButtonMenuHeader from "../buttonMenuHeader" import DrawerBottom from "../drawerBottom" import MenuItemRow from "../menuItemRow" type Props = { id: string | string[] status: number | undefined } export default function HeaderRightProjectDetail({ id, status }: Props) { const entityUser = useSelector((state: any) => state.user) const { token, decryptToken } = useAuthSession() const [isVisible, setVisible] = useState(false) const dispatch = useDispatch() const update = useSelector((state: any) => state.projectUpdate) async function handleDelete() { try { const hasil = await decryptToken(String(token?.current)) const response = await apiDeleteProject({ user: hasil }, String(id)) if (response.success) { dispatch(setUpdateProject({ ...update, data: !update.data })) ToastAndroid.show('Berhasil menghapus kegiatan', ToastAndroid.SHORT) router.back() } else { ToastAndroid.show('Gagal menghapus kegiatan', ToastAndroid.SHORT) } } catch (error) { console.error(error) } finally { setVisible(false) } } return ( <> { setVisible(true) }} /> } title="Tambah Tugas" onPress={() => { if (status == 3) return setVisible(false) router.push(`/project/${id}/add-task`) }} disabled={status == 3} /> } title="Tambah File" onPress={() => { if (status == 3) return setVisible(false) router.push(`/project/${id}/add-file`) }} disabled={status == 3} /> { entityUser.role != "user" && entityUser.role != "coadmin" && } title="Tambah Anggota" onPress={() => { if (status == 3) return setVisible(false) router.push(`/project/${id}/add-member`) }} disabled={status == 3} /> } { entityUser.role != "user" && entityUser.role != "coadmin" && } title="Edit" onPress={() => { if (status == 3) return setVisible(false) router.push(`/project/${id}/edit`) }} disabled={status == 3} /> { status == 3 ? } title="Hapus" onPress={() => { setVisible(false) AlertKonfirmasi({ title: 'Konfirmasi', desc: 'Apakah Anda yakin ingin menghapus kegiatan ini? Kegiatan yang dihapus tidak dapat dikembalikan', onPress: () => { handleDelete() } }) }} /> : } title="Batal" onPress={() => { setVisible(false) router.push(`/project/${id}/cancel`) }} /> } } ) }