Spaces:
Running
Running
Update index.html
Browse files- index.html +20 -2
index.html
CHANGED
|
@@ -262,7 +262,8 @@
|
|
| 262 |
});
|
| 263 |
chatArea.appendChild(messageGroup);
|
| 264 |
});
|
| 265 |
-
|
|
|
|
| 266 |
}
|
| 267 |
|
| 268 |
function formatMessage(content) {
|
|
@@ -271,7 +272,24 @@
|
|
| 271 |
content = content.replace(/<video>(.*?)<\/video>/g, '<div class="special-element video-element">π₯ Video: $1</div>');
|
| 272 |
content = content.replace(/<audio>(.*?)<\/audio>/g, '<div class="special-element audio-element">π Audio: $1</div>');
|
| 273 |
content = content.replace(/<gif>(.*?)<\/gif>/g, '<div class="special-element gif-element">ποΈ GIF: $1</div>');
|
| 274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
content = content.replace(/<end\/>/g, '<div class="special-element">π End</div>');
|
| 276 |
content = content.replace(/<code>(.*?)<\/code>/g, '<span class="code">$1</span>');
|
| 277 |
content = content.replace(/\n/g, "<br>");
|
|
|
|
| 262 |
});
|
| 263 |
chatArea.appendChild(messageGroup);
|
| 264 |
});
|
| 265 |
+
// CHANGE 1: Set scroll to top instead of bottom
|
| 266 |
+
chatArea.scrollTop = 0;
|
| 267 |
}
|
| 268 |
|
| 269 |
function formatMessage(content) {
|
|
|
|
| 272 |
content = content.replace(/<video>(.*?)<\/video>/g, '<div class="special-element video-element">π₯ Video: $1</div>');
|
| 273 |
content = content.replace(/<audio>(.*?)<\/audio>/g, '<div class="special-element audio-element">π Audio: $1</div>');
|
| 274 |
content = content.replace(/<gif>(.*?)<\/gif>/g, '<div class="special-element gif-element">ποΈ GIF: $1</div>');
|
| 275 |
+
|
| 276 |
+
// CHANGE 2: Replaced the old delay regex with a more robust parser that can handle days, hours, and minutes in any order.
|
| 277 |
+
content = content.replace(/<delay\s+([^&]*?)\/?>/g, (match, attributes) => {
|
| 278 |
+
const parts = {};
|
| 279 |
+
const attrRegex = /(\w+)="(\d+)"/g;
|
| 280 |
+
let attrMatch;
|
| 281 |
+
while ((attrMatch = attrRegex.exec(attributes)) !== null) {
|
| 282 |
+
parts[attrMatch[1]] = attrMatch[2]; // e.g., parts['days'] = '1'
|
| 283 |
+
}
|
| 284 |
+
|
| 285 |
+
const d = parts.days ? `${parts.days}d ` : "";
|
| 286 |
+
const h = parts.hours ? `${parts.hours}h ` : "";
|
| 287 |
+
const m = parts.minutes ? `${parts.minutes}m` : "";
|
| 288 |
+
const timeString = (d + h + m).trim() || "unknown";
|
| 289 |
+
|
| 290 |
+
return `<div class="special-element delay-element">β±οΈ Delay: ${timeString}</div>`;
|
| 291 |
+
});
|
| 292 |
+
|
| 293 |
content = content.replace(/<end\/>/g, '<div class="special-element">π End</div>');
|
| 294 |
content = content.replace(/<code>(.*?)<\/code>/g, '<span class="code">$1</span>');
|
| 295 |
content = content.replace(/\n/g, "<br>");
|