mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-21 03:32:06 +00:00
- allow multiple local folders - added support for scanning .epub novels - added metadata,json support - scanned entries now appear in browse screen instead of the default library category (can be added to library)
46 lines
1.5 KiB
Dart
46 lines
1.5 KiB
Dart
import 'dart:math';
|
|
|
|
import 'package:isar/isar.dart';
|
|
import 'package:mangayomi/eval/lib.dart';
|
|
import 'package:mangayomi/eval/model/m_manga.dart';
|
|
import 'package:mangayomi/eval/model/m_pages.dart';
|
|
import 'package:mangayomi/main.dart';
|
|
import 'package:mangayomi/models/manga.dart';
|
|
import 'package:mangayomi/models/source.dart';
|
|
import 'package:mangayomi/modules/more/settings/browse/providers/browse_state_provider.dart';
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
part 'get_popular.g.dart';
|
|
|
|
@riverpod
|
|
Future<MPages?> getPopular(
|
|
Ref ref, {
|
|
required Source source,
|
|
required int page,
|
|
}) async {
|
|
if (source.name == "local" && source.lang == "") {
|
|
final result =
|
|
(await isar.mangas
|
|
.filter()
|
|
.itemTypeEqualTo(source.itemType)
|
|
.group(
|
|
(q) => q
|
|
.sourceEqualTo("local")
|
|
.or()
|
|
.linkContains("Mangayomi/local")
|
|
.or()
|
|
.linkContains("Mangayomi\\local"),
|
|
)
|
|
.sortByName()
|
|
.offset(max(0, page - 1) * 50)
|
|
.limit(50)
|
|
.findAll())
|
|
.map((e) => MManga(name: e.name))
|
|
.toList();
|
|
return MPages(list: result, hasNextPage: true);
|
|
}
|
|
return getExtensionService(
|
|
source,
|
|
ref.read(androidProxyServerStateProvider),
|
|
).getPopular(page);
|
|
}
|