import Styles from "@/constants/Styles" import { apiDeleteUser } from "@/lib/api" import { useAuthSession } from "@/providers/AuthProvider" import { MaterialCommunityIcons } from "@expo/vector-icons" import { router } from "expo-router" import { useState } from "react" import { ToastAndroid, View } from "react-native" import AlertKonfirmasi from "../alertKonfirmasi" import ButtonMenuHeader from "../buttonMenuHeader" import DrawerBottom from "../drawerBottom" import MenuItemRow from "../menuItemRow" import { useDispatch, useSelector } from "react-redux" import { setUpdateMember } from "@/lib/memberSlice" type Props = { active: any, id: string } export default function HeaderRightMemberDetail({ active, id }: Props) { const { token, decryptToken } = useAuthSession() const [isVisible, setVisible] = useState(false) const update = useSelector((state: any) => state.memberUpdate) const dispatch = useDispatch() async function handleActive() { try { const hasil = await decryptToken(String(token?.current)) const response = await apiDeleteUser({ user: hasil, isActive: active }, id) if (response.success) { ToastAndroid.show('Berhasil mengupdate data', ToastAndroid.SHORT) dispatch(setUpdateMember(!update)) } else { ToastAndroid.show(response.message, ToastAndroid.SHORT) } } catch (error) { console.error(error) } finally { setVisible(false) } } return ( <> { setVisible(true) }} /> } title={active ? "Non Aktifkan" : "Aktifkan"} onPress={() => { setVisible(false) AlertKonfirmasi({ title: 'Konfirmasi', desc: active ? 'Apakah anda yakin ingin menonaktifkan user?' : 'Apakah anda yakin ingin mengaktifkan user?', onPress: () => { handleActive() } }) }} /> } title="Edit" onPress={() => { setVisible(false) router.push(`/member/edit/${id}`) }} /> ) }