2023-03-22 11:38:18 +00:00
|
|
|
import 'package:auto_route/auto_route.dart';
|
2023-02-23 14:49:14 +00:00
|
|
|
import 'package:flutter/material.dart';
|
2023-06-16 02:59:48 +00:00
|
|
|
import 'package:selfprivacy/logic/api_maps/tls_options.dart';
|
2023-02-23 14:49:14 +00:00
|
|
|
import 'package:selfprivacy/logic/cubit/app_settings/app_settings_cubit.dart';
|
|
|
|
import 'package:selfprivacy/logic/cubit/devices/devices_cubit.dart';
|
|
|
|
import 'package:selfprivacy/logic/cubit/recovery_key/recovery_key_cubit.dart';
|
|
|
|
import 'package:selfprivacy/ui/layouts/brand_hero_screen.dart';
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
|
2023-03-22 11:38:18 +00:00
|
|
|
@RoutePage()
|
2023-02-23 14:49:14 +00:00
|
|
|
class DeveloperSettingsPage extends StatefulWidget {
|
|
|
|
const DeveloperSettingsPage({super.key});
|
|
|
|
|
|
|
|
@override
|
|
|
|
State<DeveloperSettingsPage> createState() => _DeveloperSettingsPageState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _DeveloperSettingsPageState extends State<DeveloperSettingsPage> {
|
|
|
|
@override
|
|
|
|
Widget build(final BuildContext context) => BrandHeroScreen(
|
|
|
|
hasBackButton: true,
|
|
|
|
hasFlashButton: false,
|
|
|
|
bodyPadding: const EdgeInsets.symmetric(vertical: 16),
|
|
|
|
heroTitle: 'developer_settings.title'.tr(),
|
|
|
|
heroSubtitle: 'developer_settings.subtitle'.tr(),
|
|
|
|
children: [
|
|
|
|
Padding(
|
|
|
|
padding: const EdgeInsets.all(16),
|
|
|
|
child: Text(
|
|
|
|
'developer_settings.server_setup'.tr(),
|
|
|
|
style: Theme.of(context).textTheme.labelLarge!.copyWith(
|
|
|
|
color: Theme.of(context).colorScheme.secondary,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
SwitchListTile(
|
|
|
|
title: Text('developer_settings.use_staging_acme'.tr()),
|
|
|
|
subtitle:
|
|
|
|
Text('developer_settings.use_staging_acme_description'.tr()),
|
2023-06-16 02:59:48 +00:00
|
|
|
value: TlsOptions.stagingAcme,
|
|
|
|
onChanged: (final bool value) => setState(
|
|
|
|
() => TlsOptions.stagingAcme = value,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
SwitchListTile(
|
|
|
|
title: Text('developer_settings.ignore_tls'.tr()),
|
2023-07-02 11:41:54 +00:00
|
|
|
subtitle: Text('developer_settings.ignore_tls_description'.tr()),
|
2023-06-16 02:59:48 +00:00
|
|
|
value: TlsOptions.verifyCertificate,
|
|
|
|
onChanged: (final bool value) => setState(
|
2023-07-02 11:41:54 +00:00
|
|
|
() => TlsOptions.verifyCertificate = value,
|
2023-06-16 02:59:48 +00:00
|
|
|
),
|
2023-02-23 14:49:14 +00:00
|
|
|
),
|
|
|
|
Padding(
|
|
|
|
padding: const EdgeInsets.all(16),
|
|
|
|
child: Text(
|
|
|
|
'developer_settings.routing'.tr(),
|
|
|
|
style: Theme.of(context).textTheme.labelLarge!.copyWith(
|
|
|
|
color: Theme.of(context).colorScheme.secondary,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
ListTile(
|
|
|
|
title: Text('developer_settings.reset_onboarding'.tr()),
|
|
|
|
subtitle:
|
|
|
|
Text('developer_settings.reset_onboarding_description'.tr()),
|
|
|
|
enabled:
|
|
|
|
!context.watch<AppSettingsCubit>().state.isOnboardingShowing,
|
|
|
|
onTap: () => context
|
|
|
|
.read<AppSettingsCubit>()
|
|
|
|
.turnOffOnboarding(isOnboardingShowing: true),
|
|
|
|
),
|
|
|
|
Padding(
|
|
|
|
padding: const EdgeInsets.all(16),
|
|
|
|
child: Text(
|
|
|
|
'developer_settings.cubit_statuses'.tr(),
|
|
|
|
style: Theme.of(context).textTheme.labelLarge!.copyWith(
|
|
|
|
color: Theme.of(context).colorScheme.secondary,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
ListTile(
|
|
|
|
title: const Text('ApiDevicesCubit'),
|
|
|
|
subtitle: Text(
|
|
|
|
context.watch<ApiDevicesCubit>().state.status.toString(),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
ListTile(
|
|
|
|
title: const Text('RecoveryKeyCubit'),
|
|
|
|
subtitle: Text(
|
|
|
|
context.watch<RecoveryKeyCubit>().state.loadingStatus.toString(),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|