@delt/claude-alarm 0.3.4 → 0.3.5
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 +44 -1
- package/package.json +1 -1
- package/src/dashboard/index.html +44 -1
|
@@ -142,6 +142,26 @@
|
|
|
142
142
|
text-align: center;
|
|
143
143
|
padding: 40px 20px;
|
|
144
144
|
}
|
|
145
|
+
.cmd-copy {
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
background: var(--bg);
|
|
149
|
+
border: 1px solid var(--border);
|
|
150
|
+
border-radius: 6px;
|
|
151
|
+
padding: 6px 10px;
|
|
152
|
+
margin-top: 12px;
|
|
153
|
+
font-size: 11px;
|
|
154
|
+
font-family: monospace;
|
|
155
|
+
cursor: pointer;
|
|
156
|
+
transition: border-color 0.15s;
|
|
157
|
+
text-align: left;
|
|
158
|
+
gap: 6px;
|
|
159
|
+
}
|
|
160
|
+
.cmd-copy:hover { border-color: var(--accent); }
|
|
161
|
+
.cmd-copy .cmd-text { flex: 1; color: var(--text); word-break: break-all; }
|
|
162
|
+
.cmd-copy .cmd-icon { color: var(--text-dim); font-size: 14px; flex-shrink: 0; }
|
|
163
|
+
.cmd-copy.copied { border-color: var(--green); }
|
|
164
|
+
.cmd-copy.copied .cmd-icon { color: var(--green); }
|
|
145
165
|
|
|
146
166
|
/* Messages panel */
|
|
147
167
|
.messages-panel {
|
|
@@ -580,7 +600,30 @@
|
|
|
580
600
|
const el = $('#sessionsList');
|
|
581
601
|
const ids = Object.keys(state.sessions);
|
|
582
602
|
if (!ids.length) {
|
|
583
|
-
el.innerHTML =
|
|
603
|
+
el.innerHTML = `<div class="no-sessions">No active sessions.<br>Start Claude Code with the channel:
|
|
604
|
+
<div class="cmd-copy" id="cmdCopy1" title="Click to copy">
|
|
605
|
+
<span class="cmd-text">claude --dangerously-load-development-channels server:claude-alarm</span>
|
|
606
|
+
<span class="cmd-icon">📋</span>
|
|
607
|
+
</div>
|
|
608
|
+
<div style="margin-top:8px;font-size:11px;color:var(--text-dim)">or with auto-approve:</div>
|
|
609
|
+
<div class="cmd-copy" id="cmdCopy2" title="Click to copy">
|
|
610
|
+
<span class="cmd-text">claude --dangerously-load-development-channels server:claude-alarm --dangerously-skip-permissions</span>
|
|
611
|
+
<span class="cmd-icon">📋</span>
|
|
612
|
+
</div>
|
|
613
|
+
</div>`;
|
|
614
|
+
el.querySelectorAll('.cmd-copy').forEach(btn => {
|
|
615
|
+
btn.addEventListener('click', () => {
|
|
616
|
+
const text = btn.querySelector('.cmd-text').textContent;
|
|
617
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
618
|
+
btn.classList.add('copied');
|
|
619
|
+
btn.querySelector('.cmd-icon').innerHTML = '✓';
|
|
620
|
+
setTimeout(() => {
|
|
621
|
+
btn.classList.remove('copied');
|
|
622
|
+
btn.querySelector('.cmd-icon').innerHTML = '📋';
|
|
623
|
+
}, 2000);
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
});
|
|
584
627
|
return;
|
|
585
628
|
}
|
|
586
629
|
el.innerHTML = ids.map(id => {
|
package/package.json
CHANGED
package/src/dashboard/index.html
CHANGED
|
@@ -142,6 +142,26 @@
|
|
|
142
142
|
text-align: center;
|
|
143
143
|
padding: 40px 20px;
|
|
144
144
|
}
|
|
145
|
+
.cmd-copy {
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
background: var(--bg);
|
|
149
|
+
border: 1px solid var(--border);
|
|
150
|
+
border-radius: 6px;
|
|
151
|
+
padding: 6px 10px;
|
|
152
|
+
margin-top: 12px;
|
|
153
|
+
font-size: 11px;
|
|
154
|
+
font-family: monospace;
|
|
155
|
+
cursor: pointer;
|
|
156
|
+
transition: border-color 0.15s;
|
|
157
|
+
text-align: left;
|
|
158
|
+
gap: 6px;
|
|
159
|
+
}
|
|
160
|
+
.cmd-copy:hover { border-color: var(--accent); }
|
|
161
|
+
.cmd-copy .cmd-text { flex: 1; color: var(--text); word-break: break-all; }
|
|
162
|
+
.cmd-copy .cmd-icon { color: var(--text-dim); font-size: 14px; flex-shrink: 0; }
|
|
163
|
+
.cmd-copy.copied { border-color: var(--green); }
|
|
164
|
+
.cmd-copy.copied .cmd-icon { color: var(--green); }
|
|
145
165
|
|
|
146
166
|
/* Messages panel */
|
|
147
167
|
.messages-panel {
|
|
@@ -580,7 +600,30 @@
|
|
|
580
600
|
const el = $('#sessionsList');
|
|
581
601
|
const ids = Object.keys(state.sessions);
|
|
582
602
|
if (!ids.length) {
|
|
583
|
-
el.innerHTML =
|
|
603
|
+
el.innerHTML = `<div class="no-sessions">No active sessions.<br>Start Claude Code with the channel:
|
|
604
|
+
<div class="cmd-copy" id="cmdCopy1" title="Click to copy">
|
|
605
|
+
<span class="cmd-text">claude --dangerously-load-development-channels server:claude-alarm</span>
|
|
606
|
+
<span class="cmd-icon">📋</span>
|
|
607
|
+
</div>
|
|
608
|
+
<div style="margin-top:8px;font-size:11px;color:var(--text-dim)">or with auto-approve:</div>
|
|
609
|
+
<div class="cmd-copy" id="cmdCopy2" title="Click to copy">
|
|
610
|
+
<span class="cmd-text">claude --dangerously-load-development-channels server:claude-alarm --dangerously-skip-permissions</span>
|
|
611
|
+
<span class="cmd-icon">📋</span>
|
|
612
|
+
</div>
|
|
613
|
+
</div>`;
|
|
614
|
+
el.querySelectorAll('.cmd-copy').forEach(btn => {
|
|
615
|
+
btn.addEventListener('click', () => {
|
|
616
|
+
const text = btn.querySelector('.cmd-text').textContent;
|
|
617
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
618
|
+
btn.classList.add('copied');
|
|
619
|
+
btn.querySelector('.cmd-icon').innerHTML = '✓';
|
|
620
|
+
setTimeout(() => {
|
|
621
|
+
btn.classList.remove('copied');
|
|
622
|
+
btn.querySelector('.cmd-icon').innerHTML = '📋';
|
|
623
|
+
}, 2000);
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
});
|
|
584
627
|
return;
|
|
585
628
|
}
|
|
586
629
|
el.innerHTML = ids.map(id => {
|