ChronoTomato/internal/frontend/keyhandler.go
Sebastian Mark b374ee8aff feat: add Password field to PomodoroClient struct
remove unused password parameters from Client-Methods

🤖
2024-10-30 09:00:29 +01:00

38 lines
869 B
Go

package frontend
import (
"github.com/eiannone/keyboard"
"git.smsvc.net/pomodoro/ChronoTomato/internal/websocket"
ChronoTomato "git.smsvc.net/pomodoro/ChronoTomato/pkg/models"
GoTomato "git.smsvc.net/pomodoro/GoTomato/pkg/models"
)
func start_pause_resume(message GoTomato.ServerMessage) string {
if !message.Ongoing {
return "start"
}
if message.Paused {
return "resume"
} else {
return "pause"
}
}
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)
client.SendCmd(cmd)
case 115: // s
client.SendCmd("stop")
case 114: // r
if config.PomodoroConfig != (GoTomato.PomodoroConfig{}) {
client.SendSettingsUpdate(config.PomodoroConfig)
}
case 113: // q
return false
}
return true
}