feat(add-game): sync original year from year released until dirty (#35) (#83)

* fix(make): run migrate before loadplatforms in init target

make init loaded platform fixtures without first creating the database
schema, failing with 'no such table: games_platform' on a clean repo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(add-game): sync original year from year released until dirty (#35)

Mirror year_released into original_year_released live as the user types,
stopping once original is edited directly — same sync-until-dirty pattern
already used for name -> sort_name. Reorder the two year fields so
year_released renders first, otherwise the user would fill original first
and negate the sync.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-21 19:13:33 +02:00
committed by GitHub
parent 3c116e11bd
commit 97aeb23d31
3 changed files with 8 additions and 1 deletions
+1
View File
@@ -20,6 +20,7 @@ init:
uv python install $(PYTHON_VERSION)
uv sync
pnpm install
$(MAKE) migrate
$(MAKE) loadplatforms
server: gen-element-types
+1 -1
View File
@@ -383,8 +383,8 @@ class GameForm(PrimitiveWidgetsMixin, forms.ModelForm):
"name",
"sort_name",
"platform",
"original_year_released",
"year_released",
"original_year_released",
"status",
"mastered",
"wikidata",
+6
View File
@@ -7,6 +7,12 @@ const syncData = [
target: "#id_sort_name",
target_value: "value",
},
{
source: "#id_year_released",
source_value: "value",
target: "#id_original_year_released",
target_value: "value",
},
];
// Scope to the add form (#add-form), not "form": the first <form> on the page