liste artistes

This commit is contained in:
2026-02-24 18:41:20 +01:00
parent 8dd7cbbb06
commit 35be3e4ee3
23 changed files with 1316 additions and 54 deletions

View File

@@ -32,6 +32,7 @@
<script setup>
import { onMounted } from "vue"
const runtimeConfig = useRuntimeConfig()
import { formatDateLong } from "@/utils/dateFormat.js"
const { concerts, refresh } = useConcerts({
@@ -55,7 +56,7 @@
filters: {
saison_concert: {
nom_saison: {
$eq: "2025/2026",
$eq: String(runtimeConfig.public.saison),
},
},
},

View File

@@ -34,6 +34,7 @@
:alt="illustration.alternativeText || concert?.titre_concert || ''"
ratio="3-4"
/>
<div v-else class="img_placeholder" aria-hidden="true" />
</div>
<div class="fiche_header_bandeau"></div>
<div class="fiche_header_infos">

View File

@@ -1,13 +1,94 @@
<template>
<div>
</div>
<div>
<PageSection tone="jaune" content-size="default">
<SectionTitle tone="invert" pad="md">
LA SAISON 2025/2026 POUR LES JEUNES
</SectionTitle>
</PageSection>
<PageSection padded_size="md" content-size="default" class="">
<ConcertCardList :highlight-first="false" :limit-cards-on-breakpoint="false">
<ConcertCard
v-for="c in concerts"
:key="c.id"
:id="c.slug_concert"
:title="c.titre_concert"
:dateISO="c.representation_concert?.[0]?.date_debut_representation"
:dateLabel="formatDateLong(c.representation_concert?.[0]?.date_debut_representation)"
:lieu="c.representation_concert?.[0]?.lieu_representation?.nom_lieu"
:adresse_lieu="c.representation_concert?.[0]?.lieu_representation?.nom_lieu"
:description="c.resume_concert"
:imageUrl="c.image_illustration_concert?.url"
:imageAlt="c.image_illustration_concert?.alternativeText"
:href="`concert-${c.slug_concert}`"
/>
</ConcertCardList>
</PageSection>
</div>
</template>
<script lang="ts" setup>
<script setup>
import { onMounted } from "vue"
import { formatDateLong } from "@/utils/dateFormat.js"
const runtimeConfig = useRuntimeConfig()
const { concerts, refresh } = useConcerts({
locale: "fr-FR",
populate: {
saison_concert: true,
genre_concert: true,
type_audience_concert: true,
direction_ondif_concert: { postes_artiste_ondif: true },
direction_invite_concert: { postes_artiste_invite: true },
artistes_ondif_concert: { postes_artiste_ondif: true },
artistes_invite_concert: { postes_artiste_invite: true },
image_illustration_concert: true,
images_concert: true,
videos_concert: true,
audios_concert: true,
programme_concert: true,
representation_concert: { lieu_representation: true },
liens_youtube_concert: true,
},
filters: {
$and: [
{
saison_concert: {
nom_saison: {
$eq: String(runtimeConfig.public.saison),
},
},
},
{
$or: [
{
genre_concert: {
nom_genre: {
$eq: "Jeune public",
},
},
},
{
type_audience_concert: {
nom_audience: {
$eq: "Jeune public",
},
},
},
],
},
],
},
upcomingOnly: false,
})
onMounted(() => {
if (!concerts.value?.length) {
refresh()
}
})
</script>
<style>
</style>

View File

@@ -32,6 +32,7 @@
<script setup>
import { onMounted } from "vue"
const runtimeConfig = useRuntimeConfig()
import { formatDateLong } from "@/utils/dateFormat.js"
const { concerts, refresh } = useConcerts({
@@ -55,7 +56,7 @@
filters: {
saison_concert: {
nom_saison: {
$eq: "2025/2026",
$eq: String(runtimeConfig.public.saison),
},
},
},