mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-19 21:39:16 +00:00
Show server version message on app start
This commit is contained in:
parent
dbb2609339
commit
39cdcf648d
5 changed files with 38 additions and 10 deletions
|
@ -1,3 +1,4 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
final GlobalKey<ScaffoldMessengerState> scaffoldMessengerKey = GlobalKey<ScaffoldMessengerState>();
|
||||
final GlobalKey<NavigatorState> globalNavigatorKey = GlobalKey<NavigatorState>();
|
|
@ -235,13 +235,16 @@ class _MainState extends State<Main> {
|
|||
Locale('tr', '')
|
||||
],
|
||||
scaffoldMessengerKey: scaffoldMessengerKey,
|
||||
navigatorKey: globalNavigatorKey,
|
||||
builder: (context, child) {
|
||||
return CustomMenuBar(
|
||||
child: MediaQuery(
|
||||
data: MediaQuery.of(context).copyWith(
|
||||
textScaleFactor: !(Platform.isAndroid || Platform.isIOS)
|
||||
textScaler: TextScaler.linear(
|
||||
!(Platform.isAndroid || Platform.isIOS)
|
||||
? 0.9
|
||||
: 1.0
|
||||
)
|
||||
),
|
||||
child: child!,
|
||||
),
|
||||
|
@ -252,4 +255,3 @@ class _MainState extends State<Main> {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ class ServersProvider with ChangeNotifier {
|
|||
notifyListeners();
|
||||
}
|
||||
|
||||
void setSelectedServer(Server server) {
|
||||
void setSelectedServer(Server? server) {
|
||||
_selectedServer = server;
|
||||
notifyListeners();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,11 @@ import 'dart:async';
|
|||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:adguard_home_manager/widgets/add_server/unsupported_version_modal.dart';
|
||||
|
||||
import 'package:adguard_home_manager/config/globals.dart';
|
||||
import 'package:adguard_home_manager/config/minimum_server_version.dart';
|
||||
import 'package:adguard_home_manager/functions/compare_versions.dart';
|
||||
import 'package:adguard_home_manager/models/server_status.dart';
|
||||
import 'package:adguard_home_manager/models/filtering_status.dart';
|
||||
import 'package:adguard_home_manager/constants/enums.dart';
|
||||
|
@ -240,11 +245,31 @@ class StatusProvider with ChangeNotifier {
|
|||
|
||||
final result = await _serversProvider!.apiClient2!.getServerStatus();
|
||||
if (result.successful == true) {
|
||||
final status = result.content as ServerStatus;
|
||||
setServerStatusData(
|
||||
data: result.content as ServerStatus
|
||||
data: status
|
||||
);
|
||||
_loadStatus = LoadStatus.loaded;
|
||||
notifyListeners();
|
||||
|
||||
// Check server version and launch modal if not valid
|
||||
final validVersion = serverVersionIsAhead(
|
||||
currentVersion: status.serverVersion,
|
||||
referenceVersion: MinimumServerVersion.stable,
|
||||
referenceVersionBeta: MinimumServerVersion.beta
|
||||
);
|
||||
if (validVersion == false) {
|
||||
showDialog(
|
||||
context: globalNavigatorKey.currentContext!,
|
||||
builder: (ctx) => UnsupportedVersionModal(
|
||||
serverVersion: status.serverVersion,
|
||||
onClose: () {
|
||||
_serversProvider!.setSelectedServer(null);
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -15,8 +15,8 @@ import 'package:adguard_home_manager/providers/servers_provider.dart';
|
|||
|
||||
class Layout extends StatefulWidget {
|
||||
const Layout({
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
State<Layout> createState() => _LayoutState();
|
||||
|
|
Loading…
Add table
Reference in a new issue