Add user preference for black vs white display order

- Gear icon in header opens settings modal
- Preference stored in cookie for server-side Velocity rendering
- ViewServlet reads blackFirst cookie into Velocity context
- Velocity conditionals in pairing, results, and result-sheets templates
This commit is contained in:
Claude Brisson
2025-11-30 10:54:52 +01:00
parent 17697845fd
commit 9a379052e5
8 changed files with 128 additions and 5 deletions

View File

@@ -44,6 +44,9 @@
#translate('tour-menu.inc.html')
#end
<div id="header-right">
<div id="settings" title="Settings">
<i class="fa fa-cog"></i>
</div>
<div id="lang">
<i class="$translate.flags[$request.lang] flag"></i>
</div>
@@ -84,6 +87,23 @@
#end
#end
</div>
<div id="settings-modal" class="popup">
<div class="popup-body">
<div class="popup-header">Settings</div>
<div class="popup-content">
<div class="setting">
<label>
<input type="checkbox" id="pref-black-first" #if($blackFirst)checked#end />
Display games as "Black vs White" (instead of "White vs Black")
</label>
</div>
</div>
<div class="popup-footer">
<button class="ui button" id="settings-save">Save</button>
<button class="ui button gray close">Cancel</button>
</div>
</div>
</div>
<script type="text/javascript" src="/lib/store2-2.14.2.min.js"></script>
<script type="text/javascript" src="/lib/tablesort-5.4.0/tablesort.min.js"></script>
<script type="text/javascript" src="/lib/tablesort-5.4.0/sorts/tablesort.number.min.js"></script>