Move mirrored pipeline action into card controls

Place the Run Pipeline action alongside the existing mirrored playlist card controls so users can find it next to clear, edit source, and delete.
This commit is contained in:
Broque Thomas 2026-05-24 20:09:06 -07:00
parent f83c671570
commit a1409576f4
2 changed files with 5 additions and 2 deletions

View file

@ -513,10 +513,10 @@ function renderMirroredCard(p, container) {
<span>Mirrored ${ago}</span>
${ratioHtml}
${phaseHtml}
<button class="mirrored-card-pipeline" onclick="event.stopPropagation(); runMirroredPlaylistPipeline(${p.id}, '${_escAttr(p.name)}')" title="Run refresh, discover, sync, and wishlist">Run Pipeline</button>
</div>
</div>
${disc > 0 ? `<button class="mirrored-card-clear" onclick="event.stopPropagation(); clearMirroredDiscovery(${p.id}, '${_escAttr(p.name)}')" title="Clear discovery data">↺</button>` : ''}
<button class="mirrored-card-pipeline" onclick="event.stopPropagation(); runMirroredPlaylistPipeline(${p.id}, '${_escAttr(p.name)}')" title="Run refresh, discover, sync, and wishlist">Run</button>
<button class="mirrored-card-link" onclick="event.stopPropagation(); editMirroredSourceRef(${p.id}, '${_escAttr(p.name)}', '${_escAttr(p.source)}', '${_escAttr(sourceRef)}')" title="Edit original playlist link">🔗</button>
<button class="mirrored-card-delete" onclick="event.stopPropagation(); deleteMirroredPlaylist(${p.id}, '${_escAttr(p.name)}')" title="Delete mirror"></button>
`;

View file

@ -12058,6 +12058,8 @@ body.helper-mode-active #dashboard-activity-feed:hover {
height: 24px;
padding: 0 10px;
transition: all 0.2s ease;
flex-shrink: 0;
opacity: 0;
}
.mirrored-card-pipeline:hover {
@ -12088,7 +12090,8 @@ body.helper-mode-active #dashboard-activity-feed:hover {
.mirrored-playlist-card:hover .mirrored-card-delete,
.mirrored-playlist-card:hover .mirrored-card-clear,
.mirrored-playlist-card:hover .mirrored-card-link {
.mirrored-playlist-card:hover .mirrored-card-link,
.mirrored-playlist-card:hover .mirrored-card-pipeline {
opacity: 1;
}