Implement time-range filter
This commit is contained in:
@@ -5,8 +5,10 @@ import 'package:simplecloudnotifier/components/modals/filter_modal_keytoken.dart
|
||||
import 'package:simplecloudnotifier/components/modals/filter_modal_priority.dart';
|
||||
import 'package:simplecloudnotifier/components/modals/filter_modal_searchplain.dart';
|
||||
import 'package:simplecloudnotifier/components/modals/filter_modal_sendername.dart';
|
||||
import 'package:simplecloudnotifier/components/modals/filter_modal_time.dart';
|
||||
import 'package:simplecloudnotifier/pages/message_list/message_filter_chiplet.dart';
|
||||
import 'package:simplecloudnotifier/state/app_bar_state.dart';
|
||||
import 'package:simplecloudnotifier/state/app_events.dart';
|
||||
import 'package:simplecloudnotifier/state/app_settings.dart';
|
||||
import 'package:simplecloudnotifier/utils/navi.dart';
|
||||
|
||||
class AppBarFilterDialog extends StatefulWidget {
|
||||
@@ -116,7 +118,21 @@ class _AppBarFilterDialogState extends State<AppBarFilterDialog> {
|
||||
}
|
||||
|
||||
void _showTimeModal(BuildContext context) {
|
||||
showDialog<void>(context: context, builder: (BuildContext context) => FilterModalTime());
|
||||
final dateFormat = AppSettings().dateFormat.dateOnlyFormat();
|
||||
|
||||
final now = DateTime.now();
|
||||
showDateRangePicker(context: context, firstDate: DateTime(2000), lastDate: DateTime(now.year, now.month, now.day + 7)).then((value) {
|
||||
if (value != null) {
|
||||
List<MessageFilterChiplet> chiplets = [];
|
||||
chiplets.add(MessageFilterChiplet(
|
||||
label: dateFormat.format(value.start) + ' - ' + dateFormat.format(value.end),
|
||||
value: value,
|
||||
type: MessageFilterChipletType.timeRange,
|
||||
));
|
||||
|
||||
AppEvents().notifyFilterListeners([MessageFilterChipletType.plainSearch], chiplets);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void _showPlainSearchModal(BuildContext context) {
|
||||
|
Reference in New Issue
Block a user