Spaces:
Running
Running
Update static/appS.js
Browse files- static/appS.js +33 -4
static/appS.js
CHANGED
@@ -68,14 +68,43 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
68 |
button.addEventListener('click', handleSubmit);
|
69 |
});
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
filePreviewBubble = createMessageBubble(
|
75 |
-
`π Selected
|
76 |
"You"
|
77 |
);
|
78 |
}
|
|
|
|
|
79 |
|
80 |
function createMessageBubble(text, sender = "You", audioSrc = null, fileName = null) {
|
81 |
const bubble = document.createElement('div');
|
|
|
68 |
button.addEventListener('click', handleSubmit);
|
69 |
});
|
70 |
|
71 |
+
function displayFilePreview(file) {
|
72 |
+
if (filePreviewBubble) filePreviewBubble.remove();
|
73 |
+
|
74 |
+
// If it's an image
|
75 |
+
if (file.type.startsWith('image/')) {
|
76 |
+
const reader = new FileReader();
|
77 |
+
reader.onload = (e) => {
|
78 |
+
filePreviewBubble = document.createElement("div");
|
79 |
+
filePreviewBubble.className = "file-preview-bubble bubble right";
|
80 |
+
filePreviewBubble.style.display = "flex";
|
81 |
+
filePreviewBubble.style.flexDirection = "column";
|
82 |
+
|
83 |
+
const img = document.createElement("img");
|
84 |
+
img.src = e.target.result;
|
85 |
+
img.style.maxWidth = "250px";
|
86 |
+
img.style.borderRadius = "8px";
|
87 |
+
img.style.marginBottom = "5px";
|
88 |
+
|
89 |
+
const text = document.createElement("span");
|
90 |
+
text.textContent = `π Selected image: ${file.name}`;
|
91 |
+
text.style.fontSize = "13px";
|
92 |
+
|
93 |
+
filePreviewBubble.appendChild(img);
|
94 |
+
filePreviewBubble.appendChild(text);
|
95 |
+
convo.appendChild(filePreviewBubble);
|
96 |
+
convo.scrollTop = convo.scrollHeight;
|
97 |
+
};
|
98 |
+
reader.readAsDataURL(file);
|
99 |
+
} else {
|
100 |
+
// Document preview stays as text
|
101 |
filePreviewBubble = createMessageBubble(
|
102 |
+
`π Selected document: ${file.name}`,
|
103 |
"You"
|
104 |
);
|
105 |
}
|
106 |
+
}
|
107 |
+
|
108 |
|
109 |
function createMessageBubble(text, sender = "You", audioSrc = null, fileName = null) {
|
110 |
const bubble = document.createElement('div');
|