/* eslint-disable react-hooks/exhaustive-deps */ import { ActionIcon, BaseBox, LoaderCustom, SearchInput, Spacing, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import AdminComp_BoxTitle from "@/components/_ShareComponent/Admin/BoxTitlePage"; import AdminTitleTable from "@/components/_ShareComponent/Admin/TableTitle"; import AdminTableValue from "@/components/_ShareComponent/Admin/TableValue"; import AdminTitlePage from "@/components/_ShareComponent/Admin/TitlePage"; import { ICON_SIZE_BUTTON } from "@/constants/constans-value"; import { apiAdminVoting } from "@/service/api-admin/api-admin-voting"; import { Octicons } from "@expo/vector-icons"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import { useState, useCallback } from "react"; import { Divider } from "react-native-paper"; export default function AdminVotingStatus() { const { status } = useLocalSearchParams(); console.log("[STATUS]", status); const [list, setList] = useState(null); const [loadList, setLoadList] = useState(false); const [search, setSearch] = useState(""); useFocusEffect( useCallback(() => { onLoadData(); }, [status, search]) ); const onLoadData = async () => { try { setLoadList(true); const response = await apiAdminVoting({ category: status as "publish" | "review" | "reject" as any, search, }); // console.log("[LIST BY STATUS]", JSON.stringify(response, null, 2)); if (response.success) { setList(response.data); } } catch (error) { console.log("[ERROR]", error); } finally { setLoadList(false); } }; const rightComponent = ( ); return ( <> }> {loadList ? : _.isEmpty(list) ? Belum ada data : list.map((item: any, i: number) => ( } onPress={() => { router.push(`/admin/voting/${item.id}/${status}`); }} /> } value2={{item?.Author?.username || "-"}} value3={ {item?.title || "-"} } /> ))} ); }