lukas 3f95692746 Navbar returns a Safe node; drop redundant filter_presets mark_safe
Navbar is static chrome (a few reverse() URLs in otherwise-fixed markup), so
it now returns a single Safe node wrapping that markup instead of a mark_safe
string — consistent with "trusted HTML is a Safe node," and a full element
tree would be ~80 lines of nesting for no gain (it owns no component JS).
Page() interpolates it via str() exactly as before.

filter_presets.list_presets returned HttpResponse(mark_safe(...)); HttpResponse
never escapes its body, so the mark_safe was pure noise — dropped.

The mark_safe calls that remain are all load-bearing and not tree children:
the node engine itself (core: how a node emits its SafeString), the
script-tag / scripts= string helpers, and Page()'s final document string.

Full suite green (445).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 19:42:07 +02:00
2024-11-09 11:56:20 +01:00
2023-01-16 19:46:15 +01:00
2025-03-22 20:58:30 +01:00
2026-05-12 16:29:34 +00:00
2023-11-16 16:30:17 +01:00
2026-05-12 16:29:34 +00:00
2024-08-08 14:48:20 +02:00
2026-06-09 08:47:20 +02:00
2026-05-12 16:29:34 +00:00
2026-05-12 16:29:34 +00:00
2026-05-12 18:36:46 +02:00
2024-11-09 11:56:20 +01:00
2023-01-20 17:15:53 +01:00
2026-05-12 18:36:46 +02:00
2026-05-12 16:29:34 +00:00
2026-06-12 22:45:25 +02:00
2024-08-11 17:24:26 +02:00
2026-02-17 22:14:16 +01:00
2026-06-09 12:47:44 +02:00
2026-06-02 15:07:53 +02:00
2026-06-09 12:47:44 +02:00

Timetracker

A simple game catalogue and play session tracker.

Development

The project uses uv to manage Python versions and dependencies. Simply run:

make init

This installs the correct Python version, syncs all dependencies, and installs npm packages. Afterwards, you can start the development server using make dev.

S
Description
No description provided
Readme 15 MiB
2026-05-12 16:36:46 +00:00
Languages
Python 62.4%
JavaScript 17.5%
CSS 14.9%
HTML 3.8%
TypeScript 0.6%
Other 0.7%