mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-11-16 01:21:16 +01:00
unify chat across docs
This commit is contained in:
parent
e5212f7f63
commit
2fc7eedc45
@ -39,6 +39,8 @@ interface ChatMessage {
|
||||
confidence?: number;
|
||||
modelUsed?: string;
|
||||
createdAt: Date;
|
||||
documentId?: string;
|
||||
documentName?: string;
|
||||
}
|
||||
|
||||
function createMessageId() {
|
||||
@ -89,6 +91,7 @@ const ChatbotDrawer = () => {
|
||||
const sessionStatus = selectedSessionEntry?.status ?? 'idle';
|
||||
const sessionError = selectedSessionEntry?.error;
|
||||
const sessionInfo: ChatbotSessionInfo | null = selectedSessionEntry?.session ?? null;
|
||||
const selectedDocumentName = selectedFile?.name ?? selectedSessionEntry?.fileName;
|
||||
const contextStats =
|
||||
selectedSessionEntry?.status === 'ready' && selectedSessionEntry?.characterCount !== undefined
|
||||
? {
|
||||
@ -163,11 +166,6 @@ const ChatbotDrawer = () => {
|
||||
}
|
||||
}, [sessionInfo?.sessionId]);
|
||||
|
||||
useEffect(() => {
|
||||
setMessages([]);
|
||||
setWarnings([]);
|
||||
}, [selectedFileId]);
|
||||
|
||||
const maybeShowUsageWarning = (usage?: ChatbotUsageSummary | null) => {
|
||||
if (!usage) {
|
||||
return;
|
||||
@ -286,6 +284,8 @@ const ChatbotDrawer = () => {
|
||||
role: 'user',
|
||||
content: trimmedPrompt,
|
||||
createdAt: new Date(),
|
||||
documentId: selectedFileId,
|
||||
documentName: selectedDocumentName,
|
||||
};
|
||||
setMessages((prev) => [...prev, userMessage]);
|
||||
setPrompt('');
|
||||
@ -322,6 +322,8 @@ const ChatbotDrawer = () => {
|
||||
confidence: reply.confidence,
|
||||
modelUsed: reply.modelUsed,
|
||||
createdAt: new Date(),
|
||||
documentId: selectedFileId,
|
||||
documentName: selectedDocumentName,
|
||||
});
|
||||
|
||||
const fileOptions = useMemo(
|
||||
@ -398,7 +400,7 @@ const ChatbotDrawer = () => {
|
||||
boxShadow: '0 2px 12px rgba(16,24,40,0.06)',
|
||||
}}
|
||||
>
|
||||
<Group justify="space-between" mb={4} gap="xs">
|
||||
<Group justify="space-between" mb={4} gap="xs" align="flex-start">
|
||||
<Text size="xs" c={isUser ? 'rgba(255,255,255,0.8)' : 'dimmed'} tt="uppercase">
|
||||
{isUser ? t('chatbot.userLabel', 'You') : t('chatbot.botLabel', 'Stirling Bot')}
|
||||
</Text>
|
||||
@ -422,6 +424,16 @@ const ChatbotDrawer = () => {
|
||||
{t('chatbot.modelTag', 'Model: {{name}}', { name: message.modelUsed })}
|
||||
</Text>
|
||||
)}
|
||||
{message.documentName && (
|
||||
<Badge
|
||||
size="xs"
|
||||
variant="light"
|
||||
color={isUser ? 'blue' : 'gray'}
|
||||
mt={6}
|
||||
>
|
||||
{message.documentName}
|
||||
</Badge>
|
||||
)}
|
||||
</Box>
|
||||
</Box>
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user