Compare commits

..

6 Commits

Author SHA1 Message Date
lukas d7988509cf Version 1.7.0
Django CI/CD / test (push) Successful in 31s
Django CI/CD / build-and-push (push) Has been skipped
## 1.7.0 / 2026-05-12

### New
* Add toast notification system with HTMX middleware integration
* Add component system (Cotton-based): button, modal, table_row,
search_field, gamelink
* Add needs_price_update field to Purchase model for reliable price
change detection
* Add confirmation dialog before deleting a game
* Add game status information documentation (STATUSES.md)
* Allow directly updating device in session list via inline selector
* Migrate from Poetry to uv for Python dependency management
* Scope URLs to the games namespace
* Start session template shared between add and edit views

### Improved
* Major style overhaul: CSS variables, improved dark mode, Flowbite 4.x
upgrade
* Improve game status evaluation and add abandon prompt on refund
* Robustify Docker container and fix default database location
* Make component rendering deterministic for improved caching
* Component caching: deterministic randomid generation
* Component test suite with 1000+ lines of tests
* Make tests more robust with django-pytest
* Update NameWithIcon component: testable, fixed platform extraction bug
* Pin Caddy version and improve make dev-prod
* Add .env.example documenting environment variables
* Unify A() component with explicit url_name vs href parameters

### Fixed
* Fix refund confirmation not working
* Fix stats view missing first and last game values
* Fix A() component silent fallback on URL typos
* Fix secondary submit buttons not working
* Fix button not passing attributes
* Fix default mutable arguments in component functions
* Fix extra submit button when adding purchase
* Fix pointer cursor on search field button

### Removed
* Remove GraphQL API

### Dependencies
* Update django-ninja to 1.6.2
2026-05-12 18:35:53 +02:00
lukas d96066e625 Re-enable tests
Django CI/CD / test (push) Successful in 28s
Django CI/CD / build-and-push (push) Has been skipped
2026-05-12 18:25:27 +02:00
lukas 00f84fee9b Make default database location more robust
Django CI/CD / test (push) Successful in 24s
Django CI/CD / build-and-push (push) Has been skipped
2026-05-12 18:23:54 +02:00
lukas 2b43e9a848 Add .env.example documenting environment variables
Django CI/CD / test (push) Failing after 18s
Django CI/CD / build-and-push (push) Has been skipped
2026-05-12 18:07:54 +02:00
lukas bf6d20ca58 Pin Caddy version
Django CI/CD / test (push) Failing after 34s
Django CI/CD / build-and-push (push) Has been skipped
2026-05-12 18:04:50 +02:00
lukas 0a52c4da7b Make container more robust
Django CI/CD / test (push) Failing after 27s
Django CI/CD / build-and-push (push) Has been skipped
2026-05-12 17:47:23 +02:00
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -106,7 +106,7 @@
} }
}); });
</script> </script>
<!-- hx-swap-oob makes sure the modal gets removed upon any HTMX response --> // hx-swap-oob makes sure the modal gets removed upon any HTMX response
<div id="global-modal-container" hx-swap-oob="true"></div> <div id="global-modal-container" hx-swap-oob="true"></div>
<div x-data="toastStore()" <div x-data="toastStore()"
Generated
+1 -1
View File
@@ -822,7 +822,7 @@ wheels = [
[[package]] [[package]]
name = "timetracker" name = "timetracker"
version = "1.7.0" version = "1.6.1"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "croniter" }, { name = "croniter" },