mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-16 15:02:53 +00:00
Removed splitview package
This commit is contained in:
parent
fd25088791
commit
5be5377110
9 changed files with 71 additions and 69 deletions
|
@ -3,10 +3,10 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:animations/animations.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
||||
import 'package:provider/provider.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/added_client_tile.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 (widget.splitView == true) {
|
||||
SplitView.of(context).popUntil(0);
|
||||
Navigator.of(clientsNavigatorKey.currentContext!).popUntil((route) => false);
|
||||
}
|
||||
showSnacbkar(
|
||||
appConfigProvider: appConfigProvider,
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
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/models/clients.dart';
|
||||
|
||||
final clientsNavigatorKey = GlobalKey<NavigatorState>();
|
||||
|
||||
class Clients extends StatefulWidget {
|
||||
const Clients({super.key});
|
||||
|
||||
|
@ -24,26 +24,23 @@ class _ClientsState extends State<Clients> with TickerProviderStateMixin {
|
|||
body: LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
if (constraints.maxWidth > 900) {
|
||||
return SplitView.material(
|
||||
hideDivider: true,
|
||||
flexWidth: const FlexWidth(mainViewFlexWidth: 1, secondaryViewFlexWidth: 2),
|
||||
placeholder: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(24),
|
||||
child: Text(
|
||||
AppLocalizations.of(context)!.selectClientLeftColumn,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
color: Theme.of(context).colorScheme.onSurfaceVariant
|
||||
),
|
||||
),
|
||||
),
|
||||
return Row(
|
||||
children: [
|
||||
const Expanded(
|
||||
flex: 1,
|
||||
child: ClientsLists(
|
||||
splitView: true,
|
||||
)
|
||||
),
|
||||
child: const ClientsLists(
|
||||
splitView: true,
|
||||
Expanded(
|
||||
flex: 2,
|
||||
child: Navigator(
|
||||
key: clientsNavigatorKey,
|
||||
onGenerateRoute: (settings) => MaterialPageRoute(builder: (ctx) => const SizedBox()),
|
||||
),
|
||||
)
|
||||
);
|
||||
],
|
||||
);
|
||||
}
|
||||
else {
|
||||
return const ClientsLists(
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
||||
import 'package:provider/provider.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/client/logs_list_client.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,
|
||||
);
|
||||
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 {
|
||||
Navigator.of(context).push(
|
||||
|
@ -88,7 +94,13 @@ class _ClientsListsState extends State<ClientsLists> with TickerProviderStateMix
|
|||
splitView: 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 {
|
||||
Navigator.of(context).push(
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
||||
import 'package:provider/provider.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/widgets/confirm_action_modal.dart';
|
||||
import 'package:adguard_home_manager/screens/settings/dhcp/dhcp_main_button.dart';
|
||||
|
@ -610,11 +610,11 @@ class _DhcpScreenState extends State<DhcpScreen> {
|
|||
ElevatedButton(
|
||||
onPressed: () {
|
||||
if (!(Platform.isAndroid || Platform.isIOS)) {
|
||||
SplitView.of(context).push(
|
||||
DhcpLeases(
|
||||
Navigator.of(settingsNavigatorKey.currentContext!).push(
|
||||
MaterialPageRoute(builder: (ctx) => DhcpLeases(
|
||||
items: dhcpProvider.dhcp!.dhcpStatus!.leases,
|
||||
staticLeases: false,
|
||||
)
|
||||
))
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
@ -639,11 +639,11 @@ class _DhcpScreenState extends State<DhcpScreen> {
|
|||
ElevatedButton(
|
||||
onPressed: () {
|
||||
if (!(Platform.isAndroid || Platform.isIOS)) {
|
||||
SplitView.of(context).push(
|
||||
DhcpLeases(
|
||||
Navigator.of(settingsNavigatorKey.currentContext!).push(
|
||||
MaterialPageRoute(builder: (ctx) => DhcpLeases(
|
||||
items: dhcpProvider.dhcp!.dhcpStatus!.staticLeases,
|
||||
staticLeases: true,
|
||||
)
|
||||
))
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// ignore_for_file: use_build_context_synchronously
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
||||
import 'package:provider/provider.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/test_upstream_dns_modal.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) {
|
||||
if (widget.splitView) {
|
||||
SplitView.of(context).push(w);
|
||||
Navigator.of(settingsNavigatorKey.currentContext!).push(MaterialPageRoute(builder: (ctx) => w));
|
||||
}
|
||||
else {
|
||||
Navigator.of(context).push(
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:store_checker/store_checker.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/widgets/custom_list_tile.dart';
|
||||
|
@ -199,7 +199,9 @@ class _GeneralSettingsState extends State<GeneralSettings> {
|
|||
title: AppLocalizations.of(context)!.topItemsOrder,
|
||||
subtitle: AppLocalizations.of(context)!.topItemsOrderDescription,
|
||||
onTap: () => widget.splitView == true
|
||||
? SplitView.of(context).push(const TopItemsListSettings())
|
||||
? Navigator.of(settingsNavigatorKey.currentContext!).push(
|
||||
MaterialPageRoute(builder: (ctx) => const TopItemsListSettings())
|
||||
)
|
||||
: Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => const TopItemsListSettings()
|
||||
|
|
|
@ -3,7 +3,6 @@ import 'dart:io';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.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: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/app_config_provider.dart';
|
||||
|
||||
final settingsNavigatorKey = GlobalKey<NavigatorState>();
|
||||
|
||||
class Settings extends StatelessWidget {
|
||||
const Settings({super.key});
|
||||
|
||||
|
@ -41,25 +42,22 @@ class Settings extends StatelessWidget {
|
|||
return LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
if (constraints.maxWidth > 900) {
|
||||
return SplitView.material(
|
||||
hideDivider: true,
|
||||
flexWidth: const FlexWidth(mainViewFlexWidth: 1, secondaryViewFlexWidth: 2),
|
||||
placeholder: Center(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(24),
|
||||
child: Text(
|
||||
AppLocalizations.of(context)!.selectOptionLeftColumn,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
color: Theme.of(context).colorScheme.onSurfaceVariant
|
||||
),
|
||||
),
|
||||
return Row(
|
||||
children: [
|
||||
const Expanded(
|
||||
flex: 1,
|
||||
child: _SettingsWidget(
|
||||
twoColumns: true,
|
||||
)
|
||||
),
|
||||
),
|
||||
child: const _SettingsWidget(
|
||||
twoColumns: true,
|
||||
),
|
||||
Expanded(
|
||||
flex: 2,
|
||||
child: Navigator(
|
||||
key: settingsNavigatorKey,
|
||||
onGenerateRoute: (settings) => MaterialPageRoute(builder: (ctx) => const SizedBox()),
|
||||
),
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
@ -351,7 +349,13 @@ class _SettingsTile extends StatelessWidget {
|
|||
selectedItem: appConfigProvider.selectedSettingsScreen,
|
||||
onTap: () {
|
||||
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,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
|
@ -331,15 +331,6 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
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:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
@ -62,10 +62,6 @@ dependencies:
|
|||
git:
|
||||
url: https://github.com/google/flutter-desktop-embedding
|
||||
path: plugins/window_size
|
||||
flutter_split_view:
|
||||
git:
|
||||
url: https://github.com/JGeek00/flutter_split_view
|
||||
ref: master-alt
|
||||
contextmenu: ^3.0.0
|
||||
async: ^2.11.0
|
||||
sentry_flutter: ^7.13.2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue