mirror of https://github.com/flutter/samples.git
commit
7e9749169c
@ -0,0 +1,10 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
Notable changes to the samples in this repository are listed here.
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### compass_app
|
||||||
|
|
||||||
|
* Scope `LogoutViewModel` to the home route so it is not recreated on every
|
||||||
|
`HomeHeader` rebuild ([#2604](https://github.com/flutter/samples/issues/2604)).
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../../../data/repositories/booking/booking_repository.dart';
|
||||||
|
import '../../../data/repositories/user/user_repository.dart';
|
||||||
|
import '../view_models/home_viewmodel.dart';
|
||||||
|
import 'home_screen.dart';
|
||||||
|
|
||||||
|
class HomeScreenContainer extends StatefulWidget {
|
||||||
|
const HomeScreenContainer({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<HomeScreenContainer> createState() => _HomeScreenContainerState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _HomeScreenContainerState extends State<HomeScreenContainer> {
|
||||||
|
late final HomeViewModel _viewModel;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
|
||||||
|
_viewModel = HomeViewModel(
|
||||||
|
bookingRepository: context.read<BookingRepository>(),
|
||||||
|
userRepository: context.read<UserRepository>(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return HomeScreen(viewModel: _viewModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_viewModel.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in new issue