This commit is contained in:
cxc
2023-02-07 17:28:01 +08:00
parent ac65c1dec0
commit 06ff4a41f4
25 changed files with 537 additions and 184 deletions

View File

@ -1,8 +1,11 @@
import 'package:fluent_ui/fluent_ui.dart';
// import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:momo/fluent/login.dart';
import 'package:momo/fluent/router.dart';
import 'package:momo/provider/token.dart';
import 'package:shared_preferences/shared_preferences.dart';
class MyFluentApp extends ConsumerWidget {
const MyFluentApp({Key? key}) : super(key: key);
@ -10,16 +13,31 @@ class MyFluentApp extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final String token = ref.watch(tokenProvider);
return token.isNotEmpty
? FluentApp.router(
routeInformationParser:
MyFluentRouterConfig.router.routeInformationParser,
routerDelegate: MyFluentRouterConfig.router.routerDelegate,
color: Colors.blue,
)
: FluentApp(
color: Colors.blue,
home: LoginPage(),
);
Future<String?> loadToken() async {
final prefs = await SharedPreferences.getInstance();
String? tk = await prefs.getString("token");
return tk;
}
return FutureBuilder(
future: loadToken(),
builder: (BuildContext context, AsyncSnapshot<String?> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
MyFluentRouterConfig myFluentRouterConfig =
MyFluentRouterConfig(snapshot.data);
return FluentApp.router(
routeInformationParser:
myFluentRouterConfig.router.routeInformationParser,
routerDelegate: myFluentRouterConfig.router.routerDelegate,
color: Colors.blue,
);
} else {
return const FluentApp(
home: ScaffoldPage(
content: Placeholder(),
),
);
}
});
}
}