Add cancel (discard) timer feature

Allows users to discard a running timer without creating a time entry.
A trash icon in the timer widget reveals a confirmation step ('Discard / Keep')
to prevent accidental data loss. Backend exposes a new DELETE /api/timer
endpoint that simply deletes the ongoingTimer row.
This commit is contained in:
simon.franken
2026-02-23 10:41:50 +01:00
parent 7358fa6256
commit 06596dcee9
5 changed files with 89 additions and 9 deletions

View File

@@ -48,6 +48,16 @@ router.put(
}
);
// DELETE /api/timer - Cancel (discard) the ongoing timer without creating a time entry
router.delete('/', requireAuth, async (req: AuthenticatedRequest, res, next) => {
try {
await timerService.cancel(req.user!.id);
res.status(204).send();
} catch (error) {
next(error);
}
});
// POST /api/timer/stop - Stop timer
router.post(
'/stop',