From c2a9e806e84c208e504f162b89a5d07c05af29fd Mon Sep 17 00:00:00 2001
From: VewDev <36-VewDev@users.noreply.git.ryujinx.app>
Date: Sat, 26 Apr 2025 08:47:44 +0200
Subject: [PATCH 1/2] feat(ui): improve Amiibo selection UX
Add a list of available Amiibos to the left of the Amiibo image and remove the upper right Amiibo selector for a smoother UX
---
src/Ryujinx/UI/Windows/AmiiboWindow.axaml | 30 ++++++++++++++---------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/src/Ryujinx/UI/Windows/AmiiboWindow.axaml b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
index ad77a9b6b..38c4e2f4e 100644
--- a/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
+++ b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
@@ -47,19 +47,25 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
Date: Mon, 23 Jun 2025 18:43:51 +0200
Subject: [PATCH 2/2] feat(ui): show all available Amiibo if no series selected
---
assets/locales.json | 40 +++++++++----------
.../UI/ViewModels/AmiiboWindowViewModel.cs | 20 +++++++---
src/Ryujinx/UI/Windows/AmiiboWindow.axaml | 6 +++
3 files changed, 41 insertions(+), 25 deletions(-)
diff --git a/assets/locales.json b/assets/locales.json
index ef621b1af..e6add8d2a 100644
--- a/assets/locales.json
+++ b/assets/locales.json
@@ -15675,26 +15675,26 @@
{
"ID": "AmiiboOptionsShowAllLabel",
"Translations": {
- "ar_SA": "إظهار كل أميبو",
- "de_DE": "Zeige alle Amiibos",
- "el_GR": "Εμφάνιση όλων των Amiibo",
- "en_US": "Show All Amiibo",
- "es_ES": "Mostrar todos los Amiibo",
- "fr_FR": "Afficher tous les Amiibo",
- "he_IL": "הצג את כל האמיבואים",
- "it_IT": "Mostra tutti gli amiibo",
- "ja_JP": "すべての Amiibo を表示",
- "ko_KR": "모든 Amiibo 표시",
- "no_NO": "Vis alle Amiibo",
- "pl_PL": "Pokaż Wszystkie Amiibo",
- "pt_BR": "Exibir Todos os Amiibos",
- "ru_RU": "Показать все Amiibo",
- "sv_SE": "Visa alla Amiibo",
- "th_TH": "แสดง Amiibo ทั้งหมด",
- "tr_TR": "Tüm Amiibo'ları Göster",
- "uk_UA": "Показати всі Amiibo",
- "zh_CN": "显示所有 Amiibo",
- "zh_TW": "顯示所有 Amiibo"
+ "ar_SA": "",
+ "de_DE": "",
+ "el_GR": "",
+ "en_US": "Show incompatible Amiibo for this game",
+ "es_ES": "Mostrar Amiibo incompatibles con este juego",
+ "fr_FR": "",
+ "he_IL": "",
+ "it_IT": "",
+ "ja_JP": "",
+ "ko_KR": "",
+ "no_NO": "",
+ "pl_PL": "",
+ "pt_BR": "",
+ "ru_RU": "",
+ "sv_SE": "",
+ "th_TH": "",
+ "tr_TR": "",
+ "uk_UA": "",
+ "zh_CN": "",
+ "zh_TW": ""
}
},
{
diff --git a/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs
index 48c0837b4..39e4865a2 100644
--- a/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/AmiiboWindowViewModel.cs
@@ -342,14 +342,24 @@ namespace Ryujinx.Ava.UI.ViewModels
{
_amiibos.Clear();
+ List amiiboSortedList;
+
+ // If no series selected, just display all available amiibos
if (_seriesSelectedIndex < 0)
{
- return;
+ amiiboSortedList = _amiiboList
+ .OrderBy(amiibo => amiibo.AmiiboSeries)
+ .ThenBy(x => x.Name)
+ .ToList();
+ }
+ else
+ {
+ amiiboSortedList = _amiiboList
+ .Where(amiibo => amiibo.AmiiboSeries == _amiiboSeries[SeriesSelectedIndex])
+ .OrderBy(amiibo => amiibo.Name).ToList();
}
- List amiiboSortedList = _amiiboList
- .Where(amiibo => amiibo.AmiiboSeries == _amiiboSeries[SeriesSelectedIndex])
- .OrderBy(amiibo => amiibo.Name).ToList();
+
for (int i = 0; i < amiiboSortedList.Count; i++)
{
@@ -386,7 +396,7 @@ namespace Ryujinx.Ava.UI.ViewModels
Usage = string.Empty;
- if (_amiiboSelectedIndex < 0)
+ if (_amiiboSelectedIndex < 0 || _amiibos.Count < 1)
{
return;
}
diff --git a/src/Ryujinx/UI/Windows/AmiiboWindow.axaml b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
index 38c4e2f4e..1b79716d9 100644
--- a/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
+++ b/src/Ryujinx/UI/Windows/AmiiboWindow.axaml
@@ -56,6 +56,12 @@
SelectionMode="Single"
ItemsSource="{Binding AmiiboList}"
SelectedIndex="{Binding AmiiboSelectedIndex}">
+
+
+
+
+
+