mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-04 20:30:35 +00:00
Changed filters button
This commit is contained in:
parent
82079268d3
commit
15ba9c8c89
3 changed files with 30 additions and 7 deletions
|
@ -77,7 +77,7 @@ class LogsProvider with ChangeNotifier {
|
|||
_selectedResultStatus = value;
|
||||
notifyListeners();
|
||||
}
|
||||
void setSearchIpDomain(String value) {
|
||||
void setSearchIpDomain(String? value) {
|
||||
_searchIpDomain = value;
|
||||
notifyListeners();
|
||||
}
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/screens/logs/logs_filters_modal.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/logs_provider.dart';
|
||||
|
||||
class LogsAppBar extends StatelessWidget with PreferredSizeWidget {
|
||||
const LogsAppBar({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final logsProvider = Provider.of<LogsProvider>(context);
|
||||
|
||||
void openFilersModal() {
|
||||
showModalBottomSheet(
|
||||
context: context,
|
||||
|
@ -17,12 +22,27 @@ class LogsAppBar extends StatelessWidget with PreferredSizeWidget {
|
|||
);
|
||||
}
|
||||
|
||||
int getNumFiltersApplied() {
|
||||
int number = 0;
|
||||
if (logsProvider.logsOlderThan != null) {
|
||||
number++;
|
||||
}
|
||||
if (logsProvider.searchIpDomain != null) {
|
||||
number++;
|
||||
}
|
||||
if (logsProvider.selectedResultStatus != 'all') {
|
||||
number++;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
|
||||
return AppBar(
|
||||
title: Text(AppLocalizations.of(context)!.logs),
|
||||
actions: [
|
||||
IconButton(
|
||||
TextButton.icon(
|
||||
onPressed: openFilersModal,
|
||||
icon: const Icon(Icons.filter_list_rounded)
|
||||
icon: const Icon(Icons.filter_list_rounded),
|
||||
label: Text("${AppLocalizations.of(context)!.filters} ${getNumFiltersApplied() > 0 ? '(${getNumFiltersApplied().toString()})' : ''}"),
|
||||
),
|
||||
const SizedBox(width: 5),
|
||||
],
|
||||
|
|
|
@ -227,10 +227,13 @@ class _LogsFiltersModalWidgetState extends State<LogsFiltersModalWidget> {
|
|||
),
|
||||
const SizedBox(width: 20),
|
||||
IconButton(
|
||||
onPressed: () => setState(() {
|
||||
addressController.text = '';
|
||||
addressFieldError = null;
|
||||
}),
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
addressController.text = '';
|
||||
addressFieldError = null;
|
||||
});
|
||||
logsProvider.setSearchIpDomain(null);
|
||||
},
|
||||
icon: const Icon(Icons.clear)
|
||||
)
|
||||
],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue