up
This commit is contained in:
+13
-5
@@ -967,7 +967,8 @@
|
||||
const statusIcon = this.getStatusIcon(msg.status);
|
||||
|
||||
// Renderizar contenido (texto o multimedia)
|
||||
const content = msg.media_url
|
||||
// Preferir miniatura local para previsualización si existe
|
||||
const content = (msg.local_thumb || msg.local_file || msg.media_url_external)
|
||||
? this.renderMediaMessage(msg)
|
||||
: (msg.content || msg.message_text || '[Mensaje vacío]');
|
||||
|
||||
@@ -1354,18 +1355,22 @@
|
||||
|
||||
switch (mediaType) {
|
||||
case 'image':
|
||||
// Usar miniatura local si existe, al abrir expandir con el archivo local completo o con media-url redirect
|
||||
const thumb = msg.local_thumb ? (`/${msg.local_thumb}`) : (msg.local_file ? (`/${msg.local_file}`) : (msg.media_url_external || mediaUrl));
|
||||
const full = msg.local_file ? (`/api/version/media-url.php?local=${encodeURIComponent(msg.local_file)}`) : (`/api/version/media-url.php?id=${encodeURIComponent(msg.media_url || '')}`);
|
||||
return `
|
||||
<div class="message-media">
|
||||
<img src="${mediaUrl}" alt="Imagen" onclick="window.open('${mediaUrl}', '_blank')">
|
||||
<img src="${thumb}" alt="Imagen" onclick="window.open('${full}', '_blank')" style="cursor:zoom-in">
|
||||
</div>
|
||||
${caption ? `<div>${caption}</div>` : ''}
|
||||
`;
|
||||
|
||||
case 'video':
|
||||
const videoSrc = msg.local_file ? (`/${msg.local_file}`) : (msg.media_url_external || mediaUrl);
|
||||
return `
|
||||
<div class="message-media">
|
||||
<video controls>
|
||||
<source src="${mediaUrl}" type="video/mp4">
|
||||
<source src="${videoSrc}" type="video/mp4">
|
||||
Tu navegador no soporta video.
|
||||
</video>
|
||||
</div>
|
||||
@@ -1373,18 +1378,21 @@
|
||||
`;
|
||||
|
||||
case 'audio':
|
||||
const audioSrc = msg.local_file ? (`/${msg.local_file}`) : (msg.media_url_external || mediaUrl);
|
||||
return `
|
||||
<div class="message-media">
|
||||
<audio controls>
|
||||
<source src="${mediaUrl}" type="audio/mpeg">
|
||||
<source src="${audioSrc}" type="audio/mpeg">
|
||||
Tu navegador no soporta audio.
|
||||
</audio>
|
||||
</div>
|
||||
`;
|
||||
|
||||
case 'document':
|
||||
// Para documentos no descargamos automáticamente; abrir la URL externa (o la redirección por media id) para descargar
|
||||
const docUrl = msg.local_file ? (`/api/version/media-url.php?local=${encodeURIComponent(msg.local_file)}&download=1`) : (`/api/version/media-url.php?id=${encodeURIComponent(msg.media_url || msg.media_url_external || '')}&download=1`);
|
||||
return `
|
||||
<div class="message-document" onclick="window.open('${mediaUrl}', '_blank')">
|
||||
<div class="message-document" onclick="window.open('${docUrl}', '_blank')" style="cursor:pointer">
|
||||
<i class="fas fa-file-pdf"></i>
|
||||
<div class="document-info">
|
||||
<div class="document-name">${caption || 'Documento'}</div>
|
||||
|
||||
Reference in New Issue
Block a user