mirror of
https://github.com/venera-app/venera.git
synced 2025-12-16 23:11:15 +00:00
Compare commits
2 Commits
7842b5a1ac
...
fix/comic-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9636cf62cb | ||
| 09a1d2821c |
@@ -1159,7 +1159,7 @@ class ComicListState extends State<ComicList> {
|
||||
if (res.data.isEmpty) {
|
||||
setState(() {
|
||||
_data[page] = const [];
|
||||
_maxPage = page;
|
||||
_maxPage ??= page;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
@@ -1282,8 +1282,8 @@ class ComicListState extends State<ComicList> {
|
||||
],
|
||||
);
|
||||
}
|
||||
if (_data[_page] == null) {
|
||||
_loadPage(_page);
|
||||
if (_data[1] == null) {
|
||||
_loadPage(1);
|
||||
return Column(
|
||||
children: [
|
||||
if (widget.errorLeading != null) widget.errorLeading!,
|
||||
@@ -1304,7 +1304,7 @@ class ComicListState extends State<ComicList> {
|
||||
comics: _data.values.expand((element) => element).toList(),
|
||||
menuBuilder: widget.menuBuilder,
|
||||
onLastItemBuild: () {
|
||||
if (_error == null && (_maxPage == null || _page < _maxPage!)) {
|
||||
if (_error == null && (_maxPage == null || _data.length < _maxPage!)) {
|
||||
_loadPage(_data.length + 1);
|
||||
}
|
||||
},
|
||||
@@ -1334,7 +1334,7 @@ class ComicListState extends State<ComicList> {
|
||||
],
|
||||
).paddingHorizontal(16).paddingVertical(8),
|
||||
)
|
||||
else if (_maxPage == null || _page < _maxPage!)
|
||||
else if (_maxPage == null || _data.length < _maxPage!)
|
||||
const SliverListLoadingIndicator(),
|
||||
if (widget.trailingSliver != null) widget.trailingSliver!,
|
||||
],
|
||||
|
||||
@@ -181,7 +181,15 @@ abstract class ImageDownloader {
|
||||
}
|
||||
|
||||
if (configs['onResponse'] is JSInvokable) {
|
||||
buffer = (configs['onResponse'] as JSInvokable)([Uint8List.fromList(buffer)]);
|
||||
dynamic result = (configs['onResponse'] as JSInvokable)([Uint8List.fromList(buffer)]);
|
||||
if (result is Future) {
|
||||
result = await result;
|
||||
}
|
||||
if (result is List<int>) {
|
||||
buffer = result;
|
||||
} else {
|
||||
throw "Error: Invalid onResponse result.";
|
||||
}
|
||||
(configs['onResponse'] as JSInvokable).free();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user