1
0
mirror of https://github.com/axllent/mailpit.git synced 2025-06-15 00:05:15 +02:00

Chore: Separate attachments and inline images in download nav and badges (#379)

This commit is contained in:
Ralph Slooten
2024-10-26 23:14:55 +13:00
parent 48a1f6b877
commit 47c6062b1c
2 changed files with 42 additions and 8 deletions

View File

@ -457,11 +457,20 @@ export default {
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="col-md-auto d-none d-md-block text-end mt-md-3"> <div class="col-md-auto d-none d-md-block text-end mt-md-3"
<div class="mt-2 mt-md-0" v-if="allAttachments(message)"> v-if="message.Attachments && message.Attachments.length || message.Inline && message.Inline.length">
<span class="badge rounded-pill text-bg-secondary p-2"> <div class="mt-2 mt-md-0">
Attachment<span v-if="allAttachments(message).length > 1">s</span> <template v-if="message.Attachments.length">
({{ allAttachments(message).length }}) <span class="badge rounded-pill text-bg-secondary p-2 mb-2" title="Attachments in this message">
Attachment<span v-if="message.Attachments.length > 1">s</span>
({{ message.Attachments.length }})
</span>
<br>
</template>
<span class="badge rounded-pill text-bg-secondary p-2" v-if="message.Inline.length"
title="Inline images in this message">
Inline image<span v-if="message.Inline.length > 1">s</span>
({{ message.Inline.length }})
</span> </span>
</div> </div>
</div> </div>

View File

@ -504,16 +504,41 @@ export default {
Text body Text body
</button> </button>
</li> </li>
<template v-if="allAttachments(message).length"> <template v-if="message.Attachments && message.Attachments.length">
<li> <li>
<hr class="dropdown-divider"> <hr class="dropdown-divider">
</li> </li>
<li> <li>
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Attachment<template v-if="allAttachments(message).length > 1">s</template> Attachments
</h6> </h6>
</li> </li>
<li v-for="part in allAttachments(message)"> <li v-for="part in message.Attachments">
<RouterLink :to="'/api/v1/message/' + message.ID + '/part/' + part.PartID"
class="row m-0 dropdown-item d-flex" target="_blank"
:title="part.FileName != '' ? part.FileName : '[ unknown ]'" style="min-width: 350px">
<div class="col-auto p-0 pe-1">
<i class="bi" :class="attachmentIcon(part)"></i>
</div>
<div class="col text-truncate p-0 pe-1">
{{ part.FileName != '' ? part.FileName : '[ unknown ]' }}
</div>
<div class="col-auto text-muted small p-0">
{{ getFileSize(part.Size) }}
</div>
</RouterLink>
</li>
</template>
<template v-if="message.Inline && message.Inline.length">
<li>
<hr class="dropdown-divider">
</li>
<li>
<h6 class="dropdown-header">
Inline image<span v-if="message.Inline.length > 1">s</span>
</h6>
</li>
<li v-for="part in message.Inline">
<RouterLink :to="'/api/v1/message/' + message.ID + '/part/' + part.PartID" <RouterLink :to="'/api/v1/message/' + message.ID + '/part/' + part.PartID"
class="row m-0 dropdown-item d-flex" target="_blank" class="row m-0 dropdown-item d-flex" target="_blank"
:title="part.FileName != '' ? part.FileName : '[ unknown ]'" style="min-width: 350px"> :title="part.FileName != '' ? part.FileName : '[ unknown ]'" style="min-width: 350px">