import { useEffect, useState } from "react"; import { FlatList, View } from "react-native"; import { Link } from "expo-router"; import { api } from "@/lib/trpc"; export default function Lists() { const [refreshing, setRefreshing] = useState(false); const { data: lists, isPending } = api.lists.list.useQuery(); const apiUtils = api.useUtils(); useEffect(() => { setRefreshing(isPending); }, [isPending]); if (!lists) { // Add spinner return ; } const onRefresh = () => { apiUtils.lists.list.invalidate(); }; const links = [ { id: "fav", logo: "⭐️", name: "Favourites", href: "/dashboard/favourites", }, { id: "arch", logo: "🗄️", name: "Archive", href: "/dashboard/archive", }, ]; links.push( ...lists.lists.map((l) => ({ id: l.id, logo: l.icon, name: l.name, href: `/dashboard/lists/${l.id}`, })), ); return ( ( {l.item.logo} {l.item.name} )} data={links} refreshing={refreshing} onRefresh={onRefresh} /> ); }