diff --git a/frontend/appflowy_flutter/lib/plugins/ai_chat/chat_page.dart b/frontend/appflowy_flutter/lib/plugins/ai_chat/chat_page.dart index 067ba95b6b36f..650840e019453 100644 --- a/frontend/appflowy_flutter/lib/plugins/ai_chat/chat_page.dart +++ b/frontend/appflowy_flutter/lib/plugins/ai_chat/chat_page.dart @@ -121,21 +121,24 @@ class _ChatContentPage extends StatelessWidget { child: Align( alignment: Alignment.topCenter, child: _wrapConstraints( - ScrollConfiguration( - behavior: ScrollConfiguration.of(context) - .copyWith(scrollbars: false), - child: Chat( - chatController: - context.read().chatController, - user: User(id: userProfile.id.toString()), - darkTheme: ChatTheme.fromThemeData(Theme.of(context)), - theme: ChatTheme.fromThemeData(Theme.of(context)), - builders: Builders( - inputBuilder: (_) => const SizedBox.shrink(), - textMessageBuilder: _buildTextMessage, - chatMessageBuilder: _buildChatMessage, - scrollToBottomBuilder: _buildScrollToBottom, - chatAnimatedListBuilder: _buildChatAnimatedList, + SelectionArea( + child: ScrollConfiguration( + behavior: ScrollConfiguration.of(context) + .copyWith(scrollbars: false), + child: Chat( + chatController: + context.read().chatController, + user: User(id: userProfile.id.toString()), + darkTheme: + ChatTheme.fromThemeData(Theme.of(context)), + theme: ChatTheme.fromThemeData(Theme.of(context)), + builders: Builders( + inputBuilder: (_) => const SizedBox.shrink(), + textMessageBuilder: _buildTextMessage, + chatMessageBuilder: _buildChatMessage, + scrollToBottomBuilder: _buildScrollToBottom, + chatAnimatedListBuilder: _buildChatAnimatedList, + ), ), ), ), diff --git a/frontend/appflowy_flutter/lib/plugins/ai_chat/presentation/message/user_text_message.dart b/frontend/appflowy_flutter/lib/plugins/ai_chat/presentation/message/user_text_message.dart index ae0d2863ce838..3638ace12f828 100644 --- a/frontend/appflowy_flutter/lib/plugins/ai_chat/presentation/message/user_text_message.dart +++ b/frontend/appflowy_flutter/lib/plugins/ai_chat/presentation/message/user_text_message.dart @@ -83,7 +83,6 @@ class TextMessageText extends StatelessWidget { text, lineHeight: 1.4, maxLines: null, - selectable: true, color: AFThemeExtension.of(context).textColor, ); } diff --git a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text.dart b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text.dart index 76e9eefbc2d3b..360578a4a6832 100644 --- a/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text.dart +++ b/frontend/appflowy_flutter/packages/flowy_infra_ui/lib/style_widget/text.dart @@ -15,7 +15,6 @@ class FlowyText extends StatelessWidget { final TextDecoration? decoration; final Color? decorationColor; final double? decorationThickness; - final bool selectable; final String? fontFamily; final List? fallbackFontFamily; final bool withTooltip; @@ -41,7 +40,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.fontFamily, this.fallbackFontFamily, // // https://api.flutter.dev/flutter/painting/TextStyle/height.html @@ -63,7 +61,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.fontFamily, this.fallbackFontFamily, this.lineHeight, @@ -86,7 +83,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.fontFamily, this.fallbackFontFamily, this.lineHeight, @@ -108,7 +104,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.fontFamily, this.fallbackFontFamily, this.lineHeight, @@ -130,7 +125,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.fontFamily, this.fallbackFontFamily, this.lineHeight, @@ -153,7 +147,6 @@ class FlowyText extends StatelessWidget { this.maxLines = 1, this.decoration, this.decorationColor, - this.selectable = false, this.lineHeight, this.withTooltip = false, this.strutStyle = const StrutStyle(forceStrutHeight: true), @@ -211,32 +204,21 @@ class FlowyText extends StatelessWidget { : null, ); - if (selectable) { - child = IntrinsicHeight( - child: SelectableText( - text, - maxLines: maxLines, - textAlign: textAlign, - style: textStyle, - ), - ); - } else { - child = Text( - text, - maxLines: maxLines, - textAlign: textAlign, - overflow: overflow ?? TextOverflow.clip, - style: textStyle, - strutStyle: !isEmoji || (isEmoji && optimizeEmojiAlign) - ? StrutStyle.fromTextStyle( - textStyle, - forceStrutHeight: true, - leadingDistribution: TextLeadingDistribution.even, - height: lineHeight, - ) - : null, - ); - } + child = Text( + text, + maxLines: maxLines, + textAlign: textAlign, + overflow: overflow ?? TextOverflow.clip, + style: textStyle, + strutStyle: !isEmoji || (isEmoji && optimizeEmojiAlign) + ? StrutStyle.fromTextStyle( + textStyle, + forceStrutHeight: true, + leadingDistribution: TextLeadingDistribution.even, + height: lineHeight, + ) + : null, + ); if (withTooltip) { child = FlowyTooltip(