diff --git a/core/http/react-ui/src/hooks/useChat.js b/core/http/react-ui/src/hooks/useChat.js index 539190b99..5bd491e77 100644 --- a/core/http/react-ui/src/hooks/useChat.js +++ b/core/http/react-ui/src/hooks/useChat.js @@ -216,6 +216,12 @@ export function useChat(initialModel = '') { audio_url: { url: `data:${file.type};base64,${file.base64}` }, }) userFiles.push({ name: file.name, type: 'audio' }) + } else if (file.type?.startsWith('video/')) { + messageContent.push({ + type: 'video_url', + video_url: { url: `data:${file.type};base64,${file.base64}` }, + }) + userFiles.push({ name: file.name, type: 'video' }) } else { // Text/PDF files - append to content if (file.textContent) { diff --git a/core/http/react-ui/src/pages/Chat.jsx b/core/http/react-ui/src/pages/Chat.jsx index a638aa3a8..2c51fe942 100644 --- a/core/http/react-ui/src/pages/Chat.jsx +++ b/core/http/react-ui/src/pages/Chat.jsx @@ -265,7 +265,7 @@ function UserMessageContent({ content, files }) {
{files.map((f, i) => ( - + {f.name} ))} @@ -274,6 +274,9 @@ function UserMessageContent({ content, files }) { {Array.isArray(content) && content.filter(c => c.type === 'image_url').map((img, i) => ( attached ))} + {Array.isArray(content) && content.filter(c => c.type === 'video_url').map((vid, i) => ( +