import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:stacked/stacked.dart'; import 'package:yimaru_app/ui/common/ui_helpers.dart'; import 'startup_viewmodel.dart'; class StartupView extends StackedView { const StartupView({Key? key}) : super(key: key); @override Widget builder( BuildContext context, StartupViewModel viewModel, Widget? child, ) { return const Scaffold( body: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Text( 'STACKED', style: TextStyle(fontSize: 40, fontWeight: FontWeight.w900), ), Row( mainAxisSize: MainAxisSize.min, children: [ Text('Loading ...', style: TextStyle(fontSize: 16)), horizontalSpaceSmall, SizedBox( width: 16, height: 16, child: CircularProgressIndicator( color: Colors.black, strokeWidth: 6, ), ), ], ), ], ), ), ); } @override StartupViewModel viewModelBuilder(BuildContext context) => StartupViewModel(); @override void onViewModelReady(StartupViewModel viewModel) => SchedulerBinding.instance .addPostFrameCallback((timeStamp) => viewModel.runStartupLogic()); }