import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import '../../enum/time_span.dart'; class TimeSpanMenuButton extends StatelessWidget { final TimeSpan value; final void Function(TimeSpan) onChange; const TimeSpanMenuButton({ super.key, required this.value, required this.onChange, }); @override Widget build(BuildContext context) { return PopupMenuButton( icon: const Icon(Icons.calendar_month_outlined), tooltip: L10n.of(context)!.changeDateRange, initialValue: value, onSelected: (TimeSpan? timeSpan) { if (timeSpan == null) { debugPrint("when is timeSpan null?"); return; } onChange(timeSpan); }, itemBuilder: (BuildContext context) => TimeSpan.values.map>((TimeSpan timeSpan) { return PopupMenuItem( value: timeSpan, child: Text(timeSpan.string(context)), ); }).toList(), ); } }