Implement time-range filter
Some checks failed
Build Docker and Deploy / Build Docker Container (push) Successful in 52s
Build Docker and Deploy / Run Unit-Tests (push) Failing after 11m28s
Build Docker and Deploy / Deploy to Server (push) Has been skipped

This commit is contained in:
2025-05-11 16:32:55 +02:00
parent 255fc9337c
commit 3e0c4845e9
6 changed files with 31 additions and 54 deletions

View File

@@ -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) {