diff --git a/packages/web/src/routes/progress/[id]/+page.server.ts b/packages/web/src/routes/progress/[id]/+page.server.ts index e22802f..81d5971 100755 --- a/packages/web/src/routes/progress/[id]/+page.server.ts +++ b/packages/web/src/routes/progress/[id]/+page.server.ts @@ -58,5 +58,22 @@ export const actions = { .values({ taskId: Number(params.id), topicId }) .returning(); } + }, + removeTopic: async ({ request, params }) => { + const data = await request.formData(); + + const topicId = Number(data.get('topic-id')); + + const existing = await db.query.tasksToTopics.findFirst({ + where: and(eq(tasksToTopics.taskId, Number(params.id)), eq(tasksToTopics.topicId, topicId)) + }); + + if (existing) { + await db + .delete(tasksToTopics) + .where( + and(eq(tasksToTopics.taskId, Number(params.id)), eq(tasksToTopics.topicId, topicId)) + ); + } } }; diff --git a/packages/web/src/routes/progress/[id]/+page.svelte b/packages/web/src/routes/progress/[id]/+page.svelte index d0a3586..4f62a92 100755 --- a/packages/web/src/routes/progress/[id]/+page.svelte +++ b/packages/web/src/routes/progress/[id]/+page.svelte @@ -79,15 +79,28 @@ - -