Persist regenerated answer versions

This commit is contained in:
Hamza Ayed
2026-10-01 12:51:48 +03:00
parent e1f981d29e
commit 7a042d036c
9 changed files with 445 additions and 27 deletions
@@ -710,6 +710,52 @@ class _ChatPageState extends State<ChatPage> {
)
else
_AssistantMarkdown(text: message.text),
if (!message.fromUser && message.answerVersions.length > 1)
Align(
alignment: AlignmentDirectional.centerStart,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
IconButton(
tooltip: 'نسخة الإجابة السابقة',
visualDensity: VisualDensity.compact,
onPressed:
chat.isSending || message.selectedVersion == 0
? null
: () => context
.read<ChatCubit>()
.selectAnswerVersion(
index,
message.selectedVersion - 1,
),
icon: const Icon(Icons.chevron_right_rounded),
),
Text(
'النسخة ${message.selectedVersion + 1} من ${message.answerVersions.length}',
style: const TextStyle(
color: Color(0xFF718078),
fontSize: 11,
),
),
IconButton(
tooltip: 'نسخة الإجابة التالية',
visualDensity: VisualDensity.compact,
onPressed:
chat.isSending ||
message.selectedVersion >=
message.answerVersions.length - 1
? null
: () => context
.read<ChatCubit>()
.selectAnswerVersion(
index,
message.selectedVersion + 1,
),
icon: const Icon(Icons.chevron_left_rounded),
),
],
),
),
if (!chat.isSending &&
!showTyping &&
index == chat.messages.length - 1 &&