feat(dashboard): UGC settings beside what they change on the UGC page, their own Settings category

The settings catalog gives the UGC server a category of its own (serving,
processing, models, storage, icons). The UGC page shows those sections next to
the server status, the purge tools and the icon presets, read from the catalog
and saved through the Settings page's own path; each links to its entry on the
Settings page, which now opens a #file/name link at that setting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-27 15:51:18 -05:00
parent fbf923e043
commit d83cf071ba
6 changed files with 226 additions and 14 deletions

View File

@@ -14,7 +14,10 @@
<div class="row g-2 mb-3" id="counts"></div>
<div class="card mb-3">
<div class="card-body py-2 small" id="serverStatus">Asking the UGC server…</div>
<div class="card-body py-2 small"><div id="serverStatus">Asking the UGC server…</div>
<div data-ugc-settings="UGC processing" data-title="Processing settings"></div>
<div data-ugc-settings="UGC models" data-title="How models are made"></div>
<div data-ugc-settings="UGC serving" data-title="Serving settings"></div></div>
</div>
<details class="card mb-3" id="presetsCard">
@@ -23,6 +26,7 @@
<p class="text-body-secondary mb-2">Each type of icon (player models, and each car or rocket build type in the client's data) has a preset over the
default settings. Open one to set its camera, the model's turn, the light and the border on an example.</p>
<div class="d-flex flex-wrap gap-2" id="presetsList">Loading…</div>
<div data-ugc-settings="UGC icons" data-title="Icon defaults (under every preset)"></div>
</div>
</details>
@@ -41,6 +45,7 @@
<button type="button" class="btn btn-sm btn-outline-danger" id="purgeAllButton">Purge all…</button>
</div>
<div class="mt-2" id="purgeResult"></div>
<div data-ugc-settings="UGC storage" data-title="Storage settings"></div>
</div>
</details>
@@ -205,6 +210,7 @@
}
</script>
<script src="/js/ldd-materials.js"></script>
<script src="/js/ugc-settings.js"></script>
<script src="/js/ugc-icon-editor.js"></script>
<script src="/js/ugc.js"></script>
{% endblock %}