Skip to content

Commit 5bd8e8a

Browse files
fix: align IMAP mail detail style with main site
1 parent a8b16b6 commit 5bd8e8a

File tree

1 file changed

+49
-37
lines changed

1 file changed

+49
-37
lines changed

mail-viewer/imap-mail-app/public/index.html

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -341,29 +341,32 @@
341341
}
342342

343343
.detail-header {
344-
padding: 18px 20px 16px;
345-
border-bottom: 1px solid var(--embed-border);
346-
background: var(--embed-surface-soft);
344+
padding: 20px 20px 6px;
347345
}
348346

349-
.detail-subject {
350-
font-size: 17px;
351-
font-weight: 600;
352-
margin-bottom: 8px;
353-
letter-spacing: -0.01em;
347+
.detail-top-row {
348+
display: flex;
349+
justify-content: space-between;
350+
align-items: flex-start;
351+
margin-bottom: 14px;
352+
gap: 12px;
354353
}
355354

356-
.detail-meta {
357-
font-size: 13px;
358-
color: var(--embed-muted);
359-
line-height: 1.6;
355+
.detail-row {
356+
margin-bottom: 14px;
357+
font-size: 14px;
358+
line-height: 1.5;
360359
}
361360

362-
.detail-header-top {
363-
display: flex;
364-
align-items: center;
365-
gap: 12px;
366-
margin-bottom: 8px;
361+
.detail-row strong,
362+
.detail-top-row strong {
363+
color: var(--embed-text);
364+
}
365+
366+
.detail-divider {
367+
border: none;
368+
border-top: 1px solid var(--embed-border);
369+
margin: 0;
367370
}
368371

369372
.detail-back {
@@ -388,17 +391,27 @@
388391
line-height: 1.6;
389392
}
390393

394+
.mail-body-container {
395+
background: #f8f9fa;
396+
padding: 0;
397+
border-radius: 8px;
398+
overflow: hidden;
399+
}
400+
401+
.mail-body-container pre {
402+
padding: 16px 20px;
403+
margin: 0;
404+
}
405+
391406
.detail-body iframe {
392407
width: 100%;
393408
border: none;
394-
min-height: 300px;
409+
min-height: 200px;
395410
background: #fff;
396-
border-radius: 8px;
397411
}
398412

399413
.detail-attachments {
400414
padding: 12px 20px;
401-
border-top: 1px solid var(--embed-border);
402415
font-size: 14px;
403416
background: rgba(245,249,247,0.65);
404417
}
@@ -1551,26 +1564,25 @@ <h3 data-i18n="modalTitle">连接 IMAP 邮箱</h3>
15511564

15521565
el.innerHTML =
15531566
'<div class="detail-header">' +
1554-
'<div class="detail-header-top">' +
1555-
'<button type="button" class="detail-back" onclick="showMailListView()">' + t('backToList') + '</button>' +
1556-
'<div class="detail-subject">' + esc(data.subject) + '</div>' +
1557-
'</div>' +
1558-
'<div class="detail-actions">' +
1559-
'<button class="action-btn" onclick="toggleReadDetail()" title="' + esc(t(isSeen ? 'markUnread' : 'markRead')) + '"><i class="bi bi-envelope' + (isSeen ? '-open' : '') + '"></i> ' + esc(t(isSeen ? 'markUnread' : 'markRead')) + '</button>' +
1560-
'<button class="action-btn" onclick="toggleStarDetail()" title="' + esc(t(isFlagged ? 'unstar' : 'star')) + '"><i class="bi bi-star' + (isFlagged ? '-fill' : '') + '"' + (isFlagged ? ' style="color:#e8a73d"' : '') + '></i> ' + esc(t(isFlagged ? 'unstar' : 'star')) + '</button>' +
1561-
'<button class="action-btn" onclick="moveMailDetail(\'Trash\')" title="' + esc(t('moveToTrash')) + '"><i class="bi bi-trash"></i> ' + esc(t('moveToTrash')) + '</button>' +
1562-
'<button class="action-btn danger" onclick="deleteMailDetail()" title="' + esc(t('deleteButton')) + '"><i class="bi bi-x-circle"></i> ' + esc(t('deleteButton')) + '</button>' +
1563-
'<select class="action-select" onchange="moveMailDetail(this.value); this.selectedIndex=0;"><option value="">' + esc(t('moveToFolder')) + '</option>' + moveOptions + '</select>' +
1564-
'</div>' +
1565-
'<div class="detail-meta">' +
1566-
t('from') + ': ' + makeCopyable(data.from) + '<br>' +
1567-
t('to') + ': ' + makeCopyable(data.to) + '<br>' +
1568-
(data.cc ? t('cc') + ': ' + makeCopyable(data.cc) + '<br>' : '') +
1569-
t('date') + ': ' + date +
1567+
'<button type="button" class="detail-back" onclick="showMailListView()">' + t('backToList') + '</button>' +
1568+
'<div class="detail-top-row">' +
1569+
'<div><strong>' + t('from') + ':</strong> ' + makeCopyable(data.from) + '</div>' +
1570+
'<div class="detail-actions">' +
1571+
'<button class="action-btn" onclick="toggleReadDetail()" title="' + esc(t(isSeen ? 'markUnread' : 'markRead')) + '"><i class="bi bi-envelope' + (isSeen ? '-open' : '') + '"></i> ' + esc(t(isSeen ? 'markUnread' : 'markRead')) + '</button>' +
1572+
'<button class="action-btn" onclick="toggleStarDetail()" title="' + esc(t(isFlagged ? 'unstar' : 'star')) + '"><i class="bi bi-star' + (isFlagged ? '-fill' : '') + '"' + (isFlagged ? ' style="color:#e8a73d"' : '') + '></i> ' + esc(t(isFlagged ? 'unstar' : 'star')) + '</button>' +
1573+
'<button class="action-btn" onclick="moveMailDetail(\'Trash\')" title="' + esc(t('moveToTrash')) + '"><i class="bi bi-trash"></i> ' + esc(t('moveToTrash')) + '</button>' +
1574+
'<button class="action-btn danger" onclick="deleteMailDetail()" title="' + esc(t('deleteButton')) + '"><i class="bi bi-x-circle"></i> ' + esc(t('deleteButton')) + '</button>' +
1575+
'<select class="action-select" onchange="moveMailDetail(this.value); this.selectedIndex=0;"><option value="">' + esc(t('moveToFolder')) + '</option>' + moveOptions + '</select>' +
1576+
'</div>' +
15701577
'</div>' +
1578+
'<div class="detail-row"><strong>' + t('to') + ':</strong> ' + makeCopyable(data.to) + '</div>' +
1579+
(data.cc ? '<div class="detail-row"><strong>' + t('cc') + ':</strong> ' + makeCopyable(data.cc) + '</div>' : '') +
1580+
'<div class="detail-row"><strong>' + t('subject') + ':</strong> ' + esc(data.subject) + '</div>' +
1581+
'<div class="detail-row"><strong>' + t('date') + ':</strong> ' + date + '</div>' +
15711582
'</div>' +
1583+
'<hr class="detail-divider">' +
15721584
attachHtml +
1573-
'<div class="detail-body">' + bodyHtml + '</div>';
1585+
'<div class="detail-body"><div class="mail-body-container">' + bodyHtml + '</div></div>';
15741586
if (data.html) {
15751587
var iframe = document.getElementById('mail-iframe');
15761588
iframe.onload = function() {

0 commit comments

Comments
 (0)