import Styles from "@/constants/Styles"; import { apiGetProjectOne } from "@/lib/api"; import { useAuthSession } from "@/providers/AuthProvider"; import { Ionicons, MaterialCommunityIcons } from "@expo/vector-icons"; import { useLocalSearchParams } from "expo-router"; import { useEffect, useState } from "react"; import { Text, ToastAndroid, View } from "react-native"; import { useSelector } from "react-redux"; import AlertKonfirmasi from "../alertKonfirmasi"; import BorderBottomItem from "../borderBottomItem"; import DrawerBottom from "../drawerBottom"; import MenuItemRow from "../menuItemRow"; type Props = { id: string name: string extension: string idStorage: string } export default function SectionFile({ status, member }: { status: number | undefined, member: boolean }) { const entityUser = useSelector((state: any) => state.user) const [isModal, setModal] = useState(false) const { token, decryptToken } = useAuthSession(); const { id } = useLocalSearchParams<{ id: string }>(); const [data, setData] = useState([]); async function handleLoad() { try { const hasil = await decryptToken(String(token?.current)); const response = await apiGetProjectOne({ user: hasil, cat: "file", id: id, }); setData(response.data); } catch (error) { console.error(error); } } useEffect(() => { handleLoad(); }, []); return ( <> File { data.length > 0 ? data.map((item, index) => { return ( } title={item.name + '.' + item.extension} titleWeight="normal" onPress={() => { setModal(true) }} /> ) }) : Tidak ada file } } title="Lihat File" onPress={() => { setModal(false) }} /> } title="Download" onPress={() => { setModal(false) }} /> { !member && (entityUser.role == "user" || entityUser.role == "coadmin") ? <> : } title="Hapus" disabled={status == 3} onPress={() => { if (status == 3) return AlertKonfirmasi({ title: 'Konfirmasi', desc: 'Apakah Anda yakin ingin menghapus file ini? File yang dihapus tidak dapat dikembalikan', onPress: () => { setModal(false) ToastAndroid.show('Berhasil menghapus data', ToastAndroid.SHORT) } }) }} /> } ) }