diff --git a/web/themes/custom/eql/dist/assets/bundle.js b/web/themes/custom/eql/dist/assets/bundle.js index a5114ed..fd01bbe 100644 --- a/web/themes/custom/eql/dist/assets/bundle.js +++ b/web/themes/custom/eql/dist/assets/bundle.js @@ -25,7 +25,7 @@ eval("{/**\n * @file\n * External links js file.\n */\n\n (function ($, Drupal, \*************************/ /***/ (function() { -eval("{jQuery(function ($) {\n console.log('salut');\n\n // MENU BURGER\n const burger = document.getElementById(\"block-burger\");\n const burgertitle = document.getElementById(\"block-burger-menu\");\n if (burger && burgertitle) {\n burgertitle.addEventListener(\"click\", function () {\n burger.classList.toggle('opened');\n });\n }\n\n // FAQ — réponses\n const answers = document.getElementsByClassName(\"field--name-field-reponse\");\n const fichiers = document.getElementsByClassName(\"field--name-field-fichiers\");\n const liens = document.getElementsByClassName(\"field--name-field-liens\");\n const ressources = document.getElementsByClassName(\"field--name-field-ress\");\n const questions = document.getElementsByClassName(\"field--name-field-question\");\n\n for (let i = 0; i < questions.length; i++) {\n const q = questions[i];\n q.addEventListener(\"click\", function () {\n // Réponses\n Array.from(answers).forEach(a => a.classList.remove(\"opened\"));\n const r = this.parentNode.querySelector(\".field--name-field-reponse\");\n if (r) r.classList.add(\"opened\");\n\n // Fichiers\n Array.from(fichiers).forEach(f => f.classList.remove(\"opened\"));\n const f = this.parentNode.querySelector(\".field--name-field-fichiers\");\n if (f) f.classList.add(\"opened\");\n\n // Liens\n Array.from(liens).forEach(l => l.classList.remove(\"opened\"));\n const l = this.parentNode.querySelector(\".field--name-field-liens\");\n if (l) l.classList.add(\"opened\");\n\n // Ressources\n Array.from(ressources).forEach(r => r.classList.remove(\"opened\"));\n const res = this.parentNode.querySelector(\".field--name-field-ress\");\n if (res) res.classList.add(\"opened\");\n });\n }\n\n // SLIDESHOW INIT\n $('.path-frontpage .view-actus-blocks-pages .view-content .view-type-slide .views-row-wrapper').slick({\n slidesToShow: 1,\n dots: true,\n arrows: true,\n centerMode: true,\n responsive: [{\n breakpoint: 810,\n settings: {\n slidesToShow: 1,\n adaptiveHeight: true,\n arrows: false,\n draggable: true,\n centerMode: true,\n }\n }]\n });\n\n $('.page-node-type-actualite .block-entity-fieldnodefield-images .field--type-image').slick({\n dots: true,\n arrows: true,\n adaptiveHeight: true,\n responsive: [{\n breakpoint: 800,\n settings: { adaptiveHeight: true }\n }]\n });\n\n $('.page-node-type-projet .block-entity-fieldnodefield-photo .field--type-image').slick({\n slidesToShow: 1,\n dots: true,\n arrows: true,\n draggable: true,\n adaptiveHeight: true,\n responsive: [{\n breakpoint: 800,\n settings: { adaptiveHeight: true }\n }]\n });\n \n\n\n \n \n ///// fusion views-type-slide de class identique ////////////\n\n const seen = new Set();\n \n $('.view-type-slide').each(function () {\n const $slide = $(this);\n const classes = $slide.attr('class').split(/\\s+/);\n const typeClass = classes.find(cls => cls.startsWith('type-'));\n \n if (typeClass) {\n if (seen.has(typeClass)) {\n // Trouver le premier slide avec cette classe\n const $target = $('.view-type-slide.' + typeClass).first();\n \n // Déplacer les rows de la slide actuelle vers la première\n $slide.find('.views-row').appendTo($target.find('.views-row-wrapper'));\n \n // Supprimer la slide en double\n $slide.remove();\n } else {\n seen.add(typeClass);\n }\n }\n });\n if (!$('.view-content').hasClass('filtered')) {\n $('.path-ressources .view:not(.view-partenaires) .view-content .view-type-slide .views-row-wrapper').slick({\n slidesToShow: 3,\n dots: false,\n arrows: true,\n infinite: false,\n centerMode: false,\n draggable: true,\n \n responsive: [{\n breakpoint: 810,\n settings: {\n slidesToShow: 1,\n dots: false,\n arrows: true,\n draggable: true,\n centerMode: true,\n\n }\n }]\n });\n }\n\n\n // Classes media → .wrapper-ressource\n $(\".wrapper-ressource\").each(function () {\n const media = $(this).find(\".field--name-field-type-de-media\").text().trim();\n const className = media\n .toLowerCase()\n .normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/(^-|-$)/g, '');\n $(this).addClass('type-media-' + className);\n });\n console.log(\"classses media\");\n\n // MASQUER TYPE DE RESSOURCE DOUBLON\n if (document.body.classList.contains(\"path-ressources\")) {\n $(\".view-type-slide\").each(function () {\n const h3Content = $(this).find(\"h3\").text().trim();\n console.log(h3Content);\n $(this).find(\".field--name-field-type-de-ressource .field__item a\").each(function () {\n if ($(this).text().trim() === h3Content) {\n $(this).hide();\n }\n });\n });\n\n }\n\n // Ouvrir les liens externes dans un nouvel onglet\n document.querySelectorAll('a[href^=\"http\"]').forEach(link => {\n if (!link.href.includes(location.hostname)) {\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener noreferrer');\n }\n });\n\n // Scroll automatique au filtre\n if (document.body.classList.contains(\"path-projets\")) {\n const form = document.querySelector(\".views-exposed-form\");\n if (form) form.setAttribute(\"action\", form.action.split(\"#\")[0] + \"#filtres\");\n\n if (window.location.hash === \"#filtres\") {\n const target = document.getElementById(\"filtres\");\n if (target) {\n const offset = 300;\n const top = target.getBoundingClientRect().top + window.pageYOffset - offset;\n window.scrollTo({ top: top, behavior: \"smooth\" });\n }\n }\n\n\n }\n});\n\n/////////////////start diaporama ressource //////////\ndocument.addEventListener('DOMContentLoaded', function () {\n // Vérifie que le body a la classe souhaitée\n if (!document.body.classList.contains('type-media-images---photos')) return;\n\n // Attendre que les éléments HTML soient bien présents\n const interval = setInterval(() => {\n const mainImage = document.getElementById('mainImage');\n const prevArrow = document.getElementById('prevArrow');\n const nextArrow = document.getElementById('nextArrow');\n const caption = document.getElementById('caption');\n const thumbsContainer = document.getElementById('thumbnails');\n const imagesInDom = document.querySelectorAll('.carousel-items .carousel-item img');\n\n if (mainImage && prevArrow && nextArrow && caption && thumbsContainer && imagesInDom.length > 0) {\n clearInterval(interval); // Tous les éléments sont là, on lance le carrousel\n initCarousel({ mainImage, prevArrow, nextArrow, caption, thumbsContainer });\n }\n }, 100);\n});\n\nfunction initCarousel({ mainImage, prevArrow, nextArrow, caption, thumbsContainer }) {\n const images = [];\n // Adapter l'orientation des vignettes si écran < 810px\nfunction applyResponsiveThumbnailsLayout() {\n if (window.innerWidth < 810) {\n thumbsContainer.style.flexDirection = 'row';\n thumbsContainer.style.flexWrap = 'nowrap';\n thumbsContainer.style.overflowX = 'auto';\n thumbsContainer.style.overflowY = 'hidden';\n thumbsContainer.style.display = 'flex';\n thumbsContainer.style.justifyContent = 'center';\n } else {\n thumbsContainer.style.flexDirection = 'column';\n thumbsContainer.style.overflowY = 'auto';\n thumbsContainer.style.overflowX = 'hidden';\n }\n}\napplyResponsiveThumbnailsLayout();\nwindow.addEventListener('resize', applyResponsiveThumbnailsLayout);\n\n document.querySelectorAll('.carousel-items .carousel-item img').forEach((img) => {\n images.push({\n src: img.getAttribute('src'),\n caption: img.getAttribute('alt') || ''\n });\n });\n\n if (!images.length) return;\n\n let currentIndex = 0;\n\n // function scrollThumbnailToCenter(index) {\n // const thumbnails = document.querySelectorAll('.thumbnails img');\n // const activeThumb = thumbnails[index];\n // if (activeThumb && thumbsContainer) {\n // const containerHeight = thumbsContainer.clientHeight;\n // const thumbOffsetTop = activeThumb.offsetTop;\n // const thumbHeight = activeThumb.offsetHeight;\n // const scrollTarget = thumbOffsetTop - (containerHeight / 2) + (thumbHeight / 2);\n // thumbsContainer.scrollTo({ top: scrollTarget, behavior: 'smooth' });\n // }\n // }\n function scrollThumbnailToCenter(index) {\n const thumbnails = document.querySelectorAll('.thumbnails img');\n const activeThumb = thumbnails[index];\n if (activeThumb && thumbsContainer) {\n const isMobile = window.innerWidth < 810;\n \n if (isMobile) {\n // Scroll horizontal\n const containerWidth = thumbsContainer.clientWidth;\n const thumbOffsetLeft = activeThumb.offsetLeft;\n const thumbWidth = activeThumb.offsetWidth;\n const scrollTarget = thumbOffsetLeft - (containerWidth / 2) + (thumbWidth / 2);\n thumbsContainer.scrollTo({ left: scrollTarget, behavior: 'smooth' });\n } else {\n // Scroll vertical\n const containerHeight = thumbsContainer.clientHeight;\n const thumbOffsetTop = activeThumb.offsetTop;\n const thumbHeight = activeThumb.offsetHeight;\n const scrollTarget = thumbOffsetTop - (containerHeight / 2) + (thumbHeight / 2);\n thumbsContainer.scrollTo({ top: scrollTarget, behavior: 'smooth' });\n }\n }\n }\n \n\n function showImage(index) {\n mainImage.src = images[index].src;\n caption.textContent = images[index].caption;\n\n const thumbnails = document.querySelectorAll('.thumbnails img');\n thumbnails.forEach(img => img.classList.remove('active'));\n if (thumbnails[index]) {\n thumbnails[index].classList.add('active');\n scrollThumbnailToCenter(index);\n }\n }\n\n prevArrow.addEventListener('click', () => {\n currentIndex = (currentIndex - 1 + images.length) % images.length;\n showImage(currentIndex);\n });\n\n nextArrow.addEventListener('click', () => {\n currentIndex = (currentIndex + 1) % images.length;\n showImage(currentIndex);\n });\n\n images.forEach((img, index) => {\n const thumb = document.createElement('img');\n thumb.src = img.src;\n thumb.alt = img.caption;\n thumb.addEventListener('click', () => {\n currentIndex = index;\n showImage(index);\n });\n thumbsContainer.appendChild(thumb);\n });\n\n showImage(currentIndex);\n\n const thumbPrev = document.getElementById('thumbPrev');\n const thumbNext = document.getElementById('thumbNext');\n\n // ✅ Masquer les flèches de thumbnails si pas assez d’images pour scroller\n const thumbHeight = 70; // approx : image + gap\n const visibleCount = Math.floor(thumbsContainer.clientHeight / thumbHeight);\n if (images.length <= visibleCount) {\n if (thumbPrev) thumbPrev.style.display = 'none';\n if (thumbNext) thumbNext.style.display = 'none';\n }\n\n // Boucle haut/bas avec scroll\n thumbPrev.addEventListener('click', () => {\n if (thumbsContainer.scrollTop <= 0) {\n thumbsContainer.scrollTo({ top: thumbsContainer.scrollHeight, behavior: 'smooth' });\n } else {\n thumbsContainer.scrollBy({ top: -150, behavior: 'smooth' });\n }\n });\n\n thumbNext.addEventListener('click', () => {\n const maxScrollTop = thumbsContainer.scrollHeight - thumbsContainer.clientHeight;\n if (thumbsContainer.scrollTop >= maxScrollTop - 1) {\n thumbsContainer.scrollTo({ top: 0, behavior: 'smooth' });\n } else {\n thumbsContainer.scrollBy({ top: 150, behavior: 'smooth' });\n }\n });\n}\n\n \n/////////////////end diaporama ressource //////////\n\n\n//////////////////////////start classe en JS si des filtres sont présents///////////\ndocument.addEventListener('DOMContentLoaded', () => {\n if (window.location.search.length > 0) {\n document.querySelector('.view-content')?.classList.add('filtered');\n document.querySelectorAll('.tout-voir').forEach(btn => btn.remove());\n\n }\n});\n//////////////////////////end classe en JS si des filtres sont présents///////////\n\n// ////////////////// start tronquage sous titre //////////////////\n document.addEventListener(\"DOMContentLoaded\", function () {\n const maxLength = 80;\n\n document.querySelectorAll('.view-base-de-donnees .wrapper-ressource .field--name-field-sous-titre a').forEach(function (element) {\n const fullText = element.textContent.trim();\n\n if (fullText.length > maxLength) {\n const truncated = fullText.slice(0, maxLength).trim() + '...';\n element.textContent = truncated;\n }\n });\n });\n // //////////////////end tronquage sous titre //////////////////\n\n////////////////// start boutons media ////////////////\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n const mediaButtons = document.querySelectorAll('.buttons-filtres-ressources a');\n\n mediaButtons.forEach(button => {\n button.addEventListener('click', function (e) {\n e.preventDefault();\n\n // Récupérer l’ID media depuis l’URL du bouton\n const url = new URL(button.href);\n const mediaID = url.searchParams.get('field_type_de_media_target_id');\n\n // Appliquer la valeur dans le \n const select = document.getElementById('edit-field-type-de-media-target-id');\n if (select) {\n select.value = mediaID;\n // Simuler le clic sur le bouton \"Appliquer\"\n const submit = document.querySelector('input#edit-submit-base-de-donnees');\n if (submit) {\n submit.click();\n }\n }\n });\n });\n});\n////////////////// end boutons media ////////////////\n\n////////////////// start bouton \"Tout voir\" ////////////////\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n const toutVoirButtons = document.querySelectorAll('.tout-voir');\n\n toutVoirButtons.forEach(button => {\n button.addEventListener('click', function () {\n const tid = this.dataset.tid;\n const select = document.getElementById('edit-field-type-de-ressource-target-id');\n\n if (!select) return;\n\n const optionExists = Array.from(select.options).some(o => o.value === tid);\n if (!optionExists) {\n alert(\"Le type de ressource sélectionné n’est pas disponible.\");\n return;\n }\n\n select.value = tid;\n select.dispatchEvent(new Event('change'));\n\n const form = select.closest('form');\n if (form) {\n const submitButton = form.querySelector('input[type=\"submit\"]');\n if (submitButton) {\n submitButton.click();\n } else {\n form.submit();\n }\n }\n });\n });\n});\n\n\n////////////////// end bouton \"Tout voir\" ////////////////\n\n\n\n////////////// start croix clear input recherche ////////////\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n const input = document.getElementById(\"edit-combine\");\n const clearBtn = document.querySelector('.form-item-combine .clear-input');\n const form = document.querySelector(\"form.views-exposed-form\");\n\n if (input && clearBtn && form) {\n // Affiche la croix si contenu présent\n input.addEventListener('input', () => {\n clearBtn.style.display = input.value ? 'block' : 'none';\n });\n\n // Efface et soumet le formulaire\n clearBtn.addEventListener('click', () => {\n input.value = '';\n clearBtn.style.display = 'none';\n input.focus();\n form.submit(); // déclenche la recherche sans rechargement manuel\n });\n\n // Affiche la croix au chargement si une valeur est déjà présente\n if (input.value) {\n clearBtn.style.display = 'block';\n }\n }\n});\n\n\n////////////// end croix clear input recherche ////////////\n\n\n\n//# sourceURL=webpack://dev.eql.fr/./scripts/main.js?\n}"); /***/ }), diff --git a/web/themes/custom/eql/dist/assets/css/bundle.css b/web/themes/custom/eql/dist/assets/css/bundle.css index 5f7568f..9ab1222 100644 --- a/web/themes/custom/eql/dist/assets/css/bundle.css +++ b/web/themes/custom/eql/dist/assets/css/bundle.css @@ -384,7 +384,7 @@ svg.ext { left: inherit !important; } .path-projets-complets .layout-content { - width: 60vw; + width: 80vw; margin: auto; } .path-projets-complets span { @@ -402,52 +402,61 @@ svg.ext { text-transform: uppercase; text-align: end; } -.path-projets-complets .node-type-projet { - border-bottom: 1px solid black; - padding-bottom: 5rem; - margin-bottom: 5rem; +.path-projets-complets .view-header { + position: fixed; + right: 0; + margin-right: 2rem; + margin-top: 5rem; + font-weight: 600; + text-transform: uppercase; + padding: 0.3rem 0.7rem; + width: fit-content; + background-color: rgb(0, 158, 227); + border: none; } -.path-projets-complets .projet-content { +.path-projets-complets .view-header p { + margin: 0; +} +.path-projets-complets .view-header a { + color: white; +} +.path-projets-complets .view-projets { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} +.path-projets-complets .view-projets .buttons-filtres-ressources { + display: none; +} +.path-projets-complets .view-projets { + margin: auto; +} +.path-projets-complets .view-projets .view-filters { + margin-top: 4rem; + padding-left: 0.5rem; display: flex; flex-direction: column; } -.path-projets-complets .field--name-field-photo .field__label { - display: none; +@media (max-width: 479px) { + .path-projets-complets .view-projets .view-filters { + flex-direction: column; + padding-bottom: 3rem; + margin-top: 0rem; + } } -.path-projets-complets .field--name-field-photo .field__items { - height: 100%; - display: grid; - gap: 3px; +.path-projets-complets .view-projets .view-filters::before { + content: "Sélectionner les projets à imprimer :"; + margin-right: 2rem; + margin-bottom: 1rem; + margin-left: 0.5rem; + font-weight: 900; + min-width: fit-content; } -.path-projets-complets .field--name-field-photo .field__item { - overflow: hidden; - aspect-ratio: 3/2; +@media (max-width: 479px) { + .path-projets-complets .view-projets .view-filters::before { + padding-bottom: 1rem; + } } -.path-projets-complets .field--name-field-photo .field__item img { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} -.path-projets-complets .field--name-field-photo .image-field-caption { - display: none; -} -.path-projets-complets .field--name-field-photo .field__items:has(.field__item:only-child) { - grid-template-columns: 1fr; -} -.path-projets-complets .field--name-field-photo .field__items:has(.field__item:only-child) .field__item { - grid-column: 1; -} -.path-projets-complets .field--name-field-photo .field__items:has(.field__item:nth-child(2)) { - grid-template-columns: repeat(3, 1fr); -} -.path-projets-complets .field--name-field-photo .field__items:has(.field__item:nth-child(2)) .field__item:first-child { - grid-column: 1/4; -} -.path-projets-complets .field--name-field-photo .field__items .field__item:nth-child(n+8) { - display: none; -} -.path-projets-complets .field--name-title { +.path-projets-complets .view-projets .field--name-title { order: 2; font-family: "Marianne"; font-size: 2rem; @@ -455,29 +464,29 @@ svg.ext { color: rgb(0, 158, 227); } @media (max-width: 1624px) { - .path-projets-complets .field--name-title { + .path-projets-complets .view-projets .field--name-title { font-size: 2.3rem; } } @media (max-width: 1384px) { - .path-projets-complets .field--name-title { + .path-projets-complets .view-projets .field--name-title { font-size: 2rem; } } @media (max-width: 1216px) { - .path-projets-complets .field--name-title { + .path-projets-complets .view-projets .field--name-title { font-size: 2rem; } } @media (max-width: 810px) { - .path-projets-complets .field--name-title { + .path-projets-complets .view-projets .field--name-title { font-size: 1.7rem; } } -.path-projets-complets .field--name-title a { +.path-projets-complets .view-projets .field--name-title a { color: rgb(0, 158, 227); } -.path-projets-complets .field--name-field-equipe { +.path-projets-complets .view-projets .field--name-field-equipe { order: 3; color: rgb(9, 57, 139); font-size: 1.5rem; @@ -485,24 +494,24 @@ svg.ext { text-transform: uppercase; } @media (max-width: 1624px) { - .path-projets-complets .field--name-field-equipe { + .path-projets-complets .view-projets .field--name-field-equipe { font-size: 1.3rem; } } @media (max-width: 1216px) { - .path-projets-complets .field--name-field-equipe { + .path-projets-complets .view-projets .field--name-field-equipe { font-size: 1.1rem; } } @media (max-width: 810px) { - .path-projets-complets .field--name-field-equipe { + .path-projets-complets .view-projets .field--name-field-equipe { font-size: 1rem; } } -.path-projets-complets .field--name-field-equipe .field__label { +.path-projets-complets .view-projets .field--name-field-equipe .field__label { display: none; } -.path-projets-complets .field--name-field-incube { +.path-projets-complets .view-projets .field--name-field-incube { order: 4; display: inline-flex; width: fit-content; @@ -514,27 +523,30 @@ svg.ext { margin-bottom: 1rem; margin-top: 1rem; } -.path-projets-complets .field--name-field-incube::before { +.path-projets-complets .view-projets .field--name-field-incube::before { content: " Projet "; padding-right: 0.5rem; } -.path-projets-complets .field--name-field-incube .field__label { +.path-projets-complets .view-projets .field--name-field-incube .field__label { display: inline; } -.path-projets-complets .field--name-field-incube .field__item { +.path-projets-complets .view-projets .field--name-field-incube .field__item { display: none; } -.path-projets-complets .field--name-field-neuf-rehabilitation, -.path-projets-complets .field--name-field-encours-fini { +.path-projets-complets .view-projets .field--name-field-neuf-rehabilitation, +.path-projets-complets .view-projets .field--name-field-encours-fini { display: none; } -.path-projets-complets .field--name-field-region { +.path-projets-complets .view-projets .field--name-field-region .field__label { + display: none; +} +.path-projets-complets .view-projets .field--name-field-region { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 2rem; } -.path-projets-complets .field--name-field-region::before { +.path-projets-complets .view-projets .field--name-field-region::before { content: ""; display: block; width: 20px; @@ -542,41 +554,20 @@ svg.ext { background: url("../images/pictos/picto_lieu.svg") no-repeat center; background-size: contain; } -.path-projets-complets .field--name-field-type-de-moa { - order: 6; +.path-projets-complets .view-projets .field--name-field-etape-du-projet, +.path-projets-complets .view-projets .field--name-field-type-de-projet, +.path-projets-complets .view-projets .field--name-field-type-de-moa { + margin-bottom: 1rem; } -.path-projets-complets .field--name-field-type-de-projet { - order: 7; -} -.path-projets-complets .field--name-field-etape-du-projet { - order: 8; -} -.path-projets-complets .field--name-field-textes { - order: 9; -} -.path-projets-complets .field--name-field-textes .field__label { - display: none; -} -.path-projets-complets .field--name-field-textes .field--name-field-titre { - color: rgb(9, 57, 139); - font-size: 1.2rem; - font-weight: 900; - text-transform: uppercase; - margin-bottom: 0 !important; - flex-direction: row; -} -.path-projets-complets .field--name-field-textes .field--name-field-titre::after { - content: " :"; - padding-left: 0.5rem; -} -.path-projets-complets .field--name-field-etape-du-projet a, -.path-projets-complets .field--name-field-type-de-projet a, -.path-projets-complets .field--name-field-type-de-moa a { +.path-projets-complets .view-projets .field--name-field-etape-du-projet a, +.path-projets-complets .view-projets .field--name-field-type-de-projet a, +.path-projets-complets .view-projets .field--name-field-type-de-moa a { color: black; } -.path-projets-complets .field--name-field-etape-du-projet .field__label, -.path-projets-complets .field--name-field-type-de-projet .field__label, -.path-projets-complets .field--name-field-type-de-moa .field__label { +.path-projets-complets .view-projets .field--name-field-etape-du-projet .field__label, +.path-projets-complets .view-projets .field--name-field-type-de-projet .field__label, +.path-projets-complets .view-projets .field--name-field-type-de-moa .field__label { + width: fit-content; color: rgb(9, 57, 139); font-size: 1.2rem; font-weight: 900; @@ -584,36 +575,22 @@ svg.ext { margin-bottom: 0 !important; flex-direction: row; } -.path-projets-complets .field--name-field-etape-du-projet .field__label::after, -.path-projets-complets .field--name-field-type-de-projet .field__label::after, -.path-projets-complets .field--name-field-type-de-moa .field__label::after { +.path-projets-complets .view-projets .field--name-field-etape-du-projet .field__label::after, +.path-projets-complets .view-projets .field--name-field-type-de-projet .field__label::after, +.path-projets-complets .view-projets .field--name-field-type-de-moa .field__label::after { content: ":"; padding-left: 0.5rem; } -@media print { - .path-projets-complets .path-projets-complets .layout-content { - width: 100% !important; - margin: 0 auto !important; - } - .path-projets-complets .path-projets-complets .projet-content { - display: block !important; - } - .path-projets-complets .path-projets-complets .field--name-field-photo .field__items { - display: block !important; - height: auto !important; - } - .path-projets-complets .path-projets-complets .field--name-field-photo .field__item { - display: block !important; - aspect-ratio: auto !important; - overflow: visible !important; - margin-bottom: 4mm; - } - .path-projets-complets .path-projets-complets .field--name-field-photo .field__item img { - width: 100% !important; - height: auto !important; - object-fit: contain !important; - display: block; - } +.path-projets-complets .view-projets .field--name-field-etape-du-projet .field__item, +.path-projets-complets .view-projets .field--name-field-type-de-projet .field__item, +.path-projets-complets .view-projets .field--name-field-type-de-moa .field__item { + width: fit-content; +} +.path-projets-complets .view-projets .field--name-field-textes { + margin-top: 2rem; +} +.path-projets-complets .view-projets .field--name-field-textes .field__label { + display: none !important; } @media print { @@ -627,8 +604,6 @@ svg.ext { @page { margin-top: 1cm; margin-bottom: 1cm; - margin-left: 1cm; - margin-right: 1cm; } .layout-container { display: block; @@ -654,6 +629,10 @@ svg.ext { text-transform: uppercase; text-align: end; } + .path-projets-complets .layout-content .view-header, + .path-projets-complets .layout-content .view-filters { + display: none; + } .path-projets-complets .layout-content .views-row .node-type-projet { border-bottom: none; } @@ -674,6 +653,214 @@ svg.ext { .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .image-field-caption { display: none; } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__label { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items { + height: 100%; + display: grid; + gap: 3px; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__item { + overflow: hidden; + aspect-ratio: 3/2; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__item img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .image-field-caption { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items:has(.field__item:only-child) { + grid-template-columns: 1fr; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items:has(.field__item:only-child) .field__item { + grid-column: 1; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items:has(.field__item:nth-child(2)) { + grid-template-columns: repeat(3, 1fr); + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items:has(.field__item:nth-child(2)) .field__item:first-child { + grid-column: 1/4; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-photo .field__items .field__item:nth-child(n+8) { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title { + order: 2; + font-family: "Marianne"; + font-size: 2rem; + font-weight: 800; + color: rgb(0, 158, 227); + } +} +@media print and (max-width: 1624px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title { + font-size: 2.3rem; + } +} +@media print and (max-width: 1384px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title { + font-size: 2rem; + } +} +@media print and (max-width: 1216px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title { + font-size: 2rem; + } +} +@media print and (max-width: 810px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title { + font-size: 1.7rem; + } +} +@media print { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-title a { + color: rgb(0, 158, 227); + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-equipe { + order: 3; + color: rgb(9, 57, 139); + font-size: 1.5rem; + font-weight: 900; + text-transform: uppercase; + } +} +@media print and (max-width: 1624px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-equipe { + font-size: 1.3rem; + } +} +@media print and (max-width: 1216px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-equipe { + font-size: 1.1rem; + } +} +@media print and (max-width: 810px) { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-equipe { + font-size: 1rem; + } +} +@media print { + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-equipe .field__label { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-incube { + order: 4; + display: inline-flex; + width: fit-content; + background-color: rgb(225, 0, 15); + color: white; + font-weight: 800; + padding-right: 0.3rem; + padding-left: 0.2rem; + margin-bottom: 1rem; + margin-top: 1rem; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-incube::before { + content: " Projet "; + padding-right: 0.5rem; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-incube .field__label { + display: inline; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-incube .field__item { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-neuf-rehabilitation, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-encours-fini { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-region { + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 2rem; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-region::before { + content: ""; + display: block; + width: 20px; + height: 20px; + background: url("../images/pictos/picto_lieu.svg") no-repeat center; + background-size: contain; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-moa { + order: 6; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-projet { + order: 7; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-etape-du-projet { + order: 8; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-textes { + order: 9; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-textes .field__label { + display: none; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-textes .field--name-field-titre { + color: rgb(9, 57, 139); + font-size: 1.2rem; + font-weight: 900; + text-transform: uppercase; + margin-bottom: 0 !important; + flex-direction: row; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-textes .field--name-field-titre::after { + content: " :"; + padding-left: 0.5rem; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-etape-du-projet a, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-projet a, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-moa a { + color: black; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-etape-du-projet .field__label, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-projet .field__label, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-moa .field__label { + color: rgb(9, 57, 139); + font-size: 1.2rem; + font-weight: 900; + text-transform: uppercase; + margin-bottom: 0 !important; + flex-direction: row; + } + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-etape-du-projet .field__label::after, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-projet .field__label::after, + .path-projets-complets .layout-content .views-row .projet-header-print .field--name-field-type-de-moa .field__label::after { + content: ":"; + padding-left: 0.5rem; + } +} +@media print { + .path-projets-complets .layout-content .views-row .projet-header-print .path-projets-complets .layout-content { + width: 100% !important; + margin: 0 auto !important; + } + .path-projets-complets .layout-content .views-row .projet-header-print .path-projets-complets .projet-content { + display: block !important; + } + .path-projets-complets .layout-content .views-row .projet-header-print .path-projets-complets .field--name-field-photo .field__items { + display: block !important; + height: auto !important; + } + .path-projets-complets .layout-content .views-row .projet-header-print .path-projets-complets .field--name-field-photo .field__item { + display: block !important; + aspect-ratio: auto !important; + overflow: visible !important; + margin-bottom: 4mm; + } + .path-projets-complets .layout-content .views-row .projet-header-print .path-projets-complets .field--name-field-photo .field__item img { + width: 100% !important; + height: auto !important; + object-fit: contain !important; + display: block; + } .path-projets-complets .layout-content .views-row .projet-body-print { padding-top: 3rem; } @@ -7518,18 +7705,21 @@ html.js body.node-type-actualite.node-id-88.path-node.page-node-type-actualite d } #views-exposed-form-base-de-donnees-block-1, -#views-exposed-form-projets-block-1 { +#views-exposed-form-projets-block-1, +#views-exposed-form-projets-page-1 { display: flex; flex-wrap: wrap; } @media (max-width: 810px) { #views-exposed-form-base-de-donnees-block-1, - #views-exposed-form-projets-block-1 { + #views-exposed-form-projets-block-1, + #views-exposed-form-projets-page-1 { font-size: 0.8rem; } } #views-exposed-form-base-de-donnees-block-1 .js-form-item, -#views-exposed-form-projets-block-1 .js-form-item { +#views-exposed-form-projets-block-1 .js-form-item, +#views-exposed-form-projets-page-1 .js-form-item { display: flex; flex-direction: row; max-width: 100%; @@ -7542,7 +7732,8 @@ html.js body.node-type-actualite.node-id-88.path-node.page-node-type-actualite d } @media (max-width: 810px) { #views-exposed-form-base-de-donnees-block-1 .js-form-item, - #views-exposed-form-projets-block-1 .js-form-item { + #views-exposed-form-projets-block-1 .js-form-item, + #views-exposed-form-projets-page-1 .js-form-item { display: flex; flex-direction: row; justify-content: space-between; @@ -7550,45 +7741,54 @@ html.js body.node-type-actualite.node-id-88.path-node.page-node-type-actualite d } } #views-exposed-form-base-de-donnees-block-1 .js-form-item label, -#views-exposed-form-projets-block-1 .js-form-item label { +#views-exposed-form-projets-block-1 .js-form-item label, +#views-exposed-form-projets-page-1 .js-form-item label { flex: 2 1 auto; padding-right: 2rem; } #views-exposed-form-base-de-donnees-block-1 .js-form-item label::after, -#views-exposed-form-projets-block-1 .js-form-item label::after { +#views-exposed-form-projets-block-1 .js-form-item label::after, +#views-exposed-form-projets-page-1 .js-form-item label::after { content: " : "; } @media (max-width: 810px) { #views-exposed-form-base-de-donnees-block-1 .js-form-item label, - #views-exposed-form-projets-block-1 .js-form-item label { + #views-exposed-form-projets-block-1 .js-form-item label, + #views-exposed-form-projets-page-1 .js-form-item label { padding-right: 1rem; } } #views-exposed-form-base-de-donnees-block-1 .js-form-item input, -#views-exposed-form-projets-block-1 .js-form-item input { +#views-exposed-form-projets-block-1 .js-form-item input, +#views-exposed-form-projets-page-1 .js-form-item input { flex: 2 1 auto; max-width: 55%; } @media (max-width: 810px) { #views-exposed-form-base-de-donnees-block-1 .js-form-item input, - #views-exposed-form-projets-block-1 .js-form-item input { + #views-exposed-form-projets-block-1 .js-form-item input, + #views-exposed-form-projets-page-1 .js-form-item input { max-width: 100%; } } #views-exposed-form-base-de-donnees-block-1 .js-form-item .form-checkbox, -#views-exposed-form-projets-block-1 .js-form-item .form-checkbox { +#views-exposed-form-projets-block-1 .js-form-item .form-checkbox, +#views-exposed-form-projets-page-1 .js-form-item .form-checkbox { margin-right: 1rem; } #views-exposed-form-base-de-donnees-block-1 .js-form-item .select-wrapper, -#views-exposed-form-projets-block-1 .js-form-item .select-wrapper { +#views-exposed-form-projets-block-1 .js-form-item .select-wrapper, +#views-exposed-form-projets-page-1 .js-form-item .select-wrapper { margin: 0; } #views-exposed-form-base-de-donnees-block-1 .js-form-type-checkbox label::after, -#views-exposed-form-projets-block-1 .js-form-type-checkbox label::after { +#views-exposed-form-projets-block-1 .js-form-type-checkbox label::after, +#views-exposed-form-projets-page-1 .js-form-type-checkbox label::after { content: none; } #views-exposed-form-base-de-donnees-block-1 .form-actions input, -#views-exposed-form-projets-block-1 .form-actions input { +#views-exposed-form-projets-block-1 .form-actions input, +#views-exposed-form-projets-page-1 .form-actions input { color: white; font-weight: 600; text-transform: uppercase; @@ -7598,7 +7798,9 @@ html.js body.node-type-actualite.node-id-88.path-node.page-node-type-actualite d } #views-exposed-form-base-de-donnees-block-1 input, #views-exposed-form-base-de-donnees-block-1 select, #views-exposed-form-projets-block-1 input, -#views-exposed-form-projets-block-1 select { +#views-exposed-form-projets-block-1 select, +#views-exposed-form-projets-page-1 input, +#views-exposed-form-projets-page-1 select { border: none; background-color: transparent; font-family: "Marianne"; @@ -7607,7 +7809,9 @@ html.js body.node-type-actualite.node-id-88.path-node.page-node-type-actualite d @media (max-width: 810px) { #views-exposed-form-base-de-donnees-block-1 input, #views-exposed-form-base-de-donnees-block-1 select, #views-exposed-form-projets-block-1 input, - #views-exposed-form-projets-block-1 select { + #views-exposed-form-projets-block-1 select, + #views-exposed-form-projets-page-1 input, + #views-exposed-form-projets-page-1 select { font-size: 0.8rem; } } diff --git a/web/themes/custom/eql/scripts/main.js b/web/themes/custom/eql/scripts/main.js index 1676d2a..e8976c7 100644 --- a/web/themes/custom/eql/scripts/main.js +++ b/web/themes/custom/eql/scripts/main.js @@ -463,3 +463,4 @@ document.addEventListener("DOMContentLoaded", function () { ////////////// end croix clear input recherche //////////// + diff --git a/web/themes/custom/eql/scss/global/print/_projets-complets-ecran.scss b/web/themes/custom/eql/scss/global/print/_projets-complets-ecran.scss index 790b1d0..1b22336 100644 --- a/web/themes/custom/eql/scss/global/print/_projets-complets-ecran.scss +++ b/web/themes/custom/eql/scss/global/print/_projets-complets-ecran.scss @@ -4,7 +4,7 @@ left: inherit !important; } .layout-content{ - width: 60vw; + width: 80vw; margin: auto; } @@ -36,261 +36,199 @@ text-transform: uppercase; text-align: end; } - - .node-type-projet { - border-bottom: 1px solid black; - padding-bottom: 5rem; - margin-bottom: 5rem; + + + ///// bouton print ////// + .view-header{ + position: fixed; + right: 0; + margin-right: 2rem; + margin-top: 5rem; + font-weight: 600; + text-transform: uppercase; + padding: 0.3rem 0.7rem; + width: fit-content; + background-color: $blue-light; + border: none; + p{margin: 0;} + a{color: white;} } - - .projet-content { - display: flex; - flex-direction: column; - } - .field--name-field-photo { - // height: 66vh; + + + .view-projets{ + + margin-top: 4rem !important; + margin-bottom: 4rem !important; + ///// filtres /////////// + .buttons-filtres-ressources{display: none;} + // width: 80%; + margin: auto; + .view-filters{ + margin-top: 4rem; + padding-left: 0.5rem; + display: flex; + flex-direction: column; + @media (max-width: 479px){ + flex-direction: column; + padding-bottom: 3rem; + margin-top: 0rem; + } + &::before{ + content: 'Sélectionner les projets à imprimer :'; + margin-right: 2rem; + margin-bottom: 1rem; + margin-left: 0.5rem; + font-weight: 900; + // width: 160px; + min-width: fit-content; + @media (max-width: 479px){ + padding-bottom: 1rem; + } + } + + } + + .field--name-title { + order: 2; + font-family: "Marianne"; + font-size: 2rem; + font-weight: 800; + color: $blue-light; + + @media (max-width: 1624px) { + font-size: 2.3rem; + } + + @media (max-width: 1384px) { + font-size: 2rem; + } + + @media (max-width: 1216px) { + font-size: 2rem; + } + + @media (max-width: 810px) { + font-size: 1.7rem; + } + + a { + color: $blue-light; + } + } + + .field--name-field-equipe { + order: 3; + color: $blue-dark; + font-size: 1.5rem; + font-weight: 900; + text-transform: uppercase; + + @media (max-width: 1624px) { + font-size: 1.3rem; + } + + @media (max-width: 1216px) { + font-size: 1.1rem; + } + + @media (max-width: 810px) { + font-size: 1rem; + } + .field__label { display: none; } - - .field__items { - height: 100%; - display: grid; - gap: 3px; + } + + .field--name-field-incube { + order: 4; + display: inline-flex; + width: fit-content; + background-color: $red; + color: white; + font-weight: 800; + padding-right: 0.3rem; + padding-left: 0.2rem; + margin-bottom: 1rem; + margin-top: 1rem; + // flex-direction: row; + + &::before { + content: ' Projet '; + padding-right: 0.5rem; } - + .field__label{ + display: inline; + } + .field__item { - overflow: hidden; - aspect-ratio: 3 / 2; + display: none; } + } + + .field--name-field-neuf-rehabilitation, + .field--name-field-encours-fini { + display: none; + } + .field--name-field-region { + .field__label{ + display: none; + } + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 2rem; - .field__item img { - width: 100%; - height: 100%; - object-fit: cover; + &::before { + content: ""; display: block; - } - - .image-field-caption { - display: none; - } - - // 1 seule image - .field__items:has(.field__item:only-child) { - grid-template-columns: 1fr; - // grid-template-rows: 1fr; - } - - .field__items:has(.field__item:only-child) .field__item { - grid-column: 1; - // grid-row: 1; - } - - // Plusieurs images - .field__items:has(.field__item:nth-child(2)) { - grid-template-columns: repeat(3, 1fr); - // grid-template-rows: 4fr 2fr 2fr; - } - - .field__items:has(.field__item:nth-child(2)) .field__item:first-child { - grid-column: 1 / 4; - // grid-row: 1; - } - - // facultatif : max 7 images affichées - .field__items .field__item:nth-child(n + 8) { - display: none; + width: 20px; + height: 20px; + background: url("../images/pictos/picto_lieu.svg") no-repeat center; + background-size: contain; } } - // } - - .field--name-title { - order: 2; - font-family: "Marianne"; - font-size: 2rem; - font-weight: 800; - color: $blue-light; - - @media (max-width: 1624px) { - font-size: 2.3rem; + + .field--name-field-etape-du-projet, + .field--name-field-type-de-projet, + .field--name-field-type-de-moa { + margin-bottom: 1rem; + a { + color: black; + } + + .field__label { + width: fit-content; + color: $blue-dark; + font-size: 1.2rem; + font-weight: 900; + text-transform: uppercase; + margin-bottom: 0 !important; + flex-direction: row; + + &::after { + content: ':'; + padding-left: 0.5rem; + } + } + .field__item{ + width: fit-content; + } } - - @media (max-width: 1384px) { - font-size: 2rem; + .field--name-field-textes{ + margin-top: 2rem; + .field__label{ + display: none !important; + } } - - @media (max-width: 1216px) { - font-size: 2rem; - } - - @media (max-width: 810px) { - font-size: 1.7rem; - } - - a { - color: $blue-light; - } - } - - .field--name-field-equipe { - order: 3; - color: $blue-dark; - font-size: 1.5rem; - font-weight: 900; - text-transform: uppercase; - - @media (max-width: 1624px) { - font-size: 1.3rem; - } - - @media (max-width: 1216px) { - font-size: 1.1rem; - } - - @media (max-width: 810px) { - font-size: 1rem; - } - - .field__label { - display: none; - } - } - - .field--name-field-incube { - order: 4; - display: inline-flex; - width: fit-content; - background-color: $red; - color: white; - font-weight: 800; - padding-right: 0.3rem; - padding-left: 0.2rem; - margin-bottom: 1rem; - margin-top: 1rem; - // flex-direction: row; - - &::before { - content: ' Projet '; - padding-right: 0.5rem; - } - .field__label{ - display: inline; - } - - .field__item { - display: none; - } - } - - .field--name-field-neuf-rehabilitation, - .field--name-field-encours-fini { - display: none; - } + ///// /////////// - .field--name-field-region { - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 2rem; - - &::before { - content: ""; - display: block; - width: 20px; - height: 20px; - background: url("../images/pictos/picto_lieu.svg") no-repeat center; - background-size: contain; - } - } - - .field--name-field-type-de-moa { - order: 6; - } - - .field--name-field-type-de-projet { - order: 7; - } - - .field--name-field-etape-du-projet { - order: 8; - } - - .field--name-field-textes { - order: 9; - - .field__label { - display: none; - } - - .field--name-field-titre { - color: $blue-dark; - font-size: 1.2rem; - font-weight: 900; - text-transform: uppercase; - margin-bottom: 0 !important; - flex-direction: row; - - &::after { - content: ' :'; - padding-left: 0.5rem; - } - } - } - - .field--name-field-etape-du-projet, - .field--name-field-type-de-projet, - .field--name-field-type-de-moa { - a { - color: black; - } - - .field__label { - color: $blue-dark; - font-size: 1.2rem; - font-weight: 900; - text-transform: uppercase; - margin-bottom: 0 !important; - flex-direction: row; - - &::after { - content: ':'; - padding-left: 0.5rem; - } - } - } - - @media print { - .path-projets-complets { - .layout-content { - width: 100% !important; - margin: 0 auto !important; - } - - .projet-content { - display: block !important; - } - - .field--name-field-photo { - .field__items { - display: block !important; - height: auto !important; - } - - .field__item { - display: block !important; - aspect-ratio: auto !important; - overflow: visible !important; - margin-bottom: 4mm; - } - - .field__item img { - width: 100% !important; - height: auto !important; - object-fit: contain !important; - display: block; - } - } - } + // @media screen { + // .node-type-projet { + // visibility: hidden; + // } + // } + } } \ No newline at end of file diff --git a/web/themes/custom/eql/scss/global/print/_projets-complets-print.scss b/web/themes/custom/eql/scss/global/print/_projets-complets-print.scss index 44abd60..cb9ca7c 100644 --- a/web/themes/custom/eql/scss/global/print/_projets-complets-print.scss +++ b/web/themes/custom/eql/scss/global/print/_projets-complets-print.scss @@ -12,8 +12,8 @@ @page { margin-top: 1cm; margin-bottom: 1cm; - margin-left: 1cm; - margin-right: 1cm; + // margin-left: 1cm; + // margin-right: 1cm; } .layout-container{ display: block; @@ -48,6 +48,10 @@ text-align: end; } + .view-header, + .view-filters{ + display: none; + } .views-row{ .node-type-projet { border-bottom:none; @@ -67,6 +71,253 @@ .field--name-field-photo .image-field-caption { display: none; } + .field--name-field-photo { + // height: 66vh; + + .field__label { + display: none; + } + + .field__items { + height: 100%; + display: grid; + gap: 3px; + } + + .field__item { + overflow: hidden; + aspect-ratio: 3 / 2; + } + + .field__item img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; + } + + .image-field-caption { + display: none; + } + + // 1 seule image + .field__items:has(.field__item:only-child) { + grid-template-columns: 1fr; + // grid-template-rows: 1fr; + } + + .field__items:has(.field__item:only-child) .field__item { + grid-column: 1; + // grid-row: 1; + } + + // Plusieurs images + .field__items:has(.field__item:nth-child(2)) { + grid-template-columns: repeat(3, 1fr); + // grid-template-rows: 4fr 2fr 2fr; + } + + .field__items:has(.field__item:nth-child(2)) .field__item:first-child { + grid-column: 1 / 4; + // grid-row: 1; + } + + // facultatif : max 7 images affichées + .field__items .field__item:nth-child(n + 8) { + display: none; + } + } + // } + + .field--name-title { + order: 2; + font-family: "Marianne"; + font-size: 2rem; + font-weight: 800; + color: $blue-light; + + @media (max-width: 1624px) { + font-size: 2.3rem; + } + + @media (max-width: 1384px) { + font-size: 2rem; + } + + @media (max-width: 1216px) { + font-size: 2rem; + } + + @media (max-width: 810px) { + font-size: 1.7rem; + } + + a { + color: $blue-light; + } + } + + .field--name-field-equipe { + order: 3; + color: $blue-dark; + font-size: 1.5rem; + font-weight: 900; + text-transform: uppercase; + + @media (max-width: 1624px) { + font-size: 1.3rem; + } + + @media (max-width: 1216px) { + font-size: 1.1rem; + } + + @media (max-width: 810px) { + font-size: 1rem; + } + + .field__label { + display: none; + } + } + + .field--name-field-incube { + order: 4; + display: inline-flex; + width: fit-content; + background-color: $red; + color: white; + font-weight: 800; + padding-right: 0.3rem; + padding-left: 0.2rem; + margin-bottom: 1rem; + margin-top: 1rem; + // flex-direction: row; + + &::before { + content: ' Projet '; + padding-right: 0.5rem; + } + .field__label{ + display: inline; + } + + .field__item { + display: none; + } + } + + .field--name-field-neuf-rehabilitation, + .field--name-field-encours-fini { + display: none; + } + + .field--name-field-region { + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 2rem; + + &::before { + content: ""; + display: block; + width: 20px; + height: 20px; + background: url("../images/pictos/picto_lieu.svg") no-repeat center; + background-size: contain; + } + } + + .field--name-field-type-de-moa { + order: 6; + } + + .field--name-field-type-de-projet { + order: 7; + } + + .field--name-field-etape-du-projet { + order: 8; + } + + .field--name-field-textes { + order: 9; + + .field__label { + display: none; + } + + .field--name-field-titre { + color: $blue-dark; + font-size: 1.2rem; + font-weight: 900; + text-transform: uppercase; + margin-bottom: 0 !important; + flex-direction: row; + + &::after { + content: ' :'; + padding-left: 0.5rem; + } + } + } + + .field--name-field-etape-du-projet, + .field--name-field-type-de-projet, + .field--name-field-type-de-moa { + a { + color: black; + } + + .field__label { + color: $blue-dark; + font-size: 1.2rem; + font-weight: 900; + text-transform: uppercase; + margin-bottom: 0 !important; + flex-direction: row; + + &::after { + content: ':'; + padding-left: 0.5rem; + } + } + } + + @media print { + .path-projets-complets { + .layout-content { + width: 100% !important; + margin: 0 auto !important; + } + + .projet-content { + display: block !important; + } + + .field--name-field-photo { + .field__items { + display: block !important; + height: auto !important; + } + + .field__item { + display: block !important; + aspect-ratio: auto !important; + overflow: visible !important; + margin-bottom: 4mm; + } + + .field__item img { + width: 100% !important; + height: auto !important; + object-fit: contain !important; + display: block; + } + } + } + } + } .projet-body-print{ padding-top: 3rem ; @@ -94,4 +345,5 @@ break-after: page; } -} \ No newline at end of file +} + diff --git a/web/themes/custom/eql/scss/partials/_filtres.scss b/web/themes/custom/eql/scss/partials/_filtres.scss index 1babed5..d0a798a 100644 --- a/web/themes/custom/eql/scss/partials/_filtres.scss +++ b/web/themes/custom/eql/scss/partials/_filtres.scss @@ -37,7 +37,8 @@ } #views-exposed-form-base-de-donnees-block-1, -#views-exposed-form-projets-block-1{ +#views-exposed-form-projets-block-1, +#views-exposed-form-projets-page-1{ display: flex; flex-wrap: wrap; @media (max-width:810px){