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
ead563ab54
commit
52678d3c47
@ -524,7 +524,6 @@
|
||||
</div>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
2
main.js
2
main.js
@ -49,8 +49,6 @@ function createWindow() {
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
// Open the DevTools.
|
||||
mainWindow.webContents.openDevTools();
|
||||
}
|
||||
|
||||
// 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 progressText = document.getElementById('progress-text');
|
||||
const progressCount = document.getElementById('progress-count');
|
||||
const updateRangesBtn = document.getElementById('update-ranges-btn');
|
||||
|
||||
// Current state
|
||||
let currentDirectory = null;
|
||||
@ -20,6 +19,7 @@ let currentShow = null;
|
||||
let currentSeasons = [];
|
||||
let currentEpisodes = [];
|
||||
let selectedSeasonEpisodeCount = 0;
|
||||
let isUpdatingEpisodeNumbers = false;
|
||||
|
||||
// Event Listeners
|
||||
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
|
||||
document.getElementById('begin-mapping-btn').addEventListener('click', beginMapping);
|
||||
@ -449,6 +443,14 @@ function handleDrop(e) {
|
||||
}
|
||||
|
||||
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)');
|
||||
let episodeNum = 1;
|
||||
|
||||
@ -473,6 +475,9 @@ function updateEpisodeNumbers() {
|
||||
episodeNum = end + 1;
|
||||
}
|
||||
});
|
||||
} finally {
|
||||
isUpdatingEpisodeNumbers = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Make an episode number editable for range editing
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user