diff --git a/mobile/lib/widgets/map/map_bottom_sheet.dart b/mobile/lib/widgets/map/map_bottom_sheet.dart index d52a426469..0249ca70dc 100644 --- a/mobile/lib/widgets/map/map_bottom_sheet.dart +++ b/mobile/lib/widgets/map/map_bottom_sheet.dart @@ -59,9 +59,10 @@ class MapBottomSheet extends HookConsumerWidget { child: DraggableScrollableSheet( controller: sheetController, minChildSize: sheetMinExtent, - maxChildSize: 0.5, + maxChildSize: 0.8, initialChildSize: sheetMinExtent, snap: true, + snapSizes: [sheetMinExtent, 0.5, 0.8], shouldCloseOnMinExtent: false, builder: (ctx, scrollController) => MapAssetGrid( controller: scrollController, @@ -78,18 +79,23 @@ class MapBottomSheet extends HookConsumerWidget { ), ValueListenableBuilder( valueListenable: bottomSheetOffset, - builder: (ctx, value, child) => Positioned( - right: 0, - bottom: context.height * (value + 0.02), - child: child!, - ), - child: ElevatedButton( - onPressed: onZoomToLocation, - style: ElevatedButton.styleFrom( - shape: const CircleBorder(), - ), - child: const Icon(Icons.my_location), - ), + builder: (context, value, child) { + return Positioned( + right: 0, + bottom: context.height * (value + 0.02), + child: AnimatedOpacity( + opacity: value < 0.8 ? 1 : 0, + duration: const Duration(milliseconds: 150), + child: ElevatedButton( + onPressed: onZoomToLocation, + style: ElevatedButton.styleFrom( + shape: const CircleBorder(), + ), + child: const Icon(Icons.my_location), + ), + ), + ); + }, ), ], );