From 0d0a3a4feef2ae120a8fb5ac076970e4b2d77900 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Tue, 17 May 2022 16:31:34 +0300 Subject: [PATCH] Refactor App Config Cubit infrastrucute Co-authored-by: Inex Code --- lib/config/bloc_config.dart | 14 ++-- .../authentication_dependend_cubit.dart | 18 ++--- .../authentication_dependend_state.dart | 4 +- lib/logic/cubit/backups/backups_cubit.dart | 6 +- lib/logic/cubit/backups/backups_state.dart | 2 +- .../cubit/dns_records/dns_records_cubit.dart | 7 +- .../cubit/dns_records/dns_records_state.dart | 2 +- .../initializing/backblaze_form_cubit.dart | 4 +- .../initializing/cloudflare_form_cubit.dart | 4 +- .../setup/initializing/domain_cloudflare.dart | 4 +- .../initializing/hetzner_form_cubit.dart | 4 +- .../initializing/root_user_form_cubit.dart | 4 +- .../recovery_domain_form_cubit.dart | 4 +- .../server_installation_cubit.dart} | 65 ++++++++++--------- .../server_installation_repository.dart} | 10 +-- .../server_installation_state.dart} | 36 +++++----- lib/logic/cubit/services/services_cubit.dart | 6 +- lib/logic/cubit/services/services_state.dart | 2 +- lib/logic/cubit/users/users_cubit.dart | 6 +- lib/logic/cubit/users/users_state.dart | 2 +- .../pages/backup_details/backup_details.dart | 5 +- lib/ui/pages/dns_details/dns_details.dart | 5 +- .../pages/more/app_settings/app_setting.dart | 8 +-- lib/ui/pages/providers/providers.dart | 11 ++-- .../pages/server_details/server_details.dart | 5 +- lib/ui/pages/services/services.dart | 12 ++-- lib/ui/pages/setup/initializing.dart | 32 ++++----- .../recovering/recovery_fallback_select.dart | 1 - lib/ui/pages/users/new_user.dart | 2 +- lib/ui/pages/users/user_details.dart | 2 +- lib/ui/pages/users/users.dart | 5 +- lib/utils/ui_helpers.dart | 4 +- 32 files changed, 155 insertions(+), 141 deletions(-) rename lib/logic/cubit/{app_config/app_config_cubit.dart => server_installation/server_installation_cubit.dart} (78%) rename lib/logic/cubit/{app_config/app_config_repository.dart => server_installation/server_installation_repository.dart} (97%) rename lib/logic/cubit/{app_config/app_config_state.dart => server_installation/server_installation_state.dart} (90%) diff --git a/lib/config/bloc_config.dart b/lib/config/bloc_config.dart index d45144a5..c13caeaa 100644 --- a/lib/config/bloc_config.dart +++ b/lib/config/bloc_config.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/app_settings/app_settings_cubit.dart'; import 'package:selfprivacy/logic/cubit/backups/backups_cubit.dart'; import 'package:selfprivacy/logic/cubit/dns_records/dns_records_cubit.dart'; @@ -17,11 +17,11 @@ class BlocAndProviderConfig extends StatelessWidget { @override Widget build(BuildContext context) { var isDark = false; - var appConfigCubit = AppConfigCubit()..load(); - var usersCubit = UsersCubit(appConfigCubit); - var servicesCubit = ServicesCubit(appConfigCubit); - var backupsCubit = BackupsCubit(appConfigCubit); - var dnsRecordsCubit = DnsRecordsCubit(appConfigCubit); + var serverInstallationCubit = ServerInstallationCubit()..load(); + var usersCubit = UsersCubit(serverInstallationCubit); + var servicesCubit = ServicesCubit(serverInstallationCubit); + var backupsCubit = BackupsCubit(serverInstallationCubit); + var dnsRecordsCubit = DnsRecordsCubit(serverInstallationCubit); return MultiProvider( providers: [ BlocProvider( @@ -30,7 +30,7 @@ class BlocAndProviderConfig extends StatelessWidget { isOnbordingShowing: true, )..load(), ), - BlocProvider(create: (_) => appConfigCubit, lazy: false), + BlocProvider(create: (_) => serverInstallationCubit, lazy: false), BlocProvider(create: (_) => ProvidersCubit()), BlocProvider(create: (_) => usersCubit..load(), lazy: false), BlocProvider(create: (_) => servicesCubit..load(), lazy: false), diff --git a/lib/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart b/lib/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart index 70d1af8f..bf44cbe1 100644 --- a/lib/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart +++ b/lib/logic/cubit/app_config_dependent/authentication_dependend_cubit.dart @@ -1,15 +1,15 @@ import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; -export 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +export 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; part 'authentication_dependend_state.dart'; -abstract class AppConfigDependendCubit - extends Cubit { - AppConfigDependendCubit( +abstract class ServerInstallationDependendCubit< + T extends ServerInstallationDependendState> extends Cubit { + ServerInstallationDependendCubit( this.appConfigCubit, T initState, ) : super(initState) { @@ -17,16 +17,16 @@ abstract class AppConfigDependendCubit checkAuthStatus(appConfigCubit.state); } - void checkAuthStatus(AppConfigState state) { - if (state is AppConfigFinished) { + void checkAuthStatus(ServerInstallationState state) { + if (state is ServerInstallationFinished) { load(); - } else if (state is AppConfigEmpty) { + } else if (state is ServerInstallationEmpty) { clear(); } } late StreamSubscription authCubitSubscription; - final AppConfigCubit appConfigCubit; + final ServerInstallationCubit appConfigCubit; void load(); void clear(); diff --git a/lib/logic/cubit/app_config_dependent/authentication_dependend_state.dart b/lib/logic/cubit/app_config_dependent/authentication_dependend_state.dart index 43339c85..668d63d0 100644 --- a/lib/logic/cubit/app_config_dependent/authentication_dependend_state.dart +++ b/lib/logic/cubit/app_config_dependent/authentication_dependend_state.dart @@ -1,5 +1,5 @@ part of 'authentication_dependend_cubit.dart'; -abstract class AppConfigDependendState extends Equatable { - const AppConfigDependendState(); +abstract class ServerInstallationDependendState extends Equatable { + const ServerInstallationDependendState(); } diff --git a/lib/logic/cubit/backups/backups_cubit.dart b/lib/logic/cubit/backups/backups_cubit.dart index 8617f587..4dd85046 100644 --- a/lib/logic/cubit/backups/backups_cubit.dart +++ b/lib/logic/cubit/backups/backups_cubit.dart @@ -10,15 +10,15 @@ import 'package:selfprivacy/logic/models/json/backup.dart'; part 'backups_state.dart'; -class BackupsCubit extends AppConfigDependendCubit { - BackupsCubit(AppConfigCubit appConfigCubit) +class BackupsCubit extends ServerInstallationDependendCubit { + BackupsCubit(ServerInstallationCubit appConfigCubit) : super(appConfigCubit, BackupsState(preventActions: true)); final api = ServerApi(); final backblaze = BackblazeApi(); Future load() async { - if (appConfigCubit.state is AppConfigFinished) { + if (appConfigCubit.state is ServerInstallationFinished) { final bucket = getIt().backblazeBucket; if (bucket == null) { emit(BackupsState( diff --git a/lib/logic/cubit/backups/backups_state.dart b/lib/logic/cubit/backups/backups_state.dart index 6b0bc5e3..3d618a75 100644 --- a/lib/logic/cubit/backups/backups_state.dart +++ b/lib/logic/cubit/backups/backups_state.dart @@ -1,6 +1,6 @@ part of 'backups_cubit.dart'; -class BackupsState extends AppConfigDependendState { +class BackupsState extends ServerInstallationDependendState { const BackupsState({ this.isInitialized = false, this.backups = const [], diff --git a/lib/logic/cubit/dns_records/dns_records_cubit.dart b/lib/logic/cubit/dns_records/dns_records_cubit.dart index e32ca7ff..52e09a2c 100644 --- a/lib/logic/cubit/dns_records/dns_records_cubit.dart +++ b/lib/logic/cubit/dns_records/dns_records_cubit.dart @@ -8,8 +8,9 @@ import '../../api_maps/server.dart'; part 'dns_records_state.dart'; -class DnsRecordsCubit extends AppConfigDependendCubit { - DnsRecordsCubit(AppConfigCubit appConfigCubit) +class DnsRecordsCubit + extends ServerInstallationDependendCubit { + DnsRecordsCubit(ServerInstallationCubit appConfigCubit) : super(appConfigCubit, DnsRecordsState(dnsState: DnsRecordsStatus.refreshing)); @@ -22,7 +23,7 @@ class DnsRecordsCubit extends AppConfigDependendCubit { dnsRecords: _getDesiredDnsRecords( appConfigCubit.state.serverDomain?.domainName, "", ""))); print('Loading DNS status'); - if (appConfigCubit.state is AppConfigFinished) { + if (appConfigCubit.state is ServerInstallationFinished) { final ServerDomain? domain = appConfigCubit.state.serverDomain; final String? ipAddress = appConfigCubit.state.serverDetails?.ip4; if (domain != null && ipAddress != null) { diff --git a/lib/logic/cubit/dns_records/dns_records_state.dart b/lib/logic/cubit/dns_records/dns_records_state.dart index dc594e74..7055d698 100644 --- a/lib/logic/cubit/dns_records/dns_records_state.dart +++ b/lib/logic/cubit/dns_records/dns_records_state.dart @@ -13,7 +13,7 @@ enum DnsRecordsCategory { other, } -class DnsRecordsState extends AppConfigDependendState { +class DnsRecordsState extends ServerInstallationDependendState { const DnsRecordsState({ this.dnsState = DnsRecordsStatus.uninitialized, this.dnsRecords = const [], diff --git a/lib/logic/cubit/forms/setup/initializing/backblaze_form_cubit.dart b/lib/logic/cubit/forms/setup/initializing/backblaze_form_cubit.dart index 7eb43c24..50fc8e80 100644 --- a/lib/logic/cubit/forms/setup/initializing/backblaze_form_cubit.dart +++ b/lib/logic/cubit/forms/setup/initializing/backblaze_form_cubit.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:selfprivacy/logic/api_maps/backblaze.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart'; import 'package:easy_localization/easy_localization.dart'; @@ -33,7 +33,7 @@ class BackblazeFormCubit extends FormCubit { ); } - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; late final FieldCubit keyId; late final FieldCubit applicationKey; diff --git a/lib/logic/cubit/forms/setup/initializing/cloudflare_form_cubit.dart b/lib/logic/cubit/forms/setup/initializing/cloudflare_form_cubit.dart index d811843b..c6dea6c5 100644 --- a/lib/logic/cubit/forms/setup/initializing/cloudflare_form_cubit.dart +++ b/lib/logic/cubit/forms/setup/initializing/cloudflare_form_cubit.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:selfprivacy/logic/api_maps/cloudflare.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/validations/validations.dart'; class CloudFlareFormCubit extends FormCubit { @@ -27,7 +27,7 @@ class CloudFlareFormCubit extends FormCubit { initializingCubit.setCloudflareKey(apiKey.state.value); } - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; late final FieldCubit apiKey; diff --git a/lib/logic/cubit/forms/setup/initializing/domain_cloudflare.dart b/lib/logic/cubit/forms/setup/initializing/domain_cloudflare.dart index 828d9b86..363cee7c 100644 --- a/lib/logic/cubit/forms/setup/initializing/domain_cloudflare.dart +++ b/lib/logic/cubit/forms/setup/initializing/domain_cloudflare.dart @@ -1,12 +1,12 @@ import 'package:cubit_form/cubit_form.dart'; import 'package:selfprivacy/logic/api_maps/cloudflare.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/models/hive/server_domain.dart'; class DomainSetupCubit extends Cubit { DomainSetupCubit(this.initializingCubit) : super(Initial()); - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; Future load() async { emit(Loading(LoadingTypes.loadingDomain)); diff --git a/lib/logic/cubit/forms/setup/initializing/hetzner_form_cubit.dart b/lib/logic/cubit/forms/setup/initializing/hetzner_form_cubit.dart index ce3e5aa9..42517c64 100644 --- a/lib/logic/cubit/forms/setup/initializing/hetzner_form_cubit.dart +++ b/lib/logic/cubit/forms/setup/initializing/hetzner_form_cubit.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:selfprivacy/logic/api_maps/hetzner.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/validations/validations.dart'; class HetznerFormCubit extends FormCubit { @@ -27,7 +27,7 @@ class HetznerFormCubit extends FormCubit { initializingCubit.setHetznerKey(apiKey.state.value); } - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; late final FieldCubit apiKey; diff --git a/lib/logic/cubit/forms/setup/initializing/root_user_form_cubit.dart b/lib/logic/cubit/forms/setup/initializing/root_user_form_cubit.dart index 6d8b55c0..3bff2aba 100644 --- a/lib/logic/cubit/forms/setup/initializing/root_user_form_cubit.dart +++ b/lib/logic/cubit/forms/setup/initializing/root_user_form_cubit.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/factories/field_cubit_factory.dart'; import 'package:selfprivacy/logic/models/hive/user.dart'; @@ -25,7 +25,7 @@ class RootUserFormCubit extends FormCubit { initializingCubit.setRootUser(user); } - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; late final FieldCubit userName; late final FieldCubit password; diff --git a/lib/logic/cubit/forms/setup/recovering/recovery_domain_form_cubit.dart b/lib/logic/cubit/forms/setup/recovering/recovery_domain_form_cubit.dart index b592f5e1..d9d494ff 100644 --- a/lib/logic/cubit/forms/setup/recovering/recovery_domain_form_cubit.dart +++ b/lib/logic/cubit/forms/setup/recovering/recovery_domain_form_cubit.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:selfprivacy/logic/api_maps/server.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/factories/field_cubit_factory.dart'; import 'package:selfprivacy/logic/models/hive/server_domain.dart'; @@ -27,6 +27,6 @@ class RecoveryDomainFormCubit extends FormCubit { // ; //var client = // } - final AppConfigCubit initializingCubit; + final ServerInstallationCubit initializingCubit; late final FieldCubit serverDomainField; } diff --git a/lib/logic/cubit/app_config/app_config_cubit.dart b/lib/logic/cubit/server_installation/server_installation_cubit.dart similarity index 78% rename from lib/logic/cubit/app_config/app_config_cubit.dart rename to lib/logic/cubit/server_installation/server_installation_cubit.dart index 870154f1..74a9c6e9 100644 --- a/lib/logic/cubit/app_config/app_config_cubit.dart +++ b/lib/logic/cubit/server_installation/server_installation_cubit.dart @@ -9,14 +9,14 @@ import 'package:selfprivacy/logic/models/hive/server_domain.dart'; import 'package:selfprivacy/logic/models/hive/server_details.dart'; import 'package:selfprivacy/logic/models/hive/user.dart'; -import 'app_config_repository.dart'; +import '../server_installation/server_installation_repository.dart'; export 'package:provider/provider.dart'; -part 'app_config_state.dart'; +part '../server_installation/server_installation_state.dart'; -class AppConfigCubit extends Cubit { - AppConfigCubit() : super(AppConfigEmpty()); +class ServerInstallationCubit extends Cubit { + ServerInstallationCubit() : super(ServerInstallationEmpty()); final repository = AppConfigRepository(); @@ -25,9 +25,9 @@ class AppConfigCubit extends Cubit { Future load() async { var state = await repository.load(); - if (state is AppConfigFinished) { + if (state is ServerInstallationFinished) { emit(state); - } else if (state is AppConfigNotFinished) { + } else if (state is ServerInstallationNotFinished) { if (state.progress == ServerSetupProgress.serverCreated) { startServerIfDnsIsOkay(state: state); } else if (state.progress == ServerSetupProgress.serverStarted) { @@ -40,7 +40,7 @@ class AppConfigCubit extends Cubit { } else { emit(state); } - } else if (state is AppConfigRecovery) { + } else if (state is ServerInstallationRecovery) { emit(state); } else { throw 'wrong state'; @@ -49,13 +49,14 @@ class AppConfigCubit extends Cubit { void setHetznerKey(String hetznerKey) async { await repository.saveHetznerKey(hetznerKey); - emit((state as AppConfigNotFinished).copyWith(hetznerKey: hetznerKey)); + emit((state as ServerInstallationNotFinished) + .copyWith(hetznerKey: hetznerKey)); } void setCloudflareKey(String cloudFlareKey) async { await repository.saveCloudFlareKey(cloudFlareKey); - emit( - (state as AppConfigNotFinished).copyWith(cloudFlareKey: cloudFlareKey)); + emit((state as ServerInstallationNotFinished) + .copyWith(cloudFlareKey: cloudFlareKey)); } void setBackblazeKey(String keyId, String applicationKey) async { @@ -64,24 +65,26 @@ class AppConfigCubit extends Cubit { applicationKey: applicationKey, ); await repository.saveBackblazeKey(backblazeCredential); - emit((state as AppConfigNotFinished) + emit((state as ServerInstallationNotFinished) .copyWith(backblazeCredential: backblazeCredential)); } void setDomain(ServerDomain serverDomain) async { await repository.saveDomain(serverDomain); - emit((state as AppConfigNotFinished).copyWith(serverDomain: serverDomain)); + emit((state as ServerInstallationNotFinished) + .copyWith(serverDomain: serverDomain)); } void setRootUser(User rootUser) async { await repository.saveRootUser(rootUser); - emit((state as AppConfigNotFinished).copyWith(rootUser: rootUser)); + emit((state as ServerInstallationNotFinished).copyWith(rootUser: rootUser)); } void createServerAndSetDnsRecords() async { - AppConfigNotFinished _stateCopy = state as AppConfigNotFinished; - var onCancel = - () => emit((state as AppConfigNotFinished).copyWith(isLoading: false)); + ServerInstallationNotFinished _stateCopy = + state as ServerInstallationNotFinished; + var onCancel = () => emit( + (state as ServerInstallationNotFinished).copyWith(isLoading: false)); var onSuccess = (ServerHostingDetails serverDetails) async { await repository.createDnsRecords( @@ -90,7 +93,7 @@ class AppConfigCubit extends Cubit { onCancel: onCancel, ); - emit((state as AppConfigNotFinished).copyWith( + emit((state as ServerInstallationNotFinished).copyWith( isLoading: false, serverDetails: serverDetails, )); @@ -98,7 +101,7 @@ class AppConfigCubit extends Cubit { }; try { - emit((state as AppConfigNotFinished).copyWith(isLoading: true)); + emit((state as ServerInstallationNotFinished).copyWith(isLoading: true)); await repository.createServer( state.rootUser!, state.serverDomain!.domainName, @@ -112,8 +115,8 @@ class AppConfigCubit extends Cubit { } } - void startServerIfDnsIsOkay({AppConfigNotFinished? state}) async { - final dataState = state ?? this.state as AppConfigNotFinished; + void startServerIfDnsIsOkay({ServerInstallationNotFinished? state}) async { + final dataState = state ?? this.state as ServerInstallationNotFinished; emit(TimerState(dataState: dataState, isLoading: true)); @@ -149,8 +152,8 @@ class AppConfigCubit extends Cubit { } } - void oneMoreReset({AppConfigNotFinished? state}) async { - final dataState = state ?? this.state as AppConfigNotFinished; + void oneMoreReset({ServerInstallationNotFinished? state}) async { + final dataState = state ?? this.state as ServerInstallationNotFinished; emit(TimerState(dataState: dataState, isLoading: true)); @@ -184,9 +187,9 @@ class AppConfigCubit extends Cubit { } void resetServerIfServerIsOkay({ - AppConfigNotFinished? state, + ServerInstallationNotFinished? state, }) async { - final dataState = state ?? this.state as AppConfigNotFinished; + final dataState = state ?? this.state as ServerInstallationNotFinished; emit(TimerState(dataState: dataState, isLoading: true)); @@ -220,9 +223,9 @@ class AppConfigCubit extends Cubit { } void finishCheckIfServerIsOkay({ - AppConfigNotFinished? state, + ServerInstallationNotFinished? state, }) async { - final dataState = state ?? this.state as AppConfigNotFinished; + final dataState = state ?? this.state as ServerInstallationNotFinished; emit(TimerState(dataState: dataState, isLoading: true)); @@ -238,9 +241,9 @@ class AppConfigCubit extends Cubit { } } - void runDelayed( - void Function() work, Duration delay, AppConfigNotFinished? state) async { - final dataState = state ?? this.state as AppConfigNotFinished; + void runDelayed(void Function() work, Duration delay, + ServerInstallationNotFinished? state) async { + final dataState = state ?? this.state as ServerInstallationNotFinished; emit(TimerState( dataState: dataState, @@ -255,7 +258,7 @@ class AppConfigCubit extends Cubit { closeTimer(); repository.clearAppConfig(); - emit(AppConfigEmpty()); + emit(ServerInstallationEmpty()); } Future serverDelete() async { @@ -266,7 +269,7 @@ class AppConfigCubit extends Cubit { await getIt().clear(); } await repository.deleteRecords(); - emit(AppConfigNotFinished( + emit(ServerInstallationNotFinished( hetznerKey: state.hetznerKey, serverDomain: state.serverDomain, cloudFlareKey: state.cloudFlareKey, diff --git a/lib/logic/cubit/app_config/app_config_repository.dart b/lib/logic/cubit/server_installation/server_installation_repository.dart similarity index 97% rename from lib/logic/cubit/app_config/app_config_repository.dart rename to lib/logic/cubit/server_installation/server_installation_repository.dart index d8edaedc..9a2ce1a2 100644 --- a/lib/logic/cubit/app_config/app_config_repository.dart +++ b/lib/logic/cubit/server_installation/server_installation_repository.dart @@ -15,12 +15,12 @@ import 'package:selfprivacy/logic/models/hive/user.dart'; import 'package:selfprivacy/ui/components/action_button/action_button.dart'; import 'package:selfprivacy/ui/components/brand_alert/brand_alert.dart'; -import 'app_config_cubit.dart'; +import '../server_installation/server_installation_cubit.dart'; class AppConfigRepository { Box box = Hive.box(BNames.appConfig); - Future load() async { + Future load() async { final hetznerToken = getIt().hetznerKey; final cloudflareToken = getIt().cloudFlareKey; final serverDomain = getIt().serverDomain; @@ -28,7 +28,7 @@ class AppConfigRepository { final serverDetails = getIt().serverDetails; if (box.get(BNames.hasFinalChecked, defaultValue: false)) { - return AppConfigFinished( + return ServerInstallationFinished( hetznerKey: hetznerToken!, cloudFlareKey: cloudflareToken!, serverDomain: serverDomain!, @@ -44,7 +44,7 @@ class AppConfigRepository { } if (getIt().serverDomain?.provider == DnsProvider.Unknown) { - return AppConfigRecovery( + return ServerInstallationRecovery( hetznerKey: hetznerToken, cloudFlareKey: cloudflareToken, serverDomain: serverDomain, @@ -56,7 +56,7 @@ class AppConfigRepository { ); } - return AppConfigNotFinished( + return ServerInstallationNotFinished( hetznerKey: hetznerToken, cloudFlareKey: cloudflareToken, serverDomain: serverDomain, diff --git a/lib/logic/cubit/app_config/app_config_state.dart b/lib/logic/cubit/server_installation/server_installation_state.dart similarity index 90% rename from lib/logic/cubit/app_config/app_config_state.dart rename to lib/logic/cubit/server_installation/server_installation_state.dart index 9d620e9e..e0fbd1bf 100644 --- a/lib/logic/cubit/app_config/app_config_state.dart +++ b/lib/logic/cubit/server_installation/server_installation_state.dart @@ -1,7 +1,7 @@ -part of 'app_config_cubit.dart'; +part of '../server_installation/server_installation_cubit.dart'; -abstract class AppConfigState extends Equatable { - const AppConfigState({ +abstract class ServerInstallationState extends Equatable { + const ServerInstallationState({ required this.hetznerKey, required this.cloudFlareKey, required this.backblazeCredential, @@ -73,7 +73,7 @@ abstract class AppConfigState extends Equatable { } } -class TimerState extends AppConfigNotFinished { +class TimerState extends ServerInstallationNotFinished { TimerState({ required this.dataState, this.timerStart, @@ -93,7 +93,7 @@ class TimerState extends AppConfigNotFinished { dnsMatches: dataState.dnsMatches, ); - final AppConfigNotFinished dataState; + final ServerInstallationNotFinished dataState; final DateTime? timerStart; final Duration? duration; @@ -118,11 +118,11 @@ enum ServerSetupProgress { serverResetedSecondTime, } -class AppConfigNotFinished extends AppConfigState { +class ServerInstallationNotFinished extends ServerInstallationState { final bool isLoading; final Map? dnsMatches; - AppConfigNotFinished({ + ServerInstallationNotFinished({ String? hetznerKey, String? cloudFlareKey, BackblazeCredential? backblazeCredential, @@ -160,7 +160,7 @@ class AppConfigNotFinished extends AppConfigState { dnsMatches, ]; - AppConfigNotFinished copyWith({ + ServerInstallationNotFinished copyWith({ String? hetznerKey, String? cloudFlareKey, BackblazeCredential? backblazeCredential, @@ -173,7 +173,7 @@ class AppConfigNotFinished extends AppConfigState { bool? isLoading, Map? dnsMatches, }) => - AppConfigNotFinished( + ServerInstallationNotFinished( hetznerKey: hetznerKey ?? this.hetznerKey, cloudFlareKey: cloudFlareKey ?? this.cloudFlareKey, backblazeCredential: backblazeCredential ?? this.backblazeCredential, @@ -189,7 +189,7 @@ class AppConfigNotFinished extends AppConfigState { dnsMatches: dnsMatches ?? this.dnsMatches, ); - AppConfigFinished finish() => AppConfigFinished( + ServerInstallationFinished finish() => ServerInstallationFinished( hetznerKey: hetznerKey!, cloudFlareKey: cloudFlareKey!, backblazeCredential: backblazeCredential!, @@ -202,8 +202,8 @@ class AppConfigNotFinished extends AppConfigState { ); } -class AppConfigEmpty extends AppConfigNotFinished { - AppConfigEmpty() +class ServerInstallationEmpty extends ServerInstallationNotFinished { + ServerInstallationEmpty() : super( hetznerKey: null, cloudFlareKey: null, @@ -219,8 +219,8 @@ class AppConfigEmpty extends AppConfigNotFinished { ); } -class AppConfigFinished extends AppConfigState { - const AppConfigFinished({ +class ServerInstallationFinished extends ServerInstallationState { + const ServerInstallationFinished({ required String hetznerKey, required String cloudFlareKey, required BackblazeCredential backblazeCredential, @@ -265,10 +265,10 @@ enum RecoveryStep { BackblazeToken, } -class AppConfigRecovery extends AppConfigState { +class ServerInstallationRecovery extends ServerInstallationState { final RecoveryStep currentStep; - const AppConfigRecovery({ + const ServerInstallationRecovery({ String? hetznerKey, String? cloudFlareKey, BackblazeCredential? backblazeCredential, @@ -301,7 +301,7 @@ class AppConfigRecovery extends AppConfigState { currentStep ]; - AppConfigRecovery copyWith({ + ServerInstallationRecovery copyWith({ String? hetznerKey, String? cloudFlareKey, BackblazeCredential? backblazeCredential, @@ -310,7 +310,7 @@ class AppConfigRecovery extends AppConfigState { ServerHostingDetails? serverDetails, RecoveryStep? currentStep, }) => - AppConfigRecovery( + ServerInstallationRecovery( hetznerKey: hetznerKey ?? this.hetznerKey, cloudFlareKey: cloudFlareKey ?? this.cloudFlareKey, backblazeCredential: backblazeCredential ?? this.backblazeCredential, diff --git a/lib/logic/cubit/services/services_cubit.dart b/lib/logic/cubit/services/services_cubit.dart index 6d5dfef7..b05cd014 100644 --- a/lib/logic/cubit/services/services_cubit.dart +++ b/lib/logic/cubit/services/services_cubit.dart @@ -6,14 +6,14 @@ import 'package:selfprivacy/logic/cubit/app_config_dependent/authentication_depe part 'services_state.dart'; -class ServicesCubit extends AppConfigDependendCubit { - ServicesCubit(AppConfigCubit appConfigCubit) +class ServicesCubit extends ServerInstallationDependendCubit { + ServicesCubit(ServerInstallationCubit appConfigCubit) : super(appConfigCubit, ServicesState.allOff()); Box box = Hive.box(BNames.servicesState); final api = ServerApi(); Future load() async { - if (appConfigCubit.state is AppConfigFinished) { + if (appConfigCubit.state is ServerInstallationFinished) { var statuses = await api.servicesPowerCheck(); emit( ServicesState( diff --git a/lib/logic/cubit/services/services_state.dart b/lib/logic/cubit/services/services_state.dart index 3595e6b1..2503a4c7 100644 --- a/lib/logic/cubit/services/services_state.dart +++ b/lib/logic/cubit/services/services_state.dart @@ -1,6 +1,6 @@ part of 'services_cubit.dart'; -class ServicesState extends AppConfigDependendState { +class ServicesState extends ServerInstallationDependendState { const ServicesState({ required this.isPasswordManagerEnable, required this.isCloudEnable, diff --git a/lib/logic/cubit/users/users_cubit.dart b/lib/logic/cubit/users/users_cubit.dart index 22dabb46..9b749963 100644 --- a/lib/logic/cubit/users/users_cubit.dart +++ b/lib/logic/cubit/users/users_cubit.dart @@ -10,8 +10,8 @@ export 'package:provider/provider.dart'; part 'users_state.dart'; -class UsersCubit extends AppConfigDependendCubit { - UsersCubit(AppConfigCubit appConfigCubit) +class UsersCubit extends ServerInstallationDependendCubit { + UsersCubit(ServerInstallationCubit appConfigCubit) : super( appConfigCubit, UsersState( @@ -22,7 +22,7 @@ class UsersCubit extends AppConfigDependendCubit { final api = ServerApi(); Future load() async { - if (appConfigCubit.state is AppConfigFinished) { + if (appConfigCubit.state is ServerInstallationFinished) { var loadedUsers = box.values.toList(); final primaryUser = configBox.get(BNames.rootUser, defaultValue: User(login: 'loading...')); diff --git a/lib/logic/cubit/users/users_state.dart b/lib/logic/cubit/users/users_state.dart index d15789c9..4262f26a 100644 --- a/lib/logic/cubit/users/users_state.dart +++ b/lib/logic/cubit/users/users_state.dart @@ -1,6 +1,6 @@ part of 'users_cubit.dart'; -class UsersState extends AppConfigDependendState { +class UsersState extends ServerInstallationDependendState { const UsersState(this.users, this.rootUser, this.primaryUser); final List users; diff --git a/lib/ui/pages/backup_details/backup_details.dart b/lib/ui/pages/backup_details/backup_details.dart index a3562095..8a5eb688 100644 --- a/lib/ui/pages/backup_details/backup_details.dart +++ b/lib/ui/pages/backup_details/backup_details.dart @@ -2,7 +2,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/get_it_config.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/backups/backups_cubit.dart'; import 'package:selfprivacy/logic/models/json/backup.dart'; import 'package:selfprivacy/logic/models/state_types.dart'; @@ -28,7 +28,8 @@ class _BackupDetailsState extends State with SingleTickerProviderStateMixin { @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; var isBackupInitialized = context.watch().state.isInitialized; var backupStatus = context.watch().state.status; var providerState = isReady && isBackupInitialized diff --git a/lib/ui/pages/dns_details/dns_details.dart b/lib/ui/pages/dns_details/dns_details.dart index e07cc445..3b5fd555 100644 --- a/lib/ui/pages/dns_details/dns_details.dart +++ b/lib/ui/pages/dns_details/dns_details.dart @@ -1,7 +1,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/config/get_it_config.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/dns_records/dns_records_cubit.dart'; import 'package:selfprivacy/ui/components/brand_cards/brand_cards.dart'; import 'package:selfprivacy/ui/components/brand_hero_screen/brand_hero_screen.dart'; @@ -62,7 +62,8 @@ class _DnsDetailsPageState extends State { @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; final domain = getIt().serverDomain?.domainName ?? ''; var dnsCubit = context.watch().state; diff --git a/lib/ui/pages/more/app_settings/app_setting.dart b/lib/ui/pages/more/app_settings/app_setting.dart index 8c5a78c8..37bbe83e 100644 --- a/lib/ui/pages/more/app_settings/app_setting.dart +++ b/lib/ui/pages/more/app_settings/app_setting.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/logic/cubit/app_settings/app_settings_cubit.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/ui/components/action_button/action_button.dart'; import 'package:selfprivacy/ui/components/brand_alert/brand_alert.dart'; import 'package:selfprivacy/ui/components/brand_divider/brand_divider.dart'; @@ -103,7 +103,7 @@ class _AppSettingsPageState extends State { isRed: true, onPressed: () { context - .read() + .read() .clearAppConfig(); Navigator.of(context).pop(); }), @@ -129,7 +129,7 @@ class _AppSettingsPageState extends State { Widget deleteServer(BuildContext context) { var isDisabled = - context.watch().state.serverDetails == null; + context.watch().state.serverDetails == null; return Container( padding: EdgeInsets.only(top: 20, bottom: 5), decoration: BoxDecoration( @@ -181,7 +181,7 @@ class _AppSettingsPageState extends State { ); }); await context - .read() + .read() .serverDelete(); Navigator.of(context).pop(); }), diff --git a/lib/ui/pages/providers/providers.dart b/lib/ui/pages/providers/providers.dart index 974f29ce..108c85e2 100644 --- a/lib/ui/pages/providers/providers.dart +++ b/lib/ui/pages/providers/providers.dart @@ -1,7 +1,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_theme.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/backups/backups_cubit.dart'; import 'package:selfprivacy/logic/cubit/dns_records/dns_records_cubit.dart'; import 'package:selfprivacy/logic/cubit/providers/providers_cubit.dart'; @@ -30,7 +30,8 @@ class ProvidersPage extends StatefulWidget { class _ProvidersPageState extends State { @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; var isBackupInitialized = context.watch().state.isInitialized; var dnsStatus = context.watch().state.dnsState; @@ -96,8 +97,10 @@ class _Card extends StatelessWidget { String? message; late String stableText; late VoidCallback onTap; - var isReady = context.watch().state is AppConfigFinished; - AppConfigState appConfig = context.watch().state; + var isReady = context.watch().state + is ServerInstallationFinished; + ServerInstallationState appConfig = + context.watch().state; var domainName = appConfig.isDomainFilled ? appConfig.serverDomain!.domainName : ''; diff --git a/lib/ui/pages/server_details/server_details.dart b/lib/ui/pages/server_details/server_details.dart index 5368df30..90d4144e 100644 --- a/lib/ui/pages/server_details/server_details.dart +++ b/lib/ui/pages/server_details/server_details.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/logic/common_enum/common_enum.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/hetzner_metrics/hetzner_metrics_cubit.dart'; import 'package:selfprivacy/logic/cubit/server_detailed_info/server_detailed_info_cubit.dart'; import 'package:selfprivacy/logic/models/state_types.dart'; @@ -60,7 +60,8 @@ class _ServerDetailsState extends State @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; var providerState = isReady ? StateType.stable : StateType.uninitialized; return BlocProvider( diff --git a/lib/ui/pages/services/services.dart b/lib/ui/pages/services/services.dart index 5070bd81..7498e370 100644 --- a/lib/ui/pages/services/services.dart +++ b/lib/ui/pages/services/services.dart @@ -5,7 +5,7 @@ import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/config/text_themes.dart'; import 'package:selfprivacy/logic/common_enum/common_enum.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/jobs/jobs_cubit.dart'; import 'package:selfprivacy/logic/cubit/services/services_cubit.dart'; import 'package:selfprivacy/logic/models/job.dart'; @@ -58,7 +58,8 @@ void _launchURL(url) async { class _ServicesPageState extends State { @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; return Scaffold( appBar: PreferredSize( @@ -94,7 +95,8 @@ class _Card extends StatelessWidget { final ServiceTypes serviceType; @override Widget build(BuildContext context) { - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; var changeTab = context.read().onPress; var serviceState = context.watch().state; @@ -111,7 +113,7 @@ class _Card extends StatelessWidget { (!switchableServices.contains(serviceType) || serviceState.isEnableByType(serviceType)); - var config = context.watch().state; + var config = context.watch().state; var domainName = UiHelpers.getDomainName(config); return GestureDetector( @@ -257,7 +259,7 @@ class _ServiceDetails extends StatelessWidget { Widget build(BuildContext context) { late Widget child; - var config = context.watch().state; + var config = context.watch().state; var domainName = UiHelpers.getDomainName(config); var linksStyle = body1Style.copyWith( diff --git a/lib/ui/pages/setup/initializing.dart b/lib/ui/pages/setup/initializing.dart index 016131ae..627f4014 100644 --- a/lib/ui/pages/setup/initializing.dart +++ b/lib/ui/pages/setup/initializing.dart @@ -2,7 +2,7 @@ import 'package:cubit_form/cubit_form.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_theme.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/factories/field_cubit_factory.dart'; import 'package:selfprivacy/logic/cubit/forms/setup/initializing/backblaze_form_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/setup/initializing/cloudflare_form_cubit.dart'; @@ -23,7 +23,7 @@ import 'package:selfprivacy/utils/route_transitions/basic.dart'; class InitializingPage extends StatelessWidget { @override Widget build(BuildContext context) { - var cubit = context.watch(); + var cubit = context.watch(); var actualInitializingPage = [ () => _stepHetzner(cubit), () => _stepCloudflare(cubit), @@ -36,9 +36,9 @@ class InitializingPage extends StatelessWidget { () => _stepCheck(cubit), () => Container(child: Center(child: Text('initializing.finish'.tr()))) ][cubit.state.progress.index](); - return BlocListener( + return BlocListener( listener: (context, state) { - if (cubit.state is AppConfigFinished) { + if (cubit.state is ServerInstallationFinished) { Navigator.of(context).pushReplacement(materialRoute(RootPage())); } }, @@ -86,7 +86,7 @@ class InitializingPage extends StatelessWidget { Container( alignment: Alignment.center, child: BrandButton.text( - title: cubit.state is AppConfigFinished + title: cubit.state is ServerInstallationFinished ? 'basis.close'.tr() : 'basis.later'.tr(), onPressed: () { @@ -97,7 +97,7 @@ class InitializingPage extends StatelessWidget { }, ), ), - (cubit.state is AppConfigFinished) + (cubit.state is ServerInstallationFinished) ? Container() : Container( alignment: Alignment.center, @@ -119,7 +119,7 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepHetzner(AppConfigCubit initializingCubit) { + Widget _stepHetzner(ServerInstallationCubit initializingCubit) { return BlocProvider( create: (context) => HetznerFormCubit(initializingCubit), child: Builder(builder: (context) { @@ -174,7 +174,7 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepCloudflare(AppConfigCubit initializingCubit) { + Widget _stepCloudflare(ServerInstallationCubit initializingCubit) { return BlocProvider( create: (context) => CloudFlareFormCubit(initializingCubit), child: Builder(builder: (context) { @@ -222,7 +222,7 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepBackblaze(AppConfigCubit initializingCubit) { + Widget _stepBackblaze(ServerInstallationCubit initializingCubit) { return BlocProvider( create: (context) => BackblazeFormCubit(initializingCubit), child: Builder(builder: (context) { @@ -277,7 +277,7 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepDomain(AppConfigCubit initializingCubit) { + Widget _stepDomain(ServerInstallationCubit initializingCubit) { return BlocProvider( create: (context) => DomainSetupCubit(initializingCubit)..load(), child: Builder(builder: (context) { @@ -369,7 +369,7 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepUser(AppConfigCubit initializingCubit) { + Widget _stepUser(ServerInstallationCubit initializingCubit) { return BlocProvider( create: (context) => RootUserFormCubit(initializingCubit, FieldCubitFactory(context)), @@ -432,8 +432,9 @@ class InitializingPage extends StatelessWidget { ); } - Widget _stepServer(AppConfigCubit appConfigCubit) { - var isLoading = (appConfigCubit.state as AppConfigNotFinished).isLoading; + Widget _stepServer(ServerInstallationCubit appConfigCubit) { + var isLoading = + (appConfigCubit.state as ServerInstallationNotFinished).isLoading; return Builder(builder: (context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -454,8 +455,9 @@ class InitializingPage extends StatelessWidget { }); } - Widget _stepCheck(AppConfigCubit appConfigCubit) { - assert(appConfigCubit.state is AppConfigNotFinished, 'wrong state'); + Widget _stepCheck(ServerInstallationCubit appConfigCubit) { + assert( + appConfigCubit.state is ServerInstallationNotFinished, 'wrong state'); var state = appConfigCubit.state as TimerState; late int doneCount; late String? text; diff --git a/lib/ui/pages/setup/recovering/recovery_fallback_select.dart b/lib/ui/pages/setup/recovering/recovery_fallback_select.dart index 2a1d7b21..bca3d07c 100644 --- a/lib/ui/pages/setup/recovering/recovery_fallback_select.dart +++ b/lib/ui/pages/setup/recovering/recovery_fallback_select.dart @@ -1,6 +1,5 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; -import 'package:selfprivacy/ui/components/brand_button/brand_button.dart'; import 'package:selfprivacy/ui/components/brand_cards/brand_cards.dart'; import 'package:selfprivacy/ui/components/brand_hero_screen/brand_hero_screen.dart'; import 'package:selfprivacy/utils/route_transitions/basic.dart'; diff --git a/lib/ui/pages/users/new_user.dart b/lib/ui/pages/users/new_user.dart index 58559c8f..05136b66 100644 --- a/lib/ui/pages/users/new_user.dart +++ b/lib/ui/pages/users/new_user.dart @@ -3,7 +3,7 @@ part of 'users.dart'; class _NewUser extends StatelessWidget { @override Widget build(BuildContext context) { - var config = context.watch().state; + var config = context.watch().state; var domainName = UiHelpers.getDomainName(config); diff --git a/lib/ui/pages/users/user_details.dart b/lib/ui/pages/users/user_details.dart index a40a7b9a..69f3b87e 100644 --- a/lib/ui/pages/users/user_details.dart +++ b/lib/ui/pages/users/user_details.dart @@ -11,7 +11,7 @@ class _UserDetails extends StatelessWidget { final bool isRootUser; @override Widget build(BuildContext context) { - var config = context.watch().state; + var config = context.watch().state; var domainName = UiHelpers.getDomainName(config); diff --git a/lib/ui/pages/users/users.dart b/lib/ui/pages/users/users.dart index 7110f986..f10a4afa 100644 --- a/lib/ui/pages/users/users.dart +++ b/lib/ui/pages/users/users.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/config/text_themes.dart'; -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/factories/field_cubit_factory.dart'; import 'package:selfprivacy/logic/cubit/forms/user/user_form_cubit.dart'; import 'package:selfprivacy/logic/cubit/jobs/jobs_cubit.dart'; @@ -38,7 +38,8 @@ class UsersPage extends StatelessWidget { @override Widget build(BuildContext context) { // final usersCubitState = context.watch().state; - var isReady = context.watch().state is AppConfigFinished; + var isReady = context.watch().state + is ServerInstallationFinished; // final primaryUser = usersCubitState.primaryUser; // final users = [primaryUser, ...usersCubitState.users]; // final isEmpty = users.isEmpty; diff --git a/lib/utils/ui_helpers.dart b/lib/utils/ui_helpers.dart index 734bf4f9..1958c90f 100644 --- a/lib/utils/ui_helpers.dart +++ b/lib/utils/ui_helpers.dart @@ -1,8 +1,8 @@ -import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; +import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; /// it's ui helpers use only for ui components, don't use for logic components. class UiHelpers { - static String getDomainName(AppConfigState config) => + static String getDomainName(ServerInstallationState config) => config.isDomainFilled ? config.serverDomain!.domainName : 'example.com'; }