26 Commits

Author SHA1 Message Date
Erik Thuning 2c6b67ef2a Moved the "Expires: " text label into index.html from style.css
This is to make the content presentation more robust in the face of
user-initiated css overrides.
2026-06-01 14:06:47 +02:00
Erik Thuning c2f4beb181 Refactored deny_access()
Reduced the amount of code by switching which element the access
denied message is added to. Switched section to aside to better
reflect their semantics. "Access denied" is now a h2 element in order
to follow heading guidelines.
2026-06-01 14:02:56 +02:00
Erik Thuning a31619351f Whitespace 2026-06-01 13:57:10 +02:00
Erik Thuning d6687d0458 Grab-bag of miscellaneous accessibility changes
Mostly renaming of HTML tags to be more in line with the semantic
standard, but also a slight restructuring so the page gets a better
heading structure and the tabbing experience becomes more in line with
other DSV sites.

Buttons now always get focus from left to right, with the main
actionable button last in the context. they also get a slightly more
obvious outline.

Added a footer containing a very minimal accessibility statement and
contact information.

CSS has been restructured to use nested selectors as far as possible
in order to make the file more readable.
2026-05-28 16:36:24 +02:00
Erik Thuning 4d25833a25 Bumped query arguments to script and css files
This will force clients to fetch the latest version
2025-05-14 11:47:02 +02:00
Erik Thuning 04bbe17b48 Added a VPN status banner
The banner calls ip.dsv.su.se and uses the returned information to determine
whether the client is using a VPN connection.
2025-05-14 11:44:02 +02:00
Erik Thuning 0278f4f04b Ensuring no cache issues 2025-03-28 16:09:51 +01:00
Erik Thuning c24d3405d2 App no longer flashes the uninitialized page before auth 2025-03-28 16:08:03 +01:00
Erik Thuning c1538a8912 Moved qr code generation to server side in order to get more compatible codes 2025-03-28 15:44:59 +01:00
Erik Thuning 098e380436 FIX: Accidentally put the version query on the wrong file 2025-03-28 13:29:08 +01:00
Erik Thuning 8b2baba214 QR codes: Lowered error correction level and set them to crisp rendering
Hopefully this should make it easier to scan the codes when the config
data is very large.
2025-03-28 11:04:59 +01:00
Erik Thuning 1eaf180fbe Adding a fake query string to css and js includes to avoid cache issues 2025-03-27 15:30:35 +01:00
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 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 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 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 b33da9f7d8 Updated instructions 2025-02-19 14:47:21 +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 7aef8fa38e Beginning work on frontend 2025-02-14 16:02:43 +01:00