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%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
z-index: 4;
|
||||
z-index: 6;
|
||||
}
|
||||
|
||||
.calendar-strip__selector {
|
||||
|
|
|
|||
|
|
@ -168,6 +168,9 @@
|
|||
.no-margin {
|
||||
margin: 0 !important;
|
||||
}
|
||||
.no-border {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.shift-large {
|
||||
margin-left: var(--shift-large);
|
||||
|
|
|
|||
|
|
@ -129,6 +129,11 @@ tabs:
|
|||
label: Places disponibles
|
||||
type: text
|
||||
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
|
||||
fields:
|
||||
line:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,12 @@ return [
|
|||
$eventInfos = [
|
||||
"title" => $event->title()->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') {
|
||||
|
|
@ -42,13 +47,9 @@ return [
|
|||
|
||||
$sessionDay = intval($session->date()->toDate('d'));
|
||||
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
||||
"color" => $event->color()->value(),
|
||||
"day" => $sessionDay,
|
||||
"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(),
|
||||
"eventUrl" => $event->url(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -73,16 +74,12 @@ return [
|
|||
$bookableStock = $session->notInStockContingentBookableStock;
|
||||
|
||||
$calendar[$sessionMonth][$sessionDay]['sessions'][] = array_merge($eventInfos, [
|
||||
"color" => $event->color()->value(),
|
||||
"day" => $sessionDay,
|
||||
"time" => str_replace(':', 'h', $startTime),
|
||||
"duration" => $event->duration()->value(),
|
||||
"place" => $event->place()->value(),
|
||||
"public" => $event->public()->value(),
|
||||
"eventUrl" => $event->url(),
|
||||
"ticketingUrl" => $ticketingUrl,
|
||||
"bookableStock" => $bookableStock,
|
||||
"totalStock" => (int) $event->totalStock()->value(),
|
||||
"hideSessionsOnHome" => (bool) $event->hideSessionsOnHome()->value()
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<section
|
||||
class="calendar-strip"
|
||||
@mouseleave="open = false"
|
||||
x-data="{
|
||||
calendar: createEmptyCalendar(),
|
||||
currentMonthIndex: dayjs().month() + 1,
|
||||
|
|
@ -153,62 +154,66 @@
|
|||
|
||||
<div class="calendar-strip__date" :class="open ? 'open' : ''">
|
||||
<ul class="sessions">
|
||||
<template x-for="session in targetSessions">
|
||||
<li
|
||||
x-data="{
|
||||
stockThreshold: (session.totalStock / 100) * 25
|
||||
}"
|
||||
:style="'--color: ' + session.color"
|
||||
class="session"
|
||||
>
|
||||
<div class="left-column mobile-group">
|
||||
<a class="session__event-link" :href="session.eventUrl" title="En savoir plus"></a>
|
||||
<div class="session__info session__info--slot">
|
||||
<p x-html="`${session.day} ${monthName}`"></p>
|
||||
<p x-html="session.time"></p>
|
||||
<template x-for="(session, index) in targetSessions">
|
||||
<template x-if="!session.hideSessionsOnHome || index === 0">
|
||||
<li
|
||||
x-data="{
|
||||
stockThreshold: (session.totalStock / 100) * 25
|
||||
}"
|
||||
: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="session__info session__info--slot">
|
||||
<p x-html="`${session.day} ${monthName}`"></p>
|
||||
<template x-if="!session.hideSessionsOnHome">
|
||||
<p x-html="session.time"></p>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="middle-column mobile-group">
|
||||
<div class="session__info session__info--title">
|
||||
<p><strong x-html="`<strong>${session.title}</strong>`"></strong></p>
|
||||
<p x-html="session.authors"></p>
|
||||
<div class="middle-column mobile-group">
|
||||
<div class="session__info session__info--title">
|
||||
<p><strong x-html="`<strong>${session.title}</strong>`"></strong></p>
|
||||
<p x-html="session.authors"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="session__info session__info--duration desktop">
|
||||
<p x-text="session.duration ? 'Durée : ' + session.duration : ''"></p>
|
||||
<p x-text="session.public ? session.public : ''"></p>
|
||||
</div>
|
||||
|
||||
<div x-text="`${session.place}`" class="session__info session__info--place desktop"></div>
|
||||
<div class="right-column mobile-group">
|
||||
<template x-if="!session.ticketingUrl">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.ticketingUrl && !session.bookableStock">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock === 0">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock > stockThreshold">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock !== 0 && session.bookableStock < stockThreshold">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</li>
|
||||
<div class="session__info session__info--duration desktop">
|
||||
<p x-text="session.duration ? 'Durée : ' + session.duration : ''"></p>
|
||||
<p x-text="session.public ? session.public : ''"></p>
|
||||
</div>
|
||||
|
||||
<div x-text="`${session.place}`" class="session__info session__info--place desktop"></div>
|
||||
<div class="right-column mobile-group">
|
||||
<template x-if="!session.ticketingUrl">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.ticketingUrl && !session.hasOwnProperty('bookableStock')">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock === 0">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock > stockThreshold">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
<template x-if="session.bookableStock !== 0 && session.bookableStock < stockThreshold">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</li>
|
||||
</template>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue