import 'package:flutter/material.dart'; import '../helpers/chat_scroll_controller.dart'; import '../theme/mesh_theme.dart'; class JumpToBottomButton extends StatelessWidget { final ChatScrollController scrollController; const JumpToBottomButton({super.key, required this.scrollController}); @override Widget build(BuildContext context) { final scheme = Theme.of(context).colorScheme; return ValueListenableBuilder( valueListenable: scrollController.showJumpToBottom, builder: (context, show, _) { if (!show) return const SizedBox.shrink(); return Positioned( right: 16, bottom: 16, child: Material( color: Colors.transparent, child: InkWell( onTap: scrollController.jumpToBottom, borderRadius: BorderRadius.circular(MeshRadii.pill), child: Container( width: 40, height: 40, decoration: BoxDecoration( shape: BoxShape.circle, color: scheme.surfaceContainerHigh.withValues(alpha: 0.92), border: Border.all(color: scheme.outlineVariant, width: 1), boxShadow: [ BoxShadow( color: Colors.black.withValues(alpha: 0.18), blurRadius: 8, offset: const Offset(0, 2), ), ], ), child: Icon( Icons.keyboard_arrow_down, size: 22, color: scheme.primary, ), ), ), ), ); }, ); } }