feat: copy queue URLs from single-line detail links
Windows CI / verify (push) Canceled after 0s

This commit is contained in:
Sucukdeluxe
2026-09-06 13:35:11 +02:00
parent 95f15ac834
commit 3584556114
6 changed files with 63 additions and 4 deletions
+4 -1
View File
@@ -94,6 +94,9 @@ async function invokeQueueItemAction(action: string, id: string): Promise<void>
await removeFromQueue(id);
} else if (action === 'retry') {
await retryQueueItem(id);
} else if (action === 'copy-url') {
const item = queue.find((candidate) => candidate.id === id);
if (item) await copyQueueUrl(item.url);
}
}
@@ -728,7 +731,7 @@ function renderQueue(): void {
</div>
<div class="queue-details${expandedQueueIds.has(item.id) ? ' expanded' : ''}" id="${detailsId}"${expandedQueueIds.has(item.id) ? '' : ' inert'}>
<div class="queue-details-clip"><div class="queue-details-content">
<div><span class="queue-detail-label">URL:</span> ${escapeHtml(item.url)}</div>
<div class="queue-url-row"><span class="queue-detail-label">URL:</span><button class="queue-url-copy" type="button" data-queue-action="copy-url" aria-label="${escapeHtml(UI_TEXT.queue.ctxCopyUrl)}" title="${escapeHtml(UI_TEXT.queue.ctxCopyUrl)}: ${escapeHtml(item.url)}">${escapeHtml(item.url)}</button></div>
<div><span class="queue-detail-label">${escapeHtml(UI_TEXT.queue.detailStreamer)}</span> ${escapeHtml(item.streamer)}</div>
<div><span class="queue-detail-label">${escapeHtml(UI_TEXT.queue.detailDuration)}</span> ${escapeHtml(item.duration_str)}</div>
<div><span class="queue-detail-label">${escapeHtml(UI_TEXT.queue.detailDate)}</span> ${escapeHtml(formatUiDateTime(item.date))}</div>
+1 -1
View File
@@ -20,7 +20,7 @@ describe('production style modules', () => {
.replace(/\r\n/g, '\n'));
const digest = createHash('sha256').update(content).digest('hex');
expect(digest).toBe('a2626a94632641b7e6039d5a50165e34224a75a1d286db90ae9e22bdae72064e');
expect(digest).toBe('89aee0dd2015cbf2890d9acfb4e5661f8520777f43fe48a86a89abc821982f4d');
});
test('derives the Windows hot-development executable version from package metadata', () => {
+28
View File
@@ -409,6 +409,34 @@
margin-bottom: 2px;
}
.queue-url-copy {
display: block;
width: 100%;
min-width: 0;
min-height: 24px;
padding: 0;
border: 0;
background: transparent;
color: var(--text-secondary);
font: inherit;
font-size: 11px;
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
cursor: copy;
}
.queue-url-copy:hover {
color: var(--text);
text-decoration: underline;
}
.queue-url-copy:focus-visible {
outline: 2px solid var(--accent);
outline-offset: -2px;
}
.queue-selection-order {
position: absolute;
z-index: 2;