import BorderBottomItem from "@/components/borderBottomItem"; import ButtonTab from "@/components/buttonTab"; import InputSearch from "@/components/inputSearch"; import LabelStatus from "@/components/labelStatus"; import PaperGridContent from "@/components/paperGridContent"; import ProgressBar from "@/components/progressBar"; import { ColorsStatus } from "@/constants/ColorsStatus"; import Styles from "@/constants/Styles"; import { apiGetTask } from "@/lib/api"; import { useAuthSession } from "@/providers/AuthProvider"; import { AntDesign, Ionicons, MaterialCommunityIcons, } from "@expo/vector-icons"; import { router, useLocalSearchParams } from "expo-router"; import { useEffect, useState } from "react"; import { Pressable, SafeAreaView, ScrollView, Text, View } from "react-native"; import { useSelector } from "react-redux"; type Props = { id: string; title: string; desc: string; status: number; progress: number; member: number; }; export default function ListTask() { const { id, status } = useLocalSearchParams<{ id: string; status: string }>(); const [isList, setList] = useState(false); const { token, decryptToken } = useAuthSession(); const [data, setData] = useState([]); const [search, setSearch] = useState(""); const update = useSelector((state: any) => state.taskUpdate) async function handleLoad() { try { const hasil = await decryptToken(String(token?.current)); const response = await apiGetTask({ user: hasil, division: id, status, search, }); setData(response.data); } catch (error) { console.error(error); } } useEffect(() => { handleLoad(); }, [status, search, update.data]); return ( { router.replace("./task?status=0"); }} label="Segera" icon={ } n={4} /> { router.replace("./task?status=1"); }} label="Dikerjakan" icon={ } n={4} /> { router.replace("./task?status=2"); }} label="Selesai" icon={ } n={4} /> { router.replace("./task?status=3"); }} label="Batal" icon={ } n={4} /> { setList(!isList); }} > {data.length > 0 ? ( <> ) : ( Tidak ada data )} {isList ? ( {data.map((item, index) => ( { router.push(`./task/${item.id}`); }} borderType="bottom" icon={ } title={item.title} /> ))} ) : ( {data.map((item, index) => ( { router.push(`./task/${item.id}`); }} content="page" title={item.title} headerColor="primary" > ))} )} ); }