migrate: riverpod + freezed (#870)

This commit is contained in:
lollipopkit🏳️‍⚧️
2025-08-31 00:55:54 +08:00
committed by GitHub
parent 9cb705f8dd
commit 53a7c0d8ff
67 changed files with 5012 additions and 1328 deletions

View File

@@ -5,18 +5,13 @@ import 'dart:async';
import 'package:computer/computer.dart';
import 'package:fl_lib/fl_lib.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_displaymode/flutter_displaymode.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:hive_ce_flutter/hive_flutter.dart';
import 'package:logging/logging.dart';
import 'package:server_box/app.dart';
import 'package:server_box/core/sync.dart';
import 'package:server_box/data/model/app/menu/server_func.dart';
import 'package:server_box/data/model/app/server_detail_card.dart';
import 'package:server_box/data/provider/private_key.dart';
import 'package:server_box/data/provider/server.dart';
import 'package:server_box/data/provider/sftp.dart';
import 'package:server_box/data/provider/snippet.dart';
import 'package:server_box/data/res/build_data.dart';
import 'package:server_box/data/res/store.dart';
import 'package:server_box/data/ssh/session_manager.dart';
@@ -26,7 +21,7 @@ import 'package:server_box/hive/hive_registrar.g.dart';
Future<void> main() async {
_runInZone(() async {
await _initApp();
runApp(const MyApp());
runApp(ProviderScope(child: const MyApp()));
});
}
@@ -66,12 +61,6 @@ Future<void> _initData() async {
// DO DB migration before load any provider.
await _doDbMigrate();
// DO NOT change the order of these providers.
PrivateKeyProvider.instance.load();
SnippetProvider.instance.load();
ServerProvider.instance.load();
SftpProvider.instance.load();
if (Stores.setting.betaTest.fetch()) AppUpdate.chan = AppUpdateChan.beta;
FontUtils.loadFrom(Stores.setting.fontPath.fetch());
@@ -94,10 +83,7 @@ void _doPlatformRelated() async {
}
final serversCount = Stores.server.keys().length;
BackgroundIsolateBinaryMessenger.ensureInitialized(RootIsolateToken.instance!);
Computer.shared.turnOn(workersCount: (serversCount / 3).round() + 1); // Plus 1 to avoid 0.
bakSync.sync();
}
// It may contains some async heavy funcs.