Added pause command
This commit is contained in:
parent
ea8c90502f
commit
bdefd6d2fb
@ -11,3 +11,13 @@ func newTrackChangeCmd(nextTrack track) tea.Cmd {
|
|||||||
return trackChangeMsg{nextTrack}
|
return trackChangeMsg{nextTrack}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type trackPauseMsg struct {
|
||||||
|
isPaused bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func newTrackPauseCmd(isPaused bool) tea.Cmd {
|
||||||
|
return func() tea.Msg {
|
||||||
|
return trackPauseMsg{isPaused}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -61,6 +61,9 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
t := m.trackPlayerView.trackList.SelectedItem().(track)
|
t := m.trackPlayerView.trackList.SelectedItem().(track)
|
||||||
cmds = append(cmds, newTrackChangeCmd(t))
|
cmds = append(cmds, newTrackChangeCmd(t))
|
||||||
m.trackPlayer.play(t.getReader())
|
m.trackPlayer.play(t.getReader())
|
||||||
|
case " ":
|
||||||
|
pauseState := m.TrackPlayer.TogglePause()
|
||||||
|
cmds = append(cmds, newTrackPauseCmd(pauseState))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var cmd tea.Cmd
|
var cmd tea.Cmd
|
||||||
|
@ -21,6 +21,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type statusBar struct {
|
type statusBar struct {
|
||||||
|
isPaused bool
|
||||||
currentTrack track
|
currentTrack track
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,7 +32,13 @@ func (s statusBar) Init() tea.Cmd {
|
|||||||
func (s statusBar) View() string {
|
func (s statusBar) View() string {
|
||||||
w := lipgloss.Width
|
w := lipgloss.Width
|
||||||
|
|
||||||
statusKey := statusStyle.Render("NOW PLAYING")
|
var statusKey string
|
||||||
|
if s.isPaused {
|
||||||
|
statusKey = statusStyle.Render("PAUSED")
|
||||||
|
} else {
|
||||||
|
statusKey = statusStyle.Render("NOW PLAYING")
|
||||||
|
}
|
||||||
|
|
||||||
statusVal := statusText.Copy().
|
statusVal := statusText.Copy().
|
||||||
Width(termWidth - w(statusKey)).
|
Width(termWidth - w(statusKey)).
|
||||||
Render(s.currentTrack.fullName())
|
Render(s.currentTrack.fullName())
|
||||||
@ -48,6 +55,8 @@ func (s statusBar) Update(msg tea.Msg) (statusBar, tea.Cmd) {
|
|||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case trackChangeMsg:
|
case trackChangeMsg:
|
||||||
s.currentTrack = msg.nextTrack
|
s.currentTrack = msg.nextTrack
|
||||||
|
case trackPauseMsg:
|
||||||
|
s.isPaused = msg.isPaused
|
||||||
}
|
}
|
||||||
|
|
||||||
return s, nil
|
return s, nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user