/* eslint-disable react-hooks/exhaustive-deps */ import { BoxWithHeaderSection, Grid, LoaderCustom, ScrollableCustom, StackCustom, TextCustom, } from "@/components"; import ViewWrapper from "@/components/_ShareComponent/ViewWrapper"; import { useAuth } from "@/hooks/use-auth"; import { dummyMasterStatus } from "@/lib/dummy-data/_master/status"; import { apiEventGetByStatus } from "@/service/api-client/api-event"; import { useFocusEffect } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; export default function EventStatus() { const { user } = useAuth(); const id = user?.id || ""; const [activeCategory, setActiveCategory] = useState( "publish" ); const [listData, setListData] = useState([]); const [loadingGetData, setLoadingGetData] = useState(false); useFocusEffect( useCallback(() => { onLoadData(); }, [activeCategory, id]) ); async function onLoadData() { try { setLoadingGetData(true); const response = await apiEventGetByStatus({ id: id!, status: activeCategory!, }); // console.log("Response", JSON.stringify(response.data, null, 2)); setListData(response.data); } catch (error) { console.log(error); } finally { setLoadingGetData(false); } } const handlePress = (item: any) => { setActiveCategory(item.value); // tambahkan logika lain seperti filter dsb. }; const tabsComponent = ( ({ id: i, label: e.label, value: e.value, }))} onButtonPress={handlePress} activeId={activeCategory as any} /> ); return ( {loadingGetData ? ( ) : _.isEmpty(listData) ? ( Tidak ada data {activeCategory} ) : ( listData.map((item: any, i) => ( {item?.title} {new Date(item?.tanggal).toLocaleDateString()} {item?.deskripsi} )) )} ); }