diff --git a/assets/css/src/calendar-strip.css b/assets/css/src/calendar-strip.css
index cdefe16..1e7e099 100644
--- a/assets/css/src/calendar-strip.css
+++ b/assets/css/src/calendar-strip.css
@@ -2,12 +2,9 @@
--padding-vertical: calc(var(--space-m) / 2);
position: relative;
background-color: var(--color-yellow);
- box-sizing: border-box;
width: 100%;
display: flex;
align-items: center;
- border-top: var(--border);
- border-bottom: var(--border);
}
.calendar-strip__selector {
diff --git a/assets/css/src/callout.css b/assets/css/src/callout.css
index 407d7a3..00d3085 100644
--- a/assets/css/src/callout.css
+++ b/assets/css/src/callout.css
@@ -4,8 +4,6 @@ section.callout {
display: flex;
flex-direction: column;
align-items: center;
- border-top: var(--border);
- border-bottom: var(--border);
}
section.callout h4 {
diff --git a/assets/css/src/collapsable-section.css b/assets/css/src/collapsable-section.css
new file mode 100644
index 0000000..3a18b8a
--- /dev/null
+++ b/assets/css/src/collapsable-section.css
@@ -0,0 +1,19 @@
+.collapsable-sections {
+ background-color: var(--color-yellow);
+}
+
+.collapsable button.toggle {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+}
+
+.collapsable__content {
+ max-height: 0;
+ overflow: hidden;
+ transition: max-height 0.5s ease-in-out;
+}
+.collapsable__content {
+ max-height: 100%;
+ overflow: hidden;
+}
diff --git a/assets/css/src/event-key-infos.css b/assets/css/src/event-key-infos.css
new file mode 100644
index 0000000..615556b
--- /dev/null
+++ b/assets/css/src/event-key-infos.css
@@ -0,0 +1,21 @@
+section.key-infos {
+ width: 100%;
+}
+
+section.key-infos ul {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+}
+
+section.key-infos p {
+ display: inline;
+}
+
+section.key-infos .key-infos__key {
+ color: var(--color-accent);
+}
+
+section.key-infos .key-infos__key:not(:last-child) {
+ margin-right: 3rem;
+}
diff --git a/assets/css/src/event-presentation.css b/assets/css/src/event-presentation.css
new file mode 100644
index 0000000..11e9226
--- /dev/null
+++ b/assets/css/src/event-presentation.css
@@ -0,0 +1,21 @@
+.presentation {
+ display: grid;
+ grid-template-columns: 1.5fr 1fr;
+ column-gap: 1rem;
+}
+
+.presentation__title {
+ margin-bottom: calc(var(--space-m) / 2);
+}
+
+.presentation__authors {
+ color: var(--color-accent);
+}
+
+.presentation__chapo {
+ margin: var(--space-m) 0;
+}
+
+.presentation__description {
+ font-size: var(--font-size-s);
+}
diff --git a/assets/css/src/newsletter.css b/assets/css/src/newsletter.css
index 616eefb..533cd81 100644
--- a/assets/css/src/newsletter.css
+++ b/assets/css/src/newsletter.css
@@ -1,8 +1,6 @@
section.newsletter {
--padding-vertical: var(--space-m);
background-color: var(--color-brown-light);
- border-top: var(--border);
- border-bottom: var(--border);
}
section.newsletter h2 {
@@ -23,7 +21,7 @@ section.newsletter form > *:last-child {
}
section.newsletter form input {
- border-bottom: 1px solid #000;
+ border-bottom: var(--border);
padding-bottom: var(--space-vertical);
width: 100%;
}
diff --git a/assets/css/src/text.css b/assets/css/src/text.css
index 93c1f48..7dab19a 100644
--- a/assets/css/src/text.css
+++ b/assets/css/src/text.css
@@ -10,7 +10,7 @@
}
body {
font-family: "Joker", sans-serif;
- font-size: var(--font-size-body);
+ font-size: var(--font-size-m);
}
h1,
diff --git a/assets/css/src/vanilla.css b/assets/css/src/vanilla.css
index b4c22a3..68ca5d1 100644
--- a/assets/css/src/vanilla.css
+++ b/assets/css/src/vanilla.css
@@ -1,7 +1,12 @@
-section,
+section:not(.collapsable),
footer {
+ box-sizing: border-box;
padding: var(--padding-vertical) var(--space-m);
}
+section:not(:last-child) {
+ border-bottom: var(--border);
+}
+
picture {
background-color: #ddd;
display: flex !important;
diff --git a/assets/css/src/variables.css b/assets/css/src/variables.css
index 80ee4ef..eeefddb 100644
--- a/assets/css/src/variables.css
+++ b/assets/css/src/variables.css
@@ -1,7 +1,9 @@
:root {
--border: 1px solid #000;
- --font-size-body: 1.25rem;
+ --font-size-s: 1rem;
+ --font-size-m: 1.25rem;
+
--font-size-h5: 1.5625rem;
--font-size-h4: 1.5625rem;
--font-size-h3: 1.5625rem;
diff --git a/assets/css/style.css b/assets/css/style.css
index 59e24aa..8ed6c7c 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -10,4 +10,7 @@
@import url("src/events-grid.css");
@import url("src/callout.css");
@import url("src/newsletter.css");
+@import url("src/event-key-infos.css");
+@import url("src/event-presentation.css");
+@import url("src/collapsable-section.css");
@import url("src/footer.css");
diff --git a/assets/images/icons/arrow-down.svg b/assets/images/icons/arrow-down.svg
new file mode 100644
index 0000000..2bb092d
--- /dev/null
+++ b/assets/images/icons/arrow-down.svg
@@ -0,0 +1,3 @@
+
diff --git a/site/blueprints/blocks/heading.yml b/site/blueprints/blocks/heading.yml
new file mode 100644
index 0000000..1266c44
--- /dev/null
+++ b/site/blueprints/blocks/heading.yml
@@ -0,0 +1,32 @@
+name: field.blocks.heading.name
+icon: title
+wysiwyg: true
+preview: heading
+fields:
+ level:
+ label: field.blocks.heading.level
+ type: toggles
+ empty: false
+ default: "h2"
+ labels: false
+ options:
+ - value: h2
+ icon: h2
+ text: H2
+ - value: h3
+ icon: h3
+ text: H3
+ - value: h4
+ icon: h4
+ text: H4
+ - value: h5
+ icon: h5
+ text: H5
+ - value: h6
+ icon: h6
+ text: H6
+ text:
+ label: field.blocks.heading.text
+ type: writer
+ inline: true
+ placeholder: field.blocks.heading.placeholder
diff --git a/site/blueprints/blocks/image.yml b/site/blueprints/blocks/image.yml
new file mode 100644
index 0000000..b1ebb93
--- /dev/null
+++ b/site/blueprints/blocks/image.yml
@@ -0,0 +1,31 @@
+name: field.blocks.image.name
+icon: image
+preview: image
+fields:
+ image:
+ label: field.blocks.image.name
+ type: files
+ query: model.images
+ multiple: false
+ image:
+ back: black
+ uploads:
+ template: blocks/image
+ src:
+ label: field.blocks.image.url
+ type: url
+ when:
+ location: web
+ alt:
+ label: field.blocks.image.alt
+ type: text
+ icon: title
+ caption:
+ label: field.blocks.image.caption
+ type: writer
+ icon: text
+ inline: true
+ link:
+ label: field.blocks.image.link
+ type: text
+ icon: url
diff --git a/site/blueprints/blocks/links-list.yml b/site/blueprints/blocks/links-list.yml
new file mode 100644
index 0000000..861dded
--- /dev/null
+++ b/site/blueprints/blocks/links-list.yml
@@ -0,0 +1,28 @@
+name: Liste de liens
+icon: table
+preview: fields
+wysiwyg: true
+fields:
+ items:
+ label: false
+ type: structure
+ columns:
+ firstText:
+ width: 1/3
+ secondText:
+ width: 1/3
+ link:
+ width: 1/3
+ fields:
+ firstText:
+ type: text
+ label: 1er texte
+ width: 1/3
+ secondText:
+ type: text
+ label: 2ème texte
+ width: 1/3
+ link:
+ type: url
+ label: Lien
+ width: 1/3
diff --git a/site/blueprints/blocks/text.yml b/site/blueprints/blocks/text.yml
new file mode 100644
index 0000000..6b81835
--- /dev/null
+++ b/site/blueprints/blocks/text.yml
@@ -0,0 +1,19 @@
+name: field.blocks.text.name
+icon: text
+wysiwyg: true
+preview: text
+fields:
+ leftMargin:
+ label: ⇥ Marge gauche
+ type: radio
+ columns: 4
+ default: false
+ options:
+ false: Aucune
+ small: Petite
+ medium: Moyenne
+ large: Grande
+ text:
+ label: Texte
+ type: writer
+ placeholder: field.blocks.text.placeholder
diff --git a/site/blueprints/fields/color.yml b/site/blueprints/fields/color.yml
new file mode 100644
index 0000000..7f9b7f9
--- /dev/null
+++ b/site/blueprints/fields/color.yml
@@ -0,0 +1,16 @@
+label: Couleur
+type: color
+mode: options
+default: "#fff"
+options:
+ "#ed268f": Rose
+ "#ff4f4b": Saumon
+ "#9e00ff": Violet
+ "#d6ff00": Jaune
+ "#ff5c00": Orange
+ "#ff3300": Rouge
+ "#2e8799": Colvert
+ "#009eff": Bleu
+ "#00b477": Vert
+ "#a59478": Brun
+ "#fff": Blanc
diff --git a/site/blueprints/pages/event.yml b/site/blueprints/pages/event.yml
index 0f43859..e585b92 100644
--- a/site/blueprints/pages/event.yml
+++ b/site/blueprints/pages/event.yml
@@ -156,6 +156,9 @@ tabs:
label: Réglages
icon: cog
fields:
+ color: fields/color
+ mapadoLine:
+ type: line
isMapadoEvent:
label: Connecter à Mapado
type: toggle
diff --git a/site/blueprints/pages/free.yml b/site/blueprints/pages/free.yml
deleted file mode 100644
index 80b24f2..0000000
--- a/site/blueprints/pages/free.yml
+++ /dev/null
@@ -1 +0,0 @@
-title: Page libre
diff --git a/site/blueprints/pages/section.yml b/site/blueprints/pages/section.yml
new file mode 100644
index 0000000..8b1b0cd
--- /dev/null
+++ b/site/blueprints/pages/section.yml
@@ -0,0 +1,21 @@
+title: Section
+image: false
+
+tabs:
+ contentTab:
+ label: Constructeur
+ icon: dashboard
+ fields:
+ section:
+ label: Section
+ type: layout
+ layouts:
+ - "1/1"
+ - "1/2, 1/2"
+ - "1/3, 1/3, 1/3"
+ fieldsets:
+ - heading
+ - text
+ - image
+ - links-list
+ filesTab: tabs/files
diff --git a/site/blueprints/pages/sectioned.yml b/site/blueprints/pages/sectioned.yml
new file mode 100644
index 0000000..72eb0a2
--- /dev/null
+++ b/site/blueprints/pages/sectioned.yml
@@ -0,0 +1,13 @@
+title: Page sectionnées
+image:
+ icon: divider
+ back: black
+ color: white
+
+tabs:
+ contentTab:
+ sections:
+ sectionsSection:
+ label: Sections
+ type: pages
+ template: section
diff --git a/site/blueprints/site.yml b/site/blueprints/site.yml
index b60198c..ffcb981 100644
--- a/site/blueprints/site.yml
+++ b/site/blueprints/site.yml
@@ -86,8 +86,11 @@ tabs:
type: pages
label: Pages principales
templates:
- - free
+ - sectioned
- program
+ create:
+ - sectioned
+ info: "{{ page.blueprint.title }}"
contactTab:
label: Contact
icon: email
diff --git a/site/snippets/collapsable-section.php b/site/snippets/collapsable-section.php
new file mode 100644
index 0000000..9b62324
--- /dev/null
+++ b/site/snippets/collapsable-section.php
@@ -0,0 +1,11 @@
+
Dates
= $page->schedule() ?>
Durée
= e($page->isMapadoEvent(), $page->remoteDuration(), $page->duration()) ?>
Public
= $page->public() ?>
Lieu
= $page->place() ?>