'use client'; import { FC, useEffect, useRef, useState } from 'react'; import styles from '@/components/tasks/Tasks.module.css'; import Task from '@/components/tasks/Task'; import { useTasksStore } from '@/store/tasks.state'; import { usePlayerStore } from '@/store/player.state'; interface ITasksProps { handleClaimPrize: (taskId: number, prize: number) => Promise; handleOpenLink: (link: string, taskId: number) => Promise; } const Tasks: FC = ({ handleOpenLink, handleClaimPrize }) => { const tasksBlockRef = useRef(null); const [isOverflow, setIsOverflow] = useState(false); const { tasks } = useTasksStore(); const { player } = usePlayerStore(); useEffect(() => { const checkOverflow = () => { if (tasksBlockRef.current) { setIsOverflow( tasksBlockRef.current.scrollHeight > tasksBlockRef.current.clientHeight, ); } }; checkOverflow(); window.addEventListener('resize', checkOverflow); return () => window.removeEventListener('resize', checkOverflow); }, []); return (
Задания
{tasks.map(task => { const finishedTask = player?.attributes.finished_tasks.data?.find( el => el?.attributes.task?.data?.id === task?.id, ); return ( ); })}
); }; export default Tasks;