From 3f37113a2caa98bbacc642464d6ed32d082536e0 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 28 Dec 2025 12:03:50 +0200 Subject: [PATCH] Add tooltips (#744) --- backend/routes/tasks/index.js | 10 ++++++---- frontend/components/Task/RecurrenceDisplay.tsx | 6 ------ frontend/components/Task/TaskDetails.tsx | 18 ++++++++++++++---- frontend/components/Task/TaskHeader.tsx | 18 ++++++++++++++++-- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/backend/routes/tasks/index.js b/backend/routes/tasks/index.js index df19cc7..7f574db 100644 --- a/backend/routes/tasks/index.js +++ b/backend/routes/tasks/index.js @@ -849,15 +849,17 @@ router.get('/task/:uid/next-iterations', async (req, res) => { return res.status(400).json({ error: 'Invalid UID' }); } - const task = await taskRepository.findByUidAndUser( - req.params.uid, - req.currentUser.id - ); + const task = await taskRepository.findByUid(req.params.uid); if (!task) { return res.status(404).json({ error: 'Task not found' }); } + // Verify user owns this task + if (task.user_id !== req.currentUser.id) { + return res.status(403).json({ error: 'Access denied' }); + } + if (!task.recurrence_type || task.recurrence_type === 'none') { return res.json({ iterations: [] }); } diff --git a/frontend/components/Task/RecurrenceDisplay.tsx b/frontend/components/Task/RecurrenceDisplay.tsx index 0c75c65..990cb4f 100644 --- a/frontend/components/Task/RecurrenceDisplay.tsx +++ b/frontend/components/Task/RecurrenceDisplay.tsx @@ -138,12 +138,6 @@ const RecurrenceDisplay: React.FC = ({ return null; } - console.log('RecurrenceDisplay rendering:', { - recurrenceType, - recurrenceWeekdays, - recurrenceInterval, - }); - return (
{/* Main recurrence info */} diff --git a/frontend/components/Task/TaskDetails.tsx b/frontend/components/Task/TaskDetails.tsx index 67b8b9f..8b25f48 100644 --- a/frontend/components/Task/TaskDetails.tsx +++ b/frontend/components/Task/TaskDetails.tsx @@ -184,10 +184,20 @@ const TaskDetails: React.FC = () => { }; const handleRecurrenceChange = (field: string, value: any) => { - setRecurrenceForm((prev) => ({ - ...prev, - [field]: value, - })); + setRecurrenceForm((prev) => { + const updated = { ...prev, [field]: value }; + + // Set default values when switching to monthly recurrence + if ( + field === 'recurrence_type' && + value === 'monthly' && + !prev.recurrence_month_day + ) { + updated.recurrence_month_day = new Date().getDate(); + } + + return updated; + }); }; const handleSaveRecurrence = async () => { diff --git a/frontend/components/Task/TaskHeader.tsx b/frontend/components/Task/TaskHeader.tsx index 2ca915e..f01176f 100644 --- a/frontend/components/Task/TaskHeader.tsx +++ b/frontend/components/Task/TaskHeader.tsx @@ -398,7 +398,14 @@ const TaskHeader: React.FC = ({ )} {task.recurrence_type && task.recurrence_type !== 'none' && ( -
+
{formatRecurrence( @@ -560,7 +567,14 @@ const TaskHeader: React.FC = ({ )} {task.recurrence_type && task.recurrence_type !== 'none' && ( -
+
{formatRecurrence(