option to open tab view in fullscreen

This commit is contained in:
Fabian Freund
2025-11-05 05:37:45 +01:00
parent c173451b1d
commit 55305c3dd1
19 changed files with 263 additions and 91 deletions
+8
View File
@@ -29,6 +29,7 @@ part of 'routes.dart';
),
TypedGoRoute<TorProxyRoute>(name: 'TorProxyRoute', path: 'tor_proxy'),
TypedGoRoute<HistoryRoute>(name: 'HistoryRoute', path: 'history'),
TypedGoRoute<TabViewRoute>(name: 'TabViewRoute', path: 'tab_view'),
TypedGoRoute<ContextMenuRoute>(
name: 'ContextMenuRoute',
path: 'context_menu',
@@ -201,3 +202,10 @@ class HistoryRoute extends GoRouteData with $HistoryRoute {
return const HistoryScreen();
}
}
class TabViewRoute extends GoRouteData with $TabViewRoute {
@override
Page<void> buildPage(BuildContext context, GoRouterState state) {
return DialogPage(builder: (_) => const TabViewScreen());
}
}
+1
View File
@@ -29,6 +29,7 @@ import 'package:weblibre/features/bangs/presentation/screens/search.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/dialogs/open_shared_content.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/dialogs/tab_tree.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/screens/browser.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/screens/tab_view.dart';
import 'package:weblibre/features/geckoview/features/contextmenu/extensions/hit_result.dart';
import 'package:weblibre/features/geckoview/features/contextmenu/presentation/context_menu_dialog.dart';
import 'package:weblibre/features/geckoview/features/history/presentation/screens/history.dart';
+25
View File
@@ -395,6 +395,11 @@ RouteBase get $browserRoute => GoRouteData.$route(
name: 'HistoryRoute',
factory: $HistoryRoute._fromState,
),
GoRouteData.$route(
path: 'tab_view',
name: 'TabViewRoute',
factory: $TabViewRoute._fromState,
),
GoRouteData.$route(
path: 'context_menu',
name: 'ContextMenuRoute',
@@ -545,6 +550,26 @@ mixin $HistoryRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location);
}
mixin $TabViewRoute on GoRouteData {
static TabViewRoute _fromState(GoRouterState state) => TabViewRoute();
@override
String get location => GoRouteData.$location('/tab_view');
@override
void go(BuildContext context) => context.go(location);
@override
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
@override
void pushReplacement(BuildContext context) =>
context.pushReplacement(location);
@override
void replace(BuildContext context) => context.replace(location);
}
mixin $ContextMenuRoute on GoRouteData {
static ContextMenuRoute _fromState(GoRouterState state) =>
ContextMenuRoute(state.extra as String);