generated from gitea_admin/default
dev
This commit is contained in:
@@ -1,13 +1,266 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<div class="entreprise--page">
|
||||
<!-- ================== -->
|
||||
<!-- FILS D'ARIANE -->
|
||||
<!-- ================== -->
|
||||
<PageSection tone="" content-size="default" class="breadcrum_wp">
|
||||
<Breadcrumb/>
|
||||
</PageSection>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- EN-TêTE -->
|
||||
<!-- ================== -->
|
||||
<section class="fiche_header_simple_wp">
|
||||
<div class="fiche_header_wp_gauche"></div>
|
||||
|
||||
<div class="fiche_header_inner">
|
||||
<div class="fiche_header_titres">
|
||||
<div>
|
||||
<DsHeading as="h1" tone="default" textcase="uppercase" class="concert-card__title">
|
||||
{{entreprise_donnees_servies.header_titre}}
|
||||
</DsHeading>
|
||||
</div>
|
||||
|
||||
<DsText as="p" align="justify">
|
||||
{{entreprise_donnees_servies.header_text}}
|
||||
</DsText>
|
||||
</div>
|
||||
<div class="fiche_header_img">
|
||||
<DsMedia
|
||||
v-if="entreprise_donnees_servies?.header_illustration?.url"
|
||||
:src="entreprise_donnees_servies.header_illustration.url"
|
||||
:alt="entreprise_donnees_servies.header_illustration.alternativeText || ''"
|
||||
fit="cover"
|
||||
ratio="square"
|
||||
/>
|
||||
|
||||
<div v-else class="img_placeholder" aria-hidden="true" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="fiche_header_wp_droite"></div>
|
||||
|
||||
</section>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- CHIFFRES -->
|
||||
<!-- ================== -->
|
||||
<PageSection
|
||||
v-if="hasentrepriseChiffres"
|
||||
tone=""
|
||||
content-size="default"
|
||||
padded_size="md"
|
||||
class="chiffres_wp"
|
||||
>
|
||||
<Chiffres
|
||||
:title="entreprise_donnees_servies?.chiffres_entreprise?.Titre"
|
||||
:items="entrepriseChiffres"
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- AFFICHAGE DES PARTIE EN DÉCALLAGE AVEC LE CONTENU PROVENANT DE STRAPI -->
|
||||
<!-- ================== -->
|
||||
<template v-for="(t, index) in tiroirs" :key="index">
|
||||
<PageSection :content="false" :class="{ 'decalage-section--spaced': index > 0 }">
|
||||
<Decalage
|
||||
:tone="t.decalage_couleur"
|
||||
title-tone="invert"
|
||||
:position="t.decalage_sens"
|
||||
button-tone="invert"
|
||||
:ensavoirplus-target="t.tiroir_ouvert ? undefined : `texte_cache_${index + 3}`"
|
||||
:ensavoirplus-group="t.tiroir_ouvert ? undefined : 'entreprise-details'"
|
||||
>
|
||||
<template #title>
|
||||
{{ t.decalage_titre }}
|
||||
</template>
|
||||
<DsText as="p" tone="invert" :align="t.decalage_sens">
|
||||
{{ t.decalage_texte }}
|
||||
</DsText>
|
||||
</Decalage>
|
||||
</PageSection>
|
||||
<PageSection
|
||||
:id="`texte_cache_${index + 3}`"
|
||||
:data-ensavoirplus-group="t.tiroir_ouvert ? undefined : 'entreprise-details'"
|
||||
tone=""
|
||||
content-size="default"
|
||||
padded_size=""
|
||||
:class="{ 'decalage_ensavoirplus--hidden': !t.tiroir_ouvert }"
|
||||
>
|
||||
<section v-if="t.tiroir_galerie.length" class="img-gallery_wp">
|
||||
<div class="img-gallery">
|
||||
<DsMedia
|
||||
v-for="img in t.tiroir_galerie"
|
||||
:key="img.id || img.url"
|
||||
:src="img.url"
|
||||
:alt="img.alternativeText"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
<SectionContent class="fiche_description">
|
||||
<StrapiBlocksConvert :blocks="t.tiroir_description" />
|
||||
</SectionContent>
|
||||
<section v-if="t.tiroir_videos.length" class="youtube_wp">
|
||||
<div class="youtube-list">
|
||||
<div v-for="v in t.tiroir_videos" :key="v.id" class="youtube-item">
|
||||
<iframe
|
||||
:src="v.lien_youtube"
|
||||
title="Vidéo YouTube"
|
||||
loading="lazy"
|
||||
referrerpolicy="strict-origin-when-cross-origin"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</PageSection>
|
||||
</template>
|
||||
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- CONTACT -->
|
||||
<!-- ================== -->
|
||||
|
||||
<PageSection tone="" content-size="default" padded_size="md" class="contact_spe_wp">
|
||||
<ContactSpecifique
|
||||
titre="Contacter le service mécénat"
|
||||
nom="Pierre Brouchoud et Audrey Chauvelot"
|
||||
poste="Responsables du mécénat"
|
||||
mail="pierre.brouchoud@orchestre-ile.com / audrey.chauvelot@orchestre-ile.com"
|
||||
adresse=""
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DsHeading from '@root/design-system/primitives/DsHeading.vue'
|
||||
import DsText from '@root/design-system/primitives/DsText.vue'
|
||||
import DsMedia from '@root/design-system/primitives/DsMedia.vue'
|
||||
import { computed } from 'vue'
|
||||
|
||||
// ======================================
|
||||
// RÉCUPÉRATION DES DONNÉES DANS STRAPI
|
||||
// ======================================
|
||||
|
||||
const endpoint = "/api/__strapi__/entreprise"
|
||||
const populate = {
|
||||
header_illustration: true,
|
||||
chiffres_entreprise: {chiffres: true},
|
||||
tiroirs_entreprise: {
|
||||
decalage_parametres: true,
|
||||
tiroir_galerie: true,
|
||||
tiroir_videos: true,
|
||||
},
|
||||
}
|
||||
|
||||
const { items: entreprise, pending, error } = useStrapi(
|
||||
endpoint,
|
||||
{
|
||||
locale: "fr-FR",
|
||||
populate,
|
||||
limit: 1,
|
||||
}
|
||||
)
|
||||
|
||||
// ======================================
|
||||
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
|
||||
// ======================================
|
||||
const entreprise_donnees_servies = computed(() => entreprise.value?.[0] || {})
|
||||
|
||||
const entrepriseChiffres = computed(() =>
|
||||
(entreprise.value?.[0]?.chiffres_entreprise?.chiffres || []).map((item) => ({
|
||||
value: item.chiffre,
|
||||
label: item.label,
|
||||
}))
|
||||
)
|
||||
|
||||
const hasentrepriseChiffres = computed(() => (
|
||||
Boolean(entreprise_donnees_servies.value?.chiffres_entreprise?.Titre)
|
||||
|| entrepriseChiffres.value.length > 0
|
||||
))
|
||||
|
||||
const tiroirs = computed(() =>
|
||||
(entreprise.value?.[0]?.tiroirs_entreprise || []).map((tiroir_item) => ({
|
||||
decalage_titre: tiroir_item.decalage_parametres?.decalage_titre,
|
||||
decalage_texte: tiroir_item.decalage_parametres?.decalage_texte,
|
||||
tiroir_ouvert: Boolean(tiroir_item.decalage_parametres?.tiroir_ouvert),
|
||||
decalage_sens:
|
||||
tiroir_item.decalage_parametres?.decalage_sens === "droite" ? "right" : "left",
|
||||
decalage_couleur:
|
||||
tiroir_item.decalage_parametres?.decalage_couleur === "rouge"
|
||||
? "brand"
|
||||
: tiroir_item.decalage_parametres?.decalage_couleur === "vert clair"
|
||||
? "brandreverse"
|
||||
: tiroir_item.decalage_parametres?.decalage_couleur === "jaune"
|
||||
? "jaune"
|
||||
: "dark",
|
||||
tiroir_description: tiroir_item.tiroir_description,
|
||||
tiroir_galerie: (tiroir_item.tiroir_galerie || []).map((tiroir_item_img) => ({
|
||||
id: tiroir_item_img.id,
|
||||
url: tiroir_item_img.url,
|
||||
alt: tiroir_item_img.alternativeText,
|
||||
})),
|
||||
tiroir_videos: (tiroir_item.tiroir_videos || [])
|
||||
.map((tiroir_item_video) => {
|
||||
const id = getYoutubeId(tiroir_item_video?.lien_youtube)
|
||||
if (!id) return null
|
||||
|
||||
return {
|
||||
id: tiroir_item_video.id || id,
|
||||
lien_youtube: `https://www.youtube-nocookie.com/embed/${id}?rel=0&modestbranding=1&iv_load_policy=3&playsinline=1`,
|
||||
}
|
||||
})
|
||||
.filter(Boolean),
|
||||
}))
|
||||
)
|
||||
|
||||
function getYoutubeId(url = "") {
|
||||
try {
|
||||
const u = new URL(url)
|
||||
if (u.hostname.includes("youtu.be")) return u.pathname.slice(1)
|
||||
if (u.pathname.startsWith("/shorts/")) return u.pathname.split("/")[2]
|
||||
if (u.pathname.startsWith("/embed/")) return u.pathname.split("/")[2]
|
||||
return u.searchParams.get("v")
|
||||
} catch {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
// =======================
|
||||
// SPÉCIFIQUE À CETTE PAGE
|
||||
// =======================
|
||||
.entreprise--page {
|
||||
.chiffres_wp {
|
||||
background-color: var(--c-background-vert);
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.fiche_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> * {
|
||||
max-width: 640px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.contact_spe_wp {
|
||||
background-color: var(--c-background-jaune-clair);
|
||||
margin-top: 50px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
/* ============================ */
|
||||
/* GALERIES */
|
||||
/* ============================ */
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,13 +1,172 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="mecenes--page">
|
||||
<!-- ================== -->
|
||||
<!-- FILS D'ARIANE -->
|
||||
<!-- ================== -->
|
||||
<PageSection tone="" content-size="default" class="breadcrum_wp">
|
||||
<Breadcrumb/>
|
||||
</PageSection>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- EN-TêTE -->
|
||||
<!-- ================== -->
|
||||
<section class="fiche_header_simple_wp">
|
||||
<div class="fiche_header_wp_gauche"></div>
|
||||
|
||||
<div class="fiche_header_inner">
|
||||
<div class="fiche_header_titres">
|
||||
<div>
|
||||
<DsHeading as="h1" tone="default" textcase="uppercase" class="concert-card__title">
|
||||
Nos mécènes
|
||||
</DsHeading>
|
||||
</div>
|
||||
|
||||
<DsText as="p" align="justify">
|
||||
Merci à nos mécènes pour leur soutien !
|
||||
</DsText>
|
||||
</div>
|
||||
<div class="fiche_header_img">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="fiche_header_wp_droite"></div>
|
||||
|
||||
</section>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- AFFICHAGE DES CARDS MECENES -->
|
||||
<!-- ================== -->
|
||||
<PageSection padded_size="" class="theme_ppt_cards_wp">
|
||||
<SectionContent
|
||||
class="theme_ppt"
|
||||
:style="themePptCardsBgStyle"
|
||||
>
|
||||
<RoundedCardBlocTextList >
|
||||
<RoundedCardBlocText
|
||||
v-for="ppt_card in cards_ppt"
|
||||
:key="ppt_card.id"
|
||||
:id="ppt_card.id"
|
||||
:imgSrc="ppt_card.imgSrc"
|
||||
:imgAlt="ppt_card.imgAlt"
|
||||
:title="ppt_card.title"
|
||||
:description="ppt_card.description"
|
||||
:url="ppt_card.url"
|
||||
></RoundedCardBlocText>
|
||||
</RoundedCardBlocTextList>
|
||||
</SectionContent>
|
||||
</PageSection>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DsHeading from '@root/design-system/primitives/DsHeading.vue'
|
||||
import DsText from '@root/design-system/primitives/DsText.vue'
|
||||
import DsMedia from '@root/design-system/primitives/DsMedia.vue'
|
||||
import { computed } from 'vue'
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// DONNÉES POUR LES CARTES MECENES
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
const cards_ppt = ref([
|
||||
{
|
||||
id: '1',
|
||||
imgSrc: '/contenus/ag2r.jpeg',
|
||||
imgAlt: 'logo',
|
||||
title: "Fondation d’entreprise AG2R La Mondiale pour la vitalité artistique",
|
||||
description: `pour son soutien au programme "Mozart au cinéma"`,
|
||||
url:"https://www.ag2rlamondiale.fr/groupe/nos-engagements/soutenir-les-arts-et-promouvoir-le-sport/fondation-pour-la-vitalite-artistique",
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
imgSrc: '/contenus/bp.png',
|
||||
imgAlt: 'logo',
|
||||
title: "Banque populaire Rives de Paris",
|
||||
description: `pour son soutien au projet "Enchantons l'Île-de-France" à Taverny`,
|
||||
url:"https://www.banquepopulaire.fr/rivesparis/fondation/",
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
imgSrc: '/contenus/caisse_depot.png',
|
||||
imgAlt: 'logo',
|
||||
title: "Caisse des dépôts",
|
||||
description: `pour son soutien au projet "Enchantons l'Île-de-France" à Montereau-Fault-Yonne`,
|
||||
url:"https://www.caissedesdepots.fr/mecenat",
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
imgSrc: '/contenus/adp.png',
|
||||
imgAlt: 'logo',
|
||||
title: "Fondation Groupe ADP",
|
||||
description: `pour son soutien au projet "Du sur-mesure pour les petites oreilles"`,
|
||||
url:"https://www.parisaeroport.fr/groupe/rse/fondation",
|
||||
},
|
||||
{
|
||||
id: '5',
|
||||
imgSrc: '/contenus/norma.jpeg',
|
||||
imgAlt: 'logo',
|
||||
title: "Cabinet Norma Avocats",
|
||||
description: `pour son mécénat de compétence`,
|
||||
url:"https://www.norma-avocats.com/",
|
||||
},
|
||||
])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
// =======================
|
||||
// SPÉCIFIQUE À CETTE PAGE
|
||||
// =======================
|
||||
.mecenes--page {
|
||||
.chiffres_wp {
|
||||
background-color: var(--c-background-vert);
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.fiche_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> * {
|
||||
max-width: 640px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.contact_spe_wp {
|
||||
background-color: var(--c-background-jaune-clair);
|
||||
margin-top: 50px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.theme_ppt_cards_wp {
|
||||
margin-top: -390px;
|
||||
|
||||
</style>
|
||||
padding-top: 30px;
|
||||
padding-bottom: 80px;
|
||||
img {
|
||||
object-fit: contain;
|
||||
}
|
||||
}
|
||||
@media (max-width: 599px) {
|
||||
.theme_ppt_cards_wp {
|
||||
margin-top: -620px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================ */
|
||||
/* GALERIES */
|
||||
/* ============================ */
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,13 +1,239 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<div class="particulier--page">
|
||||
<!-- ================== -->
|
||||
<!-- FILS D'ARIANE -->
|
||||
<!-- ================== -->
|
||||
<PageSection tone="" content-size="default" class="breadcrum_wp">
|
||||
<Breadcrumb/>
|
||||
</PageSection>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- EN-TêTE -->
|
||||
<!-- ================== -->
|
||||
<section class="fiche_header_simple_wp">
|
||||
<div class="fiche_header_wp_gauche"></div>
|
||||
|
||||
<div class="fiche_header_inner">
|
||||
<div class="fiche_header_titres">
|
||||
<div>
|
||||
<DsHeading as="h1" tone="default" textcase="uppercase" class="concert-card__title">
|
||||
{{particulier_donnees_servies.header_titre}}
|
||||
</DsHeading>
|
||||
</div>
|
||||
|
||||
<DsText as="p" align="justify">
|
||||
{{particulier_donnees_servies.header_text}}
|
||||
</DsText>
|
||||
</div>
|
||||
<div class="fiche_header_img">
|
||||
<DsMedia
|
||||
v-if="particulier_donnees_servies?.header_illustration?.url"
|
||||
:src="particulier_donnees_servies.header_illustration.url"
|
||||
:alt="particulier_donnees_servies.header_illustration.alternativeText || ''"
|
||||
fit="cover"
|
||||
ratio="square"
|
||||
/>
|
||||
|
||||
<div v-else class="img_placeholder" aria-hidden="true" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="fiche_header_wp_droite"></div>
|
||||
|
||||
</section>
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- AFFICHAGE DES PARTIE EN DÉCALLAGE AVEC LE CONTENU PROVENANT DE STRAPI -->
|
||||
<!-- ================== -->
|
||||
<template v-for="(t, index) in tiroirs" :key="index">
|
||||
<PageSection :content="false" :class="{ 'decalage-section--spaced': index > 0 }">
|
||||
<Decalage
|
||||
:tone="t.decalage_couleur"
|
||||
title-tone="invert"
|
||||
:position="t.decalage_sens"
|
||||
button-tone="invert"
|
||||
:ensavoirplus-target="t.tiroir_ouvert ? undefined : `texte_cache_${index + 3}`"
|
||||
:ensavoirplus-group="t.tiroir_ouvert ? undefined : 'particulier-details'"
|
||||
>
|
||||
<template #title>
|
||||
{{ t.decalage_titre }}
|
||||
</template>
|
||||
<DsText as="p" tone="invert" :align="t.decalage_sens">
|
||||
{{ t.decalage_texte }}
|
||||
</DsText>
|
||||
</Decalage>
|
||||
</PageSection>
|
||||
<PageSection
|
||||
:id="`texte_cache_${index + 3}`"
|
||||
:data-ensavoirplus-group="t.tiroir_ouvert ? undefined : 'particulier-details'"
|
||||
tone=""
|
||||
content-size="default"
|
||||
padded_size=""
|
||||
:class="{ 'decalage_ensavoirplus--hidden': !t.tiroir_ouvert }"
|
||||
>
|
||||
<section v-if="t.tiroir_galerie.length" class="img-gallery_wp">
|
||||
<div class="img-gallery">
|
||||
<DsMedia
|
||||
v-for="img in t.tiroir_galerie"
|
||||
:key="img.id || img.url"
|
||||
:src="img.url"
|
||||
:alt="img.alternativeText"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
<SectionContent class="fiche_description">
|
||||
<StrapiBlocksConvert :blocks="t.tiroir_description" />
|
||||
</SectionContent>
|
||||
<section v-if="t.tiroir_videos.length" class="youtube_wp">
|
||||
<div class="youtube-list">
|
||||
<div v-for="v in t.tiroir_videos" :key="v.id" class="youtube-item">
|
||||
<iframe
|
||||
:src="v.lien_youtube"
|
||||
title="Vidéo YouTube"
|
||||
loading="lazy"
|
||||
referrerpolicy="strict-origin-when-cross-origin"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</PageSection>
|
||||
</template>
|
||||
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- CONTACT -->
|
||||
<!-- ================== -->
|
||||
|
||||
<PageSection tone="" content-size="default" padded_size="md" class="contact_spe_wp">
|
||||
<ContactSpecifique
|
||||
titre="Contacter le service mécénat"
|
||||
nom="Audrey Chauvelot"
|
||||
poste="Chargée du mécénat"
|
||||
mail="audrey.chauvelot@orchestre-ile.com"
|
||||
adresse=""
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DsHeading from '@root/design-system/primitives/DsHeading.vue'
|
||||
import DsText from '@root/design-system/primitives/DsText.vue'
|
||||
import DsMedia from '@root/design-system/primitives/DsMedia.vue'
|
||||
import { computed } from 'vue'
|
||||
|
||||
// ======================================
|
||||
// RÉCUPÉRATION DES DONNÉES DANS STRAPI
|
||||
// ======================================
|
||||
|
||||
const endpoint = "/api/__strapi__/particulier"
|
||||
const populate = {
|
||||
header_illustration: true,
|
||||
tiroirs_particulier: {
|
||||
decalage_parametres: true,
|
||||
tiroir_galerie: true,
|
||||
tiroir_videos: true,
|
||||
},
|
||||
}
|
||||
|
||||
const { items: particulier, pending, error } = useStrapi(
|
||||
endpoint,
|
||||
{
|
||||
locale: "fr-FR",
|
||||
populate,
|
||||
limit: 1,
|
||||
}
|
||||
)
|
||||
|
||||
// ======================================
|
||||
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
|
||||
// ======================================
|
||||
const particulier_donnees_servies = computed(() => particulier.value?.[0] || {})
|
||||
|
||||
const tiroirs = computed(() =>
|
||||
(particulier.value?.[0]?.tiroirs_particulier || []).map((tiroir_item) => ({
|
||||
decalage_titre: tiroir_item.decalage_parametres?.decalage_titre,
|
||||
decalage_texte: tiroir_item.decalage_parametres?.decalage_texte,
|
||||
tiroir_ouvert: Boolean(tiroir_item.decalage_parametres?.tiroir_ouvert),
|
||||
decalage_sens:
|
||||
tiroir_item.decalage_parametres?.decalage_sens === "droite" ? "right" : "left",
|
||||
decalage_couleur:
|
||||
tiroir_item.decalage_parametres?.decalage_couleur === "rouge"
|
||||
? "brand"
|
||||
: tiroir_item.decalage_parametres?.decalage_couleur === "vert clair"
|
||||
? "brandreverse"
|
||||
: tiroir_item.decalage_parametres?.decalage_couleur === "jaune"
|
||||
? "jaune"
|
||||
: "dark",
|
||||
tiroir_description: tiroir_item.tiroir_description,
|
||||
tiroir_galerie: (tiroir_item.tiroir_galerie || []).map((tiroir_item_img) => ({
|
||||
id: tiroir_item_img.id,
|
||||
url: tiroir_item_img.url,
|
||||
alt: tiroir_item_img.alternativeText,
|
||||
})),
|
||||
tiroir_videos: (tiroir_item.tiroir_videos || [])
|
||||
.map((tiroir_item_video) => {
|
||||
const id = getYoutubeId(tiroir_item_video?.lien_youtube)
|
||||
if (!id) return null
|
||||
|
||||
return {
|
||||
id: tiroir_item_video.id || id,
|
||||
lien_youtube: `https://www.youtube-nocookie.com/embed/${id}?rel=0&modestbranding=1&iv_load_policy=3&playsinline=1`,
|
||||
}
|
||||
})
|
||||
.filter(Boolean),
|
||||
}))
|
||||
)
|
||||
|
||||
function getYoutubeId(url = "") {
|
||||
try {
|
||||
const u = new URL(url)
|
||||
if (u.hostname.includes("youtu.be")) return u.pathname.slice(1)
|
||||
if (u.pathname.startsWith("/shorts/")) return u.pathname.split("/")[2]
|
||||
if (u.pathname.startsWith("/embed/")) return u.pathname.split("/")[2]
|
||||
return u.searchParams.get("v")
|
||||
} catch {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
// =======================
|
||||
// SPÉCIFIQUE À CETTE PAGE
|
||||
// =======================
|
||||
.particulier--page {
|
||||
.chiffres_wp {
|
||||
background-color: var(--c-background-vert);
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.fiche_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> * {
|
||||
max-width: 640px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.contact_spe_wp {
|
||||
background-color: var(--c-background-jaune-clair);
|
||||
margin-top: 50px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
/* ============================ */
|
||||
/* GALERIES */
|
||||
/* ============================ */
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<!-- AFFICHAGE DES PARTIE EN DÉCALLAGE AVEC LE CONTENU PROVENANT DE STRAPI -->
|
||||
<!-- ================== -->
|
||||
<template v-for="(t, index) in tiroirs" :key="index">
|
||||
<PageSection :content="false">
|
||||
<PageSection :content="false" :class="{ 'decalage-section--spaced': index > 0 }">
|
||||
<Decalage
|
||||
:tone="t.decalage_couleur"
|
||||
title-tone="invert"
|
||||
@@ -130,6 +130,7 @@
|
||||
et de la programmation jeune public"
|
||||
numero="01 41 79 03 43"
|
||||
mail="vanessa.gasztowtt@orchestre-ile.com"
|
||||
adresse=""
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
@@ -165,33 +166,11 @@ et de la programmation jeune public"
|
||||
limit: 1,
|
||||
}
|
||||
)
|
||||
console.log("projets:", projets.value)
|
||||
watchEffect(() => {
|
||||
console.log("client ?", import.meta.client)
|
||||
console.log("server ?", import.meta.server)
|
||||
console.log("pending:", pending.value)
|
||||
console.log("error:", error.value)
|
||||
console.log("projets:", projets.value)
|
||||
})
|
||||
|
||||
watchEffect(() => {
|
||||
if (!pending.value && projets.value?.length) {
|
||||
console.log("projets dans le watch effect:", projets.value)
|
||||
console.log("projets header_titre :", projets.value[0].header_titre)
|
||||
console.log("projets illustration url :", projets.value[0].header_illustration?.url)
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
console.log("projets header_titre :", projets.value?.[0]?.header_titre)
|
||||
|
||||
// ======================================
|
||||
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
|
||||
// ======================================
|
||||
const projets_donnees_servies = computed(() => projets.value?.[0] || {})
|
||||
watchEffect(() => {
|
||||
console.log("projets_donnees_servies JSON:", JSON.stringify(projets_donnees_servies.value, null, 2))
|
||||
})
|
||||
|
||||
const projetsChiffres = computed(() =>
|
||||
(projets.value?.[0]?.chiffres_projets?.chiffres || []).map((item) => ({
|
||||
@@ -239,11 +218,6 @@ et de la programmation jeune public"
|
||||
}))
|
||||
)
|
||||
|
||||
watchEffect(() => {
|
||||
console.log("projetsChiffres JSON:", JSON.stringify(projetsChiffres.value, null, 2))
|
||||
console.log("tiroirs JSON:", JSON.stringify(tiroirs.value, null, 2))
|
||||
})
|
||||
|
||||
|
||||
function getYoutubeId(url = "") {
|
||||
try {
|
||||
@@ -271,8 +245,7 @@ et de la programmation jeune public"
|
||||
.fiche_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 70px;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> * {
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<!-- AFFICHAGE DES PARTIE EN DÉCALLAGE AVEC LE CONTENU PROVENANT DE STRAPI -->
|
||||
<!-- ================== -->
|
||||
<template v-for="(t, index) in tiroirs" :key="index">
|
||||
<PageSection :content="false">
|
||||
<PageSection :content="false" :class="{ 'decalage-section--spaced': index > 0 }">
|
||||
<Decalage
|
||||
:tone="t.decalage_couleur"
|
||||
title-tone="invert"
|
||||
@@ -111,22 +111,6 @@
|
||||
</PageSection>
|
||||
</template>
|
||||
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- CONTACT -->
|
||||
<!-- ================== -->
|
||||
|
||||
<PageSection tone="" content-size="default" padded_size="md" class="contact_spe_wp">
|
||||
<ContactSpecifique
|
||||
titre="Contacter le service des actions culturelles"
|
||||
nom="Vanessa Gasztowtt"
|
||||
poste="Responsable de l’action éducative et culturelle
|
||||
et de la programmation jeune public"
|
||||
numero="01 41 79 03 43"
|
||||
mail="vanessa.gasztowtt@orchestre-ile.com"
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -159,33 +143,11 @@ et de la programmation jeune public"
|
||||
limit: 1,
|
||||
}
|
||||
)
|
||||
console.log("valeurs:", valeurs.value)
|
||||
watchEffect(() => {
|
||||
console.log("client ?", import.meta.client)
|
||||
console.log("server ?", import.meta.server)
|
||||
console.log("pending:", pending.value)
|
||||
console.log("error:", error.value)
|
||||
console.log("valeurs:", valeurs.value)
|
||||
})
|
||||
|
||||
watchEffect(() => {
|
||||
if (!pending.value && valeurs.value?.length) {
|
||||
console.log("valeurs dans le watch effect:", valeurs.value)
|
||||
console.log("valeurs header_titre :", valeurs.value[0].header_titre)
|
||||
console.log("valeurs illustration url :", valeurs.value[0].header_illustration[0].url)
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
console.log("valeurs header_titre :", valeurs.value?.[0]?.header_titre)
|
||||
|
||||
// ======================================
|
||||
// PRÉPARATION DES DONNÉES POUR AFFICHAGE DANS LA PAGE
|
||||
// ======================================
|
||||
const valeurs_donnees_servies = computed(() => valeurs.value?.[0] || {})
|
||||
watchEffect(() => {
|
||||
console.log("valeurs_donnees_servies JSON:", JSON.stringify(valeurs_donnees_servies.value, null, 2))
|
||||
})
|
||||
|
||||
const valeursChiffres = computed(() =>
|
||||
(valeurs.value?.[0]?.chiffres_valeurs?.chiffres || []).map((item) => ({
|
||||
@@ -228,12 +190,6 @@ et de la programmation jeune public"
|
||||
}))
|
||||
)
|
||||
|
||||
watchEffect(() => {
|
||||
console.log("valeursChiffres JSON:", JSON.stringify(valeursChiffres.value, null, 2))
|
||||
console.log("tiroirs JSON:", JSON.stringify(tiroirs.value, null, 2))
|
||||
})
|
||||
|
||||
|
||||
function getYoutubeId(url = "") {
|
||||
try {
|
||||
const u = new URL(url)
|
||||
@@ -260,8 +216,7 @@ et de la programmation jeune public"
|
||||
.fiche_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 70px;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> * {
|
||||
|
||||
Reference in New Issue
Block a user