Modificação nos modos, correção de textos cortados
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_animate/flutter_animate.dart';
|
||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||
import '../../../../core/services/rag_service.dart';
|
||||
import '../../../../core/theme/app_theme_extension.dart';
|
||||
|
||||
/// Widget for displaying chat messages with source citations
|
||||
class MessageBubble extends StatelessWidget {
|
||||
@@ -73,22 +74,28 @@ class MessageBubble extends StatelessWidget {
|
||||
}
|
||||
|
||||
Widget _buildAvatar(BuildContext context) {
|
||||
final cs = Theme.of(context).colorScheme;
|
||||
final extras = AppThemeExtras.of(context);
|
||||
final accent = isUser ? cs.primary : cs.secondary;
|
||||
|
||||
return Container(
|
||||
width: 36,
|
||||
height: 36,
|
||||
decoration: BoxDecoration(
|
||||
gradient: isUser
|
||||
? const LinearGradient(
|
||||
colors: [Color(0xFF82C9BD), Color(0xFF6BA5A0)],
|
||||
? LinearGradient(
|
||||
colors: [
|
||||
extras.actionCardGradientStart,
|
||||
extras.actionCardGradientEnd,
|
||||
],
|
||||
)
|
||||
: const LinearGradient(
|
||||
colors: [Color(0xFFF68D2D), Color(0xFFE67E22)],
|
||||
: LinearGradient(
|
||||
colors: [cs.secondary, cs.secondary.withOpacity(0.85)],
|
||||
),
|
||||
borderRadius: BorderRadius.circular(18),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: (isUser ? const Color(0xFF82C9BD) : const Color(0xFFF68D2D))
|
||||
.withOpacity(0.3),
|
||||
color: accent.withOpacity(0.3),
|
||||
blurRadius: 8,
|
||||
offset: const Offset(0, 2),
|
||||
),
|
||||
@@ -103,6 +110,9 @@ class MessageBubble extends StatelessWidget {
|
||||
}
|
||||
|
||||
Widget _buildMessageBubble(BuildContext context) {
|
||||
final cs = Theme.of(context).colorScheme;
|
||||
final extras = AppThemeExtras.of(context);
|
||||
|
||||
return Container(
|
||||
constraints: BoxConstraints(
|
||||
maxWidth: MediaQuery.of(context).size.width * 0.75,
|
||||
@@ -110,15 +120,18 @@ class MessageBubble extends StatelessWidget {
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
decoration: BoxDecoration(
|
||||
gradient: isUser
|
||||
? const LinearGradient(
|
||||
colors: [Color(0xFF82C9BD), Color(0xFF6BA5A0)],
|
||||
? LinearGradient(
|
||||
colors: [
|
||||
extras.actionCardGradientStart,
|
||||
extras.actionCardGradientEnd,
|
||||
],
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
)
|
||||
: LinearGradient(
|
||||
colors: [
|
||||
Colors.white.withOpacity(0.95),
|
||||
Colors.white.withOpacity(0.9),
|
||||
cs.surfaceContainerHighest,
|
||||
cs.surface,
|
||||
],
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
@@ -154,24 +167,24 @@ class MessageBubble extends StatelessWidget {
|
||||
data: content,
|
||||
styleSheet: MarkdownStyleSheet(
|
||||
p: TextStyle(
|
||||
color: const Color(0xFF2D3748),
|
||||
color: cs.onSurface,
|
||||
fontSize: 16,
|
||||
height: 1.4,
|
||||
),
|
||||
strong: TextStyle(
|
||||
color: const Color(0xFF2D3748),
|
||||
color: cs.onSurface,
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.bold,
|
||||
height: 1.4,
|
||||
),
|
||||
em: TextStyle(
|
||||
color: const Color(0xFF2D3748),
|
||||
color: cs.onSurface,
|
||||
fontSize: 16,
|
||||
fontStyle: FontStyle.italic,
|
||||
height: 1.4,
|
||||
),
|
||||
listBullet: TextStyle(
|
||||
color: const Color(0xFF2D3748),
|
||||
color: cs.onSurface,
|
||||
fontSize: 16,
|
||||
height: 1.4,
|
||||
),
|
||||
@@ -262,7 +275,7 @@ class MessageBubble extends StatelessWidget {
|
||||
Icon(
|
||||
Icons.menu_book,
|
||||
size: 14,
|
||||
color: const Color(0xFF82C9BD),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
Expanded(
|
||||
@@ -280,7 +293,7 @@ class MessageBubble extends StatelessWidget {
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 2),
|
||||
decoration: BoxDecoration(
|
||||
color: const Color(0xFF82C9BD).withOpacity(0.1),
|
||||
color: Theme.of(context).colorScheme.primary.withOpacity(0.1),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Text(
|
||||
@@ -288,7 +301,7 @@ class MessageBubble extends StatelessWidget {
|
||||
style: TextStyle(
|
||||
fontSize: 10,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: const Color(0xFF82C9BD),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user