mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-01-11 22:40:36 +00:00
+
This commit is contained in:
parent
7c47d19a70
commit
2ff20c35cc
3 changed files with 22 additions and 3 deletions
|
|
@ -19,10 +19,12 @@ class JsExtensionService implements ExtensionService {
|
|||
late JavascriptRuntime runtime;
|
||||
@override
|
||||
late Source source;
|
||||
bool _isInitialized = false;
|
||||
|
||||
JsExtensionService(this.source);
|
||||
|
||||
void _init() {
|
||||
if (_isInitialized) return;
|
||||
runtime = getJavascriptRuntime();
|
||||
JsHttpClient(runtime).init();
|
||||
JsDomSelector(runtime).init();
|
||||
|
|
@ -79,6 +81,7 @@ async function jsonStringify(fn) {
|
|||
runtime.evaluate('''${source.sourceCode}
|
||||
var extention = new DefaultExtension();
|
||||
''');
|
||||
_isInitialized = true;
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
|
|
@ -31,10 +31,12 @@ class LNReaderExtensionService implements ExtensionService {
|
|||
late JavascriptRuntime runtime;
|
||||
@override
|
||||
late Source source;
|
||||
bool _isInitialized = false;
|
||||
|
||||
LNReaderExtensionService(this.source);
|
||||
|
||||
void _init() {
|
||||
if (_isInitialized) return;
|
||||
runtime = getJavascriptRuntime();
|
||||
runtime.evaluate('''
|
||||
module={},exports=Function("return this")(),Object.defineProperties(module,{namespace:{set:function(a){exports=a}},exports:{set:function(a){for(var b in a)a.hasOwnProperty(b)&&(exports[b]=a[b])},get:function(){return exports}}});
|
||||
|
|
@ -83,6 +85,7 @@ const require = (package) => {
|
|||
${source.sourceCode}
|
||||
const extension = exports.default;
|
||||
''');
|
||||
_isInitialized = true;
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
|
|
@ -51,13 +51,26 @@ import 'package:path/path.dart' as p;
|
|||
|
||||
typedef DoubleClickAnimationListener = void Function();
|
||||
|
||||
class MangaReaderView extends ConsumerWidget {
|
||||
class MangaReaderView extends ConsumerStatefulWidget {
|
||||
final int chapterId;
|
||||
const MangaReaderView({super.key, required this.chapterId});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final chapterData = ref.watch(mangaReaderProvider(chapterId));
|
||||
ConsumerState<MangaReaderView> createState() => _MangaReaderViewState();
|
||||
}
|
||||
|
||||
class _MangaReaderViewState extends ConsumerState<MangaReaderView> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
ref.invalidate(mangaReaderProvider(widget.chapterId));
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final chapterData = ref.watch(mangaReaderProvider(widget.chapterId));
|
||||
|
||||
return chapterData.when(
|
||||
loading: () => scaffoldWith(context, const ProgressCenter()),
|
||||
|
|
|
|||
Loading…
Reference in a new issue