mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-20 22:09:11 +00:00
Bug fixes
This commit is contained in:
parent
b270ca2b8c
commit
e013b1496e
5 changed files with 19 additions and 9 deletions
|
@ -256,7 +256,7 @@ class LogTile extends StatelessWidget {
|
|||
newStatus: domainBlocked == true ? 'unblock' : 'block'
|
||||
)
|
||||
),
|
||||
MenuOption(
|
||||
if (filteringProvider.filtering != null) MenuOption(
|
||||
title: domainBlocked == true
|
||||
? AppLocalizations.of(context)!.unblockThisClientOnly
|
||||
: AppLocalizations.of(context)!.blockThisClientOnly,
|
||||
|
@ -457,7 +457,7 @@ class LogTile extends StatelessWidget {
|
|||
newStatus: domainBlocked == true ? 'unblock' : 'block'
|
||||
)
|
||||
),
|
||||
MenuOption(
|
||||
if (filteringProvider.filtering != null) MenuOption(
|
||||
title: domainBlocked == true
|
||||
? AppLocalizations.of(context)!.unblockThisClientOnly
|
||||
: AppLocalizations.of(context)!.blockThisClientOnly,
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
// ignore_for_file: use_build_context_synchronously
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:adguard_home_manager/screens/logs/logs_list.dart';
|
||||
import 'package:adguard_home_manager/screens/logs/details/log_details_screen.dart';
|
||||
|
||||
import 'package:adguard_home_manager/models/logs.dart';
|
||||
import 'package:adguard_home_manager/providers/filtering_provider.dart';
|
||||
|
||||
class Logs extends StatefulWidget {
|
||||
const Logs({Key? key}) : super(key: key);
|
||||
const Logs({super.key});
|
||||
|
||||
@override
|
||||
State<Logs> createState() => _LogsState();
|
||||
|
@ -17,6 +19,12 @@ class Logs extends StatefulWidget {
|
|||
class _LogsState extends State<Logs> {
|
||||
Log? _selectedLog;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
Provider.of<FilteringProvider>(context, listen: false).fetchFilters();
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
|
|
|
@ -59,7 +59,7 @@ class LogsListAppBar extends StatelessWidget {
|
|||
showDialog(
|
||||
context: context,
|
||||
builder: (context) => _Search(
|
||||
searchButtonRenderBox: _searchButtonKey.currentContext!.findRenderObject() as RenderBox,
|
||||
searchButtonRenderBox: _searchButtonKey.currentContext?.findRenderObject() as RenderBox?,
|
||||
onSearch: (v) {
|
||||
logsProvider.setAppliedFilters(
|
||||
AppliedFiters(
|
||||
|
@ -243,7 +243,7 @@ class LogsListAppBar extends StatelessWidget {
|
|||
|
||||
class _Search extends StatefulWidget {
|
||||
final void Function(String) onSearch;
|
||||
final RenderBox searchButtonRenderBox;
|
||||
final RenderBox? searchButtonRenderBox;
|
||||
|
||||
const _Search({
|
||||
required this.onSearch,
|
||||
|
@ -269,7 +269,8 @@ class _SearchState extends State<_Search> {
|
|||
Widget build(BuildContext context) {
|
||||
final logsProvider = Provider.of<LogsProvider>(context);
|
||||
|
||||
final Offset position = widget.searchButtonRenderBox.localToGlobal(Offset.zero);
|
||||
final position = widget.searchButtonRenderBox?.localToGlobal(Offset.zero);
|
||||
final topPadding = MediaQuery.of(globalNavigatorKey.currentContext!).viewPadding.top;
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => Navigator.pop(context),
|
||||
|
@ -282,7 +283,7 @@ class _SearchState extends State<_Search> {
|
|||
alignment: Alignment.topCenter,
|
||||
children: [
|
||||
Positioned(
|
||||
top: position.dy - MediaQuery.of(globalNavigatorKey.currentContext!).viewPadding.top,
|
||||
top: position != null ? position.dy - topPadding : topPadding,
|
||||
child: SizedBox(
|
||||
width: width,
|
||||
child: GestureDetector(
|
||||
|
|
|
@ -165,7 +165,7 @@ class _DnsServerSettingsScreenState extends State<DnsServerSettingsScreen> {
|
|||
processModal.open(AppLocalizations.of(context)!.savingConfig);
|
||||
|
||||
final result = await dnsProvider.saveDnsServerConfig({
|
||||
"ratelimit": int.parse(_limitRequestsController.text),
|
||||
"ratelimit": int.tryParse(_limitRequestsController.text),
|
||||
"edns_cs_enabled": _enableEdns,
|
||||
"edns_cs_use_custom": _useCustomIpEdns,
|
||||
"edns_cs_custom_ip": _customIpEdnsController.text,
|
||||
|
|
|
@ -47,6 +47,7 @@ class _UpdateScreenState extends State<UpdateScreen> {
|
|||
|
||||
void processChangelog() async {
|
||||
final serversProvider = Provider.of<ServersProvider>(context, listen: false);
|
||||
if (serversProvider.updateAvailable.data?.changelog == null) return;
|
||||
final markdownResult = await compute(md.markdownToHtml, serversProvider.updateAvailable.data!.changelog!);
|
||||
final htmlParsedResult = await compute(html.parse, markdownResult);
|
||||
setState(() => _htmlChangelog = htmlParsedResult.outerHtml);
|
||||
|
@ -84,7 +85,7 @@ class _UpdateScreenState extends State<UpdateScreen> {
|
|||
|
||||
processModal.close();
|
||||
|
||||
if (!mounted) return;
|
||||
if (!context.mounted) return;
|
||||
if (result.successful == true) {
|
||||
serversProvider.recheckPeriodServerUpdated();
|
||||
showSnacbkar(
|
||||
|
|
Loading…
Add table
Reference in a new issue