mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-20 23:22:07 +00:00
fix lang source
This commit is contained in:
parent
1c7972bc76
commit
181647512e
4 changed files with 61 additions and 64 deletions
17
lib/models/settings.dart
Normal file
17
lib/models/settings.dart
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
// import 'package:isar/isar.dart';
|
||||
// import 'package:mangayomi/models/chapter.dart';
|
||||
// part 'settings.g.dart';
|
||||
|
||||
// @collection
|
||||
// @Name("Settings")
|
||||
// class Settings {
|
||||
// Id? id;
|
||||
// int? mangaId;
|
||||
|
||||
// String? date;
|
||||
// Settings({
|
||||
// this.id = 227,
|
||||
// required this.mangaId,
|
||||
// required this.date,
|
||||
// });
|
||||
// }
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:mangayomi/utils/constant.dart';
|
||||
import 'package:mangayomi/models/source.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'hive_provider.g.dart';
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:mangayomi/providers/hive_provider.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:mangayomi/main.dart';
|
||||
import 'package:mangayomi/models/source.dart';
|
||||
import 'package:mangayomi/sources/source_list.dart';
|
||||
import 'package:mangayomi/utils/lang.dart';
|
||||
import 'package:mangayomi/views/browse/extension/widgets/extension_lang_list_tile_widget.dart';
|
||||
|
||||
|
|
@ -17,64 +16,42 @@ class ExtensionsLang extends ConsumerWidget {
|
|||
appBar: AppBar(
|
||||
title: const Text("Extensions"),
|
||||
),
|
||||
body:Container(),
|
||||
|
||||
|
||||
// ValueListenableBuilder<Box<Source>>(
|
||||
// valueListenable: ref.watch(hiveBoxMangaSourceProvider).listenable(),
|
||||
// builder: (context, value, child) {
|
||||
// final entri = value.values.toList();
|
||||
// return ListView.builder(
|
||||
// itemCount: language.length,
|
||||
// itemBuilder: (context, index) {
|
||||
// return ExtensionLangListTileWidget(
|
||||
// lang: lang(language[index]),
|
||||
// onChanged: (val) {
|
||||
// if (val == true) {
|
||||
// for (var element in sourcesList) {
|
||||
// if (element.lang == lang(language[index])) {
|
||||
// if (!ref
|
||||
// .watch(hiveBoxMangaSourceProvider)
|
||||
// .containsKey(
|
||||
// "${element.sourceName}${element.lang}")) {
|
||||
// ref.watch(hiveBoxMangaSourceProvider).put(
|
||||
// "${element.sourceName}${element.lang}",
|
||||
// element);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// List<dynamic> entries = ref
|
||||
// .watch(hiveBoxMangaProvider)
|
||||
// .get("language_filter", defaultValue: []);
|
||||
// entries.remove("${lang(language[index])}");
|
||||
// ref
|
||||
// .watch(hiveBoxMangaProvider)
|
||||
// .put("language_filter", entries);
|
||||
// } else {
|
||||
// for (var element in entri) {
|
||||
// if (element.lang == lang(language[index])) {
|
||||
// ref
|
||||
// .watch(hiveBoxMangaSourceProvider)
|
||||
// .delete("${element.sourceName}${element.lang}");
|
||||
// }
|
||||
// }
|
||||
// List<dynamic> entries = ref
|
||||
// .watch(hiveBoxMangaProvider)
|
||||
// .get("language_filter", defaultValue: []);
|
||||
// entries.add("${lang(language[index])}");
|
||||
// ref
|
||||
// .watch(hiveBoxMangaProvider)
|
||||
// .put("language_filter", entries);
|
||||
// }
|
||||
// },
|
||||
// value: entri
|
||||
// .where((element) =>
|
||||
// element.lang == "${lang(language[index])}")
|
||||
// .isNotEmpty,
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// }),
|
||||
body: StreamBuilder(
|
||||
stream:
|
||||
isar.sources.filter().idIsNotNull().watch(fireImmediately: true),
|
||||
builder: (context, snapshot) {
|
||||
List<Source>? entri = snapshot.hasData ? snapshot.data : [];
|
||||
return ListView.builder(
|
||||
itemCount: language.length,
|
||||
itemBuilder: (context, index) {
|
||||
return ExtensionLangListTileWidget(
|
||||
lang: lang(language[index]),
|
||||
onChanged: (val) {
|
||||
isar.writeTxnSync(() {
|
||||
if (val == true) {
|
||||
for (var source in entri) {
|
||||
if (source.lang == lang(language[index])) {
|
||||
isar.sources.putSync(source..isActive = true);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (var source in entri) {
|
||||
if (source.lang == lang(language[index])) {
|
||||
isar.sources.putSync(source..isActive = false);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
value: entri!
|
||||
.where((element) =>
|
||||
element.lang == "${lang(language[index])}")
|
||||
.where((element) => element.isActive!)
|
||||
.isNotEmpty,
|
||||
);
|
||||
},
|
||||
);
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,12 @@ class ExtensionScreen extends ConsumerWidget {
|
|||
return Padding(
|
||||
padding: const EdgeInsets.only(top: 10),
|
||||
child: StreamBuilder(
|
||||
stream:
|
||||
isar.sources.filter().idIsNotNull().watch(fireImmediately: true),
|
||||
stream: isar.sources
|
||||
.filter()
|
||||
.idIsNotNull()
|
||||
.and()
|
||||
.isActiveEqualTo(true)
|
||||
.watch(fireImmediately: true),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData && snapshot.data!.isNotEmpty) {
|
||||
final entries = snapshot.data!;
|
||||
|
|
|
|||
Loading…
Reference in a new issue