Fixed whois issue logs

This commit is contained in:
Juan Gilsanz Polo 2022-11-30 23:35:31 +01:00
parent c03d536bc8
commit a3e3c67c1c
2 changed files with 24 additions and 12 deletions

View file

@ -148,7 +148,7 @@ class ClientInfo {
}); });
factory ClientInfo.fromJson(Map<String, dynamic> json) => ClientInfo( factory ClientInfo.fromJson(Map<String, dynamic> json) => ClientInfo(
whois: Whois.fromJson(json["whois"]), whois: Whois.fromJson(Map<String, dynamic>.from(json["whois"])),
name: json["name"], name: json["name"],
disallowedRule: json["disallowed_rule"], disallowedRule: json["disallowed_rule"],
disallowed: json["disallowed"], disallowed: json["disallowed"],

View file

@ -1,11 +1,11 @@
// ignore_for_file: use_build_context_synchronously // ignore_for_file: use_build_context_synchronously
import 'package:adguard_home_manager/widgets/custom_list_tile.dart';
import 'package:adguard_home_manager/widgets/section_label.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.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/widgets/section_label.dart';
import 'package:adguard_home_manager/screens/logs/log_list_tile.dart'; import 'package:adguard_home_manager/screens/logs/log_list_tile.dart';
import 'package:adguard_home_manager/classes/process_modal.dart'; import 'package:adguard_home_manager/classes/process_modal.dart';
@ -30,10 +30,14 @@ class LogDetailsScreen extends StatelessWidget {
final serversProvider = Provider.of<ServersProvider>(context); final serversProvider = Provider.of<ServersProvider>(context);
final appConfigProvider = Provider.of<AppConfigProvider>(context); final appConfigProvider = Provider.of<AppConfigProvider>(context);
Filter getList(int id) { Filter? getList(int id) {
try {
return serversProvider.filteringStatus!.filters.firstWhere((filter) => filter.id == id, orElse: () { return serversProvider.filteringStatus!.filters.firstWhere((filter) => filter.id == id, orElse: () {
return serversProvider.filteringStatus!.whitelistFilters.firstWhere((filter) => filter.id == id); return serversProvider.filteringStatus!.whitelistFilters.firstWhere((filter) => filter.id == id);
}); });
} catch (_) {
return null;
}
} }
Widget getResult() { Widget getResult() {
@ -202,11 +206,19 @@ class LogDetailsScreen extends StatelessWidget {
), ),
if (log.rules.isNotEmpty) ...[ if (log.rules.isNotEmpty) ...[
SectionLabel(label: AppLocalizations.of(context)!.rules), SectionLabel(label: AppLocalizations.of(context)!.rules),
...log.rules.map((rule) => LogListTile( ...log.rules.map((rule) {
final Filter? list = getList(rule.filterListId);
if (list != null) {
return LogListTile(
icon: Icons.rule_rounded, icon: Icons.rule_rounded,
title: rule.text, title: rule.text,
subtitle: getList(rule.filterListId).name, subtitle: list.name
)).toList() );
}
else {
return const SizedBox();
}
}).toList()
], ],
if (log.answer.isNotEmpty) ...[ if (log.answer.isNotEmpty) ...[
SectionLabel(label: AppLocalizations.of(context)!.answers), SectionLabel(label: AppLocalizations.of(context)!.answers),