mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-28 01:36:07 +00:00
Changed green and red with theme color and grey
This commit is contained in:
parent
6b593dc195
commit
5e30ac4986
11 changed files with 134 additions and 47 deletions
|
@ -1,8 +1,9 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
|
||||
Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, bool isRow) {
|
||||
Map<String, dynamic> getFilteredStatus(BuildContext context, AppConfigProvider appConfigProvider, String filterKey, bool isRow) {
|
||||
switch (filterKey) {
|
||||
case 'NotFilteredNotFound':
|
||||
return {
|
||||
|
@ -10,7 +11,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.processedRow
|
||||
: AppLocalizations.of(context)!.processed,
|
||||
'color': Colors.green,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
'icon': Icons.verified_user_rounded,
|
||||
};
|
||||
|
||||
|
@ -20,7 +23,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.processedWhitelistRow
|
||||
: AppLocalizations.of(context)!.processedWhitelist,
|
||||
'color': Colors.green,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
'icon': Icons.verified_user_rounded,
|
||||
};
|
||||
|
||||
|
@ -30,7 +35,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.processedErrorRow
|
||||
: AppLocalizations.of(context)!.processedError,
|
||||
'color': Colors.green,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
'icon': Icons.verified_user_rounded,
|
||||
};
|
||||
|
||||
|
@ -40,7 +47,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedBlacklistRow
|
||||
: AppLocalizations.of(context)!.blockedBlacklist,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
@ -50,7 +59,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedSafeBrowsingRow
|
||||
: AppLocalizations.of(context)!.blockedSafeBrowsing,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
@ -60,7 +71,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedParentalRow
|
||||
: AppLocalizations.of(context)!.blockedParental,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
@ -70,7 +83,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedInvalidRow
|
||||
: AppLocalizations.of(context)!.blockedInvalid,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
@ -80,7 +95,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedSafeSearchRow
|
||||
: AppLocalizations.of(context)!.blockedSafeSearch,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
@ -90,7 +107,9 @@ Map<String, dynamic> getFilteredStatus(BuildContext context, String filterKey, b
|
|||
'label': isRow == true
|
||||
? AppLocalizations.of(context)!.blockedServiceRow
|
||||
: AppLocalizations.of(context)!.blockedService,
|
||||
'color': Colors.red,
|
||||
'color': appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
'icon': Icons.gpp_bad_rounded,
|
||||
};
|
||||
|
||||
|
|
|
@ -234,32 +234,48 @@ class _AddedListState extends State<AddedList> {
|
|||
Icons.filter_list_rounded,
|
||||
size: 19,
|
||||
color: widget.data[index].filteringEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.vpn_lock_rounded,
|
||||
size: 18,
|
||||
color: widget.data[index].safebrowsingEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.block,
|
||||
size: 18,
|
||||
color: widget.data[index].parentalEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.search_rounded,
|
||||
size: 19,
|
||||
color: widget.data[index].safesearchEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
)
|
||||
],
|
||||
)
|
||||
|
|
|
@ -289,32 +289,48 @@ class _SearchClientsWidgetState extends State<SearchClientsWidget> {
|
|||
Icons.filter_list_rounded,
|
||||
size: 19,
|
||||
color: clientsScreen[index].filteringEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.vpn_lock_rounded,
|
||||
size: 18,
|
||||
color: clientsScreen[index].safebrowsingEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.block,
|
||||
size: 18,
|
||||
color: clientsScreen[index].parentalEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Icon(
|
||||
Icons.search_rounded,
|
||||
size: 19,
|
||||
color: clientsScreen[index].safesearchEnabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
)
|
||||
],
|
||||
)
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
|||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/functions/get_filtered_status.dart';
|
||||
import 'package:adguard_home_manager/services/http_requests.dart';
|
||||
import 'package:adguard_home_manager/providers/servers_provider.dart';
|
||||
|
@ -48,6 +49,7 @@ class _CheckHostModalState extends State<CheckHostModal> {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final serversProvider = Provider.of<ServersProvider>(context);
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
void checkHost() async {
|
||||
if (mounted) {
|
||||
|
@ -56,7 +58,7 @@ class _CheckHostModalState extends State<CheckHostModal> {
|
|||
final result = await checkHostFiltered(server: serversProvider.selectedServer!, host: domainController.text);
|
||||
|
||||
if (result['result'] == 'success') {
|
||||
final status = getFilteredStatus(context, result['data']['reason'], true);
|
||||
final status = getFilteredStatus(context, appConfigProvider, result['data']['reason'], true);
|
||||
if (mounted) {
|
||||
setState(() => resultWidget = Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
|
@ -65,16 +67,24 @@ class _CheckHostModalState extends State<CheckHostModal> {
|
|||
status['icon'],
|
||||
size: 18,
|
||||
color: status['filtered'] == true
|
||||
? Colors.red
|
||||
: Colors.green,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red
|
||||
: appConfigProvider.useThemeColorForStatus
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Text(
|
||||
status['label'],
|
||||
style: TextStyle(
|
||||
color: status['filtered'] == true
|
||||
? Colors.red
|
||||
: Colors.green,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red
|
||||
: appConfigProvider.useThemeColorForStatus
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
fontWeight: FontWeight.w500
|
||||
),
|
||||
)
|
||||
|
|
|
@ -300,8 +300,12 @@ class _FiltersWidgetState extends State<FiltersWidget> with TickerProviderStateM
|
|||
: Icons.cancel,
|
||||
size: 12,
|
||||
color: serversProvider.filtering.data!.enabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
@ -297,8 +297,12 @@ class _FiltersListState extends State<FiltersList> {
|
|||
? Icons.check_circle_rounded
|
||||
: Icons.cancel,
|
||||
color: widget.data[index].enabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red
|
||||
),
|
||||
onTap: () => openDetailsModal(widget.data[index]),
|
||||
),
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
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/filters/filter_list_tile.dart';
|
||||
|
||||
import 'package:adguard_home_manager/functions/format_time.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/models/filtering.dart';
|
||||
|
||||
class ListDetailsModal extends StatelessWidget {
|
||||
|
@ -26,6 +28,8 @@ class ListDetailsModal extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const BorderRadius.only(
|
||||
|
@ -96,8 +100,12 @@ class ListDetailsModal extends StatelessWidget {
|
|||
? AppLocalizations.of(context)!.enabled
|
||||
: AppLocalizations.of(context)!.disabled,
|
||||
color: list.enabled == true
|
||||
? Colors.green
|
||||
: Colors.red,
|
||||
? appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green
|
||||
: appConfigProvider.useThemeColorForStatus == true
|
||||
? Colors.grey
|
||||
: Colors.red,
|
||||
bold: true,
|
||||
),
|
||||
FilterListTile(
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
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/log_list_tile.dart';
|
||||
|
||||
import 'package:adguard_home_manager/functions/get_filtered_status.dart';
|
||||
import 'package:adguard_home_manager/functions/format_time.dart';
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
import 'package:adguard_home_manager/models/logs.dart';
|
||||
|
||||
class LogDetailsModal extends StatelessWidget {
|
||||
|
@ -21,8 +23,10 @@ class LogDetailsModal extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final appConfigProvider = Provider.of<AppConfigProvider>(context);
|
||||
|
||||
Widget getResult() {
|
||||
final filter = getFilteredStatus(context, log.reason, true);
|
||||
final filter = getFilteredStatus(context, appConfigProvider, log.reason, true);
|
||||
return Text(
|
||||
filter['label'],
|
||||
style: TextStyle(
|
||||
|
@ -222,11 +226,11 @@ class LogDetailsModal extends StatelessWidget {
|
|||
children: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
blockUnblock(log, getFilteredStatus(context, log.reason, true)['filtered'] == true ? 'unblock' : 'block');
|
||||
blockUnblock(log, getFilteredStatus(context, appConfigProvider, log.reason, true)['filtered'] == true ? 'unblock' : 'block');
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Text(
|
||||
getFilteredStatus(context, log.reason, true)['filtered'] == true
|
||||
getFilteredStatus(context, appConfigProvider, log.reason, true)['filtered'] == true
|
||||
? AppLocalizations.of(context)!.unblockDomain
|
||||
: AppLocalizations.of(context)!.blockDomain
|
||||
)
|
||||
|
|
|
@ -63,7 +63,7 @@ class LogTile extends StatelessWidget {
|
|||
}
|
||||
|
||||
Widget generateLogStatus() {
|
||||
final filter = getFilteredStatus(context, log.reason, false);
|
||||
final filter = getFilteredStatus(context, appConfigProvider, log.reason, false);
|
||||
return logStatusWidget(
|
||||
icon: filter['icon'],
|
||||
color: filter['color'],
|
||||
|
|
|
@ -542,7 +542,7 @@ class _EncryptionSettingsWidgetState extends State<EncryptionSettingsWidget> {
|
|||
builder: (context) => EncryptionErrorModal(error: validDataError!)
|
||||
)
|
||||
} : null,
|
||||
icon: generateStatus(localValidationValid, dataValidApi),
|
||||
icon: generateStatus(context, appConfigProvider, localValidationValid, dataValidApi),
|
||||
tooltip: generateStatusString(context, localValidationValid, dataValidApi)
|
||||
),
|
||||
IconButton(
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
||||
|
||||
String? validateDomain(BuildContext context, String domain) {
|
||||
RegExp regExp = RegExp(r'^([a-z0-9|-]+\.)*[a-z0-9|-]+\.[a-z]+$');
|
||||
if (regExp.hasMatch(domain)) {
|
||||
|
@ -50,7 +52,7 @@ String? validatePath(BuildContext context, String cert) {
|
|||
}
|
||||
}
|
||||
|
||||
Widget generateStatus(bool localValidation, int dataValidApi) {
|
||||
Widget generateStatus(BuildContext context, AppConfigProvider appConfigProvider, bool localValidation, int dataValidApi) {
|
||||
if (localValidation == true) {
|
||||
if (dataValidApi == 0) {
|
||||
return const SizedBox(
|
||||
|
@ -62,15 +64,19 @@ Widget generateStatus(bool localValidation, int dataValidApi) {
|
|||
);
|
||||
}
|
||||
else if (dataValidApi == 1) {
|
||||
return const Icon(
|
||||
return Icon(
|
||||
Icons.check_circle_rounded,
|
||||
color: Colors.green,
|
||||
color: appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).primaryColor
|
||||
: Colors.green,
|
||||
);
|
||||
}
|
||||
else if (dataValidApi == 2) {
|
||||
return const Icon(
|
||||
return Icon(
|
||||
Icons.cancel_rounded,
|
||||
color: Colors.red,
|
||||
color: appConfigProvider.useThemeColorForStatus == true
|
||||
? Theme.of(context).listTileTheme.iconColor
|
||||
: Colors.red,
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Reference in a new issue