mangayomi-mirror/lib/modules/calendar/providers/calendar_provider.dart
Schnitzel5 3aaac9e102 enhanced calendar
- predicts from latest chapter instead of current time (if available)
2025-08-26 01:23:46 +02:00

23 lines
754 B
Dart

import 'package:isar/isar.dart';
import 'package:mangayomi/main.dart';
import 'package:mangayomi/models/manga.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
part 'calendar_provider.g.dart';
@riverpod
Stream<List<Manga>> getCalendarStream(Ref ref, {ItemType? itemType}) async* {
yield* isar.mangas
.filter()
.idIsNotNull()
.favoriteEqualTo(true)
.itemTypeEqualTo(itemType ?? ItemType.manga)
.anyOf([
Status.ongoing,
Status.unknown,
Status.publishingFinished,
], (q, status) => q.statusEqualTo(status))
.smartUpdateDaysIsNotNull()
.smartUpdateDaysGreaterThan(0)
.watch(fireImmediately: true);
}