Merge pull request #963 from pangeachat/hidden-words-testing
showToolbar on click non-toolbar message, don't re-launch on toolbar …
This commit is contained in:
commit
d227202d58
2 changed files with 14 additions and 9 deletions
|
|
@ -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…
Add table
Reference in a new issue