feat(tasks): add archive button in list cards

This commit is contained in:
Rafael Foster
2026-04-29 05:51:52 -03:00
parent 6028c4562a
commit 6eafe80395
3 changed files with 21 additions and 2 deletions
+2
View File
@@ -153,6 +153,7 @@
"markDone": "Mark {{title}} as done",
"markOpen": "Mark {{title}} as open",
"editButton": "Edit task",
"archiveButton": "Archive task",
"swipeOpen": "Reopen",
"swipeDone": "Done",
"swipeEdit": "Edit",
@@ -163,6 +164,7 @@
"savedToast": "Task saved.",
"createdToast": "Task created.",
"deletedToast": "Task deleted.",
"archivedToast": "Task archived.",
"loadError": "Task could not be loaded.",
"subtaskPrompt": "Subtask:",
"kanbanOpen": "Open",
+2
View File
@@ -153,6 +153,7 @@
"markDone": "Marcar {{title}} como concluído",
"markOpen": "Marcar {{title}} como pendente",
"editButton": "Editar tarefa",
"archiveButton": "Arquivar tarefa",
"swipeOpen": "Abrir",
"swipeDone": "Concluído",
"swipeEdit": "Editar",
@@ -163,6 +164,7 @@
"savedToast": "Tarefa salva.",
"createdToast": "Tarefa criada.",
"deletedToast": "Tarefa excluída.",
"archivedToast": "Tarefa arquivada.",
"loadError": "Falha ao carregar a tarefa.",
"subtaskPrompt": "Subtarefa:",
"kanbanOpen": "Aberto",
+15
View File
@@ -209,6 +209,11 @@ function renderTaskCard(task, opts = {}) {
aria-label="${t('tasks.editButton')}">
<i data-lucide="pencil" class="icon-base" aria-hidden="true"></i>
</button>
${task.status !== 'archived' ? `
<button class="btn btn--ghost btn--icon btn--icon-sm" data-action="archive-task" data-id="${task.id}"
aria-label="${t('tasks.archiveButton')}">
<i data-lucide="archive" class="icon-base" aria-hidden="true"></i>
</button>` : ''}
</div>
${progress !== null ? `
@@ -1511,6 +1516,16 @@ function wireTaskList(container) {
}
}
if (action === 'archive-task') {
try {
await api.patch(`/tasks/${id}/status`, { status: 'archived' });
window.oikos.showToast(t('tasks.archivedToast'), 'success');
await loadTasks(container);
} catch (err) {
window.oikos.showToast(err.message, 'danger');
}
}
if (action === 'add-subtask') {
await handleAddSubtask(target.dataset.parent, container);
}