Commit graph

9 commits

Author SHA1 Message Date
Wolvan
e9aaedb494 Implement auto update
Every 5 seconds the system attempts to fetch the most recent vote state
of the poll and display it to the user.
2022-01-06 20:44:29 +01:00
Wolvan
dca2cc3eeb Create results page
The page displays the amount of votes, percentage and bars for quick
visual comparison, as well as a pie chart created with google charts.
2022-01-06 19:52:53 +01:00
Wolvan
edff19fb5b Create voting page
This page displays all options that have been set on creation. Thanks to
`textFit` the texts in the title and options automatically get sized
correctly. The create poll button has also been renamed to submit-button
to make it more universal on other pages.
2022-01-04 22:25:05 +01:00
Wolvan
678342a9c6 Implement error message display
The error and visibility is set by the frontend server-side renderer.
2022-01-01 13:54:58 +01:00
Wolvan
041e5e0acc Optimize for small screens
A sensible min width is sit to avoid cutting off anything and text is
shortened to be suitable for small screen sizes without getting line-
wrapped.
2022-01-01 13:54:30 +01:00
Wolvan
9fa3eabad1 Make frontend js-less
The frontend should work without having JS enabled. JS will enhance the
experience but should under no circumstance be necessary.
To achieve this, the entire entry system has been turned into a form
that posts its values to a new backend path specifically made to take
form responses. Instead of returning an API response, it also redirects
the browser to either the voting page on successful creation or the
frontpage with a bunch of get parameters that are used to prefill the
form in a server-side rendering process.
An error parameter is also given but there is no way to display said
error for now.
2022-01-01 04:13:24 +01:00
Wolvan
5f9f2efee7 Continue refining frontend for poll creation 2021-12-29 19:46:47 +01:00
Wolvan
2db013c204 Begin designing the UI 2021-12-29 19:22:38 +01:00
Wolvan
8c3001042b Build frontend loader system
A custom server-side renderer is used to deliver pages to the client
with values defined on load. This makes templating easier.
2021-12-28 23:49:18 +01:00