// hooks/useTaskTroveTasks.js import { useState, useEffect } from 'react'; import { TASKTROVE_API, TASKTROVE_TOKEN } from '../config.js'; async function fetchTaskTroveTasks() { try { const response = await fetch(TASKTROVE_API, { headers: { Authorization: `Bearer ${TASKTROVE_TOKEN}` } }); if (!response.ok) return []; const data = await response.json(); const tasks = data.tasks || []; const today = new Date().toISOString().split('T')[0]; return tasks .filter(task => { if (task.completed) return false; const isDueToday = task.dueDate === today; const isP1 = task.priority === 1; const isP2 = task.priority === 2; return isDueToday || isP1 || isP2; }) .map(task => ({ title: task.title, priority: task.priority, dueDate: task.dueDate })); } catch (err) { return []; } } export function useTaskTroveTasks() { const [tasks, setTasks] = useState(null); async function updateTasks() { const tsks = await fetchTaskTroveTasks(); setTasks(tsks); } useEffect(() => { updateTasks(); const interval = setInterval(updateTasks, 60000); return () => clearInterval(interval); }, []); return { tasks }; }