feat: refactor client handling and introduce websocket client type
- add new websocket.Client type
- change Connect and Disconnect functions to use the new Client type
- implement methods for sending commands and updating settings on Client
- update keyhandler to use websocket.Client instead of ChronoTomato.Client
- modify UpdateLoop to accept websocket.Client
- refactor ProcessServerMessages to accept the new Client type
🤖
This commit is contained in:
parent
b943c9d6eb
commit
0ca90b50a5
6 changed files with 25 additions and 18 deletions
|
@ -20,16 +20,16 @@ func start_pause_resume(message GoTomato.ServerMessage) string {
|
|||
}
|
||||
}
|
||||
|
||||
func keyhandler(key keyboard.KeyEvent, client ChronoTomato.Client, config ChronoTomato.Config, message GoTomato.ServerMessage) bool {
|
||||
func keyhandler(key keyboard.KeyEvent, client websocket.Client, config ChronoTomato.Config, message GoTomato.ServerMessage) bool {
|
||||
switch key.Rune {
|
||||
case 0: // space
|
||||
cmd := start_pause_resume(message)
|
||||
websocket.SendCmd(client, config.Password, cmd)
|
||||
client.SendCmd(config.Password, cmd)
|
||||
case 115: // s
|
||||
websocket.SendCmd(client, config.Password, "stop")
|
||||
client.SendCmd(config.Password, "stop")
|
||||
case 114: // r
|
||||
if config.PomodoroConfig != (GoTomato.PomodoroConfig{}) {
|
||||
websocket.Send_updateSettings(client, config.Password, config.PomodoroConfig)
|
||||
client.SendSettingsUpdate(config.Password, config.PomodoroConfig)
|
||||
}
|
||||
case 113: // q
|
||||
return false
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models"
|
||||
)
|
||||
|
||||
func UpdateLoop(client ChronoTomato.Client, config ChronoTomato.Config, channel <-chan GoTomato.ServerMessage) {
|
||||
func UpdateLoop(client websocket.Client, config ChronoTomato.Config, channel <-chan GoTomato.ServerMessage) {
|
||||
var message GoTomato.ServerMessage
|
||||
|
||||
keysEvents, _ := keyboard.GetKeys(1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue