Files
markettakers-flutter/example/lib/main.dart

67 lines
1.5 KiB
Dart

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,
),
),
),
);
}