import { useQuery } from "@tanstack/react-query"; import { TokenCard } from "./TokenCard"; import { fetchApi } from "~/lib/fetch"; import type { Erc20TokensListResponse } from "~/types/api"; import { LoadingView } from "~/components/loading/LoadingView"; import { ErrorView } from "~/components/error/ErrorView"; import { useNavigate } from "react-router"; import { useConnection } from "wagmi"; import { useEffect } from "react"; export function HomePage() { const { data, isPending, error } = useQuery({ queryKey: ['tokens'], queryFn: () => fetchApi("https://api.next.code-camp.org/erc20-tokens") }); const navigate = useNavigate(); const { address, isConnected } = useConnection(); useEffect(() => { if (!isConnected) { navigate('/status'); } }, [isConnected, navigate]); if (isPending) { return ; } if (error) { return ; } if (!address || !isConnected) { return null; } return (
{data.tokens.map(token => ( ))}
); }