Moved argument parsing out of NewModel()

This commit is contained in:
strNophix 2022-03-21 18:23:28 +01:00
parent 8fff93464a
commit 46883cc42d
2 changed files with 15 additions and 8 deletions

10
main.go
View File

@ -2,13 +2,21 @@ package main
import (
"log"
"os"
gomus "git.cesium.pw/niku/gomus/pkg"
tea "github.com/charmbracelet/bubbletea"
)
func main() {
p := tea.NewProgram(gomus.NewModel())
if len(os.Args) < 2 {
log.Fatal("Expected a path to some music")
}
p := tea.NewProgram(gomus.NewModel(gomus.ModelArgs{
MusicPath: os.Args[1],
}))
if err := p.Start(); err != nil {
log.Fatalf("Failed to start: %v", err)
}

View File

@ -12,6 +12,10 @@ var (
termHeight = 0
)
type ModelArgs struct {
MusicPath string
}
type Model struct {
cursor int
currentlyPlaying int
@ -22,13 +26,8 @@ type Model struct {
trackPlayerView trackPlayerView
}
func NewModel() Model {
if len(os.Args) < 2 {
fmt.Println("Expected a path to some music")
os.Exit(0)
}
ti := NewDirTrackIndex(os.Args[1])
func NewModel(args ModelArgs) Model {
ti := NewDirTrackIndex(args.MusicPath)
tpv := newTrackPlayerView(ti.tracks)
return Model{