From 11dd6b23bd806cb6f0417580048f7d0c3d7753a5 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Wed, 7 Feb 2024 19:55:44 +0100 Subject: [PATCH] Added no items to reorder message --- lib/l10n/app_en.arb | 3 ++- lib/l10n/app_es.arb | 3 ++- lib/providers/app_config_provider.dart | 7 +------ .../reorderable_top_items_home.dart | 21 ++++++++++++++++++- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 6bb805e..a928180 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -771,5 +771,6 @@ "customRulesUpdatedSuccessfully": "Custom rules updated successfully", "customRulesNotUpdated": "Custom rules could not be updated", "reorder": "Reorder", - "showHide": "Show/hide" + "showHide": "Show/hide", + "noElementsReorderMessage": "Enable some elements on the show/hide tab to reorder them here." } \ No newline at end of file diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index afe0758..b744b99 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -771,5 +771,6 @@ "customRulesUpdatedSuccessfully": "Reglas personalizadas actualizadas correctamente", "customRulesNotUpdated": "Las reglas personalizadas no pudieron ser actualizadas", "reorder": "Reordenar", - "showHide": "Mostrar/ocultar" + "showHide": "Mostrar/ocultar", + "noElementsReorderMessage": "Activa algunos elementos en la pestaña de mostrar/ocultar para reordenarlos aquí." } \ No newline at end of file diff --git a/lib/providers/app_config_provider.dart b/lib/providers/app_config_provider.dart index 6b73520..f31eb3c 100644 --- a/lib/providers/app_config_provider.dart +++ b/lib/providers/app_config_provider.dart @@ -370,7 +370,7 @@ class AppConfigProvider with ChangeNotifier { _hideServerAddress = sharedPreferencesInstance.getBool('hideServerAddress') ?? false; if (sharedPreferencesInstance.getStringList('homeTopItemsOrder') != null) { try { - final itemsOrder = List.from( + _homeTopItemsOrder = List.from( List.from(sharedPreferencesInstance.getStringList('homeTopItemsOrder')!).map((e) { switch (e) { case 'queriedDomains': @@ -393,11 +393,6 @@ class AppConfigProvider with ChangeNotifier { } }).where((e) => e != null).toList() ); - final missingItems = homeTopItemsDefaultOrder.where((e) => !itemsOrder.contains(e)); - _homeTopItemsOrder = [ - ...itemsOrder, - ...missingItems - ]; } catch (e) { Sentry.captureException(e); _homeTopItemsOrder = homeTopItemsDefaultOrder; diff --git a/lib/screens/settings/general_settings/top_items_list/reorderable_top_items_home.dart b/lib/screens/settings/general_settings/top_items_list/reorderable_top_items_home.dart index dc513a7..332a64b 100644 --- a/lib/screens/settings/general_settings/top_items_list/reorderable_top_items_home.dart +++ b/lib/screens/settings/general_settings/top_items_list/reorderable_top_items_home.dart @@ -122,7 +122,26 @@ class _ReorderableTopItemsHomeState extends State { ), ), ), - reorderable_list.ReorderableList( + if (homeTopItemsList.isEmpty) Padding( + padding: const EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Center( + child: Text( + AppLocalizations.of(context)!.noElementsReorderMessage, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 18, + color: Theme.of(context).colorScheme.onSurfaceVariant + ), + ), + ), + ], + ), + ), + if (homeTopItemsList.isNotEmpty) reorderable_list.ReorderableList( onReorder: _reorderCallback, onReorderDone: _reorderDone, child: ListView.builder(