mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
- Implemented ChatScrollController to manage scroll behavior and visibility of jump-to-bottom button. - Added functionality to automatically scroll to the bottom when the keyboard opens. - Created JumpToBottomButton widget that appears when the user scrolls up, allowing quick navigation back to the bottom of the chat.
29 lines
786 B
Dart
29 lines
786 B
Dart
import 'package:flutter/material.dart';
|
|
import '../helpers/chat_scroll_controller.dart';
|
|
|
|
class JumpToBottomButton extends StatelessWidget {
|
|
final ChatScrollController scrollController;
|
|
|
|
const JumpToBottomButton({
|
|
super.key,
|
|
required this.scrollController,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ValueListenableBuilder<bool>(
|
|
valueListenable: scrollController.showJumpToBottom,
|
|
builder: (context, show, _) {
|
|
if (!show) return const SizedBox.shrink();
|
|
return Positioned(
|
|
right: 16,
|
|
bottom: 16,
|
|
child: FloatingActionButton.small(
|
|
onPressed: scrollController.jumpToBottom,
|
|
child: const Icon(Icons.keyboard_arrow_down),
|
|
),
|
|
);
|
|
},
|
|
);
|
|
}
|
|
}
|