refactor: ordenar tarefas por status e simplificar note dialog

Tarefas pendentes agora aparecem primeiro, concluídas por último,
tanto nos cards quanto nos modais (details e edit).

Note dialog mais minimalista: remove labels redundantes, contadores
de caracteres, descriptions verbosas. Tarefas com line-through
quando concluídas, botão de remover mais sutil.

Cards de anotação agora usam grid responsivo (1/2/3 colunas)
igual aos cards de cartões, em vez de largura fixa 440px.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-02-26 17:44:02 +00:00
parent 283dfd70a8
commit 29b3bc1086
5 changed files with 139 additions and 186 deletions

View File

@@ -14,7 +14,7 @@ import {
DialogTitle,
} from "@/components/ui/dialog";
import { Card } from "../ui/card";
import type { Note } from "./types";
import { type Note, sortTasksByStatus } from "./types";
const DATE_FORMATTER = new Intl.DateTimeFormat("pt-BR", {
dateStyle: "long",
@@ -51,6 +51,7 @@ export function NoteDetailsDialog({
const isTask = note.type === "tarefa";
const tasks = note.tasks || [];
const sortedTasks = useMemo(() => sortTasksByStatus(tasks), [tasks]);
const completedCount = tasks.filter((t) => t.completed).length;
const totalCount = tasks.length;
@@ -71,7 +72,7 @@ export function NoteDetailsDialog({
{isTask ? (
<div className="max-h-[320px] overflow-auto space-y-3">
{tasks.map((task) => (
{sortedTasks.map((task) => (
<Card
key={task.id}
className="flex gap-3 p-3 flex-row items-center"