Add public events page, event detail route, copy URL button, organizer events list

- Add /evenements public page with Meilisearch search, KnpPaginator (12/page), event cards grid
- Add /evenement/{orgaSlug}/{id}-{eventSlug} public route with slug redirect
- Add Event::getSlug() method
- Update homepage stats with real event count
- Update organizer detail page to list their public events
- Update navbar: link Evenements to /evenements with active state
- Add copy URL button on edit event page (visible only when online)
- Add initCopyUrl() in app.js with clipboard API

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-20 17:54:02 +01:00
parent fe33b80351
commit f70f0c2af9
9 changed files with 259 additions and 4 deletions

View File

@@ -144,6 +144,19 @@ class EventTest extends TestCase
self::assertSame($event, $result);
}
public function testGetSlug(): void
{
$event = new Event();
$event->setTitle('Brocante de printemps 2026');
self::assertSame('brocante-de-printemps-2026', $event->getSlug());
}
public function testGetSlugEmpty(): void
{
$event = new Event();
self::assertSame('evenement', $event->getSlug());
}
public function testIsSecretDefaultFalse(): void
{
$event = new Event();