Skip to content

Commit 8c8f0dd

Browse files
committed
chore: Enhance anime search display by mapping provider tags to user-friendly labels
1 parent dc8b27b commit 8c8f0dd

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

internal/api/anime.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,10 @@ func selectAnimeWithGoFuzzyFinder(animes []models.Anime) (*models.Anime, error)
364364
})
365365

366366
idx, err := fuzzyfinder.Find(animes, func(i int) string {
367-
return animes[i].Name
367+
name := animes[i].Name
368+
name = strings.ReplaceAll(name, "[AllAnime]", "[English]")
369+
name = strings.ReplaceAll(name, "[AnimeFire]", "[Portuguese]")
370+
return name
368371
})
369372
if err != nil {
370373
return nil, fmt.Errorf("fuzzy selection failed: %w", err)

internal/api/enhanced.go

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@ func SearchAnimeEnhanced(name string, source string) (*models.Anime, error) {
8787
return animes[0], nil
8888
}
8989

90+
// Helper to map provider tags to user-friendly language labels for display only
91+
providerLabel := func(src string) string {
92+
if strings.Contains(src, "AnimeFire") {
93+
return "Portuguese"
94+
}
95+
if src == "AllAnime" {
96+
return "English"
97+
}
98+
return src
99+
}
100+
90101
// Use fuzzy finder to let user select
91102
var idx int
92103

@@ -95,14 +106,18 @@ func SearchAnimeEnhanced(name string, source string) (*models.Anime, error) {
95106
idx, err = fuzzyfinder.Find(
96107
animes,
97108
func(i int) string {
98-
return animes[i].Name
109+
// Replace provider tags in the display name only
110+
name := animes[i].Name
111+
name = strings.ReplaceAll(name, "[AllAnime]", "[English]")
112+
name = strings.ReplaceAll(name, "[AnimeFire]", "[Portuguese]")
113+
return name
99114
},
100115
fuzzyfinder.WithPromptString("Selecione o anime desejado: "),
101116
fuzzyfinder.WithPreviewWindow(func(i, w, h int) string {
102117
if i >= 0 && i < len(animes) {
103118
anime := animes[i]
104119
var preview string
105-
preview = "Source: " + anime.Source + "\nURL: " + anime.URL
120+
preview = "Source: " + providerLabel(anime.Source) + "\nURL: " + anime.URL
106121
if anime.ImageURL != "" {
107122
preview += "\nImage: " + anime.ImageURL
108123
}
@@ -116,7 +131,11 @@ func SearchAnimeEnhanced(name string, source string) (*models.Anime, error) {
116131
idx, err = fuzzyfinder.Find(
117132
animes,
118133
func(i int) string {
119-
return animes[i].Name
134+
// Replace provider tags in the display name only
135+
name := animes[i].Name
136+
name = strings.ReplaceAll(name, "[AllAnime]", "[English]")
137+
name = strings.ReplaceAll(name, "[AnimeFire]", "[Portuguese]")
138+
return name
120139
},
121140
fuzzyfinder.WithPromptString("Selecione o anime desejado: "),
122141
)

0 commit comments

Comments
 (0)