This commit is contained in:
DelLevin-Home
2026-06-18 18:52:01 +08:00
parent ba2612fef8
commit 8c7631b252
23 changed files with 906 additions and 599 deletions

View File

@@ -233,6 +233,7 @@ class _BookReviewFormPageState extends State<BookReviewFormPage> {
return;
}
try {
final now = DateTime.now();
if (widget.review == null) {
@@ -264,5 +265,9 @@ class _BookReviewFormPageState extends State<BookReviewFormPage> {
ToastUtil.show(context, widget.review == null ? '添加成功' : '更新成功');
Navigator.pop(context);
} catch (e) {
if (!mounted) return;
ToastUtil.show(context, '保存失败: $e');
}
}
}

View File

@@ -28,6 +28,7 @@ class _BookTabPageState extends State<BookTabPage> {
int _lastDataCount = -1;
DateTime? _lastUpdatedAt;
late ScrollController _scrollController;
AppProvider? _provider;
static const _statusMap = {0: 'read', 1: 'reading', 2: 'want_to_read'};
@@ -38,6 +39,7 @@ class _BookTabPageState extends State<BookTabPage> {
_scrollController = ScrollController()..addListener(_onScroll);
WidgetsBinding.instance.addPostFrameCallback((_) {
final provider = context.read<AppProvider>();
_provider = provider;
provider.addListener(_onDataChanged);
_lastDataCount = provider.books.length;
if (provider.books.isNotEmpty) _lastUpdatedAt = provider.books.first.updatedAt;
@@ -47,6 +49,7 @@ class _BookTabPageState extends State<BookTabPage> {
@override
void dispose() {
_provider?.removeListener(_onDataChanged);
_scrollController.dispose();
super.dispose();
}