thibaud-leclere
f6d180474a
feat: responsive grid with scrollable area and fixed hint column
...
- Add CSS variables (--cell, --cell-font, --trigger-h) for responsive cell sizing
- Shrink grid cells at 600px and 420px breakpoints
- Add .page-body wrapper with 16px horizontal padding to prevent edge collisions
- Separate hint column from scrollable grid: hints rendered outside the table in a fixed flex column, only the letter grid scrolls horizontally
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 14:17:22 +02:00
thibaud-leclere
6cbebb6367
refactor: move WikidataAwardGateway to src/Gateway/WikidataGateway.php
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 11:14:20 +02:00
thibaud-leclere
ecfc80c349
style: redesign hint buttons — rectangular pink with white icon, more spacing
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 11:09:57 +02:00
thibaud-leclere
dc5e14531f
chore: fix report bug issue template
2026-03-30 23:18:14 +02:00
thibaud-leclere
1fd6dcc5d3
fix: add 16px left margin to popover to avoid screen edge
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:54:59 +02:00
thibaud-leclere
0706d99c82
fix: force popover to left placement with soft wrap when space is limited
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:53:58 +02:00
thibaud-leclere
273ea49ed0
fix: generate hints about the row actor, not the main actor
...
Hints should help identify the row actor (to find the highlighted letter),
not reveal the main actor directly. Simplified hint generation: no shared
exclusion pools needed since each row has a different actor.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:51:22 +02:00
thibaud-leclere
8d413b5c57
fix: review fixes — cache Wikidata calls, add timeout, improve escaping, hide empty popovers
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:38:05 +02:00
thibaud-leclere
91f45448f0
feat: replace ? button with hint type icons in ActorPopover
2026-03-30 22:35:39 +02:00
thibaud-leclere
42a3567e1c
feat: resolve hint display text in computeGridData
2026-03-30 22:33:51 +02:00
thibaud-leclere
32ae77da53
feat: generate hints per row in GameGridGenerator
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 22:32:51 +02:00
thibaud-leclere
c2efdd4eeb
feat: add WikidataAwardGateway for actor awards from Wikidata SPARQL
2026-03-30 22:31:42 +02:00
thibaud-leclere
7f3738007d
feat: add findOneRandomByActor to MovieRoleRepository
2026-03-30 22:31:07 +02:00
thibaud-leclere
e3ee26e070
feat: add hintType and hintData columns to GameRow entity
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 22:30:30 +02:00
thibaud-leclere
cdcd3312ef
docs: add game hints implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:26:32 +02:00
thibaud-leclere
4fb1a25469
docs: add game hints system design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:21:26 +02:00
thibaud-leclere
335a55562f
feat: handle non-letter characters in actor names with separator rows
...
Display spaces, hyphens and other non-letter characters as static cells
instead of input fields, and add separator rows in the grid for
non-alphabetic characters in the main actor's name.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 21:59:11 +02:00
thibaud-leclere
ba9a3fba5d
feat: replace code icon with Git logo in navbar
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 21:58:43 +02:00
thibaud-leclere
86bf2eb1d3
feat: move hints column to the left of the game grid
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 21:33:40 +02:00
thibaud-leclere
1f80b554fd
Remove AppExtension
2026-03-30 21:17:17 +02:00
thibaud-leclere
52c40f1ecc
feat: add bug report issue template and report button on game grid
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 20:36:39 +02:00
thibaud-leclere
c35e239450
various fixes
2026-03-30 20:12:10 +02:00
thibaud-leclere
2f5ba701b6
feat: wrap game in centered card, style abandon button, abandon anonymous game on login
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:55:32 +02:00
thibaud-leclere
96adefbb1e
feat: update homepage template with start/abandon game UI
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 19:46:58 +02:00
thibaud-leclere
a6b3a93d5c
refactor: use persisted games in HomepageController
2026-03-30 19:46:12 +02:00
thibaud-leclere
884168aa49
feat: add GameController with start and abandon actions
2026-03-30 19:45:39 +02:00
thibaud-leclere
ef155463ab
feat: add GameGridGenerator service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 19:44:50 +02:00
thibaud-leclere
1d7c215887
feat: add migration for game and game_row tables
2026-03-30 19:44:05 +02:00
thibaud-leclere
665233425a
feat: add Game and GameRow repositories
2026-03-30 19:43:39 +02:00
thibaud-leclere
ff9a48448c
feat: add GameRow entity
2026-03-30 19:43:29 +02:00
thibaud-leclere
55145c366f
feat: add Game entity
2026-03-30 19:43:18 +02:00
thibaud-leclere
90ca2b946d
docs: add game persistence implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:41:45 +02:00
thibaud-leclere
1eb7817182
docs: add game grid persistence design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:38:29 +02:00
thibaud-leclere
6cd6c1ed47
fix: bind vendor with host in dev instead of named volume
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 18:41:24 +02:00
thibaud-leclere
3c15c12255
update theme
2026-03-30 12:13:19 +02:00
thibaud-leclere
99abd78495
remove git action
2026-03-30 00:13:39 +02:00
thibaud-leclere
bcf6cd1a03
Add secrets
Build and Push Docker Images / Build app image (push) Failing after 23s
Build and Push Docker Images / Build database image (push) Successful in 9s
Build and Push Docker Images / Build node image (push) Failing after 11s
2026-03-30 00:11:16 +02:00
thibaud-leclere
503c474461
fix: use correct env var syntax for Symfony secrets
...
Secrets are accessed via %env(NAME)% not %env(secret:NAME)%.
Symfony automatically resolves secrets as env vars.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:19:07 +02:00
thibaud-leclere
f42a3ba286
fix: manually register Stimulus controllers in bootstrap.js
...
Auto-discovery may not work reliably with vite-plugin-symfony.
Explicit registration ensures dropdown, notifications, and
import-modal controllers are loaded.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:14:16 +02:00
thibaud-leclere
23c291d2c2
fix: modal-overlay hidden attribute overridden by display:flex
...
The CSS display:flex on .modal-overlay was overriding the HTML hidden
attribute, making the modal always visible.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:12:15 +02:00
thibaud-leclere
201faf3789
chore: add make rule for Symfony secrets
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:37:55 +02:00
thibaud-leclere
5fc6b4a53b
feat: add Messenger worker Docker service
...
Build and Push Docker Images / Build app image (push) Failing after 37s
Build and Push Docker Images / Build node image (push) Has been cancelled
Build and Push Docker Images / Build database image (push) Has been cancelled
Reuses the app image with messenger:consume command.
Restarts automatically, with 1h time limit and 256M memory limit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:30:23 +02:00
thibaud-leclere
6edc122ff6
fix: address code review issues
...
- Rename `read` column to `is_read` (PostgreSQL reserved word)
- Wrap navbar + modal in parent div for Stimulus controller scope
- Set temporary filePath before first flush in ImportController
- Use RETURNING clause for atomic incrementProcessedBatches
- Return proper empty 204 response in NotificationController
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:27:57 +02:00
thibaud-leclere
b0024bbcf5
feat: add navbar, dropdown, modal and notification styles
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:23:57 +02:00
thibaud-leclere
300699fa82
feat: add Stimulus import modal controller
2026-03-29 10:23:19 +02:00
thibaud-leclere
c9880baddb
feat: add Stimulus notifications controller with polling
2026-03-29 10:22:58 +02:00
thibaud-leclere
1ea07a2438
feat: add Stimulus dropdown controller
2026-03-29 10:22:37 +02:00
thibaud-leclere
a348de01b0
feat: add navbar with user dropdown and import modal
2026-03-29 10:22:20 +02:00
thibaud-leclere
4f8eb5f3dc
feat: add notification API endpoints
2026-03-29 10:21:30 +02:00
thibaud-leclere
2cfbe191cf
feat: add POST /api/imports endpoint
2026-03-29 10:21:02 +02:00