class SearchToggleFilter extends StatelessWidget {
const SearchToggleFilter(
this.filterState, this.groupID, this.filter, this.label,
{super.key});
final FilterState filterState;
final FilterGroupID groupID;
final Filter filter;
final String label;
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: filterState.filters,
builder: (context, snapshot) {
final filters = snapshot.hasData ? snapshot.data! : StatelessFilters();
final filterGroups = filters.toFilterGroups().expand((group) => group);
return FilterChip(
label: Text(label),
onSelected: (selected) => selected
? filterState.add(groupID, {filter})
: filterState.remove(groupID, {filter}),
selected: filterGroups.contains(filter),
);
});
}
}