opt dyn/reply text menu

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-16 20:25:21 +08:00
parent f7cd1aa502
commit 177493fe38
31 changed files with 550 additions and 268 deletions

View File

@@ -7,6 +7,8 @@ import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/gesture/tap_gesture_recognizer.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/image_viewer/hero.dart';
import 'package:PiliPlus/common/widgets/scroll_physics.dart'
show NeverSelectableScrollPhysics;
import 'package:PiliPlus/grpc/bilibili/im/interfaces/v1.pb.dart'
show EmotionInfo;
import 'package:PiliPlus/grpc/bilibili/im/type.pb.dart' show Msg, MsgType;
@@ -717,7 +719,10 @@ class ChatItem extends StatelessWidget {
return '';
},
);
return SelectableText.rich(TextSpan(children: children));
return SelectableText.rich(
TextSpan(children: children),
scrollPhysics: const NeverSelectableScrollPhysics(),
);
}
Widget msgTypeNotifyMsg_10(ThemeData theme, content) {
@@ -759,7 +764,10 @@ class ChatItem extends StatelessWidget {
),
Divider(color: theme.colorScheme.primary.withValues(alpha: 0.05)),
if ((content['text'] as String?)?.isNotEmpty == true)
SelectableText(content['text']),
SelectableText(
content['text'],
scrollPhysics: const NeverSelectableScrollPhysics(),
),
if (modules != null && modules.isNotEmpty) ...[
const SizedBox(height: 4),
...modules.map(