From bbb1d55b64a823a5890cfa291810c1b556abd0f0 Mon Sep 17 00:00:00 2001 From: Inex Code Date: Sat, 31 Dec 2022 08:08:25 +0300 Subject: [PATCH] feat(services): Sort the services by their status Done by changing the indexes of ServiceStatus enum and sorting by it. --- lib/logic/models/service.dart | 6 +++--- lib/ui/pages/services/services.dart | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/logic/models/service.dart b/lib/logic/models/service.dart index 898d2965..039065e3 100644 --- a/lib/logic/models/service.dart +++ b/lib/logic/models/service.dart @@ -105,13 +105,13 @@ class ServiceStorageUsage { } enum ServiceStatus { + failed, + reloading, activating, active, deactivating, - failed, inactive, - off, - reloading; + off; factory ServiceStatus.fromGraphQL(final Enum$ServiceStatusEnum graphQL) { switch (graphQL) { diff --git a/lib/ui/pages/services/services.dart b/lib/ui/pages/services/services.dart index 498f84a1..fc00922b 100644 --- a/lib/ui/pages/services/services.dart +++ b/lib/ui/pages/services/services.dart @@ -41,6 +41,10 @@ class _ServicesPageState extends State { final isReady = context.watch().state is ServerInstallationFinished; + final services = [...context.watch().state.services]; + services + .sort((final a, final b) => a.status.index.compareTo(b.status.index)); + return Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(52), @@ -58,10 +62,7 @@ class _ServicesPageState extends State { BrandText.body1('basis.services_title'.tr()), const SizedBox(height: 24), if (!isReady) ...[const NotReadyCard(), const SizedBox(height: 24)], - ...context - .read() - .state - .services + ...services .map( (final service) => Padding( padding: const EdgeInsets.only(