mirror of
https://ghfast.top/https://github.com/StarCitizenToolBox/app.git
synced 2025-06-29 08:05:39 +08:00
feat:riverpod 迁移
This commit is contained in:
@ -1,12 +1,29 @@
|
||||
import 'package:starcitizen_doctor/base/ui.dart';
|
||||
import 'package:starcitizen_doctor/common/conf/app_conf.dart';
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:starcitizen_doctor/api/analytics.dart';
|
||||
import 'package:starcitizen_doctor/app.dart';
|
||||
import 'package:starcitizen_doctor/common/conf/const_conf.dart';
|
||||
import 'package:starcitizen_doctor/common/conf/url_conf.dart';
|
||||
import 'package:starcitizen_doctor/common/io/aria2c.dart';
|
||||
import 'package:starcitizen_doctor/common/utils/log.dart';
|
||||
import 'package:starcitizen_doctor/widgets/widgets.dart';
|
||||
|
||||
import 'splash_ui_model.dart';
|
||||
class SplashUI extends HookConsumerWidget {
|
||||
const SplashUI({super.key});
|
||||
|
||||
class SplashUI extends BaseUI<SplashUIModel> {
|
||||
@override
|
||||
Widget? buildBody(BuildContext context, SplashUIModel model) {
|
||||
return makeDefaultPage(context, model,
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final stepState = useState(0);
|
||||
final step = stepState.value;
|
||||
|
||||
useEffect(() {
|
||||
final appModel = ref.read(appGlobalModelProvider.notifier);
|
||||
_initApp(context, appModel, stepState);
|
||||
return null;
|
||||
}, const []);
|
||||
|
||||
return makeDefaultPage(context,
|
||||
content: Center(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
@ -15,9 +32,9 @@ class SplashUI extends BaseUI<SplashUIModel> {
|
||||
const SizedBox(height: 32),
|
||||
const ProgressRing(),
|
||||
const SizedBox(height: 32),
|
||||
if (model.step == 0) const Text("正在检测可用性,这可能需要一点时间..."),
|
||||
if (model.step == 1) const Text("正在检查更新..."),
|
||||
if (model.step == 2) const Text("即将完成..."),
|
||||
if (step == 0) const Text("正在检测可用性,这可能需要一点时间..."),
|
||||
if (step == 1) const Text("正在检查更新..."),
|
||||
if (step == 2) const Text("即将完成..."),
|
||||
],
|
||||
),
|
||||
),
|
||||
@ -34,12 +51,31 @@ class SplashUI extends BaseUI<SplashUIModel> {
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
const Text(
|
||||
"SC汉化盒子 V${AppConf.appVersion} ${AppConf.isMSE ? "" : " Dev"}")
|
||||
"SC汉化盒子 V${ConstConf.appVersion} ${ConstConf.isMSE ? "" : " Dev"}")
|
||||
],
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
@override
|
||||
String getUITitle(BuildContext context, SplashUIModel model) => "";
|
||||
void _initApp(BuildContext context, AppGlobalModel appModel,
|
||||
ValueNotifier<int> stepState) async {
|
||||
await appModel.initApp();
|
||||
AnalyticsApi.touch("launch");
|
||||
try {
|
||||
await URLConf.checkHost();
|
||||
} catch (e) {
|
||||
dPrint("checkHost Error:$e");
|
||||
}
|
||||
stepState.value = 1;
|
||||
if (!context.mounted) return;
|
||||
await appModel.checkUpdate(context);
|
||||
stepState.value = 2;
|
||||
await Aria2cManager.checkLazyLoad();
|
||||
// Navigator.pushAndRemoveUntil(
|
||||
// context!,
|
||||
// BaseUIContainer(
|
||||
// uiCreate: () => IndexUI(),
|
||||
// modelCreate: () => IndexUIModel()).makeRoute(context!),
|
||||
// (route) => false);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user