Fix episode number arrow cascade and remove Update Ranges button
- Add isUpdatingEpisodeNumbers flag to prevent re-entrant calls - Arrow buttons now properly cascade shifts to all subsequent episodes - Remove Update Ranges button and associated code - Remove DevTools auto-open for cleaner release - Syntax validation passes
This commit is contained in:
parent
46bfba582d
commit
b2e4f2d45e
@ -524,7 +524,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="display: flex; gap: 10px; margin-top: 10px;">
|
<div style="display: flex; gap: 10px; margin-top: 10px;">
|
||||||
<button id="update-ranges-btn" class="begin-mapping-btn" style="flex: 1;">Update Ranges</button>
|
|
||||||
<button id="begin-mapping-btn" class="begin-mapping-btn" style="flex: 1;">Begin Mapping</button>
|
<button id="begin-mapping-btn" class="begin-mapping-btn" style="flex: 1;">Begin Mapping</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
2
main.js
2
main.js
@ -49,8 +49,6 @@ function createWindow() {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open the DevTools.
|
|
||||||
mainWindow.webContents.openDevTools();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IPC handler for selecting directory
|
// IPC handler for selecting directory
|
||||||
|
|||||||
21
renderer.js
21
renderer.js
@ -11,7 +11,6 @@ const showDetailsEl = document.getElementById('show-details');
|
|||||||
const progressContainer = document.getElementById('progress-container');
|
const progressContainer = document.getElementById('progress-container');
|
||||||
const progressText = document.getElementById('progress-text');
|
const progressText = document.getElementById('progress-text');
|
||||||
const progressCount = document.getElementById('progress-count');
|
const progressCount = document.getElementById('progress-count');
|
||||||
const updateRangesBtn = document.getElementById('update-ranges-btn');
|
|
||||||
|
|
||||||
// Current state
|
// Current state
|
||||||
let currentDirectory = null;
|
let currentDirectory = null;
|
||||||
@ -20,6 +19,7 @@ let currentShow = null;
|
|||||||
let currentSeasons = [];
|
let currentSeasons = [];
|
||||||
let currentEpisodes = [];
|
let currentEpisodes = [];
|
||||||
let selectedSeasonEpisodeCount = 0;
|
let selectedSeasonEpisodeCount = 0;
|
||||||
|
let isUpdatingEpisodeNumbers = false;
|
||||||
|
|
||||||
// Event Listeners
|
// Event Listeners
|
||||||
selectDirBtn.addEventListener('click', selectDirectory);
|
selectDirBtn.addEventListener('click', selectDirectory);
|
||||||
@ -33,13 +33,7 @@ document.addEventListener('click', function(e) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add click handler for Update Ranges button
|
|
||||||
if (updateRangesBtn) {
|
|
||||||
updateRangesBtn.addEventListener('click', function() {
|
|
||||||
updateEpisodeNumbers();
|
|
||||||
checkEpisodeCountMatch();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add click handler for Begin Mapping button
|
// Add click handler for Begin Mapping button
|
||||||
document.getElementById('begin-mapping-btn').addEventListener('click', beginMapping);
|
document.getElementById('begin-mapping-btn').addEventListener('click', beginMapping);
|
||||||
@ -449,6 +443,14 @@ function handleDrop(e) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateEpisodeNumbers() {
|
function updateEpisodeNumbers() {
|
||||||
|
if (isUpdatingEpisodeNumbers) {
|
||||||
|
console.log('[updateEpisodeNumbers] Already updating, skipping re-entrant call');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isUpdatingEpisodeNumbers = true;
|
||||||
|
|
||||||
|
try {
|
||||||
const fileItems = fileListEl.querySelectorAll('.file-item:not(.folder-item)');
|
const fileItems = fileListEl.querySelectorAll('.file-item:not(.folder-item)');
|
||||||
let episodeNum = 1;
|
let episodeNum = 1;
|
||||||
|
|
||||||
@ -473,6 +475,9 @@ function updateEpisodeNumbers() {
|
|||||||
episodeNum = end + 1;
|
episodeNum = end + 1;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} finally {
|
||||||
|
isUpdatingEpisodeNumbers = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make an episode number editable for range editing
|
// Make an episode number editable for range editing
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user