| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
for now, this is just a simple date picker done via the html input type
"date". Unfortunately, that's not supported by Safari, so the rust util
now prints out a warning if it's used.
I'm not sure if there's any other reasonable option which would go
around this that's not "using a web framework" or "hacking a fallback
date picker which just consists of a couple of combo boxes".
|
|
|
|
|
|
|
|
|
| |
the previous commit introduced handling error messages using a
"setErrormsg" function. This is now also used for the general error
messages which may show up at the bottom of surveys.
However, since js and async things are weird, the code there is still a
long repetitive mess which can't really be cut down further.
|
|
|
|
|
|
|
| |
In surveys containing radio buttons, there will now be a nice little
hint directly beneath them if none were selected when attempting to
submit (in addition to the relatively nondescript "not all required
questions were filled in"-hint at the bottom of the form)
|
|
|
|
| |
(it mistakenly set the locale to undefined before)
|
|
|
|
|
| |
(from the browser's preferences set via navigator.language and
navigator.languages)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a basic "replace fixed keys"-approach to translating the UI of
surveys. So far this works great, but for complex things it may fail for
some languages — for now I'll just try to take care not to add any
output that puts things in the middle of sentences, which I think should
work for a simple survey thing.
The default language is still english, which is important as the
language is declared withing a survey config — i.e. if loading it fails,
it cannot be applied, and the "enter passphrase" dialog can also not
change based on locales. This could possibly be fixed by adding an
unencrypted "header" to the encrypted configs, but for now I'm not sure
if that makes a lot of sense — it may be easier to just guess based on
the browser's settings, and otherwise fall back to some specified
default language.
The "thanks for your answers"-page also has no translation so far.
|
|
|
|
|
|
|
|
|
|
|
| |
This implements some accessibility guidelines, as hinted at by WAVE [1]:
- labels for textareas
- fieldsets for multiple-choice answers
One thing that's still missing is a set language, which I guess will be
best implemented together with an actual language switcher.
[1] https://wave.webaim.org/
|
|
|
|
| |
(i.e. defined charset & a main tag)
|
|
|
|
|
|
|
| |
this includes styling error messages red, and displaying error messages
in case not all answers were answered as required (for now, this just
means that not selecting any option in radio buttons is disallowed in
general, as so far there are no corresponding config fields).
|
|
|
|
|
|
|
| |
this includes deduplicating some code, and attempts at error messages
for files which could not be parsed as json but aren't actually valid
age-encrypted files (there doesn't seem to be some easy way to validate
that these files are valid age files without knowing the key).
|
|
|
|
|
|
| |
After a submission, the survey will now either redirect to a "thanks for
your answers!"-site (if the POST request had status 200) or else display
some kind of error message.
|
| |
|
|
|
|
|
|
|
| |
syntax: http(s)://domain.tld/path/to/file/index.html#[upload url]
The upload url may be relative to the site's position, or absolute.
Survey results will be POSTed to [upload path]/upload.
|
|
this depends on age stuffed into web assembly, which is not yet
part of this repository.
The idea is to have a web app (which is a static html page + js / wasm)
and a set of (optionally encrypted) json files which describe surveys,
which the main site can download on demand.
|