@bobfrankston/mailx 1.0.208 → 1.0.209
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client/app.js
CHANGED
|
@@ -352,7 +352,14 @@ async function openCompose(mode) {
|
|
|
352
352
|
function showComposeOverlay() {
|
|
353
353
|
const wrapper = document.createElement("div");
|
|
354
354
|
wrapper.className = "compose-overlay";
|
|
355
|
-
|
|
355
|
+
// Full-screen on small/short screens, floating on larger
|
|
356
|
+
const isSmall = window.innerWidth <= 768 || window.innerHeight <= 600;
|
|
357
|
+
if (isSmall) {
|
|
358
|
+
wrapper.style.cssText = "position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#fff;";
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
wrapper.style.cssText = "position:fixed;bottom:0;right:16px;width:min(900px,55vw);height:min(700px,70vh);z-index:1000;border-radius:8px 8px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,0.3);display:flex;flex-direction:column;resize:both;overflow:hidden;";
|
|
362
|
+
}
|
|
356
363
|
// Title bar — drag to move, close button
|
|
357
364
|
const titleBar = document.createElement("div");
|
|
358
365
|
titleBar.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#e8ecf0;border-radius:8px 8px 0 0;cursor:move;user-select:none;flex-shrink:0;";
|
|
@@ -311,6 +311,8 @@ function appendMessages(body, accountId, items) {
|
|
|
311
311
|
row.classList.add("unread");
|
|
312
312
|
if (msg.flags.includes("\\Flagged"))
|
|
313
313
|
row.classList.add("flagged");
|
|
314
|
+
if (!msg.bodyPath)
|
|
315
|
+
row.classList.add("not-downloaded");
|
|
314
316
|
row.dataset.uid = String(msg.uid);
|
|
315
317
|
row.dataset.accountId = msgAccountId;
|
|
316
318
|
row.dataset.folderId = String(msg.folderId);
|
|
@@ -398,6 +398,17 @@ button.tb-menu-item { background: none; border: none; color: inherit; width: 100
|
|
|
398
398
|
}
|
|
399
399
|
.no-snippets .ml-preview { display: none; }
|
|
400
400
|
.ml-date { white-space: nowrap; text-align: right; color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--font-size-sm); }
|
|
401
|
+
/* Not-downloaded indicator: small dot before the date */
|
|
402
|
+
.ml-row.not-downloaded .ml-date::before {
|
|
403
|
+
content: "○ ";
|
|
404
|
+
color: var(--color-text-muted);
|
|
405
|
+
opacity: 0.7;
|
|
406
|
+
}
|
|
407
|
+
.ml-row:not(.not-downloaded) .ml-date::before {
|
|
408
|
+
content: "● ";
|
|
409
|
+
color: #4a9;
|
|
410
|
+
opacity: 0.5;
|
|
411
|
+
}
|
|
401
412
|
|
|
402
413
|
.ml-empty {
|
|
403
414
|
grid-column: 1 / -1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.209",
|
|
4
4
|
"description": "Local-first email client with IMAP sync and standalone native app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/mailx.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@bobfrankston/iflow-node": "^0.1.2",
|
|
25
25
|
"@bobfrankston/miscinfo": "^1.0.8",
|
|
26
26
|
"@bobfrankston/oauthsupport": "^1.0.22",
|
|
27
|
-
"@bobfrankston/msger": "^0.1.
|
|
27
|
+
"@bobfrankston/msger": "^0.1.270",
|
|
28
28
|
"@capacitor/android": "^8.3.0",
|
|
29
29
|
"@capacitor/cli": "^8.3.0",
|
|
30
30
|
"@capacitor/core": "^8.3.0",
|
|
@@ -248,7 +248,8 @@ export class MailxDB {
|
|
|
248
248
|
flags: JSON.parse(r.flags_json),
|
|
249
249
|
size: r.size,
|
|
250
250
|
hasAttachments: !!r.has_attachments,
|
|
251
|
-
preview: r.preview
|
|
251
|
+
preview: r.preview,
|
|
252
|
+
bodyPath: r.body_path || ""
|
|
252
253
|
}));
|
|
253
254
|
return { items, total, page, pageSize };
|
|
254
255
|
}
|
|
@@ -279,7 +280,8 @@ export class MailxDB {
|
|
|
279
280
|
flags: JSON.parse(r.flags_json),
|
|
280
281
|
size: r.size,
|
|
281
282
|
hasAttachments: !!r.has_attachments,
|
|
282
|
-
preview: r.preview
|
|
283
|
+
preview: r.preview,
|
|
284
|
+
bodyPath: r.body_path || ""
|
|
283
285
|
}));
|
|
284
286
|
return { items, total, page, pageSize };
|
|
285
287
|
}
|