Optimized chat

This commit is contained in:
LittleSheep 2024-06-05 23:55:21 +08:00
parent ca1a8a04cb
commit df7dd85a0c
3 changed files with 62 additions and 70 deletions

View File

@ -339,7 +339,6 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
Expanded( Expanded(
child: PagedListView<int, Message>( child: PagedListView<int, Message>(
reverse: true, reverse: true,
clipBehavior: Clip.none,
pagingController: _pagingController, pagingController: _pagingController,
builderDelegate: PagedChildBuilderDelegate<Message>( builderDelegate: PagedChildBuilderDelegate<Message>(
itemBuilder: buildHistory, itemBuilder: buildHistory,
@ -351,8 +350,8 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
), ),
Positioned( Positioned(
bottom: math.max(MediaQuery.of(context).padding.bottom, 16), bottom: math.max(MediaQuery.of(context).padding.bottom, 16),
left: 16, left: 0,
right: 16, right: 0,
child: ChatMessageInput( child: ChatMessageInput(
edit: _messageToEditing, edit: _messageToEditing,
reply: _messageToReplying, reply: _messageToReplying,

View File

@ -116,8 +116,6 @@ class ChatMessage extends StatelessWidget {
item.sender.account.nick, item.sender.account.nick,
style: const TextStyle(fontWeight: FontWeight.bold), style: const TextStyle(fontWeight: FontWeight.bold),
), ),
const SizedBox(width: 4),
Text(format(item.createdAt, locale: 'en_short')),
Expanded(child: buildContent()), Expanded(child: buildContent()),
], ],
); );

View File

@ -157,8 +157,6 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
const borderRadius = BorderRadius.all(Radius.circular(20));
final notifyBannerActions = [ final notifyBannerActions = [
TextButton( TextButton(
onPressed: resetInput, onPressed: resetInput,
@ -167,13 +165,11 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
]; ];
return Material( return Material(
borderRadius: borderRadius, color: Theme.of(context).colorScheme.surface,
elevation: 2,
child: ClipRRect(
borderRadius: borderRadius,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
const Divider(thickness: 0.3, height: 0.3),
if (_replyTo != null) if (_replyTo != null)
MaterialBanner( MaterialBanner(
leading: const FaIcon(FontAwesomeIcons.reply, size: 18), leading: const FaIcon(FontAwesomeIcons.reply, size: 18),
@ -228,11 +224,10 @@ class _ChatMessageInputState extends State<ChatMessageInput> {
onPressed: () => sendMessage(), onPressed: () => sendMessage(),
) )
], ],
).paddingOnly(left: 16, right: 4), ).paddingOnly(left: 20, right: 16),
), ),
], ],
), ),
),
); );
} }
} }