diff --git a/Jellyfin.Plugin.MediaCleaner/Pages/home.js b/Jellyfin.Plugin.MediaCleaner/Pages/home.js
index d082522..8ab79f6 100644
--- a/Jellyfin.Plugin.MediaCleaner/Pages/home.js
+++ b/Jellyfin.Plugin.MediaCleaner/Pages/home.js
@@ -62,6 +62,28 @@ const getMediaCleanerMoviesTitle = async () => {
return response.json();
};
+const selectedMovies = new Set();
+const selectedTvShows = new Set();
+
+const createCheckbox = (mediaInfo = {}, state = []) => {
+ const checkbox = document.createElement('input');
+ checkbox.type = 'checkbox';
+ checkbox.dataset.mediaInfo = JSON.stringify(mediaInfo) || '';
+
+ checkbox.addEventListener('change', (e) => {
+ const mediaInfo = checkbox.dataset.mediaInfo || '(no info)';
+ if (checkbox.checked) {
+ state.add(mediaInfo);
+ } else {
+ state.delete(mediaInfo);
+ }
+ // Update UI or state — use console.log for debugging
+ console.log('selected:', Array.from(state));
+ });
+
+ return checkbox;
+};
+
const populateTables = async () => {
var moviesInfo = await getMediaCleanerMovieInfo();
var seriesInfo = await getMediaCleanerSeriesInfo();
@@ -78,9 +100,7 @@ const populateTables = async () => {
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = moviesInfo[i].Name;
- // Will need to be enabled once radarr and sonarr integration is enabled.
- // Maybe change this to an element to remove hard coding.
- cell2.innerHTML = "";
+ cell2.appendChild(createCheckbox(moviesInfo[i], selectedMovies));
cell2.className = "actions-cell";
}
}
@@ -100,9 +120,7 @@ const populateTables = async () => {
var cell3 = row.insertCell(2);
cell1.innerHTML = seriesInfo[i].Name;
cell2.innerHTML = seriesInfo[i].Seasons.map(season => season.replace("Season ", "")).join(", ");
- // Will need to be enabled once radarr and sonarr integration is enabled.
- // Maybe change this to an element to remove hard coding.
- cell3.innerHTML = "";
+ cell3.appendChild(createCheckbox(seriesInfo[i], selectedTvShows));
cell3.className = "actions-cell";
}
}