Added general settings

This commit is contained in:
Juan Gilsanz Polo
2024-02-23 01:41:44 +01:00
parent e21546693a
commit b6d80d7473
9 changed files with 209 additions and 38 deletions

View File

@@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang` /// To regenerate, run: `dart run slang`
/// ///
/// Locales: 2 /// Locales: 2
/// Strings: 122 (61 per locale) /// Strings: 130 (65 per locale)
/// ///
/// Built on 2024-02-23 at 00:06 UTC /// Built on 2024-02-23 at 00:40 UTC
// coverage:ignore-file // coverage:ignore-file
// ignore_for_file: type=lint // ignore_for_file: type=lint
@@ -148,6 +148,7 @@ class Translations implements BaseTranslations<AppLocale, Translations> {
late final Translations _root = this; // ignore: unused_field late final Translations _root = this; // ignore: unused_field
// Translations // Translations
late final _StringsGenericEn generic = _StringsGenericEn._(_root);
late final _StringsOnboardingEn onboarding = _StringsOnboardingEn._(_root); late final _StringsOnboardingEn onboarding = _StringsOnboardingEn._(_root);
late final _StringsLinksEn links = _StringsLinksEn._(_root); late final _StringsLinksEn links = _StringsLinksEn._(_root);
late final _StringsSearchEn search = _StringsSearchEn._(_root); late final _StringsSearchEn search = _StringsSearchEn._(_root);
@@ -156,6 +157,17 @@ class Translations implements BaseTranslations<AppLocale, Translations> {
late final _StringsColorsEn colors = _StringsColorsEn._(_root); late final _StringsColorsEn colors = _StringsColorsEn._(_root);
} }
// Path: generic
class _StringsGenericEn {
_StringsGenericEn._(this._root);
final Translations _root; // ignore: unused_field
// Translations
String get confirm => 'Confirm';
String get cancel => 'Cancel';
}
// Path: onboarding // Path: onboarding
class _StringsOnboardingEn { class _StringsOnboardingEn {
_StringsOnboardingEn._(this._root); _StringsOnboardingEn._(this._root);
@@ -216,16 +228,13 @@ class _StringsSettingsEn {
// Translations // Translations
String get settings => 'Settings'; String get settings => 'Settings';
String get appSettings => 'App settings'; String get appSettings => 'App settings';
String get disconnectFromServer => 'Disconnect from server';
String get aboutApp => 'About the app'; String get aboutApp => 'About the app';
String get appVersion => 'App version'; String get appVersion => 'App version';
String get createdBy => 'Created by'; String get createdBy => 'Created by';
String get visitGooglePlay => 'Visit the application page at Google Play'; String get visitGooglePlay => 'Visit the application page at Google Play';
String get visitGitHubRepo => 'Visit the application repository at GitHub'; String get visitGitHubRepo => 'Visit the application repository at GitHub';
String get customizationDescription => 'Set the app theme and color palette.';
String get generalSettings => 'General settings';
String get generalSettingsDescription => 'General tweaks for the application.';
late final _StringsSettingsCustomizationEn customization = _StringsSettingsCustomizationEn._(_root); late final _StringsSettingsCustomizationEn customization = _StringsSettingsCustomizationEn._(_root);
late final _StringsSettingsGeneralSettingsEn generalSettings = _StringsSettingsGeneralSettingsEn._(_root);
} }
// Path: webview // Path: webview
@@ -283,6 +292,7 @@ class _StringsSettingsCustomizationEn {
// Translations // Translations
String get customization => 'Customization'; String get customization => 'Customization';
String get customizationDescription => 'Set the app theme and color palette.';
String get theme => 'Theme'; String get theme => 'Theme';
String get light => 'Light'; String get light => 'Light';
String get dark => 'Dark'; String get dark => 'Dark';
@@ -291,6 +301,30 @@ class _StringsSettingsCustomizationEn {
String get useDynamicTheme => 'Use dynamic theme'; String get useDynamicTheme => 'Use dynamic theme';
} }
// Path: settings.generalSettings
class _StringsSettingsGeneralSettingsEn {
_StringsSettingsGeneralSettingsEn._(this._root);
final Translations _root; // ignore: unused_field
// Translations
String get generalSettings => 'General settings';
String get generalSettingsDescription => 'General tweaks for the application.';
String get disconnectFromServer => 'Disconnect from server';
late final _StringsSettingsGeneralSettingsDisconnectModalEn disconnectModal = _StringsSettingsGeneralSettingsDisconnectModalEn._(_root);
}
// Path: settings.generalSettings.disconnectModal
class _StringsSettingsGeneralSettingsDisconnectModalEn {
_StringsSettingsGeneralSettingsDisconnectModalEn._(this._root);
final Translations _root; // ignore: unused_field
// Translations
String get title => 'Disconnect';
String get description => 'Are you sure you want to disconnect from the server?\nYou will be redirected to the initial setup.';
}
// Path: <root> // Path: <root>
class _StringsEs implements Translations { class _StringsEs implements Translations {
/// You can call this constructor and build your own translation instance of this locale. /// You can call this constructor and build your own translation instance of this locale.
@@ -315,6 +349,7 @@ class _StringsEs implements Translations {
@override late final _StringsEs _root = this; // ignore: unused_field @override late final _StringsEs _root = this; // ignore: unused_field
// Translations // Translations
@override late final _StringsGenericEs generic = _StringsGenericEs._(_root);
@override late final _StringsOnboardingEs onboarding = _StringsOnboardingEs._(_root); @override late final _StringsOnboardingEs onboarding = _StringsOnboardingEs._(_root);
@override late final _StringsLinksEs links = _StringsLinksEs._(_root); @override late final _StringsLinksEs links = _StringsLinksEs._(_root);
@override late final _StringsSearchEs search = _StringsSearchEs._(_root); @override late final _StringsSearchEs search = _StringsSearchEs._(_root);
@@ -323,6 +358,17 @@ class _StringsEs implements Translations {
@override late final _StringsColorsEs colors = _StringsColorsEs._(_root); @override late final _StringsColorsEs colors = _StringsColorsEs._(_root);
} }
// Path: generic
class _StringsGenericEs implements _StringsGenericEn {
_StringsGenericEs._(this._root);
@override final _StringsEs _root; // ignore: unused_field
// Translations
@override String get confirm => 'Confirmar';
@override String get cancel => 'Cancelar';
}
// Path: onboarding // Path: onboarding
class _StringsOnboardingEs implements _StringsOnboardingEn { class _StringsOnboardingEs implements _StringsOnboardingEn {
_StringsOnboardingEs._(this._root); _StringsOnboardingEs._(this._root);
@@ -383,16 +429,13 @@ class _StringsSettingsEs implements _StringsSettingsEn {
// Translations // Translations
@override String get settings => 'Ajustes'; @override String get settings => 'Ajustes';
@override String get appSettings => 'Ajustes de la aplicación'; @override String get appSettings => 'Ajustes de la aplicación';
@override String get disconnectFromServer => 'Desconectar del servidor';
@override String get aboutApp => 'Sobre la aplicación'; @override String get aboutApp => 'Sobre la aplicación';
@override String get appVersion => 'Versión de la aplicación'; @override String get appVersion => 'Versión de la aplicación';
@override String get createdBy => 'Creado por'; @override String get createdBy => 'Creado por';
@override String get visitGooglePlay => 'Visita la página de la aplicación en Google Play'; @override String get visitGooglePlay => 'Visita la página de la aplicación en Google Play';
@override String get visitGitHubRepo => 'Visita el repositorio de la aplicación en GitHub'; @override String get visitGitHubRepo => 'Visita el repositorio de la aplicación en GitHub';
@override String get customizationDescription => 'Configura el tema y la paleta de colores.';
@override String get generalSettings => 'Ajustes generales';
@override String get generalSettingsDescription => 'Ajustes generales para la aplicación.';
@override late final _StringsSettingsCustomizationEs customization = _StringsSettingsCustomizationEs._(_root); @override late final _StringsSettingsCustomizationEs customization = _StringsSettingsCustomizationEs._(_root);
@override late final _StringsSettingsGeneralSettingsEs generalSettings = _StringsSettingsGeneralSettingsEs._(_root);
} }
// Path: webview // Path: webview
@@ -450,6 +493,7 @@ class _StringsSettingsCustomizationEs implements _StringsSettingsCustomizationEn
// Translations // Translations
@override String get customization => 'Personalización'; @override String get customization => 'Personalización';
@override String get customizationDescription => 'Configura el tema y la paleta de colores.';
@override String get theme => 'Tema'; @override String get theme => 'Tema';
@override String get light => 'Claro'; @override String get light => 'Claro';
@override String get dark => 'Oscuro'; @override String get dark => 'Oscuro';
@@ -458,12 +502,38 @@ class _StringsSettingsCustomizationEs implements _StringsSettingsCustomizationEn
@override String get useDynamicTheme => 'Usar tema dinámico'; @override String get useDynamicTheme => 'Usar tema dinámico';
} }
// Path: settings.generalSettings
class _StringsSettingsGeneralSettingsEs implements _StringsSettingsGeneralSettingsEn {
_StringsSettingsGeneralSettingsEs._(this._root);
@override final _StringsEs _root; // ignore: unused_field
// Translations
@override String get generalSettings => 'Ajustes generales';
@override String get generalSettingsDescription => 'Ajustes generales para la aplicación.';
@override String get disconnectFromServer => 'Desconectar del servidor';
@override late final _StringsSettingsGeneralSettingsDisconnectModalEs disconnectModal = _StringsSettingsGeneralSettingsDisconnectModalEs._(_root);
}
// Path: settings.generalSettings.disconnectModal
class _StringsSettingsGeneralSettingsDisconnectModalEs implements _StringsSettingsGeneralSettingsDisconnectModalEn {
_StringsSettingsGeneralSettingsDisconnectModalEs._(this._root);
@override final _StringsEs _root; // ignore: unused_field
// Translations
@override String get title => 'Desconectar';
@override String get description => '¿Estás seguro que deseas desconectarte del servidor?\nSerás redirigido a la configuración inicial.';
}
/// Flat map(s) containing all translations. /// Flat map(s) containing all translations.
/// Only for edge cases! For simple maps, use the map function of this library. /// Only for edge cases! For simple maps, use the map function of this library.
extension on Translations { extension on Translations {
dynamic _flatMapFunction(String path) { dynamic _flatMapFunction(String path) {
switch (path) { switch (path) {
case 'generic.confirm': return 'Confirm';
case 'generic.cancel': return 'Cancel';
case 'onboarding.title': return 'Welcome to Linkdy'; case 'onboarding.title': return 'Welcome to Linkdy';
case 'onboarding.subtitle': return 'An application to manage your bookmarks.'; case 'onboarding.subtitle': return 'An application to manage your bookmarks.';
case 'onboarding.start': return 'Start'; case 'onboarding.start': return 'Start';
@@ -491,22 +561,24 @@ extension on Translations {
case 'search.search': return 'Search'; case 'search.search': return 'Search';
case 'settings.settings': return 'Settings'; case 'settings.settings': return 'Settings';
case 'settings.appSettings': return 'App settings'; case 'settings.appSettings': return 'App settings';
case 'settings.disconnectFromServer': return 'Disconnect from server';
case 'settings.aboutApp': return 'About the app'; case 'settings.aboutApp': return 'About the app';
case 'settings.appVersion': return 'App version'; case 'settings.appVersion': return 'App version';
case 'settings.createdBy': return 'Created by'; case 'settings.createdBy': return 'Created by';
case 'settings.visitGooglePlay': return 'Visit the application page at Google Play'; case 'settings.visitGooglePlay': return 'Visit the application page at Google Play';
case 'settings.visitGitHubRepo': return 'Visit the application repository at GitHub'; case 'settings.visitGitHubRepo': return 'Visit the application repository at GitHub';
case 'settings.customizationDescription': return 'Set the app theme and color palette.';
case 'settings.generalSettings': return 'General settings';
case 'settings.generalSettingsDescription': return 'General tweaks for the application.';
case 'settings.customization.customization': return 'Customization'; case 'settings.customization.customization': return 'Customization';
case 'settings.customization.customizationDescription': return 'Set the app theme and color palette.';
case 'settings.customization.theme': return 'Theme'; case 'settings.customization.theme': return 'Theme';
case 'settings.customization.light': return 'Light'; case 'settings.customization.light': return 'Light';
case 'settings.customization.dark': return 'Dark'; case 'settings.customization.dark': return 'Dark';
case 'settings.customization.systemDefined': return 'System defined'; case 'settings.customization.systemDefined': return 'System defined';
case 'settings.customization.color': return 'Color'; case 'settings.customization.color': return 'Color';
case 'settings.customization.useDynamicTheme': return 'Use dynamic theme'; case 'settings.customization.useDynamicTheme': return 'Use dynamic theme';
case 'settings.generalSettings.generalSettings': return 'General settings';
case 'settings.generalSettings.generalSettingsDescription': return 'General tweaks for the application.';
case 'settings.generalSettings.disconnectFromServer': return 'Disconnect from server';
case 'settings.generalSettings.disconnectModal.title': return 'Disconnect';
case 'settings.generalSettings.disconnectModal.description': return 'Are you sure you want to disconnect from the server?\nYou will be redirected to the initial setup.';
case 'webview.goBack': return 'Go back'; case 'webview.goBack': return 'Go back';
case 'webview.goForward': return 'Go forward'; case 'webview.goForward': return 'Go forward';
case 'webview.reload': return 'Reload'; case 'webview.reload': return 'Reload';
@@ -533,6 +605,8 @@ extension on Translations {
extension on _StringsEs { extension on _StringsEs {
dynamic _flatMapFunction(String path) { dynamic _flatMapFunction(String path) {
switch (path) { switch (path) {
case 'generic.confirm': return 'Confirmar';
case 'generic.cancel': return 'Cancelar';
case 'onboarding.title': return 'Bienvenido a Linkdy'; case 'onboarding.title': return 'Bienvenido a Linkdy';
case 'onboarding.subtitle': return 'Una aplicación para gestionar tus enlaces favoritos.'; case 'onboarding.subtitle': return 'Una aplicación para gestionar tus enlaces favoritos.';
case 'onboarding.start': return 'Comenzar'; case 'onboarding.start': return 'Comenzar';
@@ -560,22 +634,24 @@ extension on _StringsEs {
case 'search.search': return 'Buscar'; case 'search.search': return 'Buscar';
case 'settings.settings': return 'Ajustes'; case 'settings.settings': return 'Ajustes';
case 'settings.appSettings': return 'Ajustes de la aplicación'; case 'settings.appSettings': return 'Ajustes de la aplicación';
case 'settings.disconnectFromServer': return 'Desconectar del servidor';
case 'settings.aboutApp': return 'Sobre la aplicación'; case 'settings.aboutApp': return 'Sobre la aplicación';
case 'settings.appVersion': return 'Versión de la aplicación'; case 'settings.appVersion': return 'Versión de la aplicación';
case 'settings.createdBy': return 'Creado por'; case 'settings.createdBy': return 'Creado por';
case 'settings.visitGooglePlay': return 'Visita la página de la aplicación en Google Play'; case 'settings.visitGooglePlay': return 'Visita la página de la aplicación en Google Play';
case 'settings.visitGitHubRepo': return 'Visita el repositorio de la aplicación en GitHub'; case 'settings.visitGitHubRepo': return 'Visita el repositorio de la aplicación en GitHub';
case 'settings.customizationDescription': return 'Configura el tema y la paleta de colores.';
case 'settings.generalSettings': return 'Ajustes generales';
case 'settings.generalSettingsDescription': return 'Ajustes generales para la aplicación.';
case 'settings.customization.customization': return 'Personalización'; case 'settings.customization.customization': return 'Personalización';
case 'settings.customization.customizationDescription': return 'Configura el tema y la paleta de colores.';
case 'settings.customization.theme': return 'Tema'; case 'settings.customization.theme': return 'Tema';
case 'settings.customization.light': return 'Claro'; case 'settings.customization.light': return 'Claro';
case 'settings.customization.dark': return 'Oscuro'; case 'settings.customization.dark': return 'Oscuro';
case 'settings.customization.systemDefined': return 'Definido por el sistema'; case 'settings.customization.systemDefined': return 'Definido por el sistema';
case 'settings.customization.color': return 'Color'; case 'settings.customization.color': return 'Color';
case 'settings.customization.useDynamicTheme': return 'Usar tema dinámico'; case 'settings.customization.useDynamicTheme': return 'Usar tema dinámico';
case 'settings.generalSettings.generalSettings': return 'Ajustes generales';
case 'settings.generalSettings.generalSettingsDescription': return 'Ajustes generales para la aplicación.';
case 'settings.generalSettings.disconnectFromServer': return 'Desconectar del servidor';
case 'settings.generalSettings.disconnectModal.title': return 'Desconectar';
case 'settings.generalSettings.disconnectModal.description': return '¿Estás seguro que deseas desconectarte del servidor?\nSerás redirigido a la configuración inicial.';
case 'webview.goBack': return 'Ir atrás'; case 'webview.goBack': return 'Ir atrás';
case 'webview.goForward': return 'Ir adelante'; case 'webview.goForward': return 'Ir adelante';
case 'webview.reload': return 'Recargar'; case 'webview.reload': return 'Recargar';

View File

@@ -1,4 +1,8 @@
{ {
"generic": {
"confirm": "Confirm",
"cancel": "Cancel"
},
"onboarding": { "onboarding": {
"title": "Welcome to Linkdy", "title": "Welcome to Linkdy",
"subtitle": "An application to manage your bookmarks.", "subtitle": "An application to manage your bookmarks.",
@@ -35,23 +39,29 @@
"settings": { "settings": {
"settings": "Settings", "settings": "Settings",
"appSettings": "App settings", "appSettings": "App settings",
"disconnectFromServer": "Disconnect from server",
"aboutApp": "About the app", "aboutApp": "About the app",
"appVersion": "App version", "appVersion": "App version",
"createdBy": "Created by", "createdBy": "Created by",
"visitGooglePlay": "Visit the application page at Google Play", "visitGooglePlay": "Visit the application page at Google Play",
"visitGitHubRepo": "Visit the application repository at GitHub", "visitGitHubRepo": "Visit the application repository at GitHub",
"customizationDescription": "Set the app theme and color palette.",
"generalSettings": "General settings",
"generalSettingsDescription": "General tweaks for the application.",
"customization": { "customization": {
"customization": "Customization", "customization": "Customization",
"customizationDescription": "Set the app theme and color palette.",
"theme": "Theme", "theme": "Theme",
"light": "Light", "light": "Light",
"dark": "Dark", "dark": "Dark",
"systemDefined": "System defined", "systemDefined": "System defined",
"color": "Color", "color": "Color",
"useDynamicTheme": "Use dynamic theme" "useDynamicTheme": "Use dynamic theme"
},
"generalSettings": {
"generalSettings": "General settings",
"generalSettingsDescription": "General tweaks for the application.",
"disconnectFromServer": "Disconnect from server",
"disconnectModal": {
"title": "Disconnect",
"description": "Are you sure you want to disconnect from the server?\nYou will be redirected to the initial setup."
}
} }
}, },
"webview": { "webview": {

View File

@@ -1,4 +1,8 @@
{ {
"generic": {
"confirm": "Confirmar",
"cancel": "Cancelar"
},
"onboarding": { "onboarding": {
"title": "Bienvenido a Linkdy", "title": "Bienvenido a Linkdy",
"subtitle": "Una aplicación para gestionar tus enlaces favoritos.", "subtitle": "Una aplicación para gestionar tus enlaces favoritos.",
@@ -35,23 +39,29 @@
"settings": { "settings": {
"settings": "Ajustes", "settings": "Ajustes",
"appSettings": "Ajustes de la aplicación", "appSettings": "Ajustes de la aplicación",
"disconnectFromServer": "Desconectar del servidor",
"aboutApp": "Sobre la aplicación", "aboutApp": "Sobre la aplicación",
"appVersion": "Versión de la aplicación", "appVersion": "Versión de la aplicación",
"createdBy": "Creado por", "createdBy": "Creado por",
"visitGooglePlay": "Visita la página de la aplicación en Google Play", "visitGooglePlay": "Visita la página de la aplicación en Google Play",
"visitGitHubRepo": "Visita el repositorio de la aplicación en GitHub", "visitGitHubRepo": "Visita el repositorio de la aplicación en GitHub",
"customizationDescription": "Configura el tema y la paleta de colores.",
"generalSettings": "Ajustes generales",
"generalSettingsDescription": "Ajustes generales para la aplicación.",
"customization": { "customization": {
"customization": "Personalización", "customization": "Personalización",
"customizationDescription": "Configura el tema y la paleta de colores.",
"theme": "Tema", "theme": "Tema",
"light": "Claro", "light": "Claro",
"dark": "Oscuro", "dark": "Oscuro",
"systemDefined": "Definido por el sistema", "systemDefined": "Definido por el sistema",
"color": "Color", "color": "Color",
"useDynamicTheme": "Usar tema dinámico" "useDynamicTheme": "Usar tema dinámico"
},
"generalSettings": {
"generalSettings": "Ajustes generales",
"generalSettingsDescription": "Ajustes generales para la aplicación.",
"disconnectFromServer": "Desconectar del servidor",
"disconnectModal": {
"title": "Desconectar",
"description": "¿Estás seguro que deseas desconectarte del servidor?\nSerás redirigido a la configuración inicial."
}
} }
}, },
"webview": { "webview": {

View File

@@ -5,4 +5,5 @@ class RoutesPaths {
static const search = "/search"; static const search = "/search";
static const settings = "/settings"; static const settings = "/settings";
static const customization = "/settings/customization"; static const customization = "/settings/customization";
static const generalSettings = "/settings/general";
} }

View File

@@ -5,6 +5,7 @@ import 'package:linkdy/screens/links/ui/links.dart';
import 'package:linkdy/screens/onboarding/ui/onboarding.dart'; import 'package:linkdy/screens/onboarding/ui/onboarding.dart';
import 'package:linkdy/screens/search/ui/search.dart'; import 'package:linkdy/screens/search/ui/search.dart';
import 'package:linkdy/screens/settings/ui/customization/customization.dart'; import 'package:linkdy/screens/settings/ui/customization/customization.dart';
import 'package:linkdy/screens/settings/ui/general_settings/general_settings.dart';
import 'package:linkdy/screens/settings/ui/settings.dart'; import 'package:linkdy/screens/settings/ui/settings.dart';
import 'package:linkdy/screens/webview/ui/webview.dart'; import 'package:linkdy/screens/webview/ui/webview.dart';
import 'package:linkdy/widgets/layout.dart'; import 'package:linkdy/widgets/layout.dart';
@@ -63,6 +64,10 @@ final List<RouteBase> appRoutes = [
path: RoutesPaths.customization, path: RoutesPaths.customization,
builder: (context, state) => const Customization(), builder: (context, state) => const Customization(),
), ),
GoRoute(
path: RoutesPaths.generalSettings,
builder: (context, state) => const GeneralSettings(),
),
], ],
), ),
], ],

View File

@@ -20,8 +20,6 @@ class Customization extends ConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final width = MediaQuery.of(context).size.width;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(t.settings.customization.customization), title: Text(t.settings.customization.customization),

View File

@@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:linkdy/i18n/strings.g.dart';
import 'package:linkdy/providers/api_client_provider.dart';
class DisconnectModal extends ConsumerWidget {
const DisconnectModal({Key? key}) : super(key: key);
@override
Widget build(BuildContext context, WidgetRef ref) {
return AlertDialog(
title: Text(t.settings.generalSettings.disconnectModal.title),
content: Text(t.settings.generalSettings.disconnectModal.description),
actions: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
TextButton(
onPressed: () => Navigator.pop(context),
child: Text(t.generic.cancel),
),
const SizedBox(width: 8),
TextButton(
onPressed: () {
Navigator.pop(context);
ref.read(apiClientProviderProvider.notifier).disconnectApiClient();
},
child: Text(t.generic.confirm),
),
],
),
],
);
}
}

View File

@@ -0,0 +1,41 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:linkdy/i18n/strings.g.dart';
import 'package:linkdy/screens/settings/ui/general_settings/disconnect_modal.dart';
class GeneralSettings extends ConsumerWidget {
const GeneralSettings({Key? key}) : super(key: key);
@override
Widget build(BuildContext context, WidgetRef ref) {
return Scaffold(
appBar: AppBar(
title: Text(t.settings.generalSettings.generalSettings),
),
body: ListView(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FilledButton.icon(
onPressed: () => showDialog(
context: context,
builder: (context) => const DisconnectModal(),
),
icon: const Icon(Icons.clear_rounded),
label: Text(
t.settings.generalSettings.disconnectFromServer,
),
style: const ButtonStyle(
foregroundColor: MaterialStatePropertyAll(Colors.white),
backgroundColor: MaterialStatePropertyAll(Colors.red),
),
),
],
),
],
),
);
}
}

View File

@@ -29,20 +29,14 @@ class Settings extends ConsumerWidget {
CustomListTile( CustomListTile(
icon: Icons.palette_rounded, icon: Icons.palette_rounded,
title: t.settings.customization.customization, title: t.settings.customization.customization,
subtitle: t.settings.customizationDescription, subtitle: t.settings.customization.customizationDescription,
onTap: () => ref.read(routerProvider).push(RoutesPaths.customization), onTap: () => ref.read(routerProvider).push(RoutesPaths.customization),
), ),
CustomListTile( CustomListTile(
icon: Icons.settings_rounded, icon: Icons.settings_rounded,
title: t.settings.generalSettings, title: t.settings.generalSettings.generalSettings,
subtitle: t.settings.generalSettingsDescription, subtitle: t.settings.generalSettings.generalSettingsDescription,
), onTap: () => ref.read(routerProvider).push(RoutesPaths.generalSettings),
FilledButton.icon(
onPressed: () => ref.read(apiClientProviderProvider.notifier).disconnectApiClient(),
icon: const Icon(Icons.clear_rounded),
label: Text(
t.settings.disconnectFromServer,
),
), ),
SectionLabel(label: t.settings.aboutApp), SectionLabel(label: t.settings.aboutApp),
CustomListTile( CustomListTile(