|
@@ -1,22 +1,27 @@
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
+import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
import 'package:sino_med_cloud/l10n/app_localizations.dart';
|
|
import 'package:sino_med_cloud/l10n/app_localizations.dart';
|
|
|
|
|
+import 'package:sino_med_cloud/shared/widgets/error_view.dart';
|
|
|
|
|
+import '../network_provider.dart';
|
|
|
|
|
|
|
|
-class NoNetworkPage extends StatelessWidget {
|
|
|
|
|
|
|
+class NoNetworkPage extends ConsumerWidget {
|
|
|
const NoNetworkPage({super.key});
|
|
const NoNetworkPage({super.key});
|
|
|
|
|
|
|
|
@override
|
|
@override
|
|
|
- Widget build(BuildContext context) {
|
|
|
|
|
|
|
+ Widget build(BuildContext context, WidgetRef ref) {
|
|
|
final l10n = AppLocalizations.of(context)!;
|
|
final l10n = AppLocalizations.of(context)!;
|
|
|
|
|
+
|
|
|
|
|
+ // 重试:刷新网络状态检查
|
|
|
|
|
+ void onRetry() {
|
|
|
|
|
+ ref.invalidate(networkStatusProvider);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return Scaffold(
|
|
return Scaffold(
|
|
|
- body: Center(
|
|
|
|
|
- child: Column(
|
|
|
|
|
- mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
- children: [
|
|
|
|
|
- Icon(Icons.wifi_off, size: 64),
|
|
|
|
|
- SizedBox(height: 16),
|
|
|
|
|
- Text(l10n.noNetworkConnection),
|
|
|
|
|
- ]
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ body: ErrorView(
|
|
|
|
|
+ icon: Icons.wifi_off,
|
|
|
|
|
+ message: l10n.noNetworkConnection,
|
|
|
|
|
+ error: l10n.networkErrorCheckSettings,
|
|
|
|
|
+ onRetry: onRetry,
|
|
|
),
|
|
),
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|