Use internal compose modal for mail actions

This commit is contained in:
DonVoo 2026-07-13 12:16:21 +02:00
parent e8029a177c
commit 29fd3f5cae
3 changed files with 229 additions and 24 deletions

View file

@ -540,6 +540,97 @@ a.tree-node { display: block; color: inherit; text-decoration: none; }
overflow: auto;
padding: 20px 24px;
}
.mail-compose-modal {
position: fixed;
inset: 0;
z-index: 70;
display: none;
align-items: center;
justify-content: center;
padding: 24px;
background: rgba(0, 0, 0, .32);
}
.mail-compose-modal.open { display: flex; }
.mail-compose-box {
width: min(760px, calc(100vw - 48px));
max-height: calc(100vh - 48px);
display: flex;
flex-direction: column;
background: #fff;
border: 1px solid var(--ol-border);
box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
}
.mail-compose-head {
height: 42px;
display: flex;
align-items: center;
gap: 12px;
padding: 0 12px 0 16px;
color: #fff;
background: #2f343a;
}
.mail-compose-head h2 {
margin: 0;
font-size: 15px;
font-weight: 600;
}
.mail-compose-close {
margin-left: auto;
width: 30px;
height: 30px;
border: 0;
color: #fff;
background: transparent;
font-size: 22px;
line-height: 1;
cursor: pointer;
}
.mail-compose-close:hover { background: #454b53; }
.mail-compose-fields {
display: grid;
gap: 10px;
padding: 14px 16px;
overflow: auto;
}
.mail-compose-fields label {
display: grid;
grid-template-columns: 72px minmax(0, 1fr);
align-items: start;
gap: 10px;
color: var(--ol-muted);
}
.mail-compose-fields input,
.mail-compose-fields textarea {
width: 100%;
border: 1px solid #b8c4d0;
padding: 7px 8px;
color: var(--ol-text);
background: #fff;
font: inherit;
}
.mail-compose-fields textarea {
min-height: 260px;
resize: vertical;
font-family: Consolas, "Courier New", monospace;
}
.mail-compose-fields input:focus,
.mail-compose-fields textarea:focus {
outline: none;
border-color: var(--ol-blue);
}
.mail-compose-status {
min-height: 20px;
padding: 0 16px 8px 98px;
color: var(--ol-muted);
}
.mail-compose-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
padding: 12px 16px;
border-top: 1px solid var(--ol-border);
background: #f7f9fb;
}
.ef-empty { color: var(--ol-muted); padding: 24px; }
.audit-note { padding: 10px 16px; border-bottom: 1px solid var(--ol-border); font-size: 12px; }
.drop-zone {