diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 8dac5f86..632fb6c4 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -385,9 +385,10 @@ "n_day_ago": "Vor {day} Tag", "now": "jetzt", "library_last_updated": "Bibliothek zuletzt am {lastUpdated} aktualisiert.", - "hide_manga": "Einige Elemente im Zusammenhang mit Mangas ausblenden.", - "hide_anime": "Einige Elemente im Zusammenhang mit Animes ausblenden.", - "hide_novel": "Einige Elemente im Zusammenhang mit (Light-)Novels ausblenden.", + "reorder_navigation": "Passe die Navigation für dich selber an.", + "hide_manga": "Einige Elemente bezüglich Mangas ausblenden.", + "hide_anime": "Einige Elemente bezüglich Animes ausblenden.", + "hide_novel": "Einige Elemente bezüglich (Light-)Novels ausblenden.", "novel_sources": "Novel-Quellen", "novel_extensions": "Novel-Erweiterungen", "sync_after_reading": "Nach dem Lesen oder Ansehen synchronisieren", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1f63b479..7d66289d 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -215,6 +215,7 @@ "sync_confirm_download": "A full download will completely replace your current data with the remote one!", "dialog_confirm": "Confirm", "description": "Description", + "reorder_navigation": "Customize the navigation to your needs.", "hide_manga": "Hide some elements related to mangas.", "hide_anime": "Hide some elements related to animes.", "hide_novel": "Hide some elements related to (light) novels.", diff --git a/lib/modules/more/settings/appearance/appearance_screen.dart b/lib/modules/more/settings/appearance/appearance_screen.dart index ab56575b..4cd7d56d 100644 --- a/lib/modules/more/settings/appearance/appearance_screen.dart +++ b/lib/modules/more/settings/appearance/appearance_screen.dart @@ -299,6 +299,63 @@ class AppearanceScreen extends ConsumerWidget { fontSize: 11, color: context.secondaryColor), ), ), + ListTile( + onTap: () { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text( + l10n.reorder_navigation, + ), + content: SizedBox( + width: context.width(0.8), + child: ReorderableListView.builder( + shrinkWrap: true, + itemCount: 7, + itemBuilder: (context, index) { + final locale = AppLocalizations + .supportedLocales[index]; + return RadioListTile( + dense: true, + contentPadding: const EdgeInsets.all(0), + value: locale, + groupValue: l10nLocale, + onChanged: (value) { + ref + .read(l10nLocaleStateProvider + .notifier) + .setLocale(locale); + Navigator.pop(context); + }, + title: Text(completeLanguageName( + locale.toLanguageTag())), + ); + }, + onReorder: (oldIndex, newIndex) { + }, + )), + actions: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () async { + Navigator.pop(context); + }, + child: Text( + l10n.cancel, + style: TextStyle( + color: context.primaryColor), + )), + ], + ) + ], + ); + }); + }, + title: Text(l10n.reorder_navigation), + ), SwitchListTile( value: hideAnime, title: Text(context.l10n.hide_anime),