import 'package:flutter/material.dart'; class SettingsTile extends StatelessWidget { final String label; final bool? value; final void Function(bool)? onChange; final bool useGlobalSettingsFiltering; const SettingsTile({ super.key, required this.label, required this.value, this.onChange, required this.useGlobalSettingsFiltering }); @override Widget build(BuildContext context) { return Material( color: Colors.transparent, child: InkWell( onTap: onChange != null ? value != null ? () => onChange!(!value!) : null : null, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 6), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( child: Text( label, overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 16, color: Theme.of(context).colorScheme.onSurface, ), ), ), useGlobalSettingsFiltering == false ? Switch( value: value!, onChanged: onChange, ) : Padding( padding: const EdgeInsets.symmetric( vertical: 14, horizontal: 12 ), child: Text( "Global", style: TextStyle( color: Theme.of(context).colorScheme.onSurface, ), ), ) ], ), ), ), ); } }