lukas 1a4e51c95a Update NameWithIcon
The `NameWithIcon()` function had a `platform` parameter that was immediately overwritten by `platform = None` and never used (dead code). The function mixed data lookup (database queries via IDs) with rendering, making it untestable.

**Fix**: Refactored `NameWithIcon()` to follow the `LinkedPurchase` pattern — accepts model objects (`Game`, `Session`) instead of IDs. Extracted `_resolve_name_with_icon()` helper for testable computation logic (name resolution, platform extraction, link creation). Fixed bug where `platform` was not extracted when `session` parameter was passed. Removed dead `platform` parameter from the public API. Updated all 3 production call sites (already using model objects). Added 10 unit tests for `_resolve_name_with_icon()` covering session override, custom names, linkify behavior, platform resolution, and edge cases. Updated 6 integration tests to use model-based parameters.
2026-05-12 10:05:15 +02:00
2024-11-09 11:56:20 +01:00
2023-01-16 19:46:15 +01:00
2026-01-30 11:49:39 +01:00
2025-03-22 20:58:30 +01:00
2026-05-12 10:05:15 +02:00
2026-05-12 10:05:15 +02:00
2026-05-12 10:05:15 +02:00
2026-05-11 20:22:23 +02:00
2023-11-16 16:27:41 +01:00
2023-11-16 16:30:17 +01:00
2024-08-08 14:48:20 +02:00
2024-08-08 14:49:09 +02:00
2023-01-20 17:15:53 +01:00
2024-11-09 11:56:20 +01:00
2023-01-20 17:15:53 +01:00
2023-11-16 16:27:41 +01:00
2026-01-30 11:49:39 +01:00
2026-01-27 21:30:04 +01:00
2026-01-29 13:17:04 +01:00
2024-08-11 17:24:26 +02:00
2026-02-17 22:14:16 +01:00
2026-01-30 11:49:39 +01:00
2026-01-29 12:56:45 +01:00
2026-01-30 11:49:39 +01:00

Timetracker

A simple game catalogue and play session tracker.

Development

The project uses pyenv to manage installed Python versions. If you have pyenv installed, you can simply run:

make init

This will make sure the correct Python version is installed, and it will install all dependencies using poetry. Afterwards, you can start the development server using make dev.

S
Description
No description provided
Readme 11 MiB
2026-05-12 16:36:46 +00:00
Languages
Python 43.7%
CSS 28.1%
HTML 24%
JavaScript 3.3%
Dockerfile 0.4%
Other 0.5%