20 Commits

Author SHA1 Message Date
Erik Thuning
670c88c7f3 Added display of expiration date to the user interface
Also stopped ever displaying creation time and rearranged some CSS
2025-03-26 15:34:55 +01:00
Erik Thuning
e9f180805a Started sending some serverside configuration to the client-side javascript
The information is sent via the cookie 'server_settings'. The value is a
base64-encoded json object containing the data necessary
for site-specific customization.

Also fixed a bug that was preventing the 'add new client' button from being
disabled when the client limit is reached.
2025-03-06 15:08:37 +01:00
Erik Thuning
49abf8ad21 Implemented handling of client limits, and some general tweaks
- The create button is now disabled when reaching the client limit
 - The client list is now always sorted by case-insensitive config name
 - Focus moves to the form when opening a dialog
 - Fixed some inconsistent use of snake_case vs perlCase
2025-03-04 11:14:02 +01:00
Erik Thuning
d8dcbc6d6b Improved page accessibility 2025-03-04 11:12:22 +01:00
Erik Thuning
311ae0276e Implemented support for entitlements-based access control
If configured, anyone missing the required entitlement will now be denied
access to the application and its api endpoints. If unset, any authenticated
user is accepted.
2025-02-27 17:25:32 +01:00
Erik Thuning
683cce3fdd FIX: Config boxes now shrink to their content 2025-02-20 16:00:24 +01:00
Erik Thuning
3eb8663e06 Defaulting the instructions to open again 2025-02-20 15:59:57 +01:00
Erik Thuning
4759fdeabc CSS Tweaking and housekeeping 2025-02-20 15:09:40 +01:00
Erik Thuning
dc50409d29 Eliminated the <main> element 2025-02-19 23:32:10 +01:00
Erik Thuning
39ba84bf2e CSS tweaks 2025-02-19 23:02:30 +01:00
Erik Thuning
27277968be Removed broken code that should have sorted the configs by name
Something about async/promises is tripping me up again
2025-02-19 15:14:24 +01:00
Erik Thuning
6b4b923c3c FIX: Implemented the download button functionality 2025-02-19 15:13:59 +01:00
Erik Thuning
9b5a752e1a FIX: Enter in the input field now triggers the correct form action.
The first button in the form tree is always the default button. In order for
the save button to become default, the footers were reorganized in backwards
order and then flexbox-ed to be laid out backwards.
This in order to keep the association of right -> forwards/accept
and left -> backwards/cancel.
2025-02-19 14:51:50 +01:00
Erik Thuning
86efda498e Layout fixes.
Mostly a consistency change - now using rem anv vh/vw units as far as
reasonable. Also made some tweaks to the modal box.
2025-02-19 14:50:50 +01:00
Erik Thuning
b33da9f7d8 Updated instructions 2025-02-19 14:47:21 +01:00
Erik Thuning
9b91d8cafb Style tweaks, should work slightly better on mobile 2025-02-18 18:49:58 +01:00
Erik Thuning
ff8ff6a8d8 Wrapped the top info into a box for easier positioning 2025-02-18 18:48:15 +01:00
Erik Thuning
d6d13aeb6d Frontend is getting close to done 2025-02-18 17:59:13 +01:00
Erik Thuning
1e03616e7b Added a qr code library 2025-02-18 17:55:37 +01:00
Erik Thuning
7aef8fa38e Beginning work on frontend 2025-02-14 16:02:43 +01:00