Removed splitview package

This commit is contained in:
Juan Gilsanz Polo 2024-03-10 21:15:24 +01:00
parent fd25088791
commit 5be5377110
9 changed files with 71 additions and 69 deletions

View file

@ -3,10 +3,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:animations/animations.dart'; import 'package:animations/animations.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/clients/clients.dart';
import 'package:adguard_home_manager/screens/clients/client/client_screen_functions.dart'; import 'package:adguard_home_manager/screens/clients/client/client_screen_functions.dart';
import 'package:adguard_home_manager/screens/clients/client/added_client_tile.dart'; import 'package:adguard_home_manager/screens/clients/client/added_client_tile.dart';
import 'package:adguard_home_manager/screens/clients/client/remove_client_modal.dart'; import 'package:adguard_home_manager/screens/clients/client/remove_client_modal.dart';
@ -107,7 +107,7 @@ class _AddedListState extends State<AddedList> {
if (result == true) { if (result == true) {
if (widget.splitView == true) { if (widget.splitView == true) {
SplitView.of(context).popUntil(0); Navigator.of(clientsNavigatorKey.currentContext!).popUntil((route) => false);
} }
showSnacbkar( showSnacbkar(
appConfigProvider: appConfigProvider, appConfigProvider: appConfigProvider,

View file

@ -1,11 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/clients/clients_lists.dart'; import 'package:adguard_home_manager/screens/clients/clients_lists.dart';
import 'package:adguard_home_manager/models/clients.dart'; import 'package:adguard_home_manager/models/clients.dart';
final clientsNavigatorKey = GlobalKey<NavigatorState>();
class Clients extends StatefulWidget { class Clients extends StatefulWidget {
const Clients({super.key}); const Clients({super.key});
@ -24,26 +24,23 @@ class _ClientsState extends State<Clients> with TickerProviderStateMixin {
body: LayoutBuilder( body: LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
if (constraints.maxWidth > 900) { if (constraints.maxWidth > 900) {
return SplitView.material( return Row(
hideDivider: true, children: [
flexWidth: const FlexWidth(mainViewFlexWidth: 1, secondaryViewFlexWidth: 2), const Expanded(
placeholder: Center( flex: 1,
child: Padding( child: ClientsLists(
padding: const EdgeInsets.all(24), splitView: true,
child: Text( )
AppLocalizations.of(context)!.selectClientLeftColumn,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 24,
color: Theme.of(context).colorScheme.onSurfaceVariant
),
),
),
), ),
child: const ClientsLists( Expanded(
splitView: true, flex: 2,
child: Navigator(
key: clientsNavigatorKey,
onGenerateRoute: (settings) => MaterialPageRoute(builder: (ctx) => const SizedBox()),
),
) )
); ],
);
} }
else { else {
return const ClientsLists( return const ClientsLists(

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/clients/clients.dart';
import 'package:adguard_home_manager/screens/clients/added_list.dart'; import 'package:adguard_home_manager/screens/clients/added_list.dart';
import 'package:adguard_home_manager/screens/clients/client/logs_list_client.dart'; import 'package:adguard_home_manager/screens/clients/client/logs_list_client.dart';
import 'package:adguard_home_manager/screens/clients/clients_list.dart'; import 'package:adguard_home_manager/screens/clients/clients_list.dart';
@ -68,7 +68,13 @@ class _ClientsListsState extends State<ClientsLists> with TickerProviderStateMix
splitView: widget.splitView, splitView: widget.splitView,
); );
if (widget.splitView) { if (widget.splitView) {
SplitView.of(context).push(w); Navigator.of(clientsNavigatorKey.currentContext!).pushReplacement(
PageRouteBuilder(
pageBuilder: (context, animation1, animation2) => w,
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero,
)
);
} }
else { else {
Navigator.of(context).push( Navigator.of(context).push(
@ -88,7 +94,13 @@ class _ClientsListsState extends State<ClientsLists> with TickerProviderStateMix
splitView: widget.splitView, splitView: widget.splitView,
); );
if (widget.splitView) { if (widget.splitView) {
SplitView.of(context).push(w); Navigator.of(clientsNavigatorKey.currentContext!).pushReplacement(
PageRouteBuilder(
pageBuilder: (context, animation1, animation2) => w,
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero,
)
);
} }
else { else {
Navigator.of(context).push( Navigator.of(context).push(

View file

@ -3,10 +3,10 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/settings/settings.dart';
import 'package:adguard_home_manager/screens/settings/dhcp/dhcp_not_available.dart'; import 'package:adguard_home_manager/screens/settings/dhcp/dhcp_not_available.dart';
import 'package:adguard_home_manager/widgets/confirm_action_modal.dart'; import 'package:adguard_home_manager/widgets/confirm_action_modal.dart';
import 'package:adguard_home_manager/screens/settings/dhcp/dhcp_main_button.dart'; import 'package:adguard_home_manager/screens/settings/dhcp/dhcp_main_button.dart';
@ -610,11 +610,11 @@ class _DhcpScreenState extends State<DhcpScreen> {
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
if (!(Platform.isAndroid || Platform.isIOS)) { if (!(Platform.isAndroid || Platform.isIOS)) {
SplitView.of(context).push( Navigator.of(settingsNavigatorKey.currentContext!).push(
DhcpLeases( MaterialPageRoute(builder: (ctx) => DhcpLeases(
items: dhcpProvider.dhcp!.dhcpStatus!.leases, items: dhcpProvider.dhcp!.dhcpStatus!.leases,
staticLeases: false, staticLeases: false,
) ))
); );
} }
else { else {
@ -639,11 +639,11 @@ class _DhcpScreenState extends State<DhcpScreen> {
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
if (!(Platform.isAndroid || Platform.isIOS)) { if (!(Platform.isAndroid || Platform.isIOS)) {
SplitView.of(context).push( Navigator.of(settingsNavigatorKey.currentContext!).push(
DhcpLeases( MaterialPageRoute(builder: (ctx) => DhcpLeases(
items: dhcpProvider.dhcp!.dhcpStatus!.staticLeases, items: dhcpProvider.dhcp!.dhcpStatus!.staticLeases,
staticLeases: true, staticLeases: true,
) ))
); );
} }
else { else {

View file

@ -1,10 +1,10 @@
// ignore_for_file: use_build_context_synchronously // ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/settings/settings.dart';
import 'package:adguard_home_manager/screens/settings/dns/fallback_dns.dart'; import 'package:adguard_home_manager/screens/settings/dns/fallback_dns.dart';
import 'package:adguard_home_manager/screens/settings/dns/test_upstream_dns_modal.dart'; import 'package:adguard_home_manager/screens/settings/dns/test_upstream_dns_modal.dart';
import 'package:adguard_home_manager/screens/settings/dns/clear_dns_cache_dialog.dart'; import 'package:adguard_home_manager/screens/settings/dns/clear_dns_cache_dialog.dart';
@ -52,7 +52,7 @@ class _DnsSettingsState extends State<DnsSettings> {
void navigate(Widget w) { void navigate(Widget w) {
if (widget.splitView) { if (widget.splitView) {
SplitView.of(context).push(w); Navigator.of(settingsNavigatorKey.currentContext!).push(MaterialPageRoute(builder: (ctx) => w));
} }
else { else {
Navigator.of(context).push( Navigator.of(context).push(

View file

@ -3,11 +3,11 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:store_checker/store_checker.dart'; import 'package:store_checker/store_checker.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/settings/settings.dart';
import 'package:adguard_home_manager/screens/settings/general_settings/top_items_list/top_items_list_settings.dart'; import 'package:adguard_home_manager/screens/settings/general_settings/top_items_list/top_items_list_settings.dart';
import 'package:adguard_home_manager/widgets/custom_list_tile.dart'; import 'package:adguard_home_manager/widgets/custom_list_tile.dart';
@ -199,7 +199,9 @@ class _GeneralSettingsState extends State<GeneralSettings> {
title: AppLocalizations.of(context)!.topItemsOrder, title: AppLocalizations.of(context)!.topItemsOrder,
subtitle: AppLocalizations.of(context)!.topItemsOrderDescription, subtitle: AppLocalizations.of(context)!.topItemsOrderDescription,
onTap: () => widget.splitView == true onTap: () => widget.splitView == true
? SplitView.of(context).push(const TopItemsListSettings()) ? Navigator.of(settingsNavigatorKey.currentContext!).push(
MaterialPageRoute(builder: (ctx) => const TopItemsListSettings())
)
: Navigator.of(context).push( : Navigator.of(context).push(
MaterialPageRoute( MaterialPageRoute(
builder: (context) => const TopItemsListSettings() builder: (context) => const TopItemsListSettings()

View file

@ -3,7 +3,6 @@ import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:adguard_home_manager/screens/settings/server_info/server_info.dart'; import 'package:adguard_home_manager/screens/settings/server_info/server_info.dart';
@ -33,6 +32,8 @@ import 'package:adguard_home_manager/providers/status_provider.dart';
import 'package:adguard_home_manager/providers/servers_provider.dart'; import 'package:adguard_home_manager/providers/servers_provider.dart';
import 'package:adguard_home_manager/providers/app_config_provider.dart'; import 'package:adguard_home_manager/providers/app_config_provider.dart';
final settingsNavigatorKey = GlobalKey<NavigatorState>();
class Settings extends StatelessWidget { class Settings extends StatelessWidget {
const Settings({super.key}); const Settings({super.key});
@ -41,25 +42,22 @@ class Settings extends StatelessWidget {
return LayoutBuilder( return LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
if (constraints.maxWidth > 900) { if (constraints.maxWidth > 900) {
return SplitView.material( return Row(
hideDivider: true, children: [
flexWidth: const FlexWidth(mainViewFlexWidth: 1, secondaryViewFlexWidth: 2), const Expanded(
placeholder: Center( flex: 1,
child: Padding( child: _SettingsWidget(
padding: const EdgeInsets.all(24), twoColumns: true,
child: Text( )
AppLocalizations.of(context)!.selectOptionLeftColumn,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 24,
color: Theme.of(context).colorScheme.onSurfaceVariant
),
),
), ),
), Expanded(
child: const _SettingsWidget( flex: 2,
twoColumns: true, child: Navigator(
), key: settingsNavigatorKey,
onGenerateRoute: (settings) => MaterialPageRoute(builder: (ctx) => const SizedBox()),
),
)
],
); );
} }
else { else {
@ -351,7 +349,13 @@ class _SettingsTile extends StatelessWidget {
selectedItem: appConfigProvider.selectedSettingsScreen, selectedItem: appConfigProvider.selectedSettingsScreen,
onTap: () { onTap: () {
appConfigProvider.setSelectedSettingsScreen(screen: thisItem, notify: true); appConfigProvider.setSelectedSettingsScreen(screen: thisItem, notify: true);
SplitView.of(context).setSecondary(screenToNavigate); Navigator.of(settingsNavigatorKey.currentContext!).pushReplacement(
PageRouteBuilder(
pageBuilder: (context, animation1, animation2) => screenToNavigate,
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero,
),
);
}, },
); );
} }

View file

@ -331,15 +331,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
flutter_split_view:
dependency: "direct main"
description:
path: "."
ref: master-alt
resolved-ref: a6aa2419243cc0abccf9474ce340790d6c0ded6f
url: "https://github.com/JGeek00/flutter_split_view"
source: git
version: "0.1.2"
flutter_svg: flutter_svg:
dependency: "direct main" dependency: "direct main"
description: description:

View file

@ -62,10 +62,6 @@ dependencies:
git: git:
url: https://github.com/google/flutter-desktop-embedding url: https://github.com/google/flutter-desktop-embedding
path: plugins/window_size path: plugins/window_size
flutter_split_view:
git:
url: https://github.com/JGeek00/flutter_split_view
ref: master-alt
contextmenu: ^3.0.0 contextmenu: ^3.0.0
async: ^2.11.0 async: ^2.11.0
sentry_flutter: ^7.13.2 sentry_flutter: ^7.13.2