import { AvatarUsernameAndOtherComponent, BoxWithHeaderSection, FloatingButton, LoaderCustom, SearchInput, Spacing, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import { apiJobGetAll } from "@/service/api-client/api-job"; import { router, useFocusEffect } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; export default function Job_ScreenBeranda() { const [listData, setListData] = useState([]); const [isLoadData, setIsLoadData] = useState(false); const [search, setSearch] = useState(""); useFocusEffect( useCallback(() => { onLoadData(search); }, [search]) ); const onLoadData = async (search: string) => { try { setIsLoadData(true); const response = await apiJobGetAll({ search, category: "beranda" }); setListData(response.data); } catch (error) { console.log("[ERROR]", error); } finally { setIsLoadData(false); } }; const handleSearch = (search: string) => { setSearch(search); onLoadData(search); }; return ( router.push("/job/create")} /> } headerComponent={ } > {isLoadData ? ( ) : _.isEmpty(listData) ? ( Belum ada lowongan ) : ( listData.map((item, index) => ( router.push(`/job/${item.id}`)} > {item?.title || "-"} )) )} ); }