CSS improvements and partial implementation for #3

- SVG icons are now preprocessed into raw HTML at first request. This allows them to be inlined (use `{{icon(icon_name)|safe}}`) and thus styled by CSS.
- General CSS improvements (especially around buttons)
- A basic role editor is now implemented. Go to `/namespace/<id>/role` to see it.
- Task and invite lists now have an "add new" button on the list page.
- Slight permission fixes
- Added `assert_left()` and `assert_right()` to `Either`s. Now, if you do `if isinstance(x, Right)`, you can `x.assert_left()` in the `else` to make the type checker happy.
This commit is contained in:
digimint 2025-11-20 06:16:26 -06:00
parent 9707dbe45e
commit 113ebce9e1
Signed by: digimint
GPG key ID: 8DF1C6FD85ABF748
50 changed files with 1928 additions and 156 deletions

View file

@ -8,6 +8,7 @@
- pyargon2 (for HashV1)
- humanize (for generating human-readable timedeltas)
- nh3 (for markdown and general HTML sanitization)
- scour (for SVG icon processing)
## Already Included
- Certain tag definitions from bleach-allowlist, used in markdown sanitization.