import 'package:flutter/material.dart'; import 'package:frosty/apis/twitch_gql_api.dart'; /// Toggles viewer-count sort between descending (default) and ascending. class StreamSortButton extends StatelessWidget { final StreamViewerSort sortOrder; final ValueChanged onChanged; const StreamSortButton({ super.key, required this.sortOrder, required this.onChanged, }); @override Widget build(BuildContext context) { final isAsc = sortOrder == StreamViewerSort.viewersAsc; return PopupMenuButton( tooltip: 'Sort by viewers', icon: Icon( isAsc ? Icons.arrow_upward_rounded : Icons.arrow_downward_rounded, ), initialValue: sortOrder, onSelected: onChanged, itemBuilder: (context) => [ const PopupMenuItem( value: StreamViewerSort.viewersDesc, child: Text('Most viewers'), ), const PopupMenuItem( value: StreamViewerSort.viewersAsc, child: Text('Fewest viewers'), ), ], ); } }