Files
momo/lib/material/app.dart

60 lines
2.1 KiB
Dart
Raw Normal View History

2023-02-06 23:45:56 +08:00
import 'package:flutter/material.dart';
2023-02-07 17:28:01 +08:00
import 'package:flutter_riverpod/flutter_riverpod.dart';
2023-02-06 23:45:56 +08:00
import 'package:momo/material/router.dart';
2023-02-07 17:28:01 +08:00
import 'package:momo/provider/token.dart';
import 'package:shared_preferences/shared_preferences.dart';
2023-02-06 23:45:56 +08:00
2023-02-07 17:28:01 +08:00
class MyMaterialApp extends ConsumerWidget {
2023-02-06 23:45:56 +08:00
const MyMaterialApp({Key? key}) : super(key: key);
2023-02-07 17:28:01 +08:00
Future<String?> loadToken() async {
final prefs = await SharedPreferences.getInstance();
2023-02-08 17:20:16 +08:00
String? tk = prefs.getString("token");
2023-02-07 17:28:01 +08:00
return tk;
}
2023-02-06 23:45:56 +08:00
@override
2023-02-07 17:28:01 +08:00
Widget build(BuildContext context, WidgetRef ref) {
2023-02-08 17:20:16 +08:00
String? token = ref.watch(tokenProvider);
2023-02-11 22:29:33 +08:00
// UniqueKey uniqueKey = ref.watch(uniqueIdProvider);
2023-02-08 17:20:16 +08:00
MyMaterialRouterConfig myMaterialRouterConfig =
2023-02-11 22:29:33 +08:00
MyMaterialRouterConfig(token);
2023-05-14 22:32:13 +08:00
return MaterialApp.router(
2023-02-08 17:20:16 +08:00
routerConfig: myMaterialRouterConfig.router,
debugShowCheckedModeBanner: false,
theme:
ThemeData(useMaterial3: true, scaffoldBackgroundColor: Colors.white),
2023-05-14 22:32:13 +08:00
);
2023-02-08 17:20:16 +08:00
// return FutureBuilder(
// future: loadToken(),
// builder: (BuildContext context, AsyncSnapshot<String?> snapshot) {
// if (snapshot.connectionState == ConnectionState.done) {
// String? token = snapshot.data;
// if (token != null) {
// // ref
// // .watch(
// // tokenProvider.notifier,
// // )
// // .setToken(token);
// }
// MyMaterialRouterConfig myMaterialRouterConfig =
// MyMaterialRouterConfig(token);
//
// return MaterialApp.router(
// routerConfig: myMaterialRouterConfig.router,
// theme: ThemeData(
// useMaterial3: true, scaffoldBackgroundColor: Colors.white),
// );
// } else {
// return MaterialApp(
// theme: ThemeData(
// useMaterial3: true, scaffoldBackgroundColor: Colors.white),
// home: const Center(
// child: CircularProgressIndicator(),
// ),
// );
// }
// });
2023-02-06 23:45:56 +08:00
}
}