From b63a1d3e5c33f2a02141802f82498b2310e529b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Wed, 25 Jun 2025 10:29:28 +0200 Subject: [PATCH] fix: Design glitches in sticker dialog --- lib/pages/chat/sticker_picker_dialog.dart | 45 +++++++++++++---------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/lib/pages/chat/sticker_picker_dialog.dart b/lib/pages/chat/sticker_picker_dialog.dart index 782d55d32..090be367b 100644 --- a/lib/pages/chat/sticker_picker_dialog.dart +++ b/lib/pages/chat/sticker_picker_dialog.dart @@ -73,26 +73,29 @@ class StickerPickerDialogState extends State { physics: const NeverScrollableScrollPhysics(), itemBuilder: (BuildContext context, int imageIndex) { final image = pack.images[imageKeys[imageIndex]]!; - return InkWell( - radius: AppConfig.borderRadius, - key: ValueKey(image.url.toString()), - onTap: () { - // copy the image - final imageCopy = - ImagePackImageContent.fromJson(image.toJson().copy()); - // set the body, if it doesn't exist, to the key - imageCopy.body ??= imageKeys[imageIndex]; - widget.onSelected(imageCopy); - }, - child: AbsorbPointer( - absorbing: true, - child: MxcImage( - uri: image.url, - fit: BoxFit.contain, - width: 128, - height: 128, - animated: true, - isThumbnail: false, + return Tooltip( + message: image.body ?? imageKeys[imageIndex], + child: InkWell( + radius: AppConfig.borderRadius, + key: ValueKey(image.url.toString()), + onTap: () { + // copy the image + final imageCopy = + ImagePackImageContent.fromJson(image.toJson().copy()); + // set the body, if it doesn't exist, to the key + imageCopy.body ??= imageKeys[imageIndex]; + widget.onSelected(imageCopy); + }, + child: AbsorbPointer( + absorbing: true, + child: MxcImage( + uri: image.url, + fit: BoxFit.contain, + width: 128, + height: 128, + animated: true, + isThumbnail: false, + ), ), ), ); @@ -111,6 +114,7 @@ class StickerPickerDialogState extends State { SliverAppBar( floating: true, pinned: true, + scrolledUnderElevation: 0, automaticallyImplyLeading: false, backgroundColor: Colors.transparent, title: SizedBox( @@ -118,6 +122,7 @@ class StickerPickerDialogState extends State { child: TextField( autofocus: false, decoration: InputDecoration( + filled: true, hintText: L10n.of(context).search, prefixIcon: const Icon(Icons.search_outlined), contentPadding: EdgeInsets.zero,