mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-16 06:53:00 +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: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,
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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,
|
||||||
|
),
|
||||||
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue