diff --git a/site/blueprints/pages/event.yml b/site/blueprints/pages/event.yml
index 1cbf726..a3a1c2c 100644
--- a/site/blueprints/pages/event.yml
+++ b/site/blueprints/pages/event.yml
@@ -164,7 +164,16 @@ tabs:
label: Réglages
icon: cog
fields:
- color: fields/color
+ category:
+ label: Catégorie
+ type: select
+ width: 1/4
+ options:
+ type: query
+ query: page.parent.parent.categories.split
+ color:
+ extends: fields/color
+ width: 3/4
mapadoLine:
type: line
isMapadoEvent:
diff --git a/site/blueprints/pages/program.yml b/site/blueprints/pages/program.yml
index fe87147..2066dc0 100644
--- a/site/blueprints/pages/program.yml
+++ b/site/blueprints/pages/program.yml
@@ -13,9 +13,18 @@ tabs:
contentTab:
label: Calendrier
icon: calendar
- sections:
- seasons:
- label: Saisons
- type: pages
- template: season
- info: "{{ page.children.count }} événements"
+ columns:
+ - width: 1/2
+ fields:
+ categories:
+ label: Catégories d'événement
+ type: tags
+ max: 5
+ help: Permet aux visiteurs de filtrer les événements du [programme](/programme).
+ - width: 1/2
+ sections:
+ seasons:
+ label: Saisons
+ type: pages
+ template: season
+ info: "{{ page.children.count }} événements"
diff --git a/site/controllers/program.php b/site/controllers/program.php
index 8745e19..1739eae 100644
--- a/site/controllers/program.php
+++ b/site/controllers/program.php
@@ -38,6 +38,7 @@ function createArraySession($event, $session) {
$arraySession['ticketingUrl'] = $isMapadoEvent ? $session->ticketingUrl() : false;
$arraySession['bookableStock'] = $isMapadoEvent ? $session->bookableStock()->value() : 'free';
$arraySession['color'] = $event->color();
+ $arraySession['category'] = $event->category();
return $arraySession;
diff --git a/site/templates/program.php b/site/templates/program.php
index 57be161..a8c4895 100644
--- a/site/templates/program.php
+++ b/site/templates/program.php
@@ -29,39 +29,19 @@
:class="tab === title ? 'strong' : ''"
@click="if (tab === title) { tab = 'Programme' } else {tab = title}"
>
-
-
-
+ categories()->split() as $filter): ?>
+
+
@@ -101,7 +81,8 @@
} catch (\Throwable $th) {
throw new Exception($session['title'], 1);
}
- ?>
+ ?>
+
')" title="En savoir plus">
= $formattedDate ?>
@@ -138,6 +119,7 @@
+