This commit is contained in:
cxc
2023-02-08 17:20:16 +08:00
parent 06ff4a41f4
commit 53ff2fc59b
23 changed files with 458 additions and 104 deletions

View File

@ -1,49 +1,62 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
// import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:momo/material/router.dart';
import 'package:momo/provider/token.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:provider/provider.dart';
class MyMaterialApp extends ConsumerWidget {
const MyMaterialApp({Key? key}) : super(key: key);
Future<String?> loadToken() async {
final prefs = await SharedPreferences.getInstance();
String? tk = await prefs.getString("token");
String? tk = prefs.getString("token");
return tk;
}
@override
Widget build(BuildContext context, WidgetRef ref) {
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);
String? token = ref.watch(tokenProvider);
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(),
),
);
}
});
return MaterialApp.router(
routerConfig: myMaterialRouterConfig.router,
debugShowCheckedModeBanner: false,
theme:
ThemeData(useMaterial3: true, scaffoldBackgroundColor: Colors.white),
);
// 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(),
// ),
// );
// }
// });
}
}