import React, { useState, useEffect } from 'react'; import axios from 'axios'; const Tasks = () => { const [tasks, setTasks] = useState([]); const [uploading, setUploading] = useState(false); useEffect(() => { fetchTasks(); }, []); const fetchTasks = async () => { const res = await axios.get('/tasks?myTasks=true'); setTasks(res.data.tasks); }; const handleFileUpload = async (taskId, file) => { const formData = new FormData(); formData.append('file', file); formData.append('description', 'Proof of work submitted'); setUploading(true); try { await axios.post(`/tasks/${taskId}/upload`, formData); await axios.put(`/tasks/${taskId}/progress`, { progress: 100, status: 'completed' }); alert('Proof uploaded and task sent for approval!'); fetchTasks(); } catch (err) { alert('Upload failed. Check file size (Max 10MB).'); } finally { setUploading(false); } }; return (
| Initiative | Status | Deadline | Action |
|---|---|---|---|
| {task.title} | {task.status.replace('_', ' ')} | {new Date(task.due_date).toLocaleDateString()} | {task.status !== 'completed' && ( )} |