From f1d564fe101e3f33a6096e65215bb41d52ccde1f Mon Sep 17 00:00:00 2001 From: Apo Date: Fri, 21 Mar 2025 14:43:47 -0400 Subject: [PATCH] New loading episode bar --- src/curdIntegration.go | 6 ++++-- src/ui/loadingVideoPopUp.go | 16 ++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/curdIntegration.go b/src/curdIntegration.go index f6e927b..e55d60e 100644 --- a/src/curdIntegration.go +++ b/src/curdIntegration.go @@ -101,7 +101,7 @@ type AllAnimeIdData struct { func OnPlayButtonClick(animeName string, animeData *verniy.MediaList, savingWatch bool) error { succes := false - ui.ShowLoadingVideoPopUp() + defer func() { if !succes { ui.CloseLoadingPopup(0) @@ -126,7 +126,7 @@ func OnPlayButtonClick(animeName string, animeData *verniy.MediaList, savingWatc allAnimeId = searchAllAnimeData(anilist.AnimeToRomaji(animeData.Media), animeData.Media.Episodes, animeProgress) if allAnimeId == "" { log.Error("Failed to get allAnimeId") - return errors.New("failed to link anime") + return nil } err, _ := curd.LocalUpdateAnime(databaseFile, animeData.Media.ID, allAnimeId, animeProgress, 0, 0, animeName) if err != nil { @@ -148,6 +148,8 @@ func OnPlayButtonClick(animeName string, animeData *verniy.MediaList, savingWatc log.Info("Anime Progress:", animeProgress) + ui.ShowLoadingVideoPopUp(fmt.Sprint(animeName, " | Episode ", animeProgress)) + fmt.Println("Start getting url") url, err := curd.GetEpisodeURL(userCurdConfig, allAnimeId, animeProgress) if err != nil { diff --git a/src/ui/loadingVideoPopUp.go b/src/ui/loadingVideoPopUp.go index 3ad2d0d..1b02e25 100644 --- a/src/ui/loadingVideoPopUp.go +++ b/src/ui/loadingVideoPopUp.go @@ -3,7 +3,6 @@ package ui import ( "fmt" "fyne.io/fyne/v2" - "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" "github.com/charmbracelet/log" @@ -12,19 +11,24 @@ import ( var loadingVideoPopup *dialog.CustomDialog var step int +var mainWindow fyne.Window func InitLoadingVideoPopUp(window fyne.Window) { - content := container.NewVBox(widget.NewLabel("Loading episode")) - loadingVideoPopup = dialog.NewCustomWithoutButtons("Loading episode", content, window) - loadingVideoPopup.Resize(fyne.NewSize(400, 400)) - + //content := container.NewVBox(widget.NewLabel("Loading episode")) + /*content := widget.NewProgressBarInfinite() + loadingVideoPopup = dialog.NewCustomWithoutButtons("Loading Episode", content, window) + loadingVideoPopup.Resize(fyne.NewSize(400, 50))*/ + mainWindow = window } func ChangeLoadingStep(value int) { step = value } -func ShowLoadingVideoPopUp() { +func ShowLoadingVideoPopUp(title string) { + content := widget.NewProgressBarInfinite() + loadingVideoPopup = dialog.NewCustomWithoutButtons(fmt.Sprint("Loading ", title), content, mainWindow) + loadingVideoPopup.Resize(fyne.NewSize(400, 50)) step = 1 if loadingVideoPopup == nil { log.Error("Couldn't open loading popup")