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

@@ -20,8 +20,6 @@ class Customization extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final width = MediaQuery.of(context).size.width;
return Scaffold(
appBar: AppBar(
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(
icon: Icons.palette_rounded,
title: t.settings.customization.customization,
subtitle: t.settings.customizationDescription,
subtitle: t.settings.customization.customizationDescription,
onTap: () => ref.read(routerProvider).push(RoutesPaths.customization),
),
CustomListTile(
icon: Icons.settings_rounded,
title: t.settings.generalSettings,
subtitle: t.settings.generalSettingsDescription,
),
FilledButton.icon(
onPressed: () => ref.read(apiClientProviderProvider.notifier).disconnectApiClient(),
icon: const Icon(Icons.clear_rounded),
label: Text(
t.settings.disconnectFromServer,
),
title: t.settings.generalSettings.generalSettings,
subtitle: t.settings.generalSettings.generalSettingsDescription,
onTap: () => ref.read(routerProvider).push(RoutesPaths.generalSettings),
),
SectionLabel(label: t.settings.aboutApp),
CustomListTile(