From 44037863f13632c9cd274440e84d8370d2ef8922 Mon Sep 17 00:00:00 2001 From: DBT Date: Sat, 28 Feb 2026 08:50:55 +0000 Subject: [PATCH] task audit UX: add explicit New Task action and draft reset flow --- webui/src/i18n/index.ts | 2 ++ webui/src/pages/TaskAudit.tsx | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/webui/src/i18n/index.ts b/webui/src/i18n/index.ts index 9141767..d5c64b1 100644 --- a/webui/src/i18n/index.ts +++ b/webui/src/i18n/index.ts @@ -29,6 +29,7 @@ const resources = { ignoreTask: 'Ignore', taskCrud: 'Task CRUD', createTask: 'Create', + newTask: 'New Task', updateTask: 'Update', deleteTask: 'Delete', export: 'Export', @@ -197,6 +198,7 @@ const resources = { ignoreTask: '忽略', taskCrud: '任务 CRUD', createTask: '新建', + newTask: '新任务', updateTask: '更新', deleteTask: '删除', export: '导出', diff --git a/webui/src/pages/TaskAudit.tsx b/webui/src/pages/TaskAudit.tsx index 55471a2..043ba7f 100644 --- a/webui/src/pages/TaskAudit.tsx +++ b/webui/src/pages/TaskAudit.tsx @@ -96,6 +96,11 @@ const TaskAudit: React.FC = () => { } }; + + const resetDraftForNew = () => { + setSelected(null); + setDraft({ id: '', content: '', priority: 'normal', status: 'todo', source: 'manual', due_at: '' }); + }; const saveTask = async (action: 'create'|'update'|'delete') => { try { const url = `/webui/api/tasks${q}`; @@ -133,6 +138,7 @@ const TaskAudit: React.FC = () => { + @@ -183,7 +189,7 @@ const TaskAudit: React.FC = () => { )}
-
{t('taskCrud')}
+
{t('taskCrud')} {selected ? `(${selected.task_id || selected.id || ''})` : '(new)'}
setDraft({ ...draft, id: e.target.value })} placeholder="id" className="w-full px-2 py-1 text-xs bg-zinc-900 border border-zinc-700 rounded" />