This project and I didn’t always see eye-to-eye and fought each other for a pretty long while, but I think we’ve mostly resolved our issues. I’m really, really happy with how it turned out!
My eventual goal is to combine a couple of apps (made both via FCC and independently) into an all-in-one productivity app, of which I wanted this clock to be a part of, so I was really focused on how a user would actually use it. I made an intentional design choice that the user must press the “start” button to start every session–the clock won’t move on to the next session automatically. I reasoned that when the work session finishes, the user may need an extra minute or two to finish the immediate task at hand (and, for example, won’t just stop in the middle of writing an email). Likewise, if the user leaves the computer during a break and the session finishes, the clock won’t automatically start a work session.
Feedback/comments/suggestions (especially for how I can clean up the code, there’s a fair amount of repetition that I think I could avoid somehow…) are always welcome!