Implemented new router

This commit is contained in:
Juan Gilsanz Polo 2023-10-29 02:19:00 +01:00
parent 621171c5b1
commit 96fe7eb730
17 changed files with 985 additions and 1090 deletions

View file

@ -324,20 +324,24 @@ class _FiltersState extends State<Filters> {
}
}
if (width > 1200) {
return FiltersTripleColumn(
onRemoveCustomRule: openRemoveCustomRuleModal,
onOpenDetailsModal: openListDetails,
actions: actions(),
);
}
else {
return FiltersTabsView(
appConfigProvider: appConfigProvider,
actions: actions(),
onRemoveCustomRule: openRemoveCustomRuleModal,
onOpenDetailsModal: openListDetails,
);
}
return LayoutBuilder(
builder: (context, constraints) {
if (constraints.maxWidth > 900) {
return FiltersTripleColumn(
onRemoveCustomRule: openRemoveCustomRuleModal,
onOpenDetailsModal: openListDetails,
actions: actions(),
);
}
else {
return FiltersTabsView(
appConfigProvider: appConfigProvider,
actions: actions(),
onRemoveCustomRule: openRemoveCustomRuleModal,
onOpenDetailsModal: openListDetails,
);
}
},
);
}
}

View file

@ -5,6 +5,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/filters/custom_rules_list.dart';
import 'package:adguard_home_manager/screens/filters/filters_list.dart';
import 'package:adguard_home_manager/functions/desktop_mode.dart';
import 'package:adguard_home_manager/providers/filtering_provider.dart';
import 'package:adguard_home_manager/constants/enums.dart';
import 'package:adguard_home_manager/models/filtering.dart';
@ -47,6 +48,8 @@ class _FiltersTabsViewState extends State<FiltersTabsView> with TickerProviderSt
Widget build(BuildContext context) {
final filteringProvider = Provider.of<FilteringProvider>(context);
final width = MediaQuery.of(context).size.width;
return DefaultTabController(
length: 3,
child: NestedScrollView(
@ -62,6 +65,7 @@ class _FiltersTabsViewState extends State<FiltersTabsView> with TickerProviderSt
forceElevated: innerBoxIsScrolled,
centerTitle: false,
actions: widget.actions,
surfaceTintColor: isDesktop(width) ? Colors.transparent : null,
bottom: TabBar(
controller: tabController,
isScrollable: true,

View file

@ -13,6 +13,7 @@ import 'package:adguard_home_manager/widgets/custom_list_tile.dart';
import 'package:adguard_home_manager/widgets/options_modal.dart';
import 'package:adguard_home_manager/constants/enums.dart';
import 'package:adguard_home_manager/functions/desktop_mode.dart';
import 'package:adguard_home_manager/models/menu_option.dart';
import 'package:adguard_home_manager/functions/snackbar.dart';
import 'package:adguard_home_manager/functions/copy_clipboard.dart';
@ -37,6 +38,8 @@ class FiltersTripleColumn extends StatelessWidget {
Widget build(BuildContext context) {
final filteringProvider = Provider.of<FilteringProvider>(context);
final appConfigProvider = Provider.of<AppConfigProvider>(context);
final width = MediaQuery.of(context).size.width;
Widget? generateSubtitle(String rule) {
final allowRegex = RegExp(r'^@@.*$');
@ -325,6 +328,7 @@ class FiltersTripleColumn extends StatelessWidget {
return Scaffold(
appBar: AppBar(
surfaceTintColor: isDesktop(width) ? Colors.transparent : null,
title: Text(AppLocalizations.of(context)!.filters),
actions: [
IconButton(