@@ -896,11 +896,14 @@ class RecipientHeader extends StatelessWidget {
896896
897897  @override 
898898  Widget  build (BuildContext  context) {
899+     final  isTopicNarrow =  narrow is  TopicNarrow ;
900+     final  isDmNarrow =  narrow is  DmNarrow ;
899901    final  message =  this .message;
900902    return  switch  (message) {
901903      StreamMessage () =>  StreamMessageRecipientHeader (message:  message,
902-         showStream:  _containsDifferentChannels (narrow)),
903-       DmMessage () =>  DmRecipientHeader (message:  message),
904+         showStream:  _containsDifferentChannels (narrow),
905+         isTopicNarrow:  isTopicNarrow),
906+       DmMessage () =>  DmRecipientHeader (message:  message, isDmNarrow:  isDmNarrow),
904907    };
905908  }
906909}
@@ -1015,10 +1018,12 @@ class StreamMessageRecipientHeader extends StatelessWidget {
10151018    super .key,
10161019    required  this .message,
10171020    required  this .showStream,
1021+     required  this .isTopicNarrow,
10181022  });
10191023
10201024  final  StreamMessage  message;
10211025  final  bool  showStream;
1026+   final  bool  isTopicNarrow;
10221027
10231028  @override 
10241029  Widget  build (BuildContext  context) {
@@ -1105,9 +1110,9 @@ class StreamMessageRecipientHeader extends StatelessWidget {
11051110        ]));
11061111
11071112    return  GestureDetector (
1108-       onTap:  () =>  Navigator .push (context,
1113+       onTap:  () =>  ! isTopicNarrow ?   Navigator .push (context,
11091114        MessageListPage .buildRoute (context:  context,
1110-           narrow:  TopicNarrow .ofMessage (message))),
1115+           narrow:  TopicNarrow .ofMessage (message))):   null ,
11111116      onLongPress:  () =>  showTopicActionSheet (context,
11121117        channelId:  message.streamId, topic:  topic),
11131118      child:  ColoredBox (
@@ -1126,9 +1131,10 @@ class StreamMessageRecipientHeader extends StatelessWidget {
11261131}
11271132
11281133class  DmRecipientHeader  extends  StatelessWidget  {
1129-   const  DmRecipientHeader ({super .key, required  this .message});
1134+   const  DmRecipientHeader ({super .key, required  this .message,  required   this .isDmNarrow });
11301135
11311136  final  DmMessage  message;
1137+   final  bool  isDmNarrow;
11321138
11331139  @override 
11341140  Widget  build (BuildContext  context) {
@@ -1149,9 +1155,9 @@ class DmRecipientHeader extends StatelessWidget {
11491155    final  messageListTheme =  MessageListTheme .of (context);
11501156
11511157    return  GestureDetector (
1152-       onTap:  () =>  Navigator .push (context,
1158+       onTap:  () =>  ! isDmNarrow ?   Navigator .push (context,
11531159        MessageListPage .buildRoute (context:  context,
1154-           narrow:  DmNarrow .ofMessage (message, selfUserId:  store.selfUserId))),
1160+           narrow:  DmNarrow .ofMessage (message, selfUserId:  store.selfUserId))):   null ,
11551161      child:  ColoredBox (
11561162        color:  messageListTheme.dmRecipientHeaderBg,
11571163        child:  Padding (
0 commit comments