add settings and use settings for model generation

This commit is contained in:
2023-02-22 18:02:14 -08:00
parent fb8ab20877
commit fdaad2b3fb

View File

@@ -80,7 +80,11 @@ var (
func initialModel() (model, error) { func initialModel() (model, error) {
var m model var m model
var err error var err error
m.GraphModel, err = NewGraph() m.SettingsModel, err = NewSettings()
if err != nil {
return m, err
}
m.GraphModel, err = NewGraph(m.SettingsModel.SelectedAuthors, m.SettingsModel.SelectedRepos)
if err != nil { if err != nil {
return m, err return m, err
} }
@@ -282,19 +286,36 @@ func NewCommitLog() (CommitLog, error) {
return m, err return m, err
} }
func NewGraph() (Graph, error) { func NewSettings() (Settings, error) {
var m Settings
var err error
m.cursor = authors
m.AllRepos, err = commits.GetMRRepos()
if err != nil {
return m, err
}
m.SelectedRepos = m.AllRepos
m.AllAuthors, err = commits.RepoSet(m.AllRepos).GetRepoAuthors()
if err != nil {
return m, err
}
email, _ := commits.GetAuthorEmail()
if email != "" {
m.SelectedAuthors = append(m.SelectedAuthors, email)
}
name, _ := commits.GetAuthorName()
if name != "" {
m.SelectedAuthors = append(m.SelectedAuthors, name)
}
return m, nil
}
func NewGraph(authors, repos []string) (Graph, error) {
var m Graph var m Graph
now := time.Now() now := time.Now()
today := now.YearDay() - 1 today := now.YearDay() - 1
year := now.Year() year := now.Year()
aName, _ := commits.GetAuthorName() m.Repos = repos
aEmail, _ := commits.GetAuthorEmail()
authors := []string{aName, aEmail}
mr, err := commits.GetMRRepos()
if err != nil {
return m, err
}
m.Repos = mr
m.Authors = authors m.Authors = authors
m.Year = year m.Year = year
m.Selected = today m.Selected = today