mirror of
https://github.com/Apologieze/Benri.git
synced 2026-01-18 17:17:21 +01:00
begining of added dialog
This commit is contained in:
57
addingAnime.go
Normal file
57
addingAnime.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"AnimeGUI/anilist"
|
||||
"fmt"
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/canvas"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/data/binding"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"image/color"
|
||||
)
|
||||
|
||||
func setDialogAddAnime() {
|
||||
animesNames := binding.BindStringList(
|
||||
&[]string{},
|
||||
)
|
||||
|
||||
listAnimeDisplay := widget.NewListWithData(animesNames,
|
||||
func() fyne.CanvasObject {
|
||||
return &widget.Label{Text: "template"}
|
||||
},
|
||||
func(i binding.DataItem, o fyne.CanvasObject) {
|
||||
o.(*widget.Label).Bind(i.(binding.String))
|
||||
})
|
||||
listContainer := container.NewPadded(&canvas.Rectangle{FillColor: color.RGBA{R: grayScaleList, G: grayScaleList, B: grayScaleList, A: 255}, CornerRadius: 10}, listAnimeDisplay)
|
||||
|
||||
inputSearch := widget.NewEntry()
|
||||
inputSearch.SetPlaceHolder("Search")
|
||||
inputSearch.OnSubmitted = func(s string) {
|
||||
if s == "" {
|
||||
return
|
||||
}
|
||||
fmt.Println(s)
|
||||
result := anilist.SearchFromQuery(inputSearch.Text)
|
||||
if result == nil {
|
||||
return
|
||||
}
|
||||
animesNames.Set([]string{})
|
||||
for i := 0; i < len(result); i++ {
|
||||
name := anilist.AnimeToName(&result[i])
|
||||
if name != nil {
|
||||
animesNames.Append(*name)
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("Result: %+v\n", result)
|
||||
}
|
||||
buttonSearch := widget.NewButtonWithIcon("", theme.SearchIcon(), func() { inputSearch.OnSubmitted(inputSearch.Text) })
|
||||
searchBar := container.NewBorder(nil, nil, nil, buttonSearch, inputSearch)
|
||||
|
||||
dialogAdd := dialog.NewCustom("Add new anime from Anilist", "Cancel", container.NewBorder(searchBar, nil, nil, nil, listContainer), window)
|
||||
dialogAdd.Resize(fyne.NewSize(800, 550))
|
||||
dialogAdd.Show()
|
||||
}
|
||||
@@ -85,17 +85,17 @@ func FindList(categoryName string) *[]verniy.MediaList {
|
||||
return &UserData[categoryIndex].Entries
|
||||
}
|
||||
|
||||
func AnimeToName(anime verniy.MediaList) *string {
|
||||
if anime.Media == nil {
|
||||
func AnimeToName(anime *verniy.Media) *string {
|
||||
if anime == nil {
|
||||
return nil
|
||||
}
|
||||
if anime.Media.Title == nil {
|
||||
if anime.Title == nil {
|
||||
return nil
|
||||
}
|
||||
if anime.Media.Title.English != nil {
|
||||
return anime.Media.Title.English
|
||||
if anime.Title.English != nil {
|
||||
return anime.Title.English
|
||||
}
|
||||
return anime.Media.Title.Romaji
|
||||
return anime.Title.Romaji
|
||||
}
|
||||
|
||||
func FormatDuration(seconds int) string {
|
||||
@@ -129,12 +129,15 @@ func IdToUrl(id int) *url.URL {
|
||||
return u
|
||||
}
|
||||
|
||||
func SearchFromQuery(strQuery string) *[]verniy.Media {
|
||||
func SearchFromQuery(strQuery string) []verniy.Media {
|
||||
if strQuery == "" {
|
||||
return nil
|
||||
}
|
||||
query := verniy.PageParamMedia{Search: strQuery}
|
||||
result, err := Client.SearchAnime(query, 1, 10)
|
||||
result, err := Client.SearchAnime(query, 1, 15)
|
||||
if err != nil {
|
||||
log.Error("Error searching anime:", err)
|
||||
return nil
|
||||
}
|
||||
return &result.Media
|
||||
return result.Media
|
||||
}
|
||||
|
||||
10
main.go
10
main.go
@@ -32,6 +32,7 @@ var episodeNumber = widget.NewLabelWithStyle("", fyne.TextAlignCenter, fyne.Text
|
||||
var episodeLastPlayback = widget.NewLabelWithStyle("", fyne.TextAlignCenter, fyne.TextStyle{})
|
||||
var changedToken bool
|
||||
var mpvPresent bool
|
||||
var grayScaleList uint8 = 35
|
||||
|
||||
func main() {
|
||||
var AppName = "AnimeGUI"
|
||||
@@ -58,7 +59,7 @@ func updateAnimeNames(data binding.ExternalStringList) (first bool) {
|
||||
}
|
||||
tempName := make([]string, 0, 25)
|
||||
for _, anime := range *animeList {
|
||||
if name := anilist.AnimeToName(anime); name != nil {
|
||||
if name := anilist.AnimeToName(anime.Media); name != nil {
|
||||
tempName = append(tempName, *name)
|
||||
} else {
|
||||
tempName = append(tempName, "Error name")
|
||||
@@ -192,11 +193,7 @@ func initMainApp() {
|
||||
|
||||
toolbar := widget.NewToolbar(
|
||||
widget.NewToolbarAction(theme.ContentAddIcon(), func() {
|
||||
result := anilist.SearchFromQuery(input.Text)
|
||||
if result == nil {
|
||||
return
|
||||
}
|
||||
fmt.Printf("Result: %+v\n", *result)
|
||||
setDialogAddAnime()
|
||||
}),
|
||||
widget.NewToolbarSeparator(),
|
||||
widget.NewToolbarAction(theme.ViewRefreshIcon(), func() {}),
|
||||
@@ -223,7 +220,6 @@ func initMainApp() {
|
||||
radiobox,
|
||||
)
|
||||
|
||||
var grayScaleList uint8 = 35
|
||||
/*if themeVariant == theme.VariantDark {
|
||||
grayScaleList = 220
|
||||
}*/
|
||||
|
||||
Reference in New Issue
Block a user