From 158356ba181496de0123a10dc48049475847109e Mon Sep 17 00:00:00 2001 From: dettlaff Date: Wed, 10 Jan 2024 18:29:41 +0400 Subject: [PATCH 1/7] feat: add complated state for jobs widget --- assets/translations/en.json | 3 +- .../cubit/client_jobs/client_jobs_cubit.dart | 6 +-- .../cubit/client_jobs/client_jobs_state.dart | 2 + .../components/jobs_content/jobs_content.dart | 40 ++++++++++++++----- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index 57bd579b..b1bc2322 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -584,6 +584,7 @@ "title": "Jobs list", "start": "Start", "empty": "No jobs", + "complated": "Jobs complated", "create_user": "Create user", "delete_user": "Delete user", "service_turn_off": "Turn off", @@ -633,4 +634,4 @@ "reset_onboarding_description": "Reset onboarding switch to show onboarding screen again", "cubit_statuses": "Cubit loading statuses" } -} +} \ No newline at end of file diff --git a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart index 59a33673..48bdd5dd 100644 --- a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart +++ b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart @@ -60,7 +60,7 @@ class JobsCubit extends Cubit { } else { getIt().showSnackBar('jobs.reboot_failed'.tr()); } - emit(JobsStateEmpty()); + emit(JobsCompleted()); } Future upgradeServer() async { @@ -76,7 +76,7 @@ class JobsCubit extends Cubit { } else { getIt().showSnackBar('jobs.upgrade_failed'.tr()); } - emit(JobsStateEmpty()); + emit(JobsCompleted()); } Future applyAll() async { @@ -92,7 +92,7 @@ class JobsCubit extends Cubit { await api.apply(); await servicesCubit.load(); - emit(JobsStateEmpty()); + emit(JobsCompleted()); } } } diff --git a/lib/logic/cubit/client_jobs/client_jobs_state.dart b/lib/logic/cubit/client_jobs/client_jobs_state.dart index 2bb31856..36d1c16e 100644 --- a/lib/logic/cubit/client_jobs/client_jobs_state.dart +++ b/lib/logic/cubit/client_jobs/client_jobs_state.dart @@ -9,6 +9,8 @@ class JobsStateLoading extends JobsState {} class JobsStateEmpty extends JobsState {} +class JobsComplated extends JobsState {} + class JobsStateWithJobs extends JobsState { JobsStateWithJobs(this.clientJobList); final List clientJobList; diff --git a/lib/ui/components/jobs_content/jobs_content.dart b/lib/ui/components/jobs_content/jobs_content.dart index 8db853ac..37b87884 100644 --- a/lib/ui/components/jobs_content/jobs_content.dart +++ b/lib/ui/components/jobs_content/jobs_content.dart @@ -32,16 +32,38 @@ class JobsContent extends StatelessWidget { late List widgets; final ServerInstallationState installationState = context.read().state; - if (state is JobsStateEmpty) { - widgets = [ - const SizedBox(height: 80), - Center( - child: Text( - 'jobs.empty'.tr(), - style: Theme.of(context).textTheme.bodyLarge, + if (state is JobsStateEmpty || state is JobsCompleted) { + if (state is JobsStateEmpty) + widgets = [ + const SizedBox(height: 80), + Center( + child: Text( + 'jobs.empty'.tr(), + style: Theme.of(context).textTheme.bodyLarge, + ), ), - ), - ]; + ]; + else + widgets = [ + const SizedBox(height: 80), + Center( + child: Icon( + Icons.check, + size: 60.0, + color: Theme.of(context).colorScheme.onSurface, + ), + ), + const SizedBox(height: 32), + Center( + child: Text( + 'jobs.completed'.tr(), + style: Theme.of(context).textTheme.bodyLarge?.copyWith( + color: Theme.of(context).colorScheme.onSurface, + ) ?? + TextStyle(), + ), + ), + ]; if (installationState is ServerInstallationFinished) { widgets = [ -- 2.42.0 From 6a6dbbf682b1ea5e3f0cbcbd2aefdf00298acb66 Mon Sep 17 00:00:00 2001 From: def Date: Wed, 10 Jan 2024 17:02:36 +0200 Subject: [PATCH 2/7] fix: typo --- lib/logic/cubit/client_jobs/client_jobs_state.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/logic/cubit/client_jobs/client_jobs_state.dart b/lib/logic/cubit/client_jobs/client_jobs_state.dart index 36d1c16e..22233f09 100644 --- a/lib/logic/cubit/client_jobs/client_jobs_state.dart +++ b/lib/logic/cubit/client_jobs/client_jobs_state.dart @@ -9,7 +9,7 @@ class JobsStateLoading extends JobsState {} class JobsStateEmpty extends JobsState {} -class JobsComplated extends JobsState {} +class JobsCompleted extends JobsState {} class JobsStateWithJobs extends JobsState { JobsStateWithJobs(this.clientJobList); -- 2.42.0 From 951a5c6aab6035543588d285cf1a509eb2c20afb Mon Sep 17 00:00:00 2001 From: def Date: Wed, 10 Jan 2024 17:18:13 +0200 Subject: [PATCH 3/7] fix: typo --- assets/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index b1bc2322..64fb13e1 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -584,7 +584,7 @@ "title": "Jobs list", "start": "Start", "empty": "No jobs", - "complated": "Jobs complated", + "complated": "Jobs completed", "create_user": "Create user", "delete_user": "Delete user", "service_turn_off": "Turn off", -- 2.42.0 From 71a03fee8aa6ea9162160dd262c5338b1ba72a2a Mon Sep 17 00:00:00 2001 From: dettlaff Date: Wed, 10 Jan 2024 19:23:41 +0400 Subject: [PATCH 4/7] fix: from linter --- lib/ui/components/jobs_content/jobs_content.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ui/components/jobs_content/jobs_content.dart b/lib/ui/components/jobs_content/jobs_content.dart index 37b87884..938051a1 100644 --- a/lib/ui/components/jobs_content/jobs_content.dart +++ b/lib/ui/components/jobs_content/jobs_content.dart @@ -33,7 +33,7 @@ class JobsContent extends StatelessWidget { final ServerInstallationState installationState = context.read().state; if (state is JobsStateEmpty || state is JobsCompleted) { - if (state is JobsStateEmpty) + if (state is JobsStateEmpty) { widgets = [ const SizedBox(height: 80), Center( @@ -43,7 +43,7 @@ class JobsContent extends StatelessWidget { ), ), ]; - else + } else { widgets = [ const SizedBox(height: 80), Center( @@ -60,10 +60,11 @@ class JobsContent extends StatelessWidget { style: Theme.of(context).textTheme.bodyLarge?.copyWith( color: Theme.of(context).colorScheme.onSurface, ) ?? - TextStyle(), + const TextStyle(), ), ), ]; + } if (installationState is ServerInstallationFinished) { widgets = [ -- 2.42.0 From 222032a72856307a1d7ed93b297973e1410a0e4d Mon Sep 17 00:00:00 2001 From: def Date: Wed, 10 Jan 2024 17:26:28 +0200 Subject: [PATCH 5/7] fix: typo in en.json --- assets/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index 64fb13e1..2c878b2a 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -584,7 +584,7 @@ "title": "Jobs list", "start": "Start", "empty": "No jobs", - "complated": "Jobs completed", + "completed": "Jobs completed", "create_user": "Create user", "delete_user": "Delete user", "service_turn_off": "Turn off", -- 2.42.0 From 821d8c49a46cfc1b48c3b4963c3cec3133c2deb2 Mon Sep 17 00:00:00 2001 From: dettlaff Date: Wed, 17 Jan 2024 17:45:40 +0400 Subject: [PATCH 6/7] fix: change error emit to JobsStateEmpty --- lib/logic/cubit/client_jobs/client_jobs_cubit.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart index 48bdd5dd..0fa7435c 100644 --- a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart +++ b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart @@ -76,7 +76,7 @@ class JobsCubit extends Cubit { } else { getIt().showSnackBar('jobs.upgrade_failed'.tr()); } - emit(JobsCompleted()); + emit(JobsStateEmpty()); } Future applyAll() async { -- 2.42.0 From 6e4098a1964f1aa2ad7974a5ff86bc3382ecdf1c Mon Sep 17 00:00:00 2001 From: dettlaff Date: Fri, 19 Jan 2024 19:05:55 +0400 Subject: [PATCH 7/7] fix: from review --- lib/logic/cubit/client_jobs/client_jobs_cubit.dart | 2 +- lib/ui/components/jobs_content/jobs_content.dart | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart index 0fa7435c..29eb8068 100644 --- a/lib/logic/cubit/client_jobs/client_jobs_cubit.dart +++ b/lib/logic/cubit/client_jobs/client_jobs_cubit.dart @@ -60,7 +60,7 @@ class JobsCubit extends Cubit { } else { getIt().showSnackBar('jobs.reboot_failed'.tr()); } - emit(JobsCompleted()); + emit(JobsStateEmpty()); } Future upgradeServer() async { diff --git a/lib/ui/components/jobs_content/jobs_content.dart b/lib/ui/components/jobs_content/jobs_content.dart index 938051a1..322cba17 100644 --- a/lib/ui/components/jobs_content/jobs_content.dart +++ b/lib/ui/components/jobs_content/jobs_content.dart @@ -58,9 +58,8 @@ class JobsContent extends StatelessWidget { child: Text( 'jobs.completed'.tr(), style: Theme.of(context).textTheme.bodyLarge?.copyWith( - color: Theme.of(context).colorScheme.onSurface, - ) ?? - const TextStyle(), + color: Theme.of(context).colorScheme.onSurface, + ), ), ), ]; -- 2.42.0