fix: don't close word card on click (#4967)
This commit is contained in:
parent
061b667b8b
commit
b8c25cb2d7
1 changed files with 60 additions and 63 deletions
|
|
@ -24,73 +24,70 @@ class OverMessageOverlay extends StatelessWidget {
|
|||
left: controller.messageLeftOffset ?? 0.0,
|
||||
right: controller.messageRightOffset ?? 0.0,
|
||||
),
|
||||
child: GestureDetector(
|
||||
onTap: controller.widget.chatController.clearSelectedEvents,
|
||||
child: SingleChildScrollView(
|
||||
controller: controller.scrollController,
|
||||
child: Column(
|
||||
crossAxisAlignment: controller.ownMessage
|
||||
? CrossAxisAlignment.end
|
||||
: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (!controller.shouldScroll) ...[
|
||||
WordCardSwitcher(controller: controller),
|
||||
const SizedBox(height: 4.0),
|
||||
] else
|
||||
AnimatedContainer(
|
||||
duration: FluffyThemes.animationDuration,
|
||||
height: controller.overheadContentHeight,
|
||||
),
|
||||
CompositedTransformTarget(
|
||||
link: MatrixState.pAnyState
|
||||
.layerLinkAndKey(
|
||||
'overlay_message_${controller.widget.event.eventId}',
|
||||
)
|
||||
.link,
|
||||
child: ValueListenableBuilder(
|
||||
valueListenable:
|
||||
controller.widget.overlayController.selectedMode,
|
||||
builder: (context, mode, __) {
|
||||
return OverlayCenterContent(
|
||||
event: controller.widget.event,
|
||||
messageHeight: mode != SelectMode.emoji
|
||||
? controller.originalMessageSize.height
|
||||
: null,
|
||||
messageWidth: controller.widget.overlayController
|
||||
.selectModeController.isShowingExtraContent
|
||||
? max(controller.originalMessageSize.width, 150)
|
||||
: controller.originalMessageSize.width,
|
||||
overlayController: controller.widget.overlayController,
|
||||
chatController: controller.widget.chatController,
|
||||
nextEvent: controller.widget.nextEvent,
|
||||
prevEvent: controller.widget.prevEvent,
|
||||
hasReactions: controller.hasReactions,
|
||||
isTransitionAnimation: true,
|
||||
readingAssistanceMode: controller.readingAssistanceMode,
|
||||
overlayKey:
|
||||
'overlay_message_${controller.widget.event.eventId}',
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
child: SingleChildScrollView(
|
||||
controller: controller.scrollController,
|
||||
child: Column(
|
||||
crossAxisAlignment: controller.ownMessage
|
||||
? CrossAxisAlignment.end
|
||||
: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (!controller.shouldScroll) ...[
|
||||
WordCardSwitcher(controller: controller),
|
||||
const SizedBox(height: 4.0),
|
||||
SelectModeButtons(
|
||||
controller: controller.widget.chatController,
|
||||
overlayController: controller.widget.overlayController,
|
||||
launchPractice: () => controller.launchPractice(
|
||||
ReadingAssistanceMode.practiceMode,
|
||||
),
|
||||
),
|
||||
] else
|
||||
AnimatedContainer(
|
||||
duration: FluffyThemes.animationDuration,
|
||||
height: max(0, controller.spaceBelowContent),
|
||||
width: controller.mediaQuery!.size.width -
|
||||
controller.columnWidth -
|
||||
(controller.showDetails ? FluffyThemes.columnWidth : 0),
|
||||
height: controller.overheadContentHeight,
|
||||
),
|
||||
],
|
||||
),
|
||||
CompositedTransformTarget(
|
||||
link: MatrixState.pAnyState
|
||||
.layerLinkAndKey(
|
||||
'overlay_message_${controller.widget.event.eventId}',
|
||||
)
|
||||
.link,
|
||||
child: ValueListenableBuilder(
|
||||
valueListenable:
|
||||
controller.widget.overlayController.selectedMode,
|
||||
builder: (context, mode, __) {
|
||||
return OverlayCenterContent(
|
||||
event: controller.widget.event,
|
||||
messageHeight: mode != SelectMode.emoji
|
||||
? controller.originalMessageSize.height
|
||||
: null,
|
||||
messageWidth: controller.widget.overlayController
|
||||
.selectModeController.isShowingExtraContent
|
||||
? max(controller.originalMessageSize.width, 150)
|
||||
: controller.originalMessageSize.width,
|
||||
overlayController: controller.widget.overlayController,
|
||||
chatController: controller.widget.chatController,
|
||||
nextEvent: controller.widget.nextEvent,
|
||||
prevEvent: controller.widget.prevEvent,
|
||||
hasReactions: controller.hasReactions,
|
||||
isTransitionAnimation: true,
|
||||
readingAssistanceMode: controller.readingAssistanceMode,
|
||||
overlayKey:
|
||||
'overlay_message_${controller.widget.event.eventId}',
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4.0),
|
||||
SelectModeButtons(
|
||||
controller: controller.widget.chatController,
|
||||
overlayController: controller.widget.overlayController,
|
||||
launchPractice: () => controller.launchPractice(
|
||||
ReadingAssistanceMode.practiceMode,
|
||||
),
|
||||
),
|
||||
AnimatedContainer(
|
||||
duration: FluffyThemes.animationDuration,
|
||||
height: max(0, controller.spaceBelowContent),
|
||||
width: controller.mediaQuery!.size.width -
|
||||
controller.columnWidth -
|
||||
(controller.showDetails ? FluffyThemes.columnWidth : 0),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue