1
0
Commit Graph

83 Commits

Author SHA1 Message Date
8ac6f8fede
redesign session list 2026-03-05 02:51:51 +01:00
32ab7594f1
refactor style sheets 2026-03-05 01:55:45 +01:00
f9c8882e9c
document principle trade-offs and violations in README 2026-03-04 23:07:51 +01:00
f9d33b746f
style session rules 2026-03-03 23:21:45 +01:00
d74c9ed798
only show rules button if necessary 2026-03-03 21:36:24 +01:00
e0ede4a503
refactor styles to make further additions easier 2026-03-03 20:29:04 +01:00
7fa1e2d35d
implement hover and focus highlights for buttons 2026-03-03 19:26:24 +01:00
061c04f74f
implement light mode 2026-03-03 01:59:15 +01:00
ff753f2e2f
switch session list to new localized terminology 2026-03-03 01:59:05 +01:00
7e7410a406
improve design of session view
This improves the design of the session view a lot. However, several
things still need to be done:

1. The rules section is not styled.

2. The session list is not styled.

3. The design is not responsive yet. This will take longer, as the base
   view will need to be overhauled substantially to take advantage of
   wider screens.

4. A light mode needs to be added.
2026-03-03 01:45:14 +01:00
d4536aadc1
allow editing session head data 2026-03-02 22:12:23 +01:00
4ef0737f4f
update README 2026-03-02 03:14:52 +01:00
493daa1cff
move test loading into test html file 2026-03-02 03:12:29 +01:00
bd79aa568a
switch session and game models to game rules
This is a more flexible system than the previous goal variable. It makes
it possible to conform to the association rules, without sacrificing
backwards compatibility. Also, it makes it easier to add other
changeable rules later on.
2026-03-02 02:52:19 +01:00
14aad4a73d
implement game rules model 2026-03-02 01:46:05 +01:00
542af83a5a
fix capitalization of round result tests 2026-03-01 22:41:55 +01:00
8a1140688e
improve in-memory change handling
The base view now does a better job at keeping the sessions list up to
date with the current session, without having to reload it all the time.

The purpose of this is to be able to show the list and the current
session at the same time, and keep them in sync without polling the
database.
2026-03-01 03:14:00 +01:00
de0fc8c917
enable history navigation
The previous implementation only looked at the URL (and state) during
initialization. This allowed users to open a specific session via URL
(e.g. when reloading the page).

History navigation, however, was completely ignored. I.e. if the user
pressed the back button the URL would change, but the content would
remain the same.

This has now been corrected.
2026-03-01 02:28:47 +01:00
b5ead20f0b
only reinsert all sessions if necessary
The purpose of this is data safety. If there ever was a broken model
that corrupted data previously it would have ruined everything if it
coincided with a schema migration. Now this is much less likely.
2026-02-28 18:23:48 +01:00
53e3b2539a
switch UI to time ordered session list 2026-02-27 23:28:54 +01:00
3695902041
add time ordered session db accessor 2026-02-27 23:28:53 +01:00
0065514885
improve session reinsertion testing 2026-02-27 23:28:53 +01:00
570588f885
add db index for update timestamp 2026-02-27 23:24:41 +01:00
4f5f4fbb28
make it possible to reinsert all sessions at once
This will be needed for database upgrades going forward. For example, an
old session without an update timestamp will not be visible in the index
that will soon be added. But since the UI will switch to that index, it
is paramount that all sessions are part of that.

The session model was built with that in mind, and has the corresponding
"update" logic. However, for that to matter old records first need to be
readded to the database.
2026-02-27 23:24:35 +01:00
a7012657b3
refactor SessionRepo change tracking
It was gettig tedious to add the change tracking logic in all of the
methods. And since there likely will be many more such methods, I have
now extracted that bit into its own function.
2026-02-27 23:12:38 +01:00
ded78b09e2
test that session update timestamps actually change 2026-02-27 23:12:38 +01:00
78cf050a94
make database updating state trackable 2026-02-27 23:12:35 +01:00
5011354ddc
add a jsconfig file for better autocompletion
This makes editor help, such as autocomplete, much more usefull, while
still allowing me to use absolute paths for imports. The latter is
needed, so that I don't need an extra build step and also don't need to
wory too much about browser imports.

Does this violate the _browser based development_ principle? Yes, a tiny
little bit. However, using an editor is basically required, and making
it that much better seems worthwhile.

Did I waste too much time trying to make this perfect? Also yes. A
strong reminder why that principle is so important.
2026-02-27 20:20:39 +01:00
6ea9cfc803
add documentation to session id setter 2026-02-27 18:01:22 +01:00
ca2d388275
remove unneeded console log 2026-02-27 17:54:07 +01:00
5974e161a6
add timestamps to session model 2026-02-27 17:53:46 +01:00
80c65212ca
add 404 redirect to index.html 2026-02-27 01:33:33 +01:00
6e58e85d53
add line breaks to LICENSE 2026-02-27 00:41:41 +01:00
b1f5b3d85d
update and extend README 2026-02-27 00:38:19 +01:00
7bae909c60
restore full screen session view behaviour 2026-02-27 00:11:21 +01:00
4e9d35178a
make opening sessions by query param possible
Specific sessions can now be opened by setting a query param to their
id. This is needed to allow users to reload the page without being
kicked out to the session selection.
2026-02-27 00:08:18 +01:00
b9ed3ed37f
refactor to allow use of routing 2026-02-22 15:18:34 +01:00
36d6a9ed9b
switch language to bavarian 2026-02-22 12:54:22 +01:00
17612b2c6b
make test page easier to read on mobile 2026-02-22 12:52:33 +01:00
dbe20d548d
switch over to mithril fragment method 2026-02-22 12:51:44 +01:00
bb3ad61950
make import paths absolute 2026-02-22 12:51:28 +01:00
7df55afd1a
move game points into name cell 2026-02-18 19:21:14 +01:00
3a0db3c620
Create CNAME 2026-02-18 19:13:38 +01:00
63b7446528
prevent github pages from using jekyll 2026-02-18 19:09:06 +01:00
d5952bf83a
change name in license 2026-02-18 19:06:13 +01:00
eba36600b9
make session UI somewhat nice 2026-02-18 19:01:14 +01:00
0cc3c991e5
restructure basic UI for better semantics 2026-02-18 19:01:10 +01:00
979dfb9b08
make basic UI fully functional 2026-02-18 19:01:03 +01:00
674aad81fe
add event listener to game on session destructuring 2026-02-18 19:00:40 +01:00
a961c87e96
basic session selector 2026-02-17 21:31:33 +01:00