Added link to servers screen on settings

This commit is contained in:
Juan Gilsanz Polo 2022-09-27 18:06:49 +02:00
parent ce1b7415c2
commit 3bb3f36ecb
3 changed files with 29 additions and 2 deletions

View file

@ -61,5 +61,8 @@
"light": "Light",
"dark": "Dark",
"systemDefined": "System defined",
"close": "Close"
"close": "Close",
"connectedTo": "Connected to:",
"selectedServer": "Selected server:",
"noServerSelected": "No server selected"
}

View file

@ -61,5 +61,8 @@
"light": "Claro",
"dark": "Oscuro",
"systemDefined": "Definido por el sistema",
"close": "Cerrar"
"close": "Cerrar",
"connectedTo": "Conectado a:",
"selectedServer": "Servidor seleccionado:",
"noServerSelected": "No hay servidor seleccionado"
}

View file

@ -5,7 +5,9 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/settings/theme_modal.dart';
import 'package:adguard_home_manager/screens/settings/custom_list_tile.dart';
import 'package:adguard_home_manager/screens/settings/section_label.dart';
import 'package:adguard_home_manager/screens/servers/servers.dart';
import 'package:adguard_home_manager/providers/servers_provider.dart';
import 'package:adguard_home_manager/providers/app_config_provider.dart';
class Settings extends StatelessWidget {
@ -14,6 +16,7 @@ class Settings extends StatelessWidget {
@override
Widget build(BuildContext context) {
final appConfigProvider = Provider.of<AppConfigProvider>(context);
final serversProvider = Provider.of<ServersProvider>(context);
final statusBarHeight = MediaQuery.of(context).viewInsets.top;
@ -45,6 +48,14 @@ class Settings extends StatelessWidget {
);
}
void navigateServers() {
Future.delayed(const Duration(milliseconds: 0), (() {
Navigator.of(context).push(
MaterialPageRoute(builder: (context) => const Servers())
);
}));
}
return ListView(
children: [
SectionLabel(label: AppLocalizations.of(context)!.appSettings),
@ -54,6 +65,16 @@ class Settings extends StatelessWidget {
description: getThemeString(),
onTap: openThemeModal,
),
CustomListTile(
leadingIcon: Icons.storage_rounded,
label: AppLocalizations.of(context)!.servers,
description: serversProvider.selectedServer != null
? serversProvider.serverStatus.data != null
? "${AppLocalizations.of(context)!.connectedTo} ${serversProvider.selectedServer!.name}"
: "${AppLocalizations.of(context)!.selectedServer} ${serversProvider.selectedServer!.name}"
: AppLocalizations.of(context)!.noServerSelected,
onTap: navigateServers,
),
],
);
}