Compare commits

..

1 Commits

Author SHA1 Message Date
ynyx631
9636cf62cb Fix the issue of the comic list loading infinitely. Close #584 2025-10-29 19:39:18 +08:00
4 changed files with 12 additions and 15 deletions

View File

@@ -143,7 +143,7 @@ jobs:
- run: | - run: |
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev webkit2gtk-4.1 sudo apt-get install -y ninja-build libgtk-3-dev webkit2gtk-4.1
dart pub global activate flutter_to_debian --source git https://github.com/venera-app/flutter_to_debian.git dart pub global activate flutter_to_debian
- run: python3 debian/build.py x64 - run: python3 debian/build.py x64
- run: dart run flutter_to_arch - run: dart run flutter_to_arch
- run: | - run: |
@@ -171,7 +171,7 @@ jobs:
flutter pub get flutter pub get
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev webkit2gtk-4.1 sudo apt-get install -y ninja-build libgtk-3-dev webkit2gtk-4.1
dart pub global activate flutter_to_debian --source git https://github.com/venera-app/flutter_to_debian.git dart pub global activate flutter_to_debian
- name: "Patch font" - name: "Patch font"
run: | run: |
dart run patch/font.dart dart run patch/font.dart

View File

@@ -1159,7 +1159,7 @@ class ComicListState extends State<ComicList> {
if (res.data.isEmpty) { if (res.data.isEmpty) {
setState(() { setState(() {
_data[page] = const []; _data[page] = const [];
_maxPage = page; _maxPage ??= page;
}); });
} else { } else {
setState(() { setState(() {
@@ -1282,8 +1282,8 @@ class ComicListState extends State<ComicList> {
], ],
); );
} }
if (_data[_page] == null) { if (_data[1] == null) {
_loadPage(_page); _loadPage(1);
return Column( return Column(
children: [ children: [
if (widget.errorLeading != null) widget.errorLeading!, if (widget.errorLeading != null) widget.errorLeading!,
@@ -1304,7 +1304,7 @@ class ComicListState extends State<ComicList> {
comics: _data.values.expand((element) => element).toList(), comics: _data.values.expand((element) => element).toList(),
menuBuilder: widget.menuBuilder, menuBuilder: widget.menuBuilder,
onLastItemBuild: () { onLastItemBuild: () {
if (_error == null && (_maxPage == null || _page < _maxPage!)) { if (_error == null && (_maxPage == null || _data.length < _maxPage!)) {
_loadPage(_data.length + 1); _loadPage(_data.length + 1);
} }
}, },
@@ -1334,7 +1334,7 @@ class ComicListState extends State<ComicList> {
], ],
).paddingHorizontal(16).paddingVertical(8), ).paddingHorizontal(16).paddingVertical(8),
) )
else if (_maxPage == null || _page < _maxPage!) else if (_maxPage == null || _data.length < _maxPage!)
const SliverListLoadingIndicator(), const SliverListLoadingIndicator(),
if (widget.trailingSliver != null) widget.trailingSliver!, if (widget.trailingSliver != null) widget.trailingSliver!,
], ],

View File

@@ -478,11 +478,10 @@ packages:
flutter_to_debian: flutter_to_debian:
dependency: "direct dev" dependency: "direct dev"
description: description:
path: "." name: flutter_to_debian
ref: HEAD sha256: d23534407334b331ce20fbaa8395b9ecc255d0c047136b8998715f36933ee696
resolved-ref: "3777c91b6b1cc0b7c03357c67ca216d4313c3db5" url: "https://pub.dev"
url: "https://github.com/venera-app/flutter_to_debian.git" source: hosted
source: git
version: "2.0.2" version: "2.0.2"
flutter_web_plugins: flutter_web_plugins:
dependency: transitive dependency: transitive

View File

@@ -93,9 +93,7 @@ dev_dependencies:
sdk: flutter sdk: flutter
flutter_lints: ^5.0.0 flutter_lints: ^5.0.0
flutter_to_arch: ^1.0.1 flutter_to_arch: ^1.0.1
flutter_to_debian: flutter_to_debian: ^2.0.2
git:
url: https://github.com/venera-app/flutter_to_debian.git
archive: any archive: any
flutter: flutter: