feat(flutter): 增加目录加载诊断与前台重试
This commit is contained in:
1 parent
d68734cdab
commit
730a96559b
10 files changed
+268
-16
No files matched your search
@@ -2,12 +2,14 @@
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../../core/data/models/drama.dart';
|
||||
import '../../core/data/repositories/search_repository.dart';
|
||||
import '../../core/data/services/catalog_retry.dart';
|
||||
import '../../core/data/services/category_controller.dart';
|
||||
import '../../core/formatting/error_text.dart';
|
||||
import '../../core/theme/app_colors.dart';
|
||||
@@ -15,6 +17,7 @@ import '../../core/theme/app_dimens.dart';
|
||||
import '../../core/theme/app_theme.dart';
|
||||
import '../../core/widgets/app_bottom_nav.dart';
|
||||
import '../../core/widgets/app_pull_to_refresh.dart';
|
||||
import '../../core/widgets/catalog_debug_info.dart';
|
||||
import '../../core/widgets/empty_state.dart';
|
||||
import '../../l10n/app_localizations.dart';
|
||||
import '../filter/filter_page.dart';
|
||||
@@ -253,7 +256,10 @@ class _DiscoverPageState extends State<DiscoverPage> {
|
||||
title: errorText(l10n, error, l10n.categoriesError),
|
||||
subtitle: l10n.emptyHint,
|
||||
actionLabel: l10n.retry,
|
||||
onAction: categories.load,
|
||||
onAction: () => unawaited(_retryCategories(categories)),
|
||||
footer: kDebugMode
|
||||
? CatalogDebugInfo(error: categories.debugError ?? error)
|
||||
: null,
|
||||
),
|
||||
),
|
||||
];
|
||||
@@ -503,8 +509,14 @@ class _DiscoverPageState extends State<DiscoverPage> {
|
||||
Navigator.of(context).push<void>(MaterialPageRoute(builder: (_) => page));
|
||||
}
|
||||
|
||||
Widget _block(Widget child) =>
|
||||
SizedBox(height: 280, child: Center(child: child));
|
||||
Widget _block(Widget child) => ConstrainedBox(
|
||||
constraints: const BoxConstraints(minHeight: 280),
|
||||
child: Center(child: child),
|
||||
);
|
||||
|
||||
Future<void> _retryCategories(CategoryController categories) {
|
||||
return retryCatalogLoad(reload: categories.load);
|
||||
}
|
||||
|
||||
void _act(DiscoverPageAction action) {
|
||||
logic.act(
|
||||
|
||||
Reference in new issue
Block a user