import Styles from "@/constants/Styles"; import { apiGetDataHome } from "@/lib/api"; import { useAuthSession } from "@/providers/AuthProvider"; import { useTheme } from "@/providers/ThemeProvider"; import { useQuery } from "@tanstack/react-query"; import { router } from "expo-router"; import React from "react"; import { Dimensions, View } from "react-native"; import Carousel, { ICarouselInstance } from "react-native-reanimated-carousel"; import LabelStatus from "../labelStatus"; import PaperGridContent from "../paperGridContent"; import ProgressBar from "../progressBar"; import Skeleton from "../skeleton"; import Text from "../Text"; type Props = { id: string title: string desc: string status: number progress: number createdAt: string } export default function ProjectHome({ refreshing }: { refreshing: boolean }) { const { decryptToken, token } = useAuthSession() const ref = React.useRef(null); const width = Dimensions.get("window").width; const { colors } = useTheme(); // TanStack Query for Projects data const { data: homeProjects = [], isLoading } = useQuery({ queryKey: ['homeData', 'kegiatan'], queryFn: async () => { const hasil = await decryptToken(String(token?.current)) const response = await apiGetDataHome({ cat: "kegiatan", user: hasil }) return response.data as Props[] }, enabled: !!token?.current, staleTime: 0, }) return ( Kegiatan Terupdate { isLoading ? () : homeProjects.length > 0 ? ( { router.push(`/project/${homeProjects[index].id}`) }} title={homeProjects[index].title} headerColor="primary"> {homeProjects[index].createdAt} )} /> : Tidak ada data } ) }