Triagem de tarefas, filtros, status de agentes e trabalho bloqueado.
O dashboard é organizado em torno de views, não de pastas. Uma tarefa existe uma vez e é mostrada em toda view que combinar com seu status ou data de vencimento.
Clique em qualquer tarefa para abrir o painel de detalhes. Lá você pode alterar status, área, projeto, data de vencimento, tags e notas. Suas edições são salvas no navegador e sobrevivem ao refresh.
Pense assim… um cliente de email onde cada mensagem tem uma única caixa de entrada, mas você também pode ver views de marcadas, enviadas, agendadas e arquivadas. A mensagem não se move; a lente muda.
As views são filtros computados sobre o mesmo array state.tasks. Hoje e Em breve também consideram due_date, então uma tarefa com vencimento futuro aparece no bucket certo mesmo se seu status explícito ainda for inbox. As edições são mescladas com os dados importados e persistidas em localStorage sob a chave organizerEdits.
O painel de detalhes é agora um <dialog> nativo. Ele prende o foco, fecha com Escape e devolve o foco à linha da tabela ao fechar.
const detailPane = document.getElementById("detail-pane"); detailPane.showModal(); detailPane.addEventListener("click", e => { const rect = detailPane.getBoundingClientRect(); if (e.clientX < rect.left || e.clientX > rect.right) closeDetail(); });
open ~/Documents/Projects/appfy/organizer-loop-engineering/dashboard/index.html
Com o servidor rodando, abra o dashboard e tente três coisas: