39 lines
999 B
Dart
39 lines
999 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import '../database/app_database.dart';
|
|
import '../services/default_product_seeder.dart';
|
|
import '../viewmodels/bar_screen_view_model.dart';
|
|
import '../viewmodels/product_list_view_model.dart';
|
|
|
|
class AppBootstrap extends StatefulWidget {
|
|
final Widget child;
|
|
|
|
const AppBootstrap({super.key, required this.child});
|
|
|
|
@override
|
|
State<AppBootstrap> createState() => _AppBootstrapState();
|
|
}
|
|
|
|
class _AppBootstrapState extends State<AppBootstrap> {
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
if (!mounted) return;
|
|
|
|
final database = context.read<AppDatabase>();
|
|
DefaultProductSeeder(database: database).seedIfEmpty();
|
|
|
|
context.read<ProductListViewModel>().ensureLoaded();
|
|
context.read<BarScreenViewModel>().ensureLoaded();
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return widget.child;
|
|
}
|
|
}
|