feat(heute): ToDos mitten am Tag hinzufügen
ci / quality (push) Failing after 33s
ci / build (push) Has been skipped
deploy / deploy (push) Successful in 52s

Nach dem Lock-in konnte man ToDos nur bearbeiten/abhaken, aber keine neuen
anlegen. Neuer Endpoint dayEntry.addTodo hängt ein einzelnes ToDo an den
heutigen Tageseintrag an (erlaubt solange der Eintrag vom heutigen
Berlin-Tag ist, auch nach der Reflexion). Inline-Feld „Neues ToDo
hinzufügen" in der EinstempeltView; aktualisiert Heute + Dashboard-Sichten.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
dejanandClaude Opus 4.8 committed 2026-06-06 15:47:54 +02:00
1 parent bcae44eeb3
commit 68480c1eb1
3 files changed
+85

No files matched your search

+37
View File
@@ -273,6 +273,42 @@ function TodoRow({
);
}
function AddTodoInline() {
const utils = trpc.useUtils();
const [title, setTitle] = useState('');
const add = trpc.dayEntry.addTodo.useMutation({
onSuccess: async () => {
setTitle('');
await utils.dayEntry.today.invalidate();
await utils.dayEntry.todayTeam.invalidate();
await utils.dashboard.overview.invalidate();
},
});
return (
<form
className="mt-3 flex items-center gap-2"
onSubmit={(e) => {
e.preventDefault();
const v = title.trim();
if (!v) return;
add.mutate({ title: v });
}}
>
<input
type="text"
value={title}
onChange={(e) => setTitle(e.target.value)}
placeholder="Neues ToDo hinzufügen …"
maxLength={200}
className="flex-1 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-white px-3 py-2 text-sm focus:border-[var(--color-ink)] focus:outline-none"
/>
<Button type="submit" size="sm" variant="secondary" disabled={!title.trim() || add.isPending}>
<Plus size={14} /> Hinzufügen
</Button>
</form>
);
}
function EinstempeltView({
todos,
entry,
@@ -322,6 +358,7 @@ function EinstempeltView({
<TodoRow key={t.id} todo={t} allTodos={todos} />
))}
</ul>
<AddTodoInline />
</Card.Body>
<Card.Footer className="flex justify-end">
<Button onClick={() => (location.href = '/reflexion')}>{ctaLabel}</Button>