..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310 | package templates
templ Mail() {
@Base("Mail") {
<div class="min-h-screen bg-black text-cyan-400 flex relative overflow-hidden">
// Background Effects
<div class="absolute inset-0 bg-gradient-to-br from-purple-900/20 via-cyan-900/20 to-blue-900/20 pointer-events-none"></div>
<div class="absolute inset-0 bg-[radial-gradient(circle_at_50%_50%,rgba(0,255,255,0.1),transparent_50%)] pointer-events-none"></div>
// Grid Effect
<div class="absolute inset-0 grid grid-cols-24 gap-4 opacity-10 pointer-events-none">
for i := 0; i < 24; i++ {
<div class="h-full border-r border-cyan-500/30"></div>
}
</div>
// Sidebar
<div class="w-64 border-r border-cyan-500/30 backdrop-blur-sm bg-black/50 relative z-10">
// User Profile Section
<div class="p-4 border-b border-cyan-500/30">
<div class="flex items-center space-x-3">
<div class="w-10 h-10 rounded-full bg-cyan-500/20 border border-cyan-500/50 flex items-center justify-center">
<svg class="w-6 h-6 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z"></path>
</svg>
</div>
<div>
<div class="text-cyan-400 font-bold tracking-wide">USER_ALPHA</div>
<div class="text-cyan-500/70 text-xs tracking-wider">CLEARANCE: LVL 3</div>
</div>
</div>
</div>
// Navigation Menu
<nav class="p-4 space-y-2">
<a href="#" class="flex items-center space-x-3 p-2 bg-cyan-500/10 border border-cyan-500/30 group hover:bg-cyan-500/20 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75"></path>
</svg>
<span class="tracking-wider">INBOX</span>
<span class="ml-auto bg-cyan-500/20 px-2 py-0.5 text-xs rounded">23</span>
</a>
<a href="#" class="flex items-center space-x-3 p-2 hover:bg-cyan-500/10 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5"></path>
</svg>
<span class="tracking-wider">SENT</span>
</a>
<a href="#" class="flex items-center space-x-3 p-2 hover:bg-cyan-500/10 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"></path>
</svg>
<span class="tracking-wider">DRAFTS</span>
<span class="ml-auto bg-cyan-500/20 px-2 py-0.5 text-xs rounded">3</span>
</a>
<div class="border-t border-cyan-500/30 my-4"></div>
<div class="text-xs text-cyan-500/70 tracking-wider px-2 uppercase">Folders</div>
<div class="space-y-1">
<a href="#" class="flex items-center space-x-3 p-2 hover:bg-cyan-500/10 border border-transparent hover:border-cyan-500/30 transition-all text-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z"></path>
</svg>
<span>PROJECTS</span>
</a>
<a href="#" class="flex items-center space-x-3 p-2 hover:bg-cyan-500/10 border border-transparent hover:border-cyan-500/30 transition-all text-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z"></path>
</svg>
<span>PERSONAL</span>
</a>
</div>
</nav>
// Calendar Preview
<div class="p-4 border-t border-cyan-500/30">
<div class="text-xs text-cyan-500/70 tracking-wider uppercase mb-2">Calendar</div>
<div class="bg-cyan-500/10 border border-cyan-500/30 p-3 space-y-2">
<div class="text-sm font-bold tracking-wider">NEXT MEETING</div>
<div class="text-xs text-cyan-400/70">13:00 - Project Alpha Review</div>
<div class="text-xs text-cyan-400/70">15:30 - Security Briefing</div>
</div>
</div>
</div>
// Main Content Area
<div class="flex-1 flex flex-col min-h-screen">
// Toolbar
<div class="h-14 border-b border-cyan-500/30 backdrop-blur-sm bg-black/50 flex items-center justify-between px-6">
<div class="flex items-center space-x-4">
<button class="flex items-center space-x-2 bg-cyan-500/20 border border-cyan-500/30 px-4 py-1.5 hover:bg-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15"></path>
</svg>
<span class="tracking-wider text-sm">COMPOSE</span>
</button>
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path>
</svg>
</button>
</div>
<div class="flex items-center space-x-4">
<div class="relative">
<input type="text" placeholder="SEARCH MAIL DATABASE" class="w-64 bg-black/30 border border-cyan-500/50 text-sm px-4 py-1.5 focus:outline-none focus:border-cyan-500 placeholder-cyan-700"/>
<svg class="w-4 h-4 text-cyan-500 absolute right-3 top-1/2 -translate-y-1/2" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"></path>
</svg>
</div>
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all relative">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0"></path>
</svg>
<div class="absolute -top-1 -right-1 w-2 h-2 bg-cyan-500 rounded-full"></div>
</button>
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281Z"></path>
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
</svg>
</button>
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all" hx-post="/auth/logout" hx-target="#main-content" hx-swap="innerHTML" hx-push-url="/login">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75"></path>
</svg>
</button>
</div>
</div>
// Email List and Preview Split View
<div class="flex-1 flex relative select-none">
// Email List
<div class="w-96 flex-shrink-0 border-r border-cyan-500/30 overflow-y-auto relative" id="email-list">
// Email List Header
<div class="sticky top-0 bg-black/90 backdrop-blur-sm border-b border-cyan-500/30 p-4 flex items-center justify-between">
<div class="text-sm tracking-wider">INBOX - 23 UNREAD</div>
<div class="flex space-x-2">
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M3 7.5 7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5"></path>
</svg>
</button>
<button class="p-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"></path>
</svg>
</button>
</div>
</div>
// Email List Items
<div class="divide-y divide-cyan-500/30">
// Unread Email
<div class="email-item select-none p-4 bg-cyan-500/5 hover:bg-cyan-500/10 cursor-pointer transition-all relative group">
<div class="absolute left-0 top-0 bottom-0 w-1 bg-cyan-500"></div>
<div class="flex justify-between items-start mb-1">
<div class="font-bold tracking-wider">Project NOVA Update</div>
<div class="text-xs text-cyan-500/70">09:45</div>
</div>
<div class="text-sm mb-1">System Administrator</div>
<div class="text-sm text-cyan-400/70 line-clamp-1">
Latest security protocols have been updated. Please review the attached documentation...
</div>
<div class="absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity flex space-x-2">
<button class="p-1 hover:bg-cyan-500/20 rounded-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m8.25 3v6.75m0-6.75h-3.75m3.75 0h3.75M9 12h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15"></path>
</svg>
</button>
<button class="p-1 hover:bg-cyan-500/20 rounded-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"></path>
</svg>
</button>
</div>
</div>
// Read Email
<div class="email-item select-none p-4 bg-cyan-500/5 hover:bg-cyan-500/10 cursor-pointer transition-all relative group">
<div class="flex justify-between items-start mb-1">
<div class="tracking-wider text-cyan-400/90">Meeting Minutes</div>
<div class="text-xs text-cyan-500/70">Yesterday</div>
</div>
<div class="text-sm text-cyan-400/90">Team Lead</div>
<div class="text-sm text-cyan-400/70 line-clamp-1">
Summary of our discussion regarding the upcoming deadlines...
</div>
<div class="absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity flex space-x-2">
<button class="p-1 hover:bg-cyan-500/20 rounded-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m8.25 3v6.75m0-6.75h-3.75m3.75 0h3.75M9 12h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15"></path>
</svg>
</button>
<button class="p-1 hover:bg-cyan-500/20 rounded-sm">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"></path>
</svg>
</button>
</div>
</div>
</div>
</div>
<div id="resizer" class="w-1 h-full cursor-col-resize hover:bg-cyan-500 bg-cyan-500/30 flex-shrink-0 active:bg-cyan-500"></div>
// Email Preview
<div class="flex-1 flex flex-col">
// Email Preview Header
<div class="bg-black/90 backdrop-blur-sm border-b border-cyan-500/30 p-4">
<div class="flex justify-between items-start mb-4">
<div>
<h2 class="text-lg font-bold tracking-wider mb-1">Project NOVA Update</h2>
<div class="flex items-center space-x-4 text-sm">
<div class="flex items-center space-x-2">
<div class="w-8 h-8 rounded-full bg-cyan-500/20 border border-cyan-500/50 flex items-center justify-center">
<span class="text-cyan-500 font-bold">SA</span>
</div>
<span>System Administrator</span>
</div>
<span class="text-cyan-500/70"><[email protected]></span>
</div>
</div>
<div class="text-sm text-cyan-500/70">09:45 AM</div>
</div>
<div class="flex space-x-2">
<button class="px-3 py-1.5 bg-cyan-500/20 border border-cyan-500/30 hover:bg-cyan-500/30 transition-all text-sm tracking-wider">
REPLY
</button>
<button class="px-3 py-1.5 bg-cyan-500/20 border border-cyan-500/30 hover:bg-cyan-500/30 transition-all text-sm tracking-wider">
FORWARD
</button>
<button class="px-3 py-1.5 hover:bg-cyan-500/20 border border-transparent hover:border-cyan-500/30 transition-all">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"></path>
</svg>
</button>
</div>
</div>
// Email Content
<div class="flex-1 overflow-y-auto p-6 space-y-4">
<div class="text-cyan-400/90 leading-relaxed">
<p>ALERT STATUS: PRIORITY</p>
<p class="my-4">Attention all personnel,</p>
<p class="mb-4">The latest security protocols for Project NOVA have been updated. Please review the following changes:</p>
<ul class="list-disc pl-5 space-y-2 mb-4">
<li>Enhanced encryption algorithms for all communications</li>
<li>New access control parameters for restricted areas</li>
<li>Updated emergency response procedures</li>
<li>Revised data handling protocols</li>
</ul>
<p class="mb-4">All team members must acknowledge receipt of these updates and complete the security training module by EOD.</p>
<div class="border-l-2 border-cyan-500 pl-4 my-6 py-2">
<p class="text-cyan-500 font-bold">SECURITY REMINDER</p>
<p class="text-sm text-cyan-400/70">This message contains sensitive information. Do not forward without authorization.</p>
</div>
<p class="mb-4">Required actions:</p>
<ol class="list-decimal pl-5 space-y-2 mb-4">
<li>Review attached documentation</li>
<li>Complete security assessment</li>
<li>Update credentials before next login</li>
</ol>
<p class="mt-6">-- END OF TRANSMISSION --</p>
</div>
// Attachments
<div class="border-t border-cyan-500/30 pt-4 mt-6">
<div class="text-sm text-cyan-500/70 mb-3">ATTACHMENTS</div>
<div class="space-y-2">
<div class="flex items-center space-x-3 p-2 bg-cyan-500/5 border border-cyan-500/30 group hover:bg-cyan-500/10 cursor-pointer">
<svg class="w-5 h-5 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"></path>
</svg>
<div class="flex-1">
<div class="text-sm">NOVA_security_protocols_v2.1.pdf</div>
<div class="text-xs text-cyan-500/70">2.4 MB</div>
</div>
<button class="opacity-0 group-hover:opacity-100 p-1.5 hover:bg-cyan-500/20 rounded-sm transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"></path>
</svg>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
// Context Menu (Hidden by default)
<div id="context-menu" class="fixed hidden bg-black/95 border border-cyan-500/50 backdrop-blur-sm shadow-lg shadow-cyan-500/20 w-48 z-50 divide-y divide-cyan-500/30">
<div class="py-1">
<a href="#" class="flex items-center space-x-3 px-4 py-2 text-sm hover:bg-cyan-500/20 transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 15 3 9m0 0 6-6M3 9h12a6 6 0 0 1 0 12h-3"></path>
</svg>
<span>Reply</span>
</a>
<a href="#" class="flex items-center space-x-3 px-4 py-2 text-sm hover:bg-cyan-500/20 transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m15 15 6-6m0 0-6-6m6 6H9a6 6 0 0 0 0 12h3"></path>
</svg>
<span>Forward</span>
</a>
<div class="border-t border-cyan-500/30 my-1"></div>
<a href="#" class="flex items-center space-x-3 px-4 py-2 text-sm hover:bg-cyan-500/20 transition-all">
<svg class="w-4 h-4 text-cyan-500" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m8.25 3v6.75m0-6.75h-3.75m3.75 0h3.75M9 12h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15"></path>
</svg>
<span>Archive</span>
</a>
<a href="#" class="flex items-center space-x-3 px-4 py-2 text-sm hover:bg-cyan-500/20 text-red-400 transition-all">
<svg class="w-4 h-4 text-red-400" viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"></path>
</svg>
<span>Delete</span>
</a>
</div>
</div>
<script src="/static/js/mailclient.js" type="text/javascript"></script>
}
}
|
|