buildActions method
Optional actions to show in the console toolbar
Implementation
@override
List<Widget> buildActions(BuildContext context) {
return [
IconButton(
tooltip: 'Export Flags',
icon: const Icon(Icons.share),
onPressed: () {
final flags = FeatureFlagStore.flags;
if (flags.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('No feature flags to export')),
);
return;
}
final text = const JsonEncoder.withIndent(
' ',
).convert({for (final f in flags) f.key: f.value});
ExportUtil.exportData(text: text, title: 'Feature Flags');
},
),
IconButton(
tooltip: 'Reset All to Defaults',
icon: const Icon(Icons.restart_alt),
onPressed: () async {
final confirmed = await showDialog<bool>(
context: context,
builder:
(ctx) => AlertDialog(
title: const Text('Reset All Flags?'),
content: const Text(
'This will reset every flag to its default value.',
),
actions: [
TextButton(
onPressed: () => Navigator.pop(ctx, false),
child: const Text('Cancel'),
),
ElevatedButton(
onPressed: () => Navigator.pop(ctx, true),
child: const Text('Reset'),
),
],
),
);
if (confirmed ?? false) FeatureFlagStore.resetAll();
},
),
];
}