diff --git a/README.md b/README.md index a7c41f3..955b001 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Example: The server periodically (every second) sends JSON-encoded messages to all connected clients to update them on the current state of the Pomodoro session. These messages contain the following fields: -- mode: Indicates the current phase of the Pomodoro session ("Work", "ShortBreak", "LongBreak", or "none" if no session is running). +- mode: Indicates the current phase of the Pomodoro session ("Work", "ShortBreak", "LongBreak", or empty if no session is running). - session: The current session number (e.g., 1 for the first work session). - total_sessions: The total number of sessions for the current Pomodoro cycle (e.g., 4 if the cycle consists of 4 work/break sessions). - time_left: The remaining time for the current mode, in seconds (e.g., 900 for 15 minutes). @@ -62,11 +62,11 @@ These messages contain the following fields: | Message Type | Example | | --------------------- | --------------------------------------------------- | -| Welcome Message | `{"mode": "none", "session":0, "total_sessions":0, "time_left":0, "ongoing": false, "paused": false}` | +| Welcome Message | `{"mode": "", "session":0, "total_sessions":0, "time_left":0, "ongoing": false, "paused": false}` | | Session Running | `{"mode": "Work", "session": 1, "total_sessions": 4, "time_left": 900, "ongoing": true, "paused": false}` | | Session Running | `{"mode": "ShortBreak", "session": 2, "total_sessions": 4, "time_left": 50, "ongoing": true, "paused": false}` | | Session Paused | `{"mode": "Work", "session": 2, "total_sessions": 4, "time_left": 456, "ongoing": true, "paused": true}` | -| Session End/Reset | `{"mode": "none", "session": 0, "total_sessions": 0, "time_left": 0, "ongoing": false, "paused": false}` | +| Session End/Reset | `{"mode": "", "session": 0, "total_sessions": 0, "time_left": 0, "ongoing": false, "paused": false}` | ## Testing diff --git a/internal/pomodoro/pomodoro.go b/internal/pomodoro/pomodoro.go index c5e927e..702d0f7 100644 --- a/internal/pomodoro/pomodoro.go +++ b/internal/pomodoro/pomodoro.go @@ -40,26 +40,14 @@ func RunPomodoro(config models.GoTomatoPomodoroConfig) { } } - mu.Lock() - shared.Message.Ongoing = false - mu.Unlock() + shared.Message = shared.ResetToDefault() } // ResetPomodoro resets the running Pomodoro timer. func ResetPomodoro() { // Send a reset signal to stop any running timers pomodoroResetChannel <- true - - mu.Lock() - shared.Message.Ongoing = false - shared.Message.Paused = false - mu.Unlock() - - // Reset message - shared.Message.Mode = "none" - shared.Message.Session = 0 - shared.Message.TotalSession = 0 - shared.Message.TimeLeft = 0 + shared.Message = shared.ResetToDefault() } func PausePomodoro() { diff --git a/internal/shared/state.go b/internal/shared/state.go index 26ff2d6..87e8759 100644 --- a/internal/shared/state.go +++ b/internal/shared/state.go @@ -4,11 +4,15 @@ import ( "git.smsvc.net/pomodoro/GoTomato/pkg/models" ) -var Message = models.ServerMessage{ - Mode: "none", - Session: 0, - TotalSession: 0, - TimeLeft: 0, - Ongoing: false, - Paused: false, +var Message = ResetToDefault() + +func ResetToDefault() models.ServerMessage { + return models.ServerMessage{ + Mode: "", + Session: 0, + TotalSession: 0, + TimeLeft: 0, + Ongoing: false, + Paused: false, + } }