Merge pull request #963 from pangeachat/hidden-words-testing

showToolbar on click non-toolbar message, don't re-launch on toolbar …
pull/1490/head
ggurdin 1 year ago committed by GitHub
commit d227202d58
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -308,14 +308,16 @@ class MessageContent extends StatelessWidget {
if (pangeaMessageEvent?.messageDisplayRepresentation?.tokens !=
null) {
return MessageTokenTextStateful(
return MessageTokenText(
messageAnalyticsEntry:
controller.pangeaController.getAnalytics.perMessage.get(
pangeaMessageEvent!,
false,
)!,
style: messageTextStyle,
onClick: (token) => controller.showToolbar(pangeaMessageEvent!),
onClick: overlayController?.onClickOverlayMessageToken ??
(_) => controller.showToolbar(pangeaMessageEvent!),
isSelected: overlayController?.isTokenSelected,
);
}

@ -9,22 +9,23 @@ import 'package:flutter/material.dart';
/// Question - does this need to be stateful or does this work?
/// Need to test.
class MessageTokenTextStateful extends StatelessWidget {
class MessageTokenText extends StatelessWidget {
final PangeaController pangeaController = MatrixState.pangeaController;
final MessageAnalyticsEntry messageAnalyticsEntry;
final TextStyle style;
final bool Function(PangeaToken)? isSelected;
final void Function(PangeaToken)? onClick;
bool get ownMessage => messageAnalyticsEntry.pmEvent.ownMessage;
MessageTokenTextStateful({
MessageTokenText({
super.key,
required this.messageAnalyticsEntry,
required this.style,
required this.onClick,
this.isSelected,
});
PangeaMessageEvent get pangeaMessageEvent => messageAnalyticsEntry.pmEvent;
@ -47,13 +48,16 @@ class MessageTokenTextStateful extends StatelessWidget {
final int startIndex = messageCharacters.take(start).length;
final int endIndex = messageCharacters.take(end).length;
final hideContent =
token.targetTypes.contains(ActivityTypeEnum.hiddenWordListening);
if (globalIndex < startIndex) {
tokenPositions.add(
TokenPosition(
start: globalIndex,
end: startIndex,
hideContent: false,
highlight: false,
highlight: isSelected?.call(token.token) ?? false,
),
);
}
@ -63,9 +67,8 @@ class MessageTokenTextStateful extends StatelessWidget {
start: startIndex,
end: endIndex,
token: token.token,
hideContent:
token.targetTypes.contains(ActivityTypeEnum.hiddenWordListening),
highlight: false,
hideContent: hideContent,
highlight: (isSelected?.call(token.token) ?? false) && !hideContent,
),
);
globalIndex = endIndex;

Loading…
Cancel
Save