fix: persist expanded details across re-renders, guard drag-drop init against duplicates
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1e81b889f9
commit
4607ba9cc6
@ -35,7 +35,7 @@ function getQueueRenderFingerprint(items: QueueItem[]): string {
|
||||
item.mergeGroup?.mergePhase || ''
|
||||
].join(':'));
|
||||
|
||||
return `${lang}|${selectedQueueIds.join(',')}|${pieces.join('|')}`;
|
||||
return `${lang}|${selectedQueueIds.join(',')}|${[...expandedQueueIds].join(',')}|${pieces.join('|')}`;
|
||||
}
|
||||
|
||||
function hasActiveQueueDuplicate(url: string, streamer: string, date: string, customClip?: CustomClip): boolean {
|
||||
@ -199,11 +199,18 @@ function updateQueueItemProgress(progress: DownloadProgress): void {
|
||||
}
|
||||
|
||||
function toggleQueueDetails(id: string): void {
|
||||
const el = document.getElementById(`details-${id}`);
|
||||
if (el) el.style.display = el.style.display === 'none' ? 'block' : 'none';
|
||||
if (expandedQueueIds.has(id)) {
|
||||
expandedQueueIds.delete(id);
|
||||
} else {
|
||||
expandedQueueIds.add(id);
|
||||
}
|
||||
renderQueue();
|
||||
}
|
||||
|
||||
function initQueueDragDrop(): void {
|
||||
if (queueDragDropInitialized) return;
|
||||
queueDragDropInitialized = true;
|
||||
|
||||
const list = byId('queueList');
|
||||
|
||||
list.addEventListener('dragstart', (e: DragEvent) => {
|
||||
@ -303,7 +310,7 @@ function renderQueue(): void {
|
||||
<div class="queue-progress-bar${progressClass}" style="width: ${progressValue}%;"></div>
|
||||
</div>
|
||||
<div class="queue-progress-text">${safeProgressText}</div>
|
||||
<div class="queue-details" id="details-${item.id}" style="display:none">
|
||||
<div class="queue-details" id="details-${item.id}" style="display:${expandedQueueIds.has(item.id) ? 'block' : 'none'}">
|
||||
<div>URL: ${escapeHtml(item.url)}</div>
|
||||
<div>Streamer: ${escapeHtml(item.streamer)}</div>
|
||||
<div>Dauer: ${escapeHtml(item.duration_str)}</div>
|
||||
|
||||
@ -25,6 +25,8 @@ let isConnected = false;
|
||||
let downloading = false;
|
||||
let queue: QueueItem[] = [];
|
||||
let selectedQueueIds: string[] = [];
|
||||
let expandedQueueIds: Set<string> = new Set();
|
||||
let queueDragDropInitialized = false;
|
||||
|
||||
let cutterFile: string | null = null;
|
||||
let cutterVideoInfo: VideoInfo | null = null;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user