aves/lib/widgets/common/providers/tile_extent_controller_provider.dart
2022-05-12 21:48:46 +09:00

28 lines
777 B
Dart

import 'package:aves/widgets/common/tile_extent_controller.dart';
import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
class TileExtentControllerProvider extends StatelessWidget {
final TileExtentController controller;
final Widget child;
const TileExtentControllerProvider({
super.key,
required this.controller,
required this.child,
});
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, constraints) {
return LayoutBuilder(
builder: (context, constraints) => ProxyProvider0<TileExtentController>(
update: (context, __) => controller..setViewportSize(constraints.biggest),
child: child,
),
);
},
);
}
}