generated from gitea_admin/default
dev
This commit is contained in:
BIN
app/assets/img/illustrations/orchestre_3 copie.jpg
Normal file
BIN
app/assets/img/illustrations/orchestre_3 copie.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 254 KiB |
BIN
app/assets/img/illustrations/orchestre_3.jpg
Normal file
BIN
app/assets/img/illustrations/orchestre_3.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 254 KiB |
BIN
app/assets/img/illustrations/orchestre_4.jpg
Normal file
BIN
app/assets/img/illustrations/orchestre_4.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 299 KiB |
@@ -1,7 +1,7 @@
|
||||
.fiche_header_simple_wp {
|
||||
display: grid;
|
||||
justify-content: center;
|
||||
padding-bottom: 100px;
|
||||
padding-bottom: 60px;
|
||||
|
||||
|
||||
@media (min-width: 0px) and (max-width: 600px) {
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
.rounded-card-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--gap-cards);
|
||||
gap: 13px;
|
||||
justify-content: flex-start;
|
||||
margin-left: 30px;
|
||||
margin-left: 13px;
|
||||
}
|
||||
@media (max-width: 572px) {
|
||||
.rounded-card-list {
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
@media (min-width: 1100px) {
|
||||
.rounded-card-list > .rounded-card {
|
||||
max-width: 300px;
|
||||
max-width: 270px;
|
||||
flex: 1 1 300px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Professionnels
|
||||
<ul class="header_nav_topbar_submenu">
|
||||
<li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/programmer-orchestre">Programmer l'Orchestre</NuxtLink></li>
|
||||
<li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/studio">Le studio et les espaces</NuxtLink></li>
|
||||
<li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/studio">Le Studio et les espaces</NuxtLink></li>
|
||||
<li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/parc">Louer des instruments</NuxtLink></li>
|
||||
<!-- <li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/recrutement">Recrutement / Concours</NuxtLink></li> -->
|
||||
<!-- <li class="header_nav_topbar_submenu_item"><NuxtLink to="/professionnels/candidats">Espace candidats</NuxtLink></li> -->
|
||||
|
||||
@@ -24,12 +24,41 @@ export function useStrapi(endpoint, options = {}) {
|
||||
return query.toString()
|
||||
})
|
||||
|
||||
const { data, pending, error, refresh } = useFetch(
|
||||
() => `${endpoint}?${queryString.value}`,
|
||||
const fetchAll = computed(() => Boolean(unref(options.fetchAll)))
|
||||
|
||||
const asyncDataKey = computed(() => `${endpoint}:${queryString.value}:fetchAll=${fetchAll.value}`)
|
||||
|
||||
const { data, pending, error, refresh } = useAsyncData(
|
||||
asyncDataKey,
|
||||
async () => {
|
||||
const baseUrl = `${endpoint}?${queryString.value}`
|
||||
|
||||
if (!fetchAll.value) {
|
||||
return await $fetch(baseUrl)
|
||||
}
|
||||
|
||||
const firstPage = await $fetch(addPageParam(baseUrl, 1))
|
||||
const pageCount = Number(firstPage?.meta?.pagination?.pageCount || 1)
|
||||
|
||||
if (pageCount <= 1) {
|
||||
return firstPage
|
||||
}
|
||||
|
||||
const otherPages = await Promise.all(
|
||||
Array.from({ length: pageCount - 1 }, (_, index) => $fetch(addPageParam(baseUrl, index + 2)))
|
||||
)
|
||||
|
||||
return {
|
||||
...firstPage,
|
||||
data: [
|
||||
...(Array.isArray(firstPage?.data) ? firstPage.data : []),
|
||||
...otherPages.flatMap((page) => (Array.isArray(page?.data) ? page.data : [])),
|
||||
],
|
||||
}
|
||||
},
|
||||
{
|
||||
server: true,
|
||||
key: () => `${endpoint}:${queryString.value}`,
|
||||
watch: [queryString],
|
||||
watch: [queryString, fetchAll],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -58,6 +87,11 @@ export function useStrapi(endpoint, options = {}) {
|
||||
}
|
||||
}
|
||||
|
||||
function addPageParam(url, page) {
|
||||
const separator = url.includes("?") ? "&" : "?"
|
||||
return `${url}${separator}pagination[page]=${page}`
|
||||
}
|
||||
|
||||
function appendPopulate(query, populate, prefix = "populate") {
|
||||
Object.entries(populate).forEach(([key, value]) => {
|
||||
if (value === true) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div>
|
||||
<PageSection tone="jaune" content-size="default">
|
||||
<SectionTitle tone="invert" pad="md">
|
||||
LA SAISON 2025/2026 POUR LES JEUNES
|
||||
LA SAISON POUR LES JEUNES
|
||||
</SectionTitle>
|
||||
</PageSection>
|
||||
<PageSection padded_size="md" content-size="default" class="remonter_concert_list">
|
||||
@@ -34,9 +34,42 @@
|
||||
import { onMounted } from "vue"
|
||||
import { formatDateLong } from "@/utils/dateFormat.js"
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const saisonCourante = String(runtimeConfig.public.saison || "").trim()
|
||||
const saisonPrecedente = String(runtimeConfig.public.saisonmoins1 || "").trim()
|
||||
// PRISE EN COMPTE DE LA DOUBLE SAISON ENTRE L'ANNONCE DE LA NOUVELLE SAISON ET LA FIN DE LA SAISON EN COURS
|
||||
// de janvier à août inclus, saisonmoins1 est ajoutée au filtre via $or
|
||||
// de septembre à décembre, seule runtimeConfig.public.saison est utilisée
|
||||
const inclureSaisonPrecedente = new Date().getMonth() <= 7
|
||||
const saisonFilter = inclureSaisonPrecedente && saisonPrecedente
|
||||
? {
|
||||
$or: [
|
||||
{
|
||||
saison_concert: {
|
||||
nom_saison: {
|
||||
$eq: saisonCourante,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
saison_concert: {
|
||||
nom_saison: {
|
||||
$eq: saisonPrecedente,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
: {
|
||||
saison_concert: {
|
||||
nom_saison: {
|
||||
$eq: saisonCourante,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const { concerts, refresh } = useConcerts({
|
||||
locale: "fr-FR",
|
||||
pageSize: 200,
|
||||
populate: {
|
||||
saison_concert: true,
|
||||
genre_concert: true,
|
||||
@@ -55,13 +88,7 @@
|
||||
},
|
||||
filters: {
|
||||
$and: [
|
||||
{
|
||||
saison_concert: {
|
||||
nom_saison: {
|
||||
$eq: String(runtimeConfig.public.saison),
|
||||
},
|
||||
},
|
||||
},
|
||||
saisonFilter,
|
||||
{
|
||||
$or: [
|
||||
{
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
import DsMedia from '@root/design-system/primitives/DsMedia.vue'
|
||||
import DsButton from '@root/design-system/primitives/DsButton.vue'
|
||||
import DsButtonArrow from '@root/design-system/primitives/DsButtonArrow.vue'
|
||||
import orchestre_img from '@/assets/img/illustrations/orchestre_1.jpg'
|
||||
import orchestre_img from '@/assets/img/illustrations/orchestre_3.jpg'
|
||||
import ppt_img from '@/assets/img/illustrations/map_idf.jpg'
|
||||
import DsCard from '@root/design-system/components/DsCard.vue'
|
||||
|
||||
|
||||
@@ -658,7 +658,8 @@
|
||||
{
|
||||
locale: "fr-FR",
|
||||
populate: populateInstruments,
|
||||
pageSize: 500,
|
||||
pageSize: 100,
|
||||
fetchAll: true,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -685,7 +686,14 @@
|
||||
groups.get(categoryName).instruments_list.push(instrument)
|
||||
}
|
||||
|
||||
return Array.from(groups.values())
|
||||
return Array.from(groups.values()).map((category) => ({
|
||||
...category,
|
||||
instruments_list: category.instruments_list.sort((a, b) =>
|
||||
String(a.instrument_nom || "").localeCompare(String(b.instrument_nom || ""), "fr", {
|
||||
sensitivity: "base",
|
||||
})
|
||||
),
|
||||
}))
|
||||
})
|
||||
|
||||
const openedInstrumentDescriptions = ref({})
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
:key="categorie.id"
|
||||
class="space-y-4"
|
||||
>
|
||||
<div class="flex items-center justify-between mb-8">
|
||||
<div class="flex items-center mb-8">
|
||||
<div class="flex items-center gap-4">
|
||||
<h3 v-if="categorie.nom_categorie" class="text-2xl font-bold tracking-tight">
|
||||
{{ categorie.nom_categorie }}
|
||||
@@ -556,9 +556,12 @@
|
||||
}
|
||||
|
||||
function formatKoToMo(sizeInKo) {
|
||||
if (typeof sizeInKo !== "number") return ""
|
||||
const size = Number(sizeInKo)
|
||||
|
||||
return `${(sizeInKo / 1024).toFixed(1)} Mo`
|
||||
if (!Number.isFinite(size)) return ""
|
||||
if (size < 1024) return `${Math.round(size)} Ko`
|
||||
|
||||
return `${(size / 1024).toFixed(1)} Mo`
|
||||
}
|
||||
|
||||
function getInitials(fullName) {
|
||||
|
||||
@@ -474,31 +474,11 @@
|
||||
<PageSection tone="" content-size="default" padded_size="md">
|
||||
<SectionContent class="fiche_description strapi-blocks">
|
||||
<div>
|
||||
<div class="mb-8"><iframe src="https://maps.google.com/maps?width=781&height=538&hl=en&q=1,%20rue%20du%20Capitaine%20Alfred-Dreyfus%20Alfortvillle+(Parc%20instrumental)&t=&z=14&ie=UTF8&iwloc=B&output=embed" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe></div>
|
||||
<div class="mb-8"><iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d70672.55028389905!2d2.3463168575299274!3d48.83180674769099!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e6730f74558a15%3A0xc9a8bbf42df731e5!2sOrchestre%20national%20d'%C3%8Ele-de-France!5e0!3m2!1sfr!2sfr!4v1678109834196!5m2!1sfr!2sfr" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe></div>
|
||||
<div>
|
||||
<h1>Comment venir ?</h1>
|
||||
<h2>Accès par la route</h2>
|
||||
<h3>Depuis Paris</h3>
|
||||
<ul>
|
||||
<li>À la Porte de Bercy, prendre A4 direction Metz/Nancy</li>
|
||||
<li>Quitter l’A4 à la première sortie, direction Maisons-Alfort, Alfortville</li>
|
||||
<li>Serrer sur la droite et après le pont de Charenton, prendre à droite direction Ivry, Alfortville</li>
|
||||
<li>Continuer tout droit, au quatrième feu, prendre à gauche direction Choisy-le-Roi (ne pas traverser le pont d’Ivry)</li>
|
||||
<li>Longer la Seine sur plus d’1 kilomètre</li>
|
||||
<li>Après la station service Total, prendre la première rue à gauche : la rue Jules-Guesdes. Au bout de cette rue, prendre à droite dans la rue Victor-Hugo, puis, au rond-point, tourner immédiatement à droite dans la rue du 14-juillet. Prendre la première à droite, rue Lafayette, puis la première à gauche : c’est la rue des Écoles</li>
|
||||
<li>La Maison de l’Orchestre se trouve à 100 mètres sur la droite</li>
|
||||
</ul>
|
||||
<h3>Depuis l’A86 (entre Créteil et Versailles)</h3>
|
||||
<ul>
|
||||
<li>Sortir de l’A86, direction Alfortville–Vitry-sur-Seine</li>
|
||||
<li>Serrer sur la droite et suivre indication Alfortville</li>
|
||||
<li>Au deuxième feu, prendre en face et longer la Seine (qui se trouve sur votre droite)</li>
|
||||
<li>Au niveau du Centre Leclerc, prendre à droite direction Alfortville et passer le pont de Vitry sur la file de gauche, pour tourner à gauche après le pont</li>
|
||||
<li>Longer les quais de Seine, au 2e feu à droite prendre la rue du 14-juillet qui vous amènera directement à la rue des Écoles</li>
|
||||
<li>Prendre à gauche, la Maison de l’Orchestre se trouve à 100 mètres sur la droite</li>
|
||||
</ul>
|
||||
<h2>Accès par les transports en commun</h2>
|
||||
<h3>RER ligne D</h3>
|
||||
|
||||
<h2>RER ligne D</h2>
|
||||
<ul>
|
||||
<li>Descendre station Maisons-Alfort, Alfortville et sortir côté Alfortville</li>
|
||||
<li>Prendre à droite en sortant de la gare : avenue Malleret-Joinville sur 500 mètres environ</li>
|
||||
@@ -506,7 +486,7 @@
|
||||
<li>Arrivé sur la place Jean-Jaurès (rond-point), continuer en face (entre magasin de téléphonie et Crédit Lyonnais) : rue Victor-Hugo. Tourner dans la première rue à gauche : rue des Écoles</li>
|
||||
<li>À environ 150 mètres sur la droite se trouve le bâtiment de l’Orchestre</li>
|
||||
</ul>
|
||||
<h3>Métro ligne 8</h3>
|
||||
<h2>Métro ligne 8</h2>
|
||||
<ul>
|
||||
<li>Descendre station École vétérinaire de Maisons-Alfort</li>
|
||||
<li>Prendre le bus 103 en sortant du métro. Descendre à la station Mairie d’Alfortville</li>
|
||||
@@ -530,7 +510,7 @@
|
||||
nom="Maria Birioukova"
|
||||
poste="Responsable des productions et du personnel artistique "
|
||||
numero="06 77 11 24 74"
|
||||
mail="lmaria.birioukova@orchestre-ile.com"
|
||||
mail="maria.birioukova@orchestre-ile.com"
|
||||
adresse="19 rue des Écoles 94140 Alfortvillle"
|
||||
/>
|
||||
</PageSection>
|
||||
|
||||
@@ -69,6 +69,7 @@ export default defineNuxtConfig({
|
||||
public: {
|
||||
strapiUrl: '',
|
||||
saison: '',
|
||||
saisonmoins1: '',
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user