diff --git a/package-lock.json b/package-lock.json index 9542b6f..d4326c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "my-weekly-todo-list", - "version": "1.15.6", + "version": "1.15.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "my-weekly-todo-list", - "version": "1.15.6", + "version": "1.15.7", "license": "MIT", "dependencies": { "@auth/prisma-adapter": "^2.11.1", diff --git a/package.json b/package.json index 7480d9b..e068a24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.15.6", + "version": "1.15.7", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/app/api/tasks/route.ts b/src/app/api/tasks/route.ts index 6f7f6e2..7768e09 100644 --- a/src/app/api/tasks/route.ts +++ b/src/app/api/tasks/route.ts @@ -359,7 +359,7 @@ export async function PATCH(request: NextRequest) { const body = await request.json(); const { id } = body; - const { title, description, completed, dayOfWeek, order, markdownContent, scheduledDate, startTime, somedayListId, somedaySlotIndex, isRecurring, recurrenceInterval, recurrenceUnit, recurrenceTime, recurrenceEndDate, recurrenceDays, restore, parentTaskId, projectId } = body; + const { title, description, completed, dayOfWeek, order, markdownContent, scheduledDate, startTime, somedayListId, somedaySlotIndex, isRecurring, recurrenceInterval, recurrenceUnit, recurrenceTime, recurrenceEndDate, recurrenceDays, restore, parentTaskId, projectId, externalProvider } = body; if (!id) { return NextResponse.json( @@ -448,6 +448,7 @@ export async function PATCH(request: NextRequest) { ...(somedaySlotIndex !== undefined && { somedaySlotIndex: somedaySlotIndex !== null ? parseInt(somedaySlotIndex) : null }), ...(parentTaskId !== undefined && { parentTaskId: parentTaskId || null }), ...(projectId !== undefined && { projectId: projectId || null }), + ...(externalProvider !== undefined && { externalProvider: externalProvider || null }), }, }); diff --git a/src/components/WeeklyView.tsx b/src/components/WeeklyView.tsx index a1ea964..660b628 100644 --- a/src/components/WeeklyView.tsx +++ b/src/components/WeeklyView.tsx @@ -3448,6 +3448,9 @@ export default function WeeklyView() { // If the task was from a someday list, move it to the calendar if (draggedTask.somedayListId) { const newScheduledDate = formatDateToISO(targetDateObj); + // Inherit provider from someday list if task doesn't have one + const sourceList = somedayLists.find(l => l.id === draggedTask.somedayListId); + const taskProvider = draggedTask.externalProvider || sourceList?.externalProvider || null; // Remove from someday list UI setSomedayLists((prev) => prev.map((l) => ({ @@ -3465,6 +3468,7 @@ export default function WeeklyView() { scheduledDate: newScheduledDate, dayOfWeek, startTime: targetSlot || "", + externalProvider: taskProvider, }, ]); // Persist @@ -3479,6 +3483,7 @@ export default function WeeklyView() { scheduledDate: newScheduledDate, dayOfWeek, startTime: targetSlot || "", + ...(taskProvider && !draggedTask.externalProvider && { externalProvider: taskProvider }), }), });