'use client'; import PrizeCard from '@/components/prizes/PrizeCard'; import { useState, useEffect } from 'react'; import axios from 'axios'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import { GiftsType } from '@/typings/gifts/gifts.type'; import { useRouter } from 'next/navigation'; import { useMediaQuery } from 'usehooks-ts'; import Image from 'next/image'; // Define the expected shape of the fetched data interface Prize { id: number; name: string; description: string; } const PrizesPage = ({ params }: { params: { user_id: string } }) => { const [selectedPrize, setSelectedPrize] = useState(null); const queryClient = useQueryClient(); const router = useRouter(); const mobile = useMediaQuery('(max-width: 768px)'); // Fetching data using TanStack Query const { data, isLoading, error } = useQuery({ queryKey: [`gifts-${params.user_id}`, params.user_id], queryFn: () => axios .get(`https://sms.turkmentv.gov.tm/api/gifts/${params.user_id}`) .then((response) => response.data), }); // Handle error with redirect useEffect(() => { if (error) { router.push('/prizes/auth'); } }, [error, router]); if (isLoading) return (
Ýüklenilýär...
); // Log the error to the console, even if redirecting if (error) { console.error('Error loading prizes:', error.message); return null; // Return null since the redirect will occur } if (!data) { return null; } return (

{data.data.title}

{data.data.image && (
{data.data.title}
)}
{data.data.gifts && data.data.gifts.map((prize, i) => ( ))}
); }; export default PrizesPage;