diff --git a/lib/screens/logs/logs.dart b/lib/screens/logs/logs.dart index a70abfa..575becd 100644 --- a/lib/screens/logs/logs.dart +++ b/lib/screens/logs/logs.dart @@ -11,6 +11,7 @@ import 'package:adguard_home_manager/screens/logs/log_tile.dart'; import 'package:adguard_home_manager/functions/snackbar.dart'; import 'package:adguard_home_manager/classes/process_modal.dart'; import 'package:adguard_home_manager/models/applied_filters.dart'; +import 'package:adguard_home_manager/functions/compare_versions.dart'; import 'package:adguard_home_manager/providers/logs_provider.dart'; import 'package:adguard_home_manager/providers/app_config_provider.dart'; import 'package:adguard_home_manager/services/http_requests.dart'; @@ -191,7 +192,13 @@ class _LogsWidgetState extends State { ProcessModal processModal = ProcessModal(context: context); processModal.open(AppLocalizations.of(context)!.updatingSettings); - final result = await updateQueryLogParameters(server: serversProvider.selectedServer!, data: data); + final result = versionIsGreater( + currentVersion: widget.serversProvider.serverStatus.data!.serverVersion, + referenceVersion: 'v0.107.28', + referenceVersionBeta: 'v0.108.0-b.33' + ) == true + ? await updateQueryLogParameters(server: serversProvider.selectedServer!, data: data) + : await updateQueryLogParametersLegacy(server: serversProvider.selectedServer!, data: data); processModal.close(); diff --git a/lib/screens/logs/logs_config_modal.dart b/lib/screens/logs/logs_config_modal.dart index 9a33dbf..472fd55 100644 --- a/lib/screens/logs/logs_config_modal.dart +++ b/lib/screens/logs/logs_config_modal.dart @@ -5,6 +5,7 @@ import 'package:provider/provider.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:adguard_home_manager/services/http_requests.dart'; +import 'package:adguard_home_manager/functions/compare_versions.dart'; import 'package:adguard_home_manager/providers/app_config_provider.dart'; import 'package:adguard_home_manager/providers/servers_provider.dart'; @@ -63,7 +64,13 @@ class _LogsConfigModalWidgetState extends State { int loadStatus = 0; void loadData() async { - final result = await getQueryLogInfo(server: widget.serversProvider.selectedServer!); + final result = versionIsGreater( + currentVersion: widget.serversProvider.serverStatus.data!.serverVersion, + referenceVersion: 'v0.107.28', + referenceVersionBeta: 'v0.108.0-b.33' + ) == true + ? await getQueryLogInfo(server: widget.serversProvider.selectedServer!) + : await getQueryLogInfoLegacy(server: widget.serversProvider.selectedServer!); if (mounted) { if (result['result'] == 'success') { @@ -82,7 +89,32 @@ class _LogsConfigModalWidgetState extends State { @override void initState() { - retentionItems = [ + retentionItems = versionIsGreater( + currentVersion: widget.serversProvider.serverStatus.data!.serverVersion, + referenceVersion: 'v0.107.28', + referenceVersionBeta: 'v0.108.0-b.33' + ) == true ? [ + { + 'label': AppLocalizations.of(widget.context)!.hours6, + 'value': 21600000 + }, + { + 'label': AppLocalizations.of(widget.context)!.hours24, + 'value': 86400000 + }, + { + 'label': AppLocalizations.of(widget.context)!.days7, + 'value': 604800000 + }, + { + 'label': AppLocalizations.of(widget.context)!.days30, + 'value': 2592000000 + }, + { + 'label': AppLocalizations.of(widget.context)!.days90, + 'value': 7776000000 + }, + ] : [ { 'label': AppLocalizations.of(widget.context)!.hours6, 'value': 0.25 @@ -111,7 +143,6 @@ class _LogsConfigModalWidgetState extends State { @override Widget build(BuildContext context) { - Widget generateBody() { switch (loadStatus) { case 0: