settings to choose default tab types

This commit is contained in:
Fabian Freund
2025-08-12 11:53:36 +02:00
parent f3731aa5f6
commit f70cc7acfa
22 changed files with 291 additions and 25 deletions
@@ -6,7 +6,7 @@ part of 'feed_reader.dart';
// RiverpodGenerator
// **************************************************************************
String _$feedReaderHash() => r'301e01fa831c58723dc0ab118496f4fb34c38610';
String _$feedReaderHash() => r'5d1ca364fe7ad702628a7f2bbd3e706876bc3111';
/// See also [FeedReader].
@ProviderFor(FeedReader)
@@ -26,6 +26,7 @@ import 'package:nullability/nullability.dart';
import 'package:weblibre/core/providers/format.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/domain/repositories/tab.dart';
import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
import 'package:weblibre/features/web_feed/data/models/feed_link.dart';
import 'package:weblibre/features/web_feed/domain/providers.dart';
import 'package:weblibre/features/web_feed/extensions/atom.dart';
@@ -193,9 +194,18 @@ class FeedArticleScreen extends HookConsumerWidget {
if (articleLink != null)
IconButton(
onPressed: () async {
final isPrivate =
ref
.read(generalSettingsRepositoryProvider)
.defaultCreateTabType ==
TabType.private;
await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: articleLink.uri);
.addTab(
url: articleLink.uri,
private: isPrivate,
);
if (context.mounted) {
BrowserRoute().go(context);
@@ -231,9 +241,15 @@ class FeedArticleScreen extends HookConsumerWidget {
onTapLink: (text, href, title) async {
if (href.mapNotNull(Uri.tryParse)
case final Uri url) {
final isPrivate =
ref
.read(generalSettingsRepositoryProvider)
.defaultCreateTabType ==
TabType.private;
await ref
.read(tabRepositoryProvider.notifier)
.addTab(url: url);
.addTab(url: url, private: isPrivate);
if (context.mounted) {
showTabOpenedMessage(