@agenticmail/api 0.7.14 → 0.7.15
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/package.json +1 -1
- package/public/index.html +13 -10
- package/public/styles.css +41 -8
package/package.json
CHANGED
package/public/index.html
CHANGED
|
@@ -23,12 +23,14 @@
|
|
|
23
23
|
|
|
24
24
|
<!-- ─── App shell ─────────────────────────────────────────────────── -->
|
|
25
25
|
<div class="app" id="app" style="display:none">
|
|
26
|
-
<!-- Top bar -->
|
|
26
|
+
<!-- Top bar — three-column grid: left chrome, centered search, right buttons. -->
|
|
27
27
|
<header class="topbar">
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
28
|
+
<div class="topbar-left">
|
|
29
|
+
<button class="menu-btn" id="menu-btn" title="Menu" data-icon="menu"></button>
|
|
30
|
+
<div class="brand">
|
|
31
|
+
<img src="/branding/agenticmail-logo.png" alt="AgenticMail" class="brand-logo" />
|
|
32
|
+
<span class="brand-name">AgenticMail</span>
|
|
33
|
+
</div>
|
|
32
34
|
</div>
|
|
33
35
|
<div class="search-container">
|
|
34
36
|
<span class="search-icon" data-icon="search"></span>
|
|
@@ -36,11 +38,12 @@
|
|
|
36
38
|
<span id="search-hint" class="search-hint"></span>
|
|
37
39
|
<button id="search-clear" class="search-clear-btn" title="Clear (Esc)" data-icon="close"></button>
|
|
38
40
|
</div>
|
|
39
|
-
<div class="topbar-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
<div class="topbar-right">
|
|
42
|
+
<button class="icon-btn" id="refresh-btn" title="Refresh (r)" data-icon="refresh"></button>
|
|
43
|
+
<button id="profile-btn" class="profile-trigger" title="Account">
|
|
44
|
+
<span id="profile-avatar"></span>
|
|
45
|
+
</button>
|
|
46
|
+
</div>
|
|
44
47
|
<div id="profile-menu" class="profile-menu">
|
|
45
48
|
<div class="profile-menu-section">Inboxes</div>
|
|
46
49
|
<div id="profile-menu-list"></div>
|
package/public/styles.css
CHANGED
|
@@ -65,12 +65,22 @@ a { color: var(--accent-strong); }
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/* ─── Top bar ──────────────────────────────────────────────────────── */
|
|
68
|
+
/* Three-column grid: [menu+brand] · [centered search] · [right buttons].
|
|
69
|
+
A flex topbar with `flex: 1` on both the search and a trailing
|
|
70
|
+
spacer split the remaining space evenly so the search drifted
|
|
71
|
+
left of the visual middle. The grid centers the search column
|
|
72
|
+
in the actual page width regardless of how wide the side groups
|
|
73
|
+
get. */
|
|
68
74
|
.topbar {
|
|
69
|
-
display:
|
|
75
|
+
display: grid;
|
|
76
|
+
grid-template-columns: 1fr auto 1fr;
|
|
77
|
+
align-items: center; gap: 8px;
|
|
70
78
|
padding: 8px 16px;
|
|
71
79
|
background: var(--bg-soft);
|
|
72
80
|
position: relative; z-index: 10;
|
|
73
81
|
}
|
|
82
|
+
.topbar-left { display: flex; align-items: center; gap: 8px; justify-self: start; }
|
|
83
|
+
.topbar-right { display: flex; align-items: center; gap: 4px; justify-self: end; }
|
|
74
84
|
.menu-btn {
|
|
75
85
|
width: 40px; height: 40px; border-radius: 50%;
|
|
76
86
|
display: flex; align-items: center; justify-content: center;
|
|
@@ -101,7 +111,12 @@ a { color: var(--accent-strong); }
|
|
|
101
111
|
}
|
|
102
112
|
|
|
103
113
|
.search-container {
|
|
104
|
-
|
|
114
|
+
/* Lives in the centered grid column of `.topbar`. Width caps at
|
|
115
|
+
720px (Gmail's actual cap), but stretches to fill the column
|
|
116
|
+
when the viewport is narrower. */
|
|
117
|
+
width: 720px;
|
|
118
|
+
max-width: 100%;
|
|
119
|
+
min-width: 280px;
|
|
105
120
|
position: relative;
|
|
106
121
|
}
|
|
107
122
|
.search-input {
|
|
@@ -138,7 +153,6 @@ a { color: var(--accent-strong); }
|
|
|
138
153
|
}
|
|
139
154
|
.search-hint.show { display: block; }
|
|
140
155
|
|
|
141
|
-
.topbar-spacer { flex: 1; }
|
|
142
156
|
.icon-btn {
|
|
143
157
|
width: 40px; height: 40px; border-radius: 50%;
|
|
144
158
|
display: flex; align-items: center; justify-content: center;
|
|
@@ -267,10 +281,15 @@ a { color: var(--accent-strong); }
|
|
|
267
281
|
.main.sidebar-open .sidebar { transform: translateX(0); }
|
|
268
282
|
.main.sidebar-open .sidebar-backdrop { display: block; }
|
|
269
283
|
.content { border-radius: 0; margin: 0; }
|
|
270
|
-
|
|
284
|
+
/* On mobile, drop the centered grid in favour of [chrome | search | account].
|
|
285
|
+
The search expands to fill whatever space is left. */
|
|
286
|
+
.topbar {
|
|
287
|
+
padding: 8px 8px; gap: 4px;
|
|
288
|
+
grid-template-columns: auto 1fr auto;
|
|
289
|
+
}
|
|
271
290
|
.brand { min-width: auto; }
|
|
272
|
-
.brand-name { font-size: 18px; }
|
|
273
|
-
.search-container {
|
|
291
|
+
.brand-name { font-size: 18px; display: none; }
|
|
292
|
+
.search-container { width: auto; min-width: 0; }
|
|
274
293
|
.search-input { height: 40px; font-size: 14px; }
|
|
275
294
|
/* On narrow screens, drop the checkbox + From column. Sender goes
|
|
276
295
|
in a small line above subject+preview to mimic Gmail's mobile
|
|
@@ -309,7 +328,6 @@ a { color: var(--accent-strong); }
|
|
|
309
328
|
.compose-modal { width: 100%; max-height: 100vh; border-radius: 0; }
|
|
310
329
|
.compose-body textarea { min-height: 40vh; }
|
|
311
330
|
/* Hide non-essential top-bar buttons on narrow screens. */
|
|
312
|
-
.topbar-spacer { flex: 0; }
|
|
313
331
|
#refresh-btn { display: none; }
|
|
314
332
|
}
|
|
315
333
|
@media (min-width: 801px) {
|
|
@@ -490,12 +508,22 @@ mark.search-hl {
|
|
|
490
508
|
background: var(--bg);
|
|
491
509
|
position: sticky; top: 0; z-index: 5;
|
|
492
510
|
flex-shrink: 0;
|
|
511
|
+
/* Toolbar spans full width (so the back button sticks to the
|
|
512
|
+
left edge of the content pane) but its action group could be
|
|
513
|
+
centered later if needed. Keeping it full-width matches Gmail. */
|
|
493
514
|
}
|
|
494
515
|
.message-toolbar .icon-btn { width: 36px; height: 36px; font-size: 16px; }
|
|
495
516
|
.message-toolbar .toolbar-spacer { flex: 1; }
|
|
496
517
|
|
|
518
|
+
/* Centered reading column for the open message — Gmail caps body
|
|
519
|
+
content around ~840px so long-line text doesn't sprawl across
|
|
520
|
+
ultrawide displays. Header, body, and attachments all share
|
|
521
|
+
the same centering rule so they line up vertically. */
|
|
497
522
|
.message-header {
|
|
498
523
|
padding: 32px 32px 16px;
|
|
524
|
+
max-width: 840px;
|
|
525
|
+
margin: 0 auto;
|
|
526
|
+
width: 100%;
|
|
499
527
|
}
|
|
500
528
|
.message-subject {
|
|
501
529
|
font: 400 22px/1.3 'Google Sans', sans-serif;
|
|
@@ -524,7 +552,9 @@ mark.search-hl {
|
|
|
524
552
|
font-size: 14px; line-height: 1.65;
|
|
525
553
|
color: var(--ink);
|
|
526
554
|
white-space: pre-wrap; word-wrap: break-word;
|
|
527
|
-
max-width:
|
|
555
|
+
max-width: 840px;
|
|
556
|
+
margin: 0 auto;
|
|
557
|
+
width: 100%;
|
|
528
558
|
}
|
|
529
559
|
.message-body h1, .message-body h2, .message-body h3 {
|
|
530
560
|
color: var(--pink); margin: 1.2em 0 .4em;
|
|
@@ -562,6 +592,9 @@ mark.search-hl {
|
|
|
562
592
|
.message-attachments {
|
|
563
593
|
padding: 12px 32px; border-top: 1px solid var(--line);
|
|
564
594
|
display: flex; flex-wrap: wrap; gap: 8px;
|
|
595
|
+
max-width: 840px;
|
|
596
|
+
margin: 0 auto;
|
|
597
|
+
width: 100%;
|
|
565
598
|
}
|
|
566
599
|
.message-attachment {
|
|
567
600
|
display: inline-flex; align-items: center; gap: 8px;
|