diff options
author | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-06-30 01:01:45 +0530 |
---|---|---|
committer | Vidhu Kant Sharma <vidhukant@vidhukant.xyz> | 2022-06-30 01:01:45 +0530 |
commit | e9355deabb849a123670e6678427cf33007d01f1 (patch) | |
tree | f86f42e8601536a35c4b26be19bfca7720f51be2 /ui/episodes.go | |
parent | 5ad76ed2e6e67b421c27ff153e2ae348152eaa40 (diff) |
showing number of episodes/chapters watched/read when updating them
Diffstat (limited to 'ui/episodes.go')
-rw-r--r-- | ui/episodes.go | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/ui/episodes.go b/ui/episodes.go index 8b39119..277d52f 100644 --- a/ui/episodes.go +++ b/ui/episodes.go @@ -30,6 +30,11 @@ import ( ) func EpisodeInput(anime a.Anime) { + // fetch number of total episodes, number of watched episodes from the API + animeData := mal.GetAnimeData(anime.Id, []string{"num_episodes", "my_list_status"}) + epWatchedNum := animeData.MyListStatus.EpWatched + epTotalNum := animeData.NumEpisodes + validate := func(input string) error { if _, err := strconv.ParseFloat(input, 64); err != nil { return errors.New("Input must be a number.") @@ -44,27 +49,27 @@ func EpisodeInput(anime a.Anime) { } prompt := p.Prompt { - Label: "Set Episode Number: ", + Label: fmt.Sprintf("Set Episode Number (%d/%d watched):", epWatchedNum, epTotalNum), Templates: template, Validate: validate, } - // print current episode number if any - epNum := anime.MyListStatus.EpWatched - if epNum != 0 { - fmt.Printf("\x1b[33mYou currently have watched %d episodes.\n\x1b[0m", epNum) - } - res, err := prompt.Run() if err != nil { fmt.Println("Error Running episode input Prompt.", err.Error()) os.Exit(1) } + // TODO: read resp and show confirmation message mal.SetEpisodes(anime.Id, res) } func ChapterInput(manga m.Manga) { + // fetch number of total chapters, number of read chapters from the API + animeData := mal.GetMangaData(manga.Id, []string{"num_chapters", "my_list_status"}) + chReadNum := animeData.MyListStatus.ChaptersRead + chTotalNum := animeData.NumChapters + validate := func(input string) error { if _, err := strconv.ParseFloat(input, 64); err != nil { return errors.New("Input must be a number.") @@ -79,22 +84,17 @@ func ChapterInput(manga m.Manga) { } prompt := p.Prompt { - Label: "Set Chapter Number: ", + Label: fmt.Sprintf("Set Chapter Number (%d/%d read):", chReadNum, chTotalNum), Templates: template, Validate: validate, } - // print current chapter number if any - chNum := manga.MyListStatus.ChaptersRead - if chNum != 0 { - fmt.Printf("\x1b[33mYou currently have read %d chapters.\n\x1b[0m", chNum) - } - res, err := prompt.Run() if err != nil { fmt.Println("Error Running chapter input Prompt.", err.Error()) os.Exit(1) } + // TODO: read resp and show confirmation message mal.SetChapters(manga.Id, res) } |