Skip to content

Commit 4feb1d7

Browse files
authored
Merge pull request #137 from iceljc/features/refine-chat-window
refine chat image upload
2 parents f958615 + fe8aae2 commit 4feb1d7

File tree

5 files changed

+19
-19
lines changed

5 files changed

+19
-19
lines changed

src/lib/common/MessageImageGallery.svelte

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
1616
/** @type {any[]} */
1717
let files = [];
18-
/** @type {string} */
19-
let token = "";
2018
2119
onMount(() => {
2220
if (fetchFiles != null && fetchFiles != undefined) {

src/lib/helpers/utils/gallery.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { EditorType, ElementType } from '../enums';
2+
import { conversationUserAttachmentStore } from '../store';
23

34
/**
45
* @param {import('$types').ChatResponseModel?} message
@@ -9,4 +10,8 @@ export function loadFileGallery(message) {
910
|| message?.rich_content?.message?.elements?.find(x => x.type == ElementType.File)
1011
|| message?.rich_content?.message?.quick_replies?.find(x => x.type == ElementType.File)
1112
|| message?.rich_content?.message?.options?.find(x => x.type == ElementType.File);
13+
}
14+
15+
export function loadLocalFiles() {
16+
return conversationUserAttachmentStore.get()?.accepted_files?.length > 0;
1217
}

src/routes/chat/[agentId]/[conversationId]/chat-box.svelte

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import { utcToLocal } from '$lib/helpers/datetime';
3737
import { replaceNewLine } from '$lib/helpers/http';
3838
import { EditorType, SenderAction, UserRole } from '$lib/helpers/enums';
39-
import { loadFileGallery } from '$lib/helpers/utils/gallery';
39+
import { loadFileGallery, loadLocalFiles } from '$lib/helpers/utils/gallery';
4040
import RichContent from './rich-content/rich-content.svelte';
4141
import RcMessage from "./rich-content/rc-message.svelte";
4242
import RcDisclaimer from './rich-content/rc-disclaimer.svelte';
@@ -125,14 +125,13 @@
125125
let isFrame = false;
126126
let loadEditor = false;
127127
let loadTextEditor = false;
128-
let loadFileEditor = false;
128+
let loadFileEditor = true;
129129
let autoScrollLog = false;
130130
let disableAction = false;
131131
132132
$: {
133133
const editor = lastBotMsg?.rich_content?.editor || '';
134134
loadTextEditor = TEXT_EDITORS.includes(editor) || !Object.values(EditorType).includes(editor);
135-
loadFileEditor = FILE_EDITORS.includes(editor);
136135
loadEditor = !isSendingMsg && !isThinking && (loadTextEditor || loadFileEditor);
137136
}
138137
@@ -277,7 +276,7 @@
277276
}
278277
279278
const prevMsg = dialogs[idx-1];
280-
if (!!prevMsg && BOT_SENDERS.includes(prevMsg?.sender?.role || '')
279+
if (!!!prevMsg || BOT_SENDERS.includes(prevMsg?.sender?.role || '')
281280
&& loadFileGallery(prevMsg)) {
282281
curMsg.is_load_images = true;
283282
}
@@ -324,12 +323,8 @@
324323
}
325324
326325
function getChatFiles() {
327-
if (loadFileGallery(lastBotMsg)) {
328-
const attachments = conversationUserAttachmentStore.get();
329-
return attachments?.accepted_files || [];
330-
}
331-
332-
return [];
326+
const attachments = conversationUserAttachmentStore.get();
327+
return attachments?.accepted_files || [];
333328
}
334329
335330
@@ -997,7 +992,7 @@
997992
{#if !!message.post_action_disclaimer}
998993
<RcDisclaimer content={message.post_action_disclaimer} />
999994
{/if}
1000-
{#if message.is_load_images}
995+
{#if message.is_load_images || USER_SENDERS.includes(message.sender?.role)}
1001996
<MessageImageGallery
1002997
galleryStyles={'justify-content: flex-end;'}
1003998
fetchFiles={() => getConversationFiles(params.conversationId, message.message_id)}
@@ -1056,9 +1051,7 @@
10561051
{/if}
10571052
</ul>
10581053
1059-
{#if loadFileGallery(lastBotMsg)}
1060-
<ChatImageGallery disabled={isSendingMsg || isThinking} />
1061-
{/if}
1054+
<ChatImageGallery disabled={isSendingMsg || isThinking} />
10621055
{#if !!lastBotMsg && !isSendingMsg && !isThinking}
10631056
<RichContent
10641057
message={lastBotMsg}
@@ -1092,7 +1085,7 @@
10921085
/>
10931086
{#if loadFileEditor}
10941087
<div class="chat-input-links">
1095-
<ChatImageUploader disabled={disableAction} />
1088+
<ChatImageUploader disabled={disableAction} onFileDrop={() => refresh()} />
10961089
</div>
10971090
{/if}
10981091
</div>

src/routes/chat/[agentId]/[conversationId]/chat-image/chat-image-uploader.svelte

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
/** @type {boolean} */
88
export let disabled = false;
99
10+
/** @type {() => void} */
11+
export let onFileDrop = () => {};
12+
1013
/** @type {any[]} */
1114
let files = [];
1215
@@ -40,6 +43,7 @@
4043
conversationUserAttachmentStore.put({
4144
accepted_files: newAttachments
4245
});
46+
onFileDrop?.();
4347
}
4448
</script>
4549

src/routes/page/conversation/[conversationId]/conv-dialogs.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
}
3333
3434
const prevMsg = dialogs[idx-1];
35-
if (!!prevMsg && BOT_SENDERS.includes(prevMsg?.sender?.role || '')
35+
if (!!!prevMsg || BOT_SENDERS.includes(prevMsg?.sender?.role || '')
3636
&& loadFileGallery(prevMsg)) {
3737
curMsg.is_load_images = true;
3838
}
@@ -88,7 +88,7 @@
8888
<p class="fw-bold">
8989
<Markdown text={dialog?.rich_content?.message?.text || dialog?.text} />
9090
</p>
91-
{#if dialog.is_load_images}
91+
{#if dialog.is_load_images || showInRight(dialog)}
9292
<MessageImageGallery
9393
galleryClasses={'dialog-file-display'}
9494
fetchFiles={() => getConversationFiles(conversation.id, dialog.message_id)}

0 commit comments

Comments
 (0)