Resume timer
It would be cool if there was a way to resume a timer after a session reset.
For instance when a user tries to reload the dashboard page while a timer is running, a confirmation dialog appears to prevent losing current state data.
Right now the app stores a new Tomato record only after the timer has ended. This feature would require to store a new record as soon as a new timer has been started.
Users would have a running timer if they created a new Tomato record at most 25 minutes ago or, even better, if their last record created hasn't been marked as finished or finalized.
A new validation could be introduced to prevent the creation of new records before 25 minutes from the last record's created_at time. The old validation, that prevents creating new records less than 25 after the last tomato, could be useful anyway to check data coming from web or API POST /tomatoes requests.
Todo: more info about where to store tomatoes state (finalization)
Todo: more info about where to return data on the running timer
Todo: more info about how to resume a timer from the web interface