From 3c683bef638a25f5ca56e5c5be5f42705a42b7c6 Mon Sep 17 00:00:00 2001 From: Kherel Date: Thu, 25 Mar 2021 09:32:00 +0100 Subject: [PATCH] fix --- assets/translations/en.json | 11 ++- assets/translations/ru.json | 11 ++- lib/logic/api_maps/server.dart | 2 - .../cubit/app_config/app_config_cubit.dart | 17 ++-- .../app_config/app_config_repository.dart | 78 +++++++++++-------- .../cubit/app_config/app_config_state.dart | 26 ++++--- .../pages/more/app_settings/app_setting.dart | 12 +-- lib/ui/pages/more/more.dart | 2 +- 8 files changed, 96 insertions(+), 63 deletions(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index cf05029e18..3c7a098af2 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -21,18 +21,25 @@ "saving": "Saving..", "nickname": "nickname", "loading": "loading", - "later": "Настрою потом" + "later": "Настрою потом", + "reset": "Reset" }, "more": { "_comment": "'More' tab", "configuration_wizard": "Setup wizard", - "settings": "Application settings", "about_project": "About us", "about_app": "About application", "onboarding": "Onboarding", "console": "Console", "about_app_page": { "text": "Тут любая служебная информация, v.{}" + }, + "settings": { + "title": "Application settings", + "1": "Dark Theme", + "2": "Change your the app theme", + "3": "Reset app config", + "4": "Reset api keys and root user" } }, "onboarding": { diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 2df8b86378..a6e0d26ba0 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -21,18 +21,25 @@ "saving": "Сохранение..", "nickname": "Никнейм", "loading": "Загрузка", - "later": "Настрою потом" + "later": "Настрою потом", + "reset": "Reset" }, "more": { "_comment": "вкладка еще", "configuration_wizard": "Мастер Подключения", - "settings": "Настройки приложения", "about_project": "О проекте SelfPrivacy", "about_app": "О приложении", "onboarding": "Onboarding", "console": "Console", "about_app_page": { "text": "Тут любая служебная информация, v.{}" + }, + "settings": { + "title": "Настройки приложения", + "1": "Темная тема", + "2": "Сменить цветовую тему", + "3": "Сброс настроек", + "4": "Сбросить API ключи а так же root пользвателя" } }, "onboarding": { diff --git a/lib/logic/api_maps/server.dart b/lib/logic/api_maps/server.dart index fcb22330c2..d1e4053521 100644 --- a/lib/logic/api_maps/server.dart +++ b/lib/logic/api_maps/server.dart @@ -13,11 +13,9 @@ class ServerApi extends ApiMap { Future isHttpServerWorking() async { bool res; - print('start'); Response response; try { response = await loggedClient.get('/serviceStatus'); - print(response); res = response.statusCode == HttpStatus.ok; } catch (e) { res = false; diff --git a/lib/logic/cubit/app_config/app_config_cubit.dart b/lib/logic/cubit/app_config/app_config_cubit.dart index 4d8dd8a550..115002766a 100644 --- a/lib/logic/cubit/app_config/app_config_cubit.dart +++ b/lib/logic/cubit/app_config/app_config_cubit.dart @@ -50,15 +50,10 @@ class AppConfigCubit extends Cubit { if (state.progress < 6 || state.isFullyInitilized) { emit(state); } else if (state.progress == 6) { - print('startServerIfDnsIsOkay'); - startServerIfDnsIsOkay(state: state, isImmediate: true); } else if (state.progress == 7) { - print('resetServerIfServerIsOkay'); - resetServerIfServerIsOkay(state: state, isImmediate: true); } else if (state.progress == 8) { - print('finishCheckIfServerIsOkay'); finishCheckIfServerIsOkay(state: state, isImmediate: true); } } @@ -83,6 +78,8 @@ class AppConfigCubit extends Cubit { state.hetznerServer!, ); repository.saveServerDetails(server); + repository.saveIsServerStarted(true); + emit( state.copyWith( isServerStarted: true, @@ -136,6 +133,9 @@ class AppConfigCubit extends Cubit { state!.hetznerKey, state.hetznerServer!, ); + repository.saveIsServerReseted(true); + repository.saveServerDetails(hetznerServerDetails); + emit( state.copyWith( isServerReseted: true, @@ -181,7 +181,12 @@ class AppConfigCubit extends Cubit { ); if (isServerWorking) { - emit(state.copyWith(hasFinalChecked: true, isLoading: false)); + repository.saveHasFinalChecked(true); + + emit(state.copyWith( + hasFinalChecked: true, + isLoading: false, + )); } else { finishCheckIfServerIsOkay(); } diff --git a/lib/logic/cubit/app_config/app_config_repository.dart b/lib/logic/cubit/app_config/app_config_repository.dart index a8b0036704..e59c1255ce 100644 --- a/lib/logic/cubit/app_config/app_config_repository.dart +++ b/lib/logic/cubit/app_config/app_config_repository.dart @@ -21,6 +21,10 @@ class AppConfigRepository { Box box = Hive.box(BNames.appConfig); AppConfigState load() { + // saveIsServerStarted(false); + // saveIsServerReseted(false); + // saveHasFinalChecked(false); + return AppConfigState( hetznerKey: box.get(BNames.hetznerKey), cloudFlareKey: box.get(BNames.cloudFlareKey), @@ -29,10 +33,10 @@ class AppConfigRepository { rootUser: box.get(BNames.rootUser), hetznerServer: box.get(BNames.hetznerServer), isServerStarted: box.get(BNames.isServerStarted, defaultValue: false), - error: null, - hasFinalChecked: box.get(BNames.hasFinalChecked, defaultValue: false), - isLoading: box.get(BNames.isLoading, defaultValue: false), isServerReseted: box.get(BNames.isServerReseted, defaultValue: false), + hasFinalChecked: box.get(BNames.hasFinalChecked, defaultValue: false), + error: null, + isLoading: box.get(BNames.isLoading, defaultValue: false), ); } @@ -40,26 +44,6 @@ class AppConfigRepository { box.clear(); } - void saveHetznerKey(String key) { - box.put(BNames.hetznerKey, key); - } - - void saveBackblazeKey(BackblazeCredential backblazeCredential) { - box.put(BNames.backblazeKey, backblazeCredential); - } - - void saveCloudFlare(String key) { - box.put(BNames.cloudFlareKey, key); - } - - void saveDomain(CloudFlareDomain cloudFlareDomain) { - box.put(BNames.cloudFlareDomain, cloudFlareDomain); - } - - void saveRootUser(User rootUser) { - box.put(BNames.rootUser, rootUser); - } - Future startServer( String? hetznerKey, HetznerServerDetails hetznerServer, @@ -67,17 +51,11 @@ class AppConfigRepository { var hetznerApi = HetznerApi(hetznerKey); var serverDetails = await hetznerApi.startServer(server: hetznerServer); hetznerApi.close(); - box.put(BNames.isServerStarted, true); return serverDetails; } - Future saveServerDetails(HetznerServerDetails serverDetails) async { - await box.put(BNames.hetznerServer, serverDetails); - } - Future isDnsAddressesMatch(String? domainName, String? ip4) async { - print(domainName); var addresses = [ '$domainName', 'api.$domainName', @@ -111,8 +89,6 @@ class AppConfigRepository { } } - box.put(BNames.hasFinalChecked, true); - return true; } @@ -133,8 +109,8 @@ class AppConfigRepository { rootUser: rootUser, domainName: domainName, ); - await box.put(BNames.hetznerServer, serverDetails); hetznerApi.close(); + saveServerDetails(serverDetails); onSuccess(serverDetails); } on DioError catch (e) { if (e.response!.data['error']['code'] == 'uniqueness_error') { @@ -159,7 +135,7 @@ class AppConfigRepository { ); hetznerApi.close(); - await box.put(BNames.hetznerServer, serverDetails); + await saveServerDetails(serverDetails); onSuccess(serverDetails); }, ), @@ -211,4 +187,40 @@ class AppConfigRepository { var hetznerApi = HetznerApi(hetznerKey); return await hetznerApi.restart(server: server); } + + Future saveServerDetails(HetznerServerDetails serverDetails) async { + await box.put(BNames.hetznerServer, serverDetails); + } + + Future saveIsServerStarted(bool value) async { + await box.put(BNames.isServerStarted, value); + } + + Future saveHetznerKey(String key) async { + await box.put(BNames.hetznerKey, key); + } + + Future saveIsServerReseted(bool value) async { + await box.put(BNames.isServerReseted, value); + } + + Future saveBackblazeKey(BackblazeCredential backblazeCredential) async { + await box.put(BNames.backblazeKey, backblazeCredential); + } + + Future saveCloudFlare(String key) async { + await box.put(BNames.cloudFlareKey, key); + } + + void saveDomain(CloudFlareDomain cloudFlareDomain) async { + await box.put(BNames.cloudFlareDomain, cloudFlareDomain); + } + + void saveRootUser(User rootUser) async { + await box.put(BNames.rootUser, rootUser); + } + + void saveHasFinalChecked(bool value) async { + await box.put(BNames.hasFinalChecked, value); + } } diff --git a/lib/logic/cubit/app_config/app_config_state.dart b/lib/logic/cubit/app_config/app_config_state.dart index ad770fa38f..6b9f8ee367 100644 --- a/lib/logic/cubit/app_config/app_config_state.dart +++ b/lib/logic/cubit/app_config/app_config_state.dart @@ -80,17 +80,21 @@ class AppConfigState extends Equatable { bool get isFullyInitilized => _fulfilementList.every((el) => el!); int get progress => _fulfilementList.where((el) => el!).length; - List get _fulfilementList => [ - isHetznerFilled, - isCloudFlareFilled, - isBackblazeFilled, - isDomainFilled, - isUserFilled, - isServerCreated, - isServerStarted, - isServerReseted, - hasFinalChecked, - ]; + List get _fulfilementList { + var res = [ + isHetznerFilled, + isCloudFlareFilled, + isBackblazeFilled, + isDomainFilled, + isUserFilled, + isServerCreated, + isServerStarted, + isServerReseted, + hasFinalChecked, + ]; + print('progress: $res'); + return res; + } } class InitialAppConfigState extends AppConfigState { diff --git a/lib/ui/pages/more/app_settings/app_setting.dart b/lib/ui/pages/more/app_settings/app_setting.dart index 981b3cd6ad..9e89d7dcde 100644 --- a/lib/ui/pages/more/app_settings/app_setting.dart +++ b/lib/ui/pages/more/app_settings/app_setting.dart @@ -28,7 +28,7 @@ class _AppSettingsPageState extends State { return Scaffold( appBar: PreferredSize( child: - BrandHeader(title: 'more.settings'.tr(), hasBackButton: true), + BrandHeader(title: 'more.settings.title'.tr(), hasBackButton: true), preferredSize: Size.fromHeight(52), ), body: ListView( @@ -47,8 +47,8 @@ class _AppSettingsPageState extends State { children: [ Flexible( child: _TextColumn( - title: 'Dark Theme', - value: 'Change your the app theme', + title: 'more.settings.1'.tr(), + value: 'more.settings.2'.tr(), ), ), SizedBox(width: 5), @@ -75,8 +75,8 @@ class _AppSettingsPageState extends State { children: [ Flexible( child: _TextColumn( - title: 'Reset app config', - value: 'Reset api keys and root user', + title: 'more.settings.3'.tr(), + value: 'more.settings.4'.tr(), ), ), SizedBox(width: 5), @@ -85,7 +85,7 @@ class _AppSettingsPageState extends State { primary: BrandColors.red1, ), child: Text( - 'Reset', + 'basis.reset'.tr(), style: TextStyle( color: BrandColors.white, fontWeight: NamedFontWeight.demiBold, diff --git a/lib/ui/pages/more/more.dart b/lib/ui/pages/more/more.dart index 8959d87ad0..112b8c64e8 100644 --- a/lib/ui/pages/more/more.dart +++ b/lib/ui/pages/more/more.dart @@ -39,7 +39,7 @@ class MorePage extends StatelessWidget { goTo: InitializingPage(), ), _NavItem( - title: 'more.settings'.tr(), + title: 'more.settings.title'.tr(), iconData: BrandIcons.settings, goTo: AppSettingsPage(), ),