refactor(bootstapper): migration to riverpod

This commit is contained in:
hdbg
2025-12-17 20:03:18 +01:00
parent 31981fb19e
commit d7ec54d8ca
68 changed files with 4004 additions and 776 deletions

66
example/lib/main.dart Normal file
View File

@@ -0,0 +1,66 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:mtcore/markettakers.dart';
class SimpleStage extends StageFactory {
@override
final String title = "Test";
@override
Future<bool> get isAlreadyCompleted async {
return false;
}
@override
Future<void> start(StageController controller) async {
await Future.delayed(Duration(seconds: 2));
controller.setDefiniteProgress(0.3);
controller.updateTitle("test 2");
await Future.delayed(Duration(seconds: 2));
controller.setDefiniteProgress(0.6);
}
}
class SimpleStage2 extends StageFactory {
@override
final String title = "Test 2";
@override
Future<bool> get isAlreadyCompleted async {
return false;
}
@override
Future<void> start(StageController controller) async {
controller.setDefiniteProgress(0.1);
await Future.delayed(Duration(seconds: 2));
controller.setDefiniteProgress(0.3);
controller.updateTitle("test 5");
await Future.delayed(Duration(seconds: 2));
controller.setDefiniteProgress(0.6);
}
}
void main() async {
WidgetsFlutterBinding.ensureInitialized();
init();
final completer = Completer<void>();
completer.future.then((_) {
talker.info("Bootstrapper completed, launching app");
});
runApp(
MaterialApp(
theme: ThemeData.dark(useMaterial3: true),
home: ProviderScope(
child: Bootstrapper(
stages: [SimpleStage(), SimpleStage2()],
onCompleted: completer,
),
),
),
);
}