chore: disable lemma emoji selection for word card in token feedback dialog (#5026)
This commit is contained in:
parent
9fd68c7b3d
commit
18bd2e4b6a
6 changed files with 16 additions and 6 deletions
|
|
@ -22,6 +22,7 @@ class LemmaHighlightEmojiRow extends StatefulWidget {
|
|||
|
||||
final String? emoji;
|
||||
final Widget? selectedEmojiBadge;
|
||||
final bool enabled;
|
||||
|
||||
const LemmaHighlightEmojiRow({
|
||||
super.key,
|
||||
|
|
@ -32,6 +33,7 @@ class LemmaHighlightEmojiRow extends StatefulWidget {
|
|||
required this.messageInfo,
|
||||
this.emoji,
|
||||
this.selectedEmojiBadge,
|
||||
this.enabled = true,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -89,6 +91,7 @@ class LemmaHighlightEmojiRowState extends State<LemmaHighlightEmojiRow>
|
|||
? widget.selectedEmojiBadge
|
||||
: null,
|
||||
showShimmer: widget.emoji == null,
|
||||
enabled: widget.enabled,
|
||||
);
|
||||
},
|
||||
).toList(),
|
||||
|
|
@ -107,6 +110,7 @@ class EmojiChoiceItem extends StatefulWidget {
|
|||
final String transformTargetId;
|
||||
final Widget? badge;
|
||||
final bool showShimmer;
|
||||
final bool enabled;
|
||||
|
||||
const EmojiChoiceItem({
|
||||
super.key,
|
||||
|
|
@ -117,6 +121,7 @@ class EmojiChoiceItem extends StatefulWidget {
|
|||
required this.transformTargetId,
|
||||
this.badge,
|
||||
this.showShimmer = true,
|
||||
this.enabled = true,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -148,7 +153,7 @@ class EmojiChoiceItemState extends State<EmojiChoiceItem> {
|
|||
}
|
||||
|
||||
void _showShimmer() {
|
||||
if (!widget.showShimmer) return;
|
||||
if (!widget.showShimmer || !widget.enabled) return;
|
||||
|
||||
setState(() => shimmer = true);
|
||||
_shimmerTimer?.cancel();
|
||||
|
|
@ -171,7 +176,7 @@ class EmojiChoiceItemState extends State<EmojiChoiceItem> {
|
|||
Widget build(BuildContext context) {
|
||||
return HoverBuilder(
|
||||
builder: (context, hovered) => GestureDetector(
|
||||
onTap: widget.onSelectEmoji,
|
||||
onTap: widget.enabled ? widget.onSelectEmoji : null,
|
||||
child: Stack(
|
||||
children: [
|
||||
ShimmerBackground(
|
||||
|
|
@ -190,7 +195,7 @@ class EmojiChoiceItemState extends State<EmojiChoiceItem> {
|
|||
duration: const Duration(milliseconds: 200),
|
||||
padding: const EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
color: hovered || widget.selected
|
||||
color: widget.enabled && (hovered || widget.selected)
|
||||
? Theme.of(context).colorScheme.secondary.withAlpha(30)
|
||||
: Colors.transparent,
|
||||
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ class TokenFeedbackUtil {
|
|||
),
|
||||
);
|
||||
|
||||
if (resp == null) return;
|
||||
await showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ class TokenInfoFeedbackDialog extends StatelessWidget {
|
|||
token: selectedToken.text,
|
||||
construct: selectedToken.vocabConstructID,
|
||||
langCode: langCode,
|
||||
enableEmojiSelection: false,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,9 +110,6 @@ class MessageSelectionPositionerState extends State<MessageSelectionPositioner>
|
|||
_reactionSubscription?.cancel();
|
||||
_contentChangedSubscription?.cancel();
|
||||
scrollController?.dispose();
|
||||
Matrix.of(context).audioPlayer
|
||||
?..stop()
|
||||
..dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,12 +13,14 @@ class LemmaReactionPicker extends StatefulWidget with LemmaEmojiSetter {
|
|||
final Event? event;
|
||||
final ConstructIdentifier constructId;
|
||||
final String langCode;
|
||||
final bool enabled;
|
||||
|
||||
const LemmaReactionPicker({
|
||||
super.key,
|
||||
required this.constructId,
|
||||
required this.langCode,
|
||||
this.event,
|
||||
this.enabled = true,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -120,6 +122,7 @@ class LemmaReactionPickerState extends State<LemmaReactionPicker> {
|
|||
size: 12.0,
|
||||
)
|
||||
: null,
|
||||
enabled: widget.enabled,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class WordZoomWidget extends StatelessWidget {
|
|||
|
||||
final Event? event;
|
||||
|
||||
final bool enableEmojiSelection;
|
||||
final VoidCallback? onDismissNewWordOverlay;
|
||||
final Function(LemmaInfoResponse, String)? onFlagTokenInfo;
|
||||
|
||||
|
|
@ -37,6 +38,7 @@ class WordZoomWidget extends StatelessWidget {
|
|||
required this.langCode,
|
||||
this.onClose,
|
||||
this.event,
|
||||
this.enableEmojiSelection = true,
|
||||
this.onDismissNewWordOverlay,
|
||||
this.onFlagTokenInfo,
|
||||
});
|
||||
|
|
@ -156,6 +158,7 @@ class WordZoomWidget extends StatelessWidget {
|
|||
constructId: construct,
|
||||
langCode: langCode,
|
||||
event: event,
|
||||
enabled: enableEmojiSelection,
|
||||
),
|
||||
LemmaMeaningDisplay(
|
||||
langCode: langCode,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue