@delt/claude-alarm 0.3.5 → 0.3.6
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/dist/dashboard/index.html +42 -0
- package/package.json +1 -1
- package/src/dashboard/index.html +42 -0
|
@@ -98,6 +98,10 @@
|
|
|
98
98
|
letter-spacing: 0.5px;
|
|
99
99
|
color: var(--text-dim);
|
|
100
100
|
padding: 8px 8px 12px;
|
|
101
|
+
position: sticky;
|
|
102
|
+
top: 0;
|
|
103
|
+
background: var(--bg);
|
|
104
|
+
z-index: 1;
|
|
101
105
|
}
|
|
102
106
|
.session-card {
|
|
103
107
|
background: var(--surface);
|
|
@@ -207,6 +211,28 @@
|
|
|
207
211
|
margin-top: 4px;
|
|
208
212
|
}
|
|
209
213
|
|
|
214
|
+
/* Scroll to bottom button */
|
|
215
|
+
.scroll-bottom {
|
|
216
|
+
position: absolute;
|
|
217
|
+
bottom: 80px;
|
|
218
|
+
right: 30px;
|
|
219
|
+
width: 36px;
|
|
220
|
+
height: 36px;
|
|
221
|
+
border-radius: 50%;
|
|
222
|
+
background: var(--surface);
|
|
223
|
+
border: 1px solid var(--border);
|
|
224
|
+
color: var(--text);
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
font-size: 16px;
|
|
227
|
+
display: none;
|
|
228
|
+
align-items: center;
|
|
229
|
+
justify-content: center;
|
|
230
|
+
z-index: 5;
|
|
231
|
+
transition: border-color 0.15s;
|
|
232
|
+
}
|
|
233
|
+
.scroll-bottom:hover { border-color: var(--accent); }
|
|
234
|
+
.scroll-bottom.visible { display: flex; }
|
|
235
|
+
|
|
210
236
|
/* Image preview */
|
|
211
237
|
.image-preview {
|
|
212
238
|
border-top: 1px solid var(--border);
|
|
@@ -314,6 +340,10 @@
|
|
|
314
340
|
letter-spacing: 0.5px;
|
|
315
341
|
color: var(--text-dim);
|
|
316
342
|
padding: 8px 8px 12px;
|
|
343
|
+
position: sticky;
|
|
344
|
+
top: 0;
|
|
345
|
+
background: var(--bg);
|
|
346
|
+
z-index: 1;
|
|
317
347
|
}
|
|
318
348
|
.notif-item {
|
|
319
349
|
background: var(--surface);
|
|
@@ -455,6 +485,7 @@
|
|
|
455
485
|
<div class="messages-list" id="messagesList">
|
|
456
486
|
<div class="empty-state">Select a session to view messages</div>
|
|
457
487
|
</div>
|
|
488
|
+
<button class="scroll-bottom" id="scrollBottom" title="Scroll to bottom">↓</button>
|
|
458
489
|
<div class="drag-overlay" id="dragOverlay">Drop image here</div>
|
|
459
490
|
<div class="image-preview" id="imagePreview">
|
|
460
491
|
<img id="previewImg" src="" alt="preview">
|
|
@@ -870,6 +901,17 @@
|
|
|
870
901
|
return html;
|
|
871
902
|
}
|
|
872
903
|
|
|
904
|
+
// Scroll to bottom button
|
|
905
|
+
const msgList = $('#messagesList');
|
|
906
|
+
const scrollBtn = $('#scrollBottom');
|
|
907
|
+
msgList.addEventListener('scroll', () => {
|
|
908
|
+
const gap = msgList.scrollHeight - msgList.scrollTop - msgList.clientHeight;
|
|
909
|
+
scrollBtn.classList.toggle('visible', gap > 100);
|
|
910
|
+
});
|
|
911
|
+
scrollBtn.addEventListener('click', () => {
|
|
912
|
+
msgList.scrollTo({ top: msgList.scrollHeight, behavior: 'smooth' });
|
|
913
|
+
});
|
|
914
|
+
|
|
873
915
|
state.token = getToken();
|
|
874
916
|
connect();
|
|
875
917
|
})();
|
package/package.json
CHANGED
package/src/dashboard/index.html
CHANGED
|
@@ -98,6 +98,10 @@
|
|
|
98
98
|
letter-spacing: 0.5px;
|
|
99
99
|
color: var(--text-dim);
|
|
100
100
|
padding: 8px 8px 12px;
|
|
101
|
+
position: sticky;
|
|
102
|
+
top: 0;
|
|
103
|
+
background: var(--bg);
|
|
104
|
+
z-index: 1;
|
|
101
105
|
}
|
|
102
106
|
.session-card {
|
|
103
107
|
background: var(--surface);
|
|
@@ -207,6 +211,28 @@
|
|
|
207
211
|
margin-top: 4px;
|
|
208
212
|
}
|
|
209
213
|
|
|
214
|
+
/* Scroll to bottom button */
|
|
215
|
+
.scroll-bottom {
|
|
216
|
+
position: absolute;
|
|
217
|
+
bottom: 80px;
|
|
218
|
+
right: 30px;
|
|
219
|
+
width: 36px;
|
|
220
|
+
height: 36px;
|
|
221
|
+
border-radius: 50%;
|
|
222
|
+
background: var(--surface);
|
|
223
|
+
border: 1px solid var(--border);
|
|
224
|
+
color: var(--text);
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
font-size: 16px;
|
|
227
|
+
display: none;
|
|
228
|
+
align-items: center;
|
|
229
|
+
justify-content: center;
|
|
230
|
+
z-index: 5;
|
|
231
|
+
transition: border-color 0.15s;
|
|
232
|
+
}
|
|
233
|
+
.scroll-bottom:hover { border-color: var(--accent); }
|
|
234
|
+
.scroll-bottom.visible { display: flex; }
|
|
235
|
+
|
|
210
236
|
/* Image preview */
|
|
211
237
|
.image-preview {
|
|
212
238
|
border-top: 1px solid var(--border);
|
|
@@ -314,6 +340,10 @@
|
|
|
314
340
|
letter-spacing: 0.5px;
|
|
315
341
|
color: var(--text-dim);
|
|
316
342
|
padding: 8px 8px 12px;
|
|
343
|
+
position: sticky;
|
|
344
|
+
top: 0;
|
|
345
|
+
background: var(--bg);
|
|
346
|
+
z-index: 1;
|
|
317
347
|
}
|
|
318
348
|
.notif-item {
|
|
319
349
|
background: var(--surface);
|
|
@@ -455,6 +485,7 @@
|
|
|
455
485
|
<div class="messages-list" id="messagesList">
|
|
456
486
|
<div class="empty-state">Select a session to view messages</div>
|
|
457
487
|
</div>
|
|
488
|
+
<button class="scroll-bottom" id="scrollBottom" title="Scroll to bottom">↓</button>
|
|
458
489
|
<div class="drag-overlay" id="dragOverlay">Drop image here</div>
|
|
459
490
|
<div class="image-preview" id="imagePreview">
|
|
460
491
|
<img id="previewImg" src="" alt="preview">
|
|
@@ -870,6 +901,17 @@
|
|
|
870
901
|
return html;
|
|
871
902
|
}
|
|
872
903
|
|
|
904
|
+
// Scroll to bottom button
|
|
905
|
+
const msgList = $('#messagesList');
|
|
906
|
+
const scrollBtn = $('#scrollBottom');
|
|
907
|
+
msgList.addEventListener('scroll', () => {
|
|
908
|
+
const gap = msgList.scrollHeight - msgList.scrollTop - msgList.clientHeight;
|
|
909
|
+
scrollBtn.classList.toggle('visible', gap > 100);
|
|
910
|
+
});
|
|
911
|
+
scrollBtn.addEventListener('click', () => {
|
|
912
|
+
msgList.scrollTo({ top: msgList.scrollHeight, behavior: 'smooth' });
|
|
913
|
+
});
|
|
914
|
+
|
|
873
915
|
state.token = getToken();
|
|
874
916
|
connect();
|
|
875
917
|
})();
|