Add maintenance tab and cache clearing

This commit is contained in:
Jordan Wages 2025-06-29 02:46:49 -05:00
commit db767fae48
4 changed files with 36 additions and 2 deletions

View file

@ -46,6 +46,7 @@
<ul>
<li class="is-active" data-tab="settings"><a>Settings</a></li>
<li data-tab="rules"><a>Rules</a></li>
<li data-tab="maintenance"><a>Maintenance</a></li>
</ul>
</div>
</div>
@ -171,6 +172,17 @@
<div id="rules-container"></div>
<button class="button is-link" id="add-rule" type="button">Add Rule</button>
</div>
<div id="maintenance-tab" class="tab-content is-hidden">
<h2 class="title is-4">Maintenance</h2>
<table class="table is-fullwidth">
<tbody>
<tr><th>Rule count</th><td id="rule-count"></td></tr>
<tr><th>Cache entries</th><td id="cache-count"></td></tr>
</tbody>
</table>
<button class="button is-danger" id="clear-cache" type="button">Clear Cache</button>
</div>
</div>
</section>
<script src="options.js"></script>

View file

@ -9,7 +9,8 @@ document.addEventListener('DOMContentLoaded', async () => {
'customSystemPrompt',
'aiParams',
'debugLogging',
'aiRules'
'aiRules',
'aiCache'
]);
const tabButtons = document.querySelectorAll('#main-tabs li');
const tabs = document.querySelectorAll('.tab-content');
@ -300,6 +301,15 @@ document.addEventListener('DOMContentLoaded', async () => {
if (r.stopProcessing) rule.stopProcessing = true;
return rule;
}));
const ruleCountEl = document.getElementById('rule-count');
const cacheCountEl = document.getElementById('cache-count');
ruleCountEl.textContent = (defaults.aiRules || []).length;
cacheCountEl.textContent = defaults.aiCache ? Object.keys(defaults.aiCache).length : 0;
document.getElementById('clear-cache').addEventListener('click', async () => {
await AiClassifier.clearCache();
cacheCountEl.textContent = '0';
});
initialized = true;
document.getElementById('save').addEventListener('click', async () => {