feat (ui): kolommen drie en vier netter gemaakt (hover)

This commit is contained in:
kodi
2026-03-09 10:48:03 +01:00
parent fc18b9718b
commit c236a6bfb4
2 changed files with 45 additions and 2 deletions
+24 -2
View File
@@ -112,6 +112,23 @@
if (btn) btn.disabled = busy; if (btn) btn.disabled = busy;
} }
function compactEpisodeText(episode) {
const season = Number(episode.season_number);
const number = Number(episode.episode_number);
const title = (episode.title || "").toString().trim() || "(untitled)";
if (Number.isFinite(season) && Number.isFinite(number)) {
return `S${season.toString().padStart(2, "0")}E${number.toString().padStart(2, "0")} - ${title}`;
}
return title;
}
function basename(pathText) {
const text = (pathText || "").toString();
const normalized = text.replace(/\\/g, "/");
const idx = normalized.lastIndexOf("/");
return idx >= 0 ? normalized.slice(idx + 1) : normalized;
}
function fallbackText(value) { function fallbackText(value) {
const text = (value || "").toString().trim(); const text = (value || "").toString().trim();
return text || "-"; return text || "-";
@@ -208,7 +225,9 @@
badge.className = "badge"; badge.className = "badge";
badge.textContent = `#${idx + 1}`; badge.textContent = `#${idx + 1}`;
left.appendChild(badge); left.appendChild(badge);
left.appendChild(document.createTextNode(item.episode.label || item.episode.title || "(episode)")); const compactText = compactEpisodeText(item.episode || {});
left.appendChild(document.createTextNode(compactText));
left.title = (item.episode && (item.episode.label || compactText)) || compactText;
const right = document.createElement("div"); const right = document.createElement("div");
right.appendChild(makeBtn("Select", () => selectPair(idx), true)); right.appendChild(makeBtn("Select", () => selectPair(idx), true));
@@ -232,7 +251,10 @@
badge.className = "badge"; badge.className = "badge";
badge.textContent = `#${idx + 1}`; badge.textContent = `#${idx + 1}`;
left.appendChild(badge); left.appendChild(badge);
left.appendChild(document.createTextNode(item.file.path || item.file.name || "(file)")); const fullPath = (item.file && (item.file.path || item.file.name)) || "(file)";
const fileName = basename(fullPath) || "(file)";
left.appendChild(document.createTextNode(fileName));
left.title = `Name: ${fileName}\nPath: ${fullPath}`;
const right = document.createElement("div"); const right = document.createElement("div");
right.appendChild(makeBtn("Select", () => selectPair(idx), true)); right.appendChild(makeBtn("Select", () => selectPair(idx), true));
+21
View File
@@ -287,6 +287,27 @@ button.secondary {
border-bottom: none; border-bottom: none;
} }
#selectedEpisodesList li,
#selectedFilesList li {
height: 38px;
min-height: 38px;
align-items: center;
}
#selectedEpisodesList li > span,
#selectedFilesList li > span {
flex: 1;
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#selectedEpisodesList li > div,
#selectedFilesList li > div {
flex-shrink: 0;
}
.muted { .muted {
color: #475569; color: #475569;
font-size: 12px; font-size: 12px;