/* eslint-disable react-hooks/exhaustive-deps */ import { ActionIcon, LoaderCustom, SearchInput, 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 { useCallback, useState } from "react"; import { Divider } from "react-native-paper"; export default function AdminVotingStatus() { const { status } = useLocalSearchParams(); 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, }); 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 || "-"} } /> )) )} ); }