hardening setting tooltip

This commit is contained in:
Fabian Freund
2025-06-27 22:33:57 +02:00
parent 4306353337
commit 53f2b302a7
@@ -71,53 +71,61 @@ class WebEngineHardeningGroupScreen extends HookConsumerWidget {
Expanded( Expanded(
child: ListView( child: ListView(
children: group.settings.entries.map((setting) { children: group.settings.entries.map((setting) {
return Row( var value = setting.value.value.toString();
children: [ if (value.length > 160) {
if (!setting.value.shouldBeDefault || value = '${value.substring(0, 160)}';
!setting.value.isActive) }
Expanded(
child: SwitchListTile(
value: setting.value.isActive,
title: Text(setting.value.title ?? setting.key),
subtitle: setting.value.description.mapNotNull(
(description) => Text(description),
),
secondary: HardeningGroupIcon(
isActive: setting.value.isActive,
),
onChanged: (value) async {
final notifier = ref.read(
preferenceSettingsGroupRepositoryProvider(
PreferencePartition.user,
groupName,
).notifier,
);
if (value) { return Tooltip(
await notifier.apply(filter: [setting.key]); message: '${setting.key}: $value',
} else { child: Row(
await notifier.reset(filter: [setting.key]); children: [
} if (!setting.value.shouldBeDefault ||
}, !setting.value.isActive)
), Expanded(
) child: SwitchListTile(
else value: setting.value.isActive,
Expanded( title: Text(setting.value.title ?? setting.key),
child: ListTile( subtitle: setting.value.description.mapNotNull(
title: Text(setting.value.title ?? setting.key), (description) => Text(description),
subtitle: setting.value.description.mapNotNull( ),
(description) => Text(description), secondary: HardeningGroupIcon(
isActive: setting.value.isActive,
),
onChanged: (value) async {
final notifier = ref.read(
preferenceSettingsGroupRepositoryProvider(
PreferencePartition.user,
groupName,
).notifier,
);
if (value) {
await notifier.apply(filter: [setting.key]);
} else {
await notifier.reset(filter: [setting.key]);
}
},
), ),
leading: HardeningGroupIcon( )
isActive: setting.value.isActive, else
), Expanded(
trailing: const Padding( child: ListTile(
padding: EdgeInsets.only(right: 18.0), title: Text(setting.value.title ?? setting.key),
child: Icon(Icons.check), subtitle: setting.value.description.mapNotNull(
(description) => Text(description),
),
leading: HardeningGroupIcon(
isActive: setting.value.isActive,
),
trailing: const Padding(
padding: EdgeInsets.only(right: 18.0),
child: Icon(Icons.check),
),
), ),
), ),
), ],
], ),
); );
}).toList(), }).toList(),
), ),