only show emoji selection shimmer if no emoji is selected

This commit is contained in:
ggurdin 2025-12-17 09:37:00 -05:00
parent a8084c51ba
commit 1effc21cde
No known key found for this signature in database
GPG key ID: A01CB41737CBB478

View file

@ -88,6 +88,7 @@ class LemmaHighlightEmojiRowState extends State<LemmaHighlightEmojiRow> {
badge: widget.emoji == emoji
? widget.selectedEmojiBadge
: null,
showShimmer: widget.emoji == null,
),
)
.toList(),
@ -105,6 +106,7 @@ class EmojiChoiceItem extends StatefulWidget {
final bool selected;
final String transformTargetId;
final Widget? badge;
final bool showShimmer;
const EmojiChoiceItem({
super.key,
@ -114,6 +116,7 @@ class EmojiChoiceItem extends StatefulWidget {
required this.onSelectEmoji,
required this.transformTargetId,
this.badge,
this.showShimmer = true,
});
@override
@ -121,7 +124,7 @@ class EmojiChoiceItem extends StatefulWidget {
}
class EmojiChoiceItemState extends State<EmojiChoiceItem> {
bool shimmer = true;
bool shimmer = false;
Timer? _shimmerTimer;
@override
@ -145,6 +148,8 @@ class EmojiChoiceItemState extends State<EmojiChoiceItem> {
}
void _showShimmer() {
if (!widget.showShimmer) return;
setState(() => shimmer = true);
_shimmerTimer?.cancel();
_shimmerTimer = Timer(const Duration(milliseconds: 1500), () {