feat(tasks): add archive button in list cards
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user