A simple Work/Break timer Chrome App built with Typescript.
The planned features of this app are as follows:
- I can start a countdown timer and be notified when the time is up. (Done)
- I can take a break at any time. This break can either be my designated break duration or a 5 or a 10 minute break. (Done)
- When I am notified of my work time being up, I am given the option to either take a break, postpone the break, or skip the break. (Done)
- I can change the duration of my work focus time and my break time. (Done.)
- Change out the assets to be my own assets. (Done.)
- Create a disruption window feature. If the break strikes, put up a disruption window that is alwaysOnTop. The disruption window has options to skip the break, take 5, or take 10. (Done.)
- Pause the timer for definite amounts of time. (Done.)
- Convert over to using the Materialize CSS library to avoid bizarre licensing issues. (Done.)
- Clean up and refactor the code for release. (In-progress.)
- Move all timer business logic code into the timer class. (Pretty much done.)
- Rename the timer class from the legacy name Pomodimer to just PauseTimer. (Done.)
- Change var FUNC = () => {} structures into function structures. (Done.)
- Re-organize .ts files and annotate the function calls with docstrings. (In-progress).
- Pass TSLint on all files. (Done.)
- Clean up the less files to be more idiomatic.
- Release to the Chrome app store.
- Change user-facing strings to be internationalizable instead of hacking together messages.json as {}.
The stretch features of this app are as follows:
- Use the chrome.idle.* API to add an option to selectively pause/reset the timer when the system has been idle for greater than X minutes. (Done.)
- I receive a notification on my phone/other devices when my break is up.
- My break durations and work durations are logged to the app.
Known issues:
Alarms act funny if returning from logging out and "trigger" while logged out.