mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
opt.: check client before route pushed
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:toolbox/core/analysis.dart';
|
||||
import 'package:toolbox/data/provider/server.dart';
|
||||
import 'package:toolbox/locator.dart';
|
||||
|
||||
import 'utils/ui.dart';
|
||||
|
||||
class AppRoute {
|
||||
final Widget page;
|
||||
@@ -14,4 +19,17 @@ class AppRoute {
|
||||
MaterialPageRoute(builder: (context) => page),
|
||||
);
|
||||
}
|
||||
|
||||
Future<T?> checkClientAndGo<T>({
|
||||
required BuildContext context,
|
||||
required S s,
|
||||
required String id,
|
||||
}) {
|
||||
final server = locator<ServerProvider>().servers[id];
|
||||
if (server == null || server.client == null) {
|
||||
showSnackBar(context, Text(s.waitConnection));
|
||||
return Future.value(null);
|
||||
}
|
||||
return go(context);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user