No description
Find a file
Simon Kuehn 693e458e07 feat: photo gallery on article detail with upload, sort and set-main
- Add secured GET /admin/photos/{filename} to serve files from var/uploads/
- Add POST /api/articles/{id}/photos/sort for drag-and-drop reordering
- Add PhotoService::reorder() to persist new sort positions
- Add photo gallery field (onlyOnDetail) using custom Twig template:
  - Drag-and-drop reorder via SortableJS CDN
  - Click or drop to upload new photos
  - Set main (★) and delete per photo
  - Main photo highlighted with blue border + badge
- Add field.photos translation key (EN/DE)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 09:10:59 +00:00
.gitea/workflows feat: add Gitea Actions CI (CS Fixer, PHPStan, Pest + migrations) 2026-05-14 04:25:50 +00:00
bin chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
config feat: photo gallery on article detail with upload, sort and set-main 2026-05-18 09:10:59 +00:00
docker fix: raise PHP-FPM pool to 30 workers to prevent SSE starvation 2026-05-18 09:02:34 +00:00
docs/superpowers chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
migrations feat: replace Mistral web_search with Tavily for specs research 2026-05-18 08:35:52 +00:00
public feat: live pipeline status notifications via SSE 2026-05-18 07:36:03 +00:00
src feat: photo gallery on article detail with upload, sort and set-main 2026-05-18 09:10:59 +00:00
templates feat: photo gallery on article detail with upload, sort and set-main 2026-05-18 09:10:59 +00:00
tests chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
translations feat: photo gallery on article detail with upload, sort and set-main 2026-05-18 09:10:59 +00:00
.editorconfig chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.env feat: replace Mistral web_search with Tavily for specs research 2026-05-18 08:35:52 +00:00
.env.dev chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.env.test chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.gitignore feat: add PHPStan level 9, PHP CS Fixer, Pest; fix docker user=1000 to avoid root-owned files 2026-05-14 04:25:30 +00:00
.php-cs-fixer.dist.php chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.php-cs-fixer.php feat: implement Plan 2 — Article Management API 2026-05-14 05:19:20 +00:00
composer.json feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00
composer.lock feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00
docker-compose.override.yml feat: add Docker Compose environment with Caddy, PostgreSQL 17, Redis, PHP-FPM workers 2026-05-14 04:14:55 +00:00
docker-compose.yml fix: raise PHP-FPM pool to 30 workers to prevent SSE starvation 2026-05-18 09:02:34 +00:00
phpstan.neon feat: implement Plan 2 — Article Management API 2026-05-14 05:19:20 +00:00
phpunit.dist.xml chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
phpunit.xml.dist feat: add PHPStan level 9, PHP CS Fixer, Pest; fix docker user=1000 to avoid root-owned files 2026-05-14 04:25:30 +00:00
symfony.lock feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00