import { useParams } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import Navigation from '../common/Navigation'; import CardGrid from '../card/CardGrid'; import UserProfile from '../user/UserProfile'; import SpecialCard from '../card/SpecialCard'; import { fetchUsers, fetchUserCards } from '../../utils/api'; export default function UserPage() { const { username } = useParams<{ username: string }>(); const { data: users, isLoading } = useQuery({ queryKey: ['users'], queryFn: () => fetchUsers(), }); const user = users?.data.find(u => u.username === username); const { data: cards, isLoading: cardsLoading } = useQuery({ queryKey: ['userCards', user?.id], queryFn: () => fetchUserCards(user!.id), enabled: !!user?.id, }); if (!user && !isLoading) { return (
User not found
); } if (!user) { return (
); } return (
{cardsLoading ? (
) : ( <> {/* Favorite Card Section */} {user.fav && user.fav !== '0' && cards?.data && ( (() => { const favCard = cards.data.find(card => card.id === parseInt(user.fav)); if (favCard) { return (
); } return null; })() )} )}
); }