add hideSessionsOnHome button
This commit is contained in:
parent
2ceb483d39
commit
a274ce90c4
5 changed files with 74 additions and 64 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
z-index: 4;
|
z-index: 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-strip__selector {
|
.calendar-strip__selector {
|
||||||
|
|
|
||||||
|
|
@ -168,6 +168,9 @@
|
||||||
.no-margin {
|
.no-margin {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
.no-border {
|
||||||
|
border: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
.shift-large {
|
.shift-large {
|
||||||
margin-left: var(--shift-large);
|
margin-left: var(--shift-large);
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,11 @@ tabs:
|
||||||
label: Places disponibles
|
label: Places disponibles
|
||||||
type: text
|
type: text
|
||||||
width: 1/4
|
width: 1/4
|
||||||
|
hideSessionsOnHome:
|
||||||
|
label: Ne pas afficher les séances sur la page d'accueil
|
||||||
|
type: toggle
|
||||||
|
default: false
|
||||||
|
help: Si l'option est active, dans le calendrier de la page d'accueil l'événement sera affiché sans le détail des différentes séances.
|
||||||
- width: 1/1
|
- width: 1/1
|
||||||
fields:
|
fields:
|
||||||
line:
|
line:
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,12 @@ return [
|
||||||
$eventInfos = [
|
$eventInfos = [
|
||||||
"title" => $event->title()->value(),
|
"title" => $event->title()->value(),
|
||||||
"place" => $event->place()->value(),
|
"place" => $event->place()->value(),
|
||||||
"authors" => $event->authors()->value()
|
"authors" => $event->authors()->value(),
|
||||||
|
"hideSessionsOnHome" => (bool) $event->hideSessionsOnHome()->value(),
|
||||||
|
"eventUrl" => $event->url(),
|
||||||
|
"public" => $event->public()->value(),
|
||||||
|
"duration" => $event->duration()->value(),
|
||||||
|
"color" => $event->color()->value(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($event->isMapadoEvent() == 'false') {
|
if ($event->isMapadoEvent() == 'false') {
|
||||||
|
|
@ -42,13 +47,9 @@ return [
|
||||||
|
|
||||||
$sessionDay = intval($session->date()->toDate('d'));
|
$sessionDay = intval($session->date()->toDate('d'));
|
||||||
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
||||||
"color" => $event->color()->value(),
|
|
||||||
"day" => $sessionDay,
|
"day" => $sessionDay,
|
||||||
"time" => $session->timeComplement()->isEmpty() == 'true' ? $session->time()->value() : $session->time()->value() . ' ' . $session->timeComplement()->value(),
|
"time" => $session->timeComplement()->isEmpty() == 'true' ? $session->time()->value() : $session->time()->value() . ' ' . $session->timeComplement()->value(),
|
||||||
"place" => $event->place()->value(),
|
|
||||||
"duration" => $event->duration()->value(),
|
|
||||||
"ticketingUrl" => $event->bookingUrl()->value(),
|
"ticketingUrl" => $event->bookingUrl()->value(),
|
||||||
"eventUrl" => $event->url(),
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -73,16 +74,12 @@ return [
|
||||||
$bookableStock = $session->notInStockContingentBookableStock;
|
$bookableStock = $session->notInStockContingentBookableStock;
|
||||||
|
|
||||||
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
||||||
"color" => $event->color()->value(),
|
|
||||||
"day" => $sessionDay,
|
"day" => $sessionDay,
|
||||||
"time" => str_replace(':', 'h', $startTime),
|
"time" => str_replace(':', 'h', $startTime),
|
||||||
"duration" => $event->duration()->value(),
|
|
||||||
"place" => $event->place()->value(),
|
|
||||||
"public" => $event->public()->value(),
|
|
||||||
"eventUrl" => $event->url(),
|
|
||||||
"ticketingUrl" => $ticketingUrl,
|
"ticketingUrl" => $ticketingUrl,
|
||||||
"bookableStock" => $bookableStock,
|
"bookableStock" => $bookableStock,
|
||||||
"totalStock" => (int) $event->totalStock()->value(),
|
"totalStock" => (int) $event->totalStock()->value(),
|
||||||
|
"hideSessionsOnHome" => (bool) $event->hideSessionsOnHome()->value()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<section
|
<section
|
||||||
class="calendar-strip"
|
class="calendar-strip"
|
||||||
|
@mouseleave="open = false"
|
||||||
x-data="{
|
x-data="{
|
||||||
calendar: createEmptyCalendar(),
|
calendar: createEmptyCalendar(),
|
||||||
currentMonthIndex: dayjs().month() + 1,
|
currentMonthIndex: dayjs().month() + 1,
|
||||||
|
|
@ -153,62 +154,66 @@
|
||||||
|
|
||||||
<div class="calendar-strip__date" :class="open ? 'open' : ''">
|
<div class="calendar-strip__date" :class="open ? 'open' : ''">
|
||||||
<ul class="sessions">
|
<ul class="sessions">
|
||||||
<template x-for="session in targetSessions">
|
<template x-for="(session, index) in targetSessions">
|
||||||
<li
|
<template x-if="!session.hideSessionsOnHome || index === 0">
|
||||||
x-data="{
|
<li
|
||||||
stockThreshold: (session.totalStock / 100) * 25
|
x-data="{
|
||||||
}"
|
stockThreshold: (session.totalStock / 100) * 25
|
||||||
:style="'--color: ' + session.color"
|
}"
|
||||||
class="session"
|
:style="'--color: ' + session.color"
|
||||||
>
|
class="session no-border"
|
||||||
<div class="left-column mobile-group">
|
>
|
||||||
<a class="session__event-link" :href="session.eventUrl" title="En savoir plus"></a>
|
<div class="left-column mobile-group">
|
||||||
<div class="session__info session__info--slot">
|
<a class="session__event-link" :href="session.eventUrl" title="En savoir plus"></a>
|
||||||
<p x-html="`${session.day} ${monthName}`"></p>
|
<div class="session__info session__info--slot">
|
||||||
<p x-html="session.time"></p>
|
<p x-html="`${session.day} ${monthName}`"></p>
|
||||||
|
<template x-if="!session.hideSessionsOnHome">
|
||||||
|
<p x-html="session.time"></p>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="middle-column mobile-group">
|
||||||
<div class="middle-column mobile-group">
|
<div class="session__info session__info--title">
|
||||||
<div class="session__info session__info--title">
|
<p><strong x-html="`<strong>${session.title}</strong>`"></strong></p>
|
||||||
<p><strong x-html="`<strong>${session.title}</strong>`"></strong></p>
|
<p x-html="session.authors"></p>
|
||||||
<p x-html="session.authors"></p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="session__info session__info--duration desktop">
|
<div class="session__info session__info--duration desktop">
|
||||||
<p x-text="session.duration ? 'Durée : ' + session.duration : ''"></p>
|
<p x-text="session.duration ? 'Durée : ' + session.duration : ''"></p>
|
||||||
<p x-text="session.public ? session.public : ''"></p>
|
<p x-text="session.public ? session.public : ''"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div x-text="`${session.place}`" class="session__info session__info--place desktop"></div>
|
<div x-text="`${session.place}`" class="session__info session__info--place desktop"></div>
|
||||||
<div class="right-column mobile-group">
|
<div class="right-column mobile-group">
|
||||||
<template x-if="!session.ticketingUrl">
|
<template x-if="!session.ticketingUrl">
|
||||||
<div class="session__info session__info--book session__info--book-free">
|
<div class="session__info session__info--book session__info--book-free">
|
||||||
<a class="ticket-link" target="_blank" title="Entrée libre" disabled><?php snippet('ticket') ?> <span class="desktop">Entrée libre</span></a>
|
<a class="ticket-link" target="_blank" title="Entrée libre" disabled><?php snippet('ticket') ?> <span class="desktop">Entrée libre</span></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template x-if="session.ticketingUrl && !session.bookableStock">
|
<template x-if="session.ticketingUrl && !session.hasOwnProperty('bookableStock')">
|
||||||
<div class="session__info session__info--book">
|
<div class="session__info session__info--book">
|
||||||
<a class="ticket-link" :href="session.ticketingUrl" target="_blank" title="Entrée libre"><?php snippet('ticket') ?> <span class="desktop">Réserver</span></a>
|
<a class="ticket-link" :href="session.ticketingUrl" target="_blank" title="Entrée libre"><?php snippet('ticket') ?> <span class="desktop">Réserver</span></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template x-if="session.bookableStock === 0">
|
<template x-if="session.bookableStock === 0">
|
||||||
<div class="session__info session__info--book session__info--book-sold-out">
|
<div class="session__info session__info--book session__info--book-sold-out">
|
||||||
<a class="ticket-link" title="Plus de places disponibles" disabled><?php snippet('ticket') ?> <span class="desktop">Complet</span></a>
|
<a class="ticket-link" title="Plus de places disponibles" disabled><?php snippet('ticket') ?> <span class="desktop">Complet</span></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template x-if="session.bookableStock > stockThreshold">
|
<template x-if="session.bookableStock > stockThreshold">
|
||||||
<div class="session__info session__info--book session__info--book-open">
|
<div class="session__info session__info--book session__info--book-open">
|
||||||
<a class="ticket-link" title="Plateforme de réservation" :href="session.ticketingUrl" target="_blank"><?php snippet('ticket') ?> <span class="desktop">Billetterie</span></a>
|
<a class="ticket-link" title="Plateforme de réservation" :href="session.ticketingUrl" target="_blank"><?php snippet('ticket') ?> <span class="desktop">Billetterie</span></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template x-if="session.bookableStock !== 0 && session.bookableStock < stockThreshold">
|
<template x-if="session.bookableStock !== 0 && session.bookableStock < stockThreshold">
|
||||||
<div class="session__info session__info--book session__info--book-few-places">
|
<div class="session__info session__info--book session__info--book-few-places">
|
||||||
<a class="ticket-link" title="Plateforme de réservation" :href="session.ticketingUrl" target="_blank"><?php snippet('ticket') ?> <span class="desktop">Plus que quelques places !</span></a>
|
<a class="ticket-link" title="Plateforme de réservation" :href="session.ticketingUrl" target="_blank"><?php snippet('ticket') ?> <span class="desktop">Plus que quelques places !</span></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue