Files
musicplayer/src/musicplayer/control.gleam
2025-11-23 10:06:33 +01:00

25 lines
400 B
Gleam

import musicplayer/input/key.{type Key}
pub type Control {
TogglePlayPause
Search
Exit
}
pub fn from_key(key: Key) -> Result(Control, Nil) {
case key {
key.Char(char) -> char_control(char)
_ -> Error(Nil)
}
}
fn char_control(char: String) -> Result(Control, Nil) {
case char {
" " -> Ok(TogglePlayPause)
"/" -> Ok(Search)
"q" -> Ok(Exit)
_ -> Error(Nil)
}
}