/* eslint-disable react-hooks/exhaustive-deps */ import { AvatarComp, ButtonCustom, CenterCustom, DrawerCustom, FloatingButton, Grid, LoaderCustom, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import { useAuth } from "@/hooks/use-auth"; import Forum_BoxDetailSection from "@/screens/Forum/DiscussionBoxSection"; import Forum_MenuDrawerBerandaSection from "@/screens/Forum/MenuDrawerSection.tsx/MenuBeranda"; import { apiForumGetAll } from "@/service/api-client/api-forum"; import { apiUser } from "@/service/api-client/api-user"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; export default function View_Forumku() { const { id } = useLocalSearchParams(); const { user } = useAuth(); const [openDrawer, setOpenDrawer] = useState(false); const [status, setStatus] = useState(""); const [listData, setListData] = useState(null); const [dataUser, setDataUser] = useState(null); const [loadingGetList, setLoadingGetList] = useState(false); useFocusEffect( useCallback(() => { onLoadData(); onLoadDataProfile(id as string); }, [id]) ); const onLoadDataProfile = async (id: string) => { try { const response = await apiUser(id); setDataUser(response.data); } catch (error) { console.log("[ERROR]", error); } finally { } }; const onLoadData = async () => { try { setLoadingGetList(true); const response = await apiForumGetAll({ search: "", authorId: id as string, category: "forumku", }); setListData(response.data); } catch (error) { console.log("[ERROR]", error); } finally { setLoadingGetList(false); } }; return ( <> router.navigate("/(application)/(user)/forum/create") } /> ) } > @{dataUser?.username || "-"} {listData?.length || "0"} postingan Kunjungi Profile {loadingGetList ? ( ) : _.isEmpty(listData) ? ( Tidak ada diskusi ) : ( <> {listData?.map((item: any, index: number) => ( { setOpenDrawer(value.setOpenDrawer); setStatus(value.setStatus); }} /> ))} )} {/* Drawer Komponen Eksternal */} setOpenDrawer(false)} > { setOpenDrawer(false); }} authorId={id as string} authorUsername={dataUser?.username} /> ); }