Use in app browser setting

This commit is contained in:
Juan Gilsanz Polo
2024-02-23 23:41:24 +01:00
parent d689fd0eaa
commit a11355227c
9 changed files with 40 additions and 31 deletions

View File

@@ -1,26 +0,0 @@
import 'package:flutter/material.dart';
import 'package:linkdy/i18n/strings.g.dart';
class ErrorSaveLink extends StatelessWidget {
const ErrorSaveLink({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text(t.generic.error),
content: Text(t.links.addLink.errorSavingLink),
actions: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
TextButton(
onPressed: () => Navigator.pop(context),
child: Text(t.generic.close),
),
],
),
],
);
}
}

View File

@@ -7,9 +7,11 @@ import 'package:linkdy/screens/links/provider/links.provider.dart';
import 'package:linkdy/screens/links/ui/add_link_modal.dart';
import 'package:linkdy/providers/app_status_provider.dart';
import 'package:linkdy/providers/router_provider.dart';
import 'package:linkdy/router/paths.dart';
import 'package:linkdy/i18n/strings.g.dart';
import 'package:linkdy/utils/open_url.dart';
class Links extends ConsumerWidget {
const Links({Key? key}) : super(key: key);
@@ -122,7 +124,9 @@ class Links extends ConsumerWidget {
return Column(
children: [
ListTile(
onTap: () => ref.watch(routerProvider).push(RoutesPaths.webview, extra: link),
onTap: ref.watch(appStatusProvider).useInAppBrowser == true
? () => ref.watch(routerProvider).push(RoutesPaths.webview, extra: link)
: () => openUrl(link!.url!),
isThreeLine: true,
title: Padding(
padding: const EdgeInsets.only(bottom: 4),

View File

@@ -4,6 +4,8 @@ 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';
import 'package:linkdy/providers/app_status_provider.dart';
class GeneralSettings extends ConsumerWidget {
const GeneralSettings({Key? key}) : super(key: key);
@@ -15,6 +17,13 @@ class GeneralSettings extends ConsumerWidget {
),
body: ListView(
children: [
SwitchListTile(
title: Text(t.settings.generalSettings.useInAppBrowser),
subtitle: Text(t.settings.generalSettings.useInAppBrowserDescription),
value: ref.watch(appStatusProvider).useInAppBrowser,
onChanged: ref.read(appStatusProvider.notifier).setUseInAppBrowser,
),
const SizedBox(height: 16),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [