Add configurable minimum refresh interval setting

Added user-configurable minimum refresh interval for inventory reloads, allowing users to control how frequently the maintenance service triggers updates (default: 30 minutes, range: 1-1440 minutes).

- Add minimum_refresh_interval_minutes to settings system with default of 30 minutes
- Update maintenance service to use configurable interval instead of hardcoded 1-minute value
- Add GUI input field in General Settings with auto-save functionality
- Include field in API settings endpoint and settings manager

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Fengqing Liu
2025-10-19 10:56:40 +11:00
parent f62ec26b5d
commit 472e6d73bd
6 changed files with 17 additions and 3 deletions

View File

@@ -112,6 +112,10 @@
Connection Quality:
<input type="number" id="connection-quality" min="1" max="6" value="1">
</label>
<label>
Minimum Refresh Interval (minutes):
<input type="number" id="minimum-refresh-interval" min="1" max="1440" value="30">
</label>
</section>
<section class="settings-section">

View File

@@ -540,6 +540,7 @@ function updateSettingsUI(settings) {
state.settings = settings;
document.getElementById('dark-mode').checked = settings.dark_mode || false;
document.getElementById('connection-quality').value = settings.connection_quality || 1;
document.getElementById('minimum-refresh-interval').value = settings.minimum_refresh_interval_minutes || 30;
if (settings.dark_mode) {
document.body.classList.add('dark-mode');
@@ -861,6 +862,7 @@ async function saveSettings() {
const settings = {
dark_mode: document.getElementById('dark-mode').checked,
connection_quality: parseInt(document.getElementById('connection-quality').value),
minimum_refresh_interval_minutes: parseInt(document.getElementById('minimum-refresh-interval').value),
games_to_watch: state.settings.games_to_watch || []
};
@@ -928,6 +930,7 @@ document.addEventListener('DOMContentLoaded', () => {
saveSettings();
});
document.getElementById('connection-quality').addEventListener('change', saveSettings);
document.getElementById('minimum-refresh-interval').addEventListener('change', saveSettings);
document.getElementById('reload-btn').addEventListener('click', reloadCampaigns);
// Games to watch management