aves/lib/widgets/common/map/theme.dart
2021-09-15 11:53:01 +09:00

53 lines
1.3 KiB
Dart

import 'package:aves/model/settings/settings.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
enum MapNavigationButton { back, map }
class MapTheme extends StatelessWidget {
final bool interactive;
final MapNavigationButton navigationButton;
final VisualDensity? visualDensity;
final double? mapHeight;
final Widget child;
const MapTheme({
Key? key,
required this.interactive,
required this.navigationButton,
this.visualDensity,
this.mapHeight,
required this.child,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return ProxyProvider<Settings, MapThemeData>(
update: (_, settings, __) {
return MapThemeData(
interactive: interactive,
navigationButton: navigationButton,
visualDensity: visualDensity,
mapHeight: mapHeight,
// TODO TLAD use settings?
// showLocation: showBackButton ?? settings.showThumbnailLocation,
);
},
child: child,
);
}
}
class MapThemeData {
final bool interactive;
final MapNavigationButton navigationButton;
final VisualDensity? visualDensity;
final double? mapHeight;
const MapThemeData({
required this.interactive,
required this.navigationButton,
this.visualDensity,
this.mapHeight,
});
}