redesign event blueprint
This commit is contained in:
parent
1614f8682e
commit
801fe38447
6 changed files with 84 additions and 11 deletions
|
|
@ -11,6 +11,9 @@
|
||||||
|
|
||||||
.calendar-strip__selector {
|
.calendar-strip__selector {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 10rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-strip__days {
|
.calendar-strip__days {
|
||||||
|
|
|
||||||
|
|
@ -57,3 +57,8 @@ button {
|
||||||
all: unset;
|
all: unset;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button[disabled] {
|
||||||
|
cursor: not-allowed;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
dayjs.locale("fr");
|
dayjs.locale("fr");
|
||||||
function getDaysInMonth(month, year) {
|
|
||||||
|
async function getDaysInMonth(month, year) {
|
||||||
const daysInMonth = dayjs(new Date(year, month, 0)).daysInMonth();
|
const daysInMonth = dayjs(new Date(year, month, 0)).daysInMonth();
|
||||||
const days = [];
|
const days = [];
|
||||||
|
|
||||||
|
|
@ -10,3 +11,17 @@ function getDaysInMonth(month, year) {
|
||||||
|
|
||||||
return days;
|
return days;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getEvents(monthNumb) {
|
||||||
|
const myHeaders = new Headers();
|
||||||
|
myHeaders.append("Authorization", "Bearer " + mapadoToken);
|
||||||
|
|
||||||
|
const requestOptions = {
|
||||||
|
method: "GET",
|
||||||
|
headers: myHeaders,
|
||||||
|
redirect: "follow",
|
||||||
|
};
|
||||||
|
|
||||||
|
const url =
|
||||||
|
"https://ticketing.mapado.net/v1/event_dates?itemsPerPage=31&contract=1941&after=2024-10-01&before=2024-11-01&order=asc&fields=startDate,bookableStock,ticketing{@id,title,firstFutureEventDateStartDate,isOnSale,minisite{domain,online,slug,name},venue{@id,name,seatingName,address,zipCode,city,countryCode,timezone}}";
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,28 +10,50 @@ tabs:
|
||||||
keyInfosHeadline:
|
keyInfosHeadline:
|
||||||
type: headline
|
type: headline
|
||||||
label: Infos clés
|
label: Infos clés
|
||||||
date:
|
startDate:
|
||||||
type: text
|
label: Date de début
|
||||||
|
type: date
|
||||||
icon: calendar
|
icon: calendar
|
||||||
width: 1/4
|
display: DD/MM/YYYY
|
||||||
placeholder: 2-5 oct. 2024
|
width: 1/5
|
||||||
|
when:
|
||||||
|
isMapadoEvent: false
|
||||||
|
mapadoKeyInfos:
|
||||||
|
label: Événement connecté à Mapado
|
||||||
|
type: info
|
||||||
|
text: Les données de dates et de durée sont récupérées de [Mapado](https://desk.mapado.com/).
|
||||||
|
width: 2/4
|
||||||
|
when:
|
||||||
|
isMapadoEvent: true
|
||||||
|
endDate:
|
||||||
|
label: Date de fin
|
||||||
|
type: date
|
||||||
|
icon: calendar
|
||||||
|
display: DD/MM/YYYY
|
||||||
|
width: 1/5
|
||||||
|
when:
|
||||||
|
isMapadoEvent: false
|
||||||
duration:
|
duration:
|
||||||
label: Durée
|
label: Durée
|
||||||
type: text
|
type: text
|
||||||
icon: clock
|
icon: clock
|
||||||
width: 1/4
|
width: 1/5
|
||||||
placeholder: 1h20
|
placeholder: 1h20
|
||||||
|
when:
|
||||||
|
isMapadoEvent: false
|
||||||
public:
|
public:
|
||||||
type: text
|
type: text
|
||||||
icon: users
|
icon: users
|
||||||
width: 1/4
|
width: 1/5
|
||||||
placeholder: dès 8 ans
|
placeholder: dès 8 ans
|
||||||
place:
|
place:
|
||||||
label: Lieu
|
label: Lieu
|
||||||
type: text
|
type: text
|
||||||
icon: pin
|
icon: pin
|
||||||
width: 1/4
|
width: 1/5
|
||||||
placeholder: NTB
|
placeholder: NTB
|
||||||
|
line:
|
||||||
|
type: line
|
||||||
- width: 1/1
|
- width: 1/1
|
||||||
fields:
|
fields:
|
||||||
presentationHeadline:
|
presentationHeadline:
|
||||||
|
|
@ -83,10 +105,33 @@ tabs:
|
||||||
label: Réglages
|
label: Réglages
|
||||||
icon: cog
|
icon: cog
|
||||||
fields:
|
fields:
|
||||||
|
isMapadoEvent:
|
||||||
|
label: Connecter à Mapado
|
||||||
|
type: toggle
|
||||||
|
default: false
|
||||||
|
width: 1/4
|
||||||
|
mapadoInfo:
|
||||||
|
label: Pourquoi faire ?
|
||||||
|
type: info
|
||||||
|
text: |
|
||||||
|
Permet de récupérer depuis [Mapado](https://desk.mapado.com/) les infos suivantes :
|
||||||
|
- date de début
|
||||||
|
- date de fin
|
||||||
|
- durée
|
||||||
|
- séances et leurs informations (date, places restantes)
|
||||||
|
|
||||||
|
width: 2/4
|
||||||
|
whiteSpace:
|
||||||
|
type: gap
|
||||||
|
width: 1/4
|
||||||
mapadoId:
|
mapadoId:
|
||||||
label: Identifiant Mapado
|
label: Identifiant Mapado
|
||||||
type: number
|
type: number
|
||||||
width: 1/4
|
width: 1/4
|
||||||
|
when:
|
||||||
|
isMapadoEvent: true
|
||||||
mapadoButton:
|
mapadoButton:
|
||||||
type: mapado-check
|
type: mapado-check
|
||||||
width: 1/2
|
width: 3/4
|
||||||
|
when:
|
||||||
|
isMapadoEvent: true
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ function formatDateString(inputString) {
|
||||||
function connect() {
|
function connect() {
|
||||||
icon.value = "loader";
|
icon.value = "loader";
|
||||||
theme.value = "yellow";
|
theme.value = "yellow";
|
||||||
|
|
||||||
const myHeaders = new Headers();
|
const myHeaders = new Headers();
|
||||||
myHeaders.append("Authorization", "Bearer " + mapadoToken);
|
myHeaders.append("Authorization", "Bearer " + mapadoToken);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
class="calendar-strip"
|
class="calendar-strip"
|
||||||
x-data="{
|
x-data="{
|
||||||
monthNumb: dayjs().month(),
|
monthNumb: dayjs().month(),
|
||||||
|
token: '<?= $site->mapadoToken() ?>',
|
||||||
|
contractId: '<?= $site->mapadoContractId() ?>',
|
||||||
|
|
||||||
get monthName() {
|
get monthName() {
|
||||||
return dayjs().month(this.monthNumb).format('MMMM');
|
return dayjs().month(this.monthNumb).format('MMMM');
|
||||||
|
|
@ -11,11 +13,13 @@
|
||||||
return getDaysInMonth(this.monthNumb, dayjs().year())
|
return getDaysInMonth(this.monthNumb, dayjs().year())
|
||||||
}
|
}
|
||||||
}"
|
}"
|
||||||
|
|
||||||
|
x-init="getEvents(monthNumb)"
|
||||||
>
|
>
|
||||||
<div class="calendar-strip__selector">
|
<div class="calendar-strip__selector">
|
||||||
<button class="prev-month" @click="monthNumb--">←</button>
|
<button class="prev-month" @click="monthNumb--" :disabled="monthNumb === -4 ? true : false">←</button>
|
||||||
<span x-text="monthName"></span>
|
<span x-text="monthName"></span>
|
||||||
<button class="next-month" @click="monthNumb++">→</button>
|
<button class="next-month" @click="monthNumb++" :disabled="monthNumb === 7 ? true : false">→</button>
|
||||||
</div>
|
</div>
|
||||||
<ul class="calendar-strip__days">
|
<ul class="calendar-strip__days">
|
||||||
<template x-for="(day, index) in days">
|
<template x-for="(day, index) in days">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue