mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-23 15:29:13 +00:00
Fixes
This commit is contained in:
parent
f54770dbba
commit
d152293594
14 changed files with 57 additions and 41 deletions
|
@ -46,7 +46,7 @@ bool compareBetaVersions({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool versionIsGreater({
|
bool serverVersionIsAhead({
|
||||||
required String currentVersion,
|
required String currentVersion,
|
||||||
required String referenceVersion,
|
required String referenceVersion,
|
||||||
String? referenceVersionBeta
|
String? referenceVersionBeta
|
||||||
|
@ -66,16 +66,16 @@ bool versionIsGreater({
|
||||||
if (newSplit[0] == currentSplit[0] && newSplit[1] == currentSplit[1] && newSplit[2] == currentSplit[2] && newBeta == currentBeta) {
|
if (newSplit[0] == currentSplit[0] && newSplit[1] == currentSplit[1] && newSplit[2] == currentSplit[2] && newBeta == currentBeta) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[0] > currentSplit[0]) {
|
else if (newSplit[0] < currentSplit[0]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[1] > currentSplit[1]) {
|
else if (newSplit[1] < currentSplit[1]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[2] > currentSplit[2]) {
|
else if (newSplit[2] < currentSplit[2]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newBeta > currentBeta) {
|
else if (newBeta < currentBeta) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -93,13 +93,13 @@ bool versionIsGreater({
|
||||||
if (newSplit[0] == currentSplit[0] && newSplit[1] == currentSplit[1] && newSplit[2] == currentSplit[2]) {
|
if (newSplit[0] == currentSplit[0] && newSplit[1] == currentSplit[1] && newSplit[2] == currentSplit[2]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[0] > currentSplit[0]) {
|
else if (newSplit[0] < currentSplit[0]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[1] > currentSplit[1]) {
|
else if (newSplit[1] < currentSplit[1]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (newSplit[2] > currentSplit[2]) {
|
else if (newSplit[2] < currentSplit[2]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
5
lib/functions/maps_fns.dart
Normal file
5
lib/functions/maps_fns.dart
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Map<String, dynamic> removePropFromMap(Map<String, dynamic> o, String prop) {
|
||||||
|
Map<String, dynamic> obj = {...o};
|
||||||
|
obj.remove(prop);
|
||||||
|
return o;
|
||||||
|
}
|
|
@ -24,12 +24,12 @@ class ServerStatusData {
|
||||||
bool safeBrowsingEnabled;
|
bool safeBrowsingEnabled;
|
||||||
bool parentalControlEnabled;
|
bool parentalControlEnabled;
|
||||||
final String serverVersion;
|
final String serverVersion;
|
||||||
bool safeSeachBing;
|
bool? safeSeachBing;
|
||||||
bool safeSearchGoogle;
|
bool? safeSearchGoogle;
|
||||||
bool safeSearchDuckduckgo;
|
bool? safeSearchDuckduckgo;
|
||||||
bool safeSearchPixabay;
|
bool? safeSearchPixabay;
|
||||||
bool safeSearchYandex;
|
bool? safeSearchYandex;
|
||||||
bool safeSearchYoutube;
|
bool? safeSearchYoutube;
|
||||||
|
|
||||||
ServerStatusData({
|
ServerStatusData({
|
||||||
required this.stats,
|
required this.stats,
|
||||||
|
@ -56,8 +56,10 @@ class ServerStatusData {
|
||||||
clients: json["clients"] != null ? List<Client>.from(json["clients"].map((x) => Client.fromJson(x))) : [],
|
clients: json["clients"] != null ? List<Client>.from(json["clients"].map((x) => Client.fromJson(x))) : [],
|
||||||
generalEnabled: json['status']['protection_enabled'],
|
generalEnabled: json['status']['protection_enabled'],
|
||||||
timeGeneralDisabled: json['status']['protection_disabled_duration'] ?? 0,
|
timeGeneralDisabled: json['status']['protection_disabled_duration'] ?? 0,
|
||||||
disabledUntil: json['status']['protection_disabled_duration'] > 0
|
disabledUntil: json['status']['protection_disabled_duration'] != null
|
||||||
|
? json['status']['protection_disabled_duration'] > 0
|
||||||
? generateTimeDeadline(json['status']['protection_disabled_duration'])
|
? generateTimeDeadline(json['status']['protection_disabled_duration'])
|
||||||
|
: null
|
||||||
: null,
|
: null,
|
||||||
filteringStatus: FilteringStatus.fromJson(json['filtering']),
|
filteringStatus: FilteringStatus.fromJson(json['filtering']),
|
||||||
filteringEnabled: json['filtering']['enabled'],
|
filteringEnabled: json['filtering']['enabled'],
|
||||||
|
|
|
@ -411,7 +411,7 @@ class ServersProvider with ChangeNotifier {
|
||||||
_protectionsManagementProcess.add('safeSearch');
|
_protectionsManagementProcess.add('safeSearch');
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|
||||||
final result = versionIsGreater(
|
final result = serverVersionIsAhead(
|
||||||
currentVersion: serverStatus.data!.serverVersion,
|
currentVersion: serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -13,6 +13,7 @@ import 'package:adguard_home_manager/screens/clients/options_modal.dart';
|
||||||
import 'package:adguard_home_manager/widgets/tab_content_list.dart';
|
import 'package:adguard_home_manager/widgets/tab_content_list.dart';
|
||||||
|
|
||||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||||
|
import 'package:adguard_home_manager/functions/maps_fns.dart';
|
||||||
import 'package:adguard_home_manager/constants/enums.dart';
|
import 'package:adguard_home_manager/constants/enums.dart';
|
||||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||||
|
@ -74,7 +75,13 @@ class _AddedListState extends State<AddedList> {
|
||||||
|
|
||||||
final result = await postUpdateClient(server: serversProvider.selectedServer!, data: {
|
final result = await postUpdateClient(server: serversProvider.selectedServer!, data: {
|
||||||
'name': client.name,
|
'name': client.name,
|
||||||
'data': client.toJson()
|
'data': serverVersionIsAhead(
|
||||||
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
|
referenceVersion: 'v0.107.28',
|
||||||
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
) == false
|
||||||
|
? removePropFromMap(client.toJson(), 'safesearch_enabled')
|
||||||
|
: removePropFromMap(client.toJson(), 'safe_search')
|
||||||
});
|
});
|
||||||
|
|
||||||
processModal.close();
|
processModal.close();
|
||||||
|
@ -262,7 +269,7 @@ class _AddedListState extends State<AddedList> {
|
||||||
Icon(
|
Icon(
|
||||||
Icons.search_rounded,
|
Icons.search_rounded,
|
||||||
size: 19,
|
size: 19,
|
||||||
color: versionIsGreater(
|
color: serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -85,7 +85,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
version = versionIsGreater(
|
version = serverVersionIsAhead(
|
||||||
currentVersion: widget.serverVersion,
|
currentVersion: widget.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
@ -108,7 +108,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
safeSearch = widget.client!.safeSearch!;
|
safeSearch = widget.client!.safeSearch!;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
enableSafeSearch = widget.client!.safesearchEnabled!;
|
enableSafeSearch = widget.client!.safesearchEnabled ?? false;
|
||||||
}
|
}
|
||||||
useGlobalSettingsServices = widget.client!.useGlobalBlockedServices;
|
useGlobalSettingsServices = widget.client!.useGlobalBlockedServices;
|
||||||
blockedServices = widget.client!.blockedServices;
|
blockedServices = widget.client!.blockedServices;
|
||||||
|
@ -132,7 +132,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
filteringEnabled: enableFiltering ?? false,
|
filteringEnabled: enableFiltering ?? false,
|
||||||
parentalEnabled: enableParentalControl ?? false,
|
parentalEnabled: enableParentalControl ?? false,
|
||||||
safebrowsingEnabled: enableSafeBrowsing ?? false,
|
safebrowsingEnabled: enableSafeBrowsing ?? false,
|
||||||
safesearchEnabled: version == true ? enableSafeSearch : null,
|
safesearchEnabled: version == false ? enableSafeSearch : null,
|
||||||
safeSearch: version == true ? safeSearch : null,
|
safeSearch: version == true ? safeSearch : null,
|
||||||
useGlobalBlockedServices: useGlobalSettingsServices,
|
useGlobalBlockedServices: useGlobalSettingsServices,
|
||||||
blockedServices: blockedServices,
|
blockedServices: blockedServices,
|
||||||
|
@ -170,6 +170,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
enableFiltering = false;
|
enableFiltering = false;
|
||||||
enableSafeBrowsing = false;
|
enableSafeBrowsing = false;
|
||||||
enableParentalControl = false;
|
enableParentalControl = false;
|
||||||
|
enableSafeSearch = false;
|
||||||
safeSearch.enabled = false;
|
safeSearch.enabled = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -180,6 +181,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
enableFiltering = null;
|
enableFiltering = null;
|
||||||
enableSafeBrowsing = null;
|
enableSafeBrowsing = null;
|
||||||
enableParentalControl = null;
|
enableParentalControl = null;
|
||||||
|
enableSafeSearch = null;
|
||||||
safeSearch.enabled = false;
|
safeSearch.enabled = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -533,7 +535,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
: null
|
: null
|
||||||
),
|
),
|
||||||
if (
|
if (
|
||||||
versionIsGreater(
|
serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
@ -554,7 +556,7 @@ class _ClientScreenState extends State<ClientScreen> {
|
||||||
onTap: openSafeSearchModal,
|
onTap: openSafeSearchModal,
|
||||||
),
|
),
|
||||||
if (
|
if (
|
||||||
versionIsGreater(
|
serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -9,6 +9,7 @@ import 'package:adguard_home_manager/screens/clients/client_screen.dart';
|
||||||
import 'package:adguard_home_manager/functions/snackbar.dart';
|
import 'package:adguard_home_manager/functions/snackbar.dart';
|
||||||
import 'package:adguard_home_manager/functions/compare_versions.dart';
|
import 'package:adguard_home_manager/functions/compare_versions.dart';
|
||||||
import 'package:adguard_home_manager/models/clients.dart';
|
import 'package:adguard_home_manager/models/clients.dart';
|
||||||
|
import 'package:adguard_home_manager/functions/maps_fns.dart';
|
||||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||||
import 'package:adguard_home_manager/classes/process_modal.dart';
|
import 'package:adguard_home_manager/classes/process_modal.dart';
|
||||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||||
|
@ -28,13 +29,13 @@ class ClientsFab extends StatelessWidget {
|
||||||
|
|
||||||
final result = await postAddClient(
|
final result = await postAddClient(
|
||||||
server: serversProvider.selectedServer!,
|
server: serversProvider.selectedServer!,
|
||||||
data: versionIsGreater(
|
data: serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
) == false
|
) == false
|
||||||
? client.toJson().remove('safesearch_enabled')
|
? removePropFromMap(client.toJson(), 'safesearch_enabled')
|
||||||
: client.toJson().remove('safe_search')
|
: removePropFromMap(client.toJson(), 'safe_search')
|
||||||
);
|
);
|
||||||
|
|
||||||
processModal.close();
|
processModal.close();
|
||||||
|
|
|
@ -339,7 +339,7 @@ class _SearchClientsWidgetState extends State<SearchClientsWidget> {
|
||||||
Icon(
|
Icon(
|
||||||
Icons.search_rounded,
|
Icons.search_rounded,
|
||||||
size: 19,
|
size: 19,
|
||||||
color: versionIsGreater(
|
color: serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -250,7 +250,7 @@ class _ManagementModalState extends State<ManagementModal> with SingleTickerProv
|
||||||
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 24),
|
padding: const EdgeInsets.symmetric(horizontal: 24),
|
||||||
child: versionIsGreater(
|
child: serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -192,7 +192,7 @@ class _LogsWidgetState extends State<LogsWidget> {
|
||||||
ProcessModal processModal = ProcessModal(context: context);
|
ProcessModal processModal = ProcessModal(context: context);
|
||||||
processModal.open(AppLocalizations.of(context)!.updatingSettings);
|
processModal.open(AppLocalizations.of(context)!.updatingSettings);
|
||||||
|
|
||||||
final result = versionIsGreater(
|
final result = serverVersionIsAhead(
|
||||||
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -64,7 +64,7 @@ class _LogsConfigModalWidgetState extends State<LogsConfigModalWidget> {
|
||||||
int loadStatus = 0;
|
int loadStatus = 0;
|
||||||
|
|
||||||
void loadData() async {
|
void loadData() async {
|
||||||
final result = versionIsGreater(
|
final result = serverVersionIsAhead(
|
||||||
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
@ -89,7 +89,7 @@ class _LogsConfigModalWidgetState extends State<LogsConfigModalWidget> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
retentionItems = versionIsGreater(
|
retentionItems = serverVersionIsAhead(
|
||||||
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: widget.serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
|
@ -72,7 +72,6 @@ class _AccessSettingsWidgetState extends State<AccessSettingsWidget> with Ticker
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final serversProvider = Provider.of<ServersProvider>(context);
|
final serversProvider = Provider.of<ServersProvider>(context);
|
||||||
print(serversProvider.clients.data!.clientsAllowedBlocked!.blockedHosts.length);
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: DefaultTabController(
|
body: DefaultTabController(
|
||||||
length: 3,
|
length: 3,
|
||||||
|
|
|
@ -81,12 +81,12 @@ class _SafeSearchSettingsScreenWidgetState extends State<SafeSearchSettingsScree
|
||||||
}
|
}
|
||||||
else if (widget.serversProvider.serverStatus.loadStatus == 1) {
|
else if (widget.serversProvider.serverStatus.loadStatus == 1) {
|
||||||
generalEnabled = widget.serversProvider.serverStatus.data!.safeSearchEnabled;
|
generalEnabled = widget.serversProvider.serverStatus.data!.safeSearchEnabled;
|
||||||
bingEnabled = widget.serversProvider.serverStatus.data!.safeSeachBing;
|
bingEnabled = widget.serversProvider.serverStatus.data!.safeSeachBing!;
|
||||||
duckduckgoEnabled = widget.serversProvider.serverStatus.data!.safeSearchDuckduckgo;
|
duckduckgoEnabled = widget.serversProvider.serverStatus.data!.safeSearchDuckduckgo!;
|
||||||
googleEnabled = widget.serversProvider.serverStatus.data!.safeSearchGoogle;
|
googleEnabled = widget.serversProvider.serverStatus.data!.safeSearchGoogle!;
|
||||||
pixabayEnabled = widget.serversProvider.serverStatus.data!.safeSearchPixabay;
|
pixabayEnabled = widget.serversProvider.serverStatus.data!.safeSearchPixabay!;
|
||||||
yandexEnabled = widget.serversProvider.serverStatus.data!.safeSearchYandex;
|
yandexEnabled = widget.serversProvider.serverStatus.data!.safeSearchYandex!;
|
||||||
youtubeEnabled = widget.serversProvider.serverStatus.data!.safeSearchYoutube;
|
youtubeEnabled = widget.serversProvider.serverStatus.data!.safeSearchYoutube!;
|
||||||
}
|
}
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ class Settings extends StatelessWidget {
|
||||||
children: [
|
children: [
|
||||||
if (serversProvider.selectedServer != null) ...[
|
if (serversProvider.selectedServer != null) ...[
|
||||||
SectionLabel(label: AppLocalizations.of(context)!.serverSettings),
|
SectionLabel(label: AppLocalizations.of(context)!.serverSettings),
|
||||||
if (versionIsGreater(
|
if (serverVersionIsAhead(
|
||||||
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
currentVersion: serversProvider.serverStatus.data!.serverVersion,
|
||||||
referenceVersion: 'v0.107.28',
|
referenceVersion: 'v0.107.28',
|
||||||
referenceVersionBeta: 'v0.108.0-b.33'
|
referenceVersionBeta: 'v0.108.0-b.33'
|
||||||
|
|
Loading…
Add table
Reference in a new issue