import 'package:flutter/material.dart'; import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/text_styles.dart'; class SettingsMenuItem extends StatelessWidget { const SettingsMenuItem({ Key? key, required this.icon, required this.label, required this.value, required this.group, required this.onChanged, }) : super(key: key); final Widget icon; final String label; final T value; final T group; final void Function(T) onChanged; @override Widget build(BuildContext context) { return TextButton( //if val == group, then button is selected, otherwise unselected style: value == group ? Theme.of(context) .extension()! .getDesktopSettingsButtonStyle(context) : Theme.of(context) .extension()! .getDesktopSettingsButtonStyle(context), onPressed: () { onChanged(value); }, child: Padding( padding: const EdgeInsets.symmetric( vertical: 16, horizontal: 16, ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ icon, const SizedBox( width: 12, ), Text( label, style: value == group //checks if option is selected ? STextStyles.settingsMenuItemSelected(context) : STextStyles.settingsMenuItem(context), ), ], ), ), ); } }