import 'package:flutter/material.dart'; import 'package:mangayomi/models/chapter.dart'; import 'package:mangayomi/modules/manga/reader/providers/push_router.dart'; import 'package:mangayomi/modules/manga/reader/providers/reader_controller_provider.dart'; extension ChapterExtension on Chapter { Future pushToReaderView(BuildContext context, {bool ignoreIsRead = false}) async { if (ignoreIsRead || !isRead!) { await pushMangaReaderView(context: context, chapter: this); } else { final filteredChaps = manga.value!.getFilteredChapterList(); bool exist = false; for (var filteredChap in filteredChaps.reversed) { if (filteredChap.toJson().toString() == toJson().toString()) { exist = true; } if (exist && !filteredChap.isRead!) { await pushMangaReaderView(context: context, chapter: filteredChap); break; } } } } }