import { useState } from 'react';
import type { Task } from '../types';
import { useLanguage } from '../i18n/LanguageContext';
import './TodaysTasks.css';
interface TodaysTasksProps {
tasks: Task[];
onComplete: (taskId: number) => void;
}
export default function TodaysTasks({ tasks, onComplete }: TodaysTasksProps) {
const { t } = useLanguage();
const essentialTasks = tasks.filter(task => task.priority === 'ESSENTIAL');
const whenIHaveTimeTasks = tasks.filter(task => task.priority === 'WHEN_I_HAVE_TIME');
const [showWhenIHaveTime, setShowWhenIHaveTime] = useState(false);
return (
{t.needToDo}
{essentialTasks.length}
{essentialTasks.length === 0 ? (
{t.nothingEssential}
) : (
{essentialTasks.map(task => (
))}
)}
setShowWhenIHaveTime(!showWhenIHaveTime)}
>
{t.whenIHaveTime}
{whenIHaveTimeTasks.length}
{showWhenIHaveTime ? '▾' : '▸'}
{showWhenIHaveTime && (
whenIHaveTimeTasks.length === 0 ? (
{t.nothingHere}
) : (
{whenIHaveTimeTasks.map(task => (
))}
)
)}
);
}
interface TaskCardProps {
task: Task;
onComplete: (taskId: number) => void;
}
function TaskCard({ task, onComplete }: TaskCardProps) {
const { t } = useLanguage();
const [tooltipVisible, setTooltipVisible] = useState(false);
return (
setTooltipVisible(v => !v)}
onMouseEnter={() => setTooltipVisible(true)}
onMouseLeave={() => setTooltipVisible(false)}
>
{task.name}
{tooltipVisible && {task.name}}
);
}