diff --git a/css/main.css b/css/main.css index 75a5c75..e57d196 100644 --- a/css/main.css +++ b/css/main.css @@ -1,3 +1,14 @@ +.card { + cursor: pointer; + display: flex; + flex-direction: column; + height: 100%; +} + +.card-content { + flex-grow: 1; +} + .charte-modal { color: #07892f; transition: color 0.3s ease; diff --git a/index.html b/index.html index 13347bc..f02baf9 100644 --- a/index.html +++ b/index.html @@ -38,16 +38,18 @@
{{#data}}
-
+
-
+
{{attributes.couverture.data.attributes.alternativeText}}

{{attributes.titre}}

- {{{attributes.chapeau}}} +

{{{attributes.chapeau}}}

@@ -793,6 +795,28 @@
+
+ + +
@@ -805,7 +829,7 @@
Serge GLAUDE (Co-fondateur du GONG)
-
+ diff --git a/js/main.js b/js/main.js index 4791b80..c764c34 100644 --- a/js/main.js +++ b/js/main.js @@ -18,7 +18,7 @@ document.addEventListener('DOMContentLoaded', () => { (document.querySelectorAll('.js-modal-trigger') || []).forEach(($trigger) => { const modal = $trigger.dataset.target; const $target = document.getElementById(modal); - + $trigger.addEventListener('click', () => { openModal($target); }); @@ -40,3 +40,74 @@ document.addEventListener('DOMContentLoaded', () => { } }); }); + +function openModalFromTemplate() { + const $target = document.getElementById('modal-article'); + $target.classList.add('is-active'); +} + +(document.querySelectorAll('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button') || []).forEach(($close) => { + const $target = $close.closest('.modal'); + + $close.addEventListener('click', () => { + closeModal($target); + }); +}); + +document.addEventListener('keydown', (event) => { + if(event.key === "Escape") { + closeAllModals(); + } +}); + +function closeModal($el) { + $el.classList.remove('is-active'); +} + +function closeAllModals() { + (document.querySelectorAll('.modal') || []).forEach(($modal) => { + closeModal($modal); + }); +} + +document.addEventListener('htmx:afterSwap', function(event) { + if (event.detail.target.classList[0] === 'modal-request') { + const articleTitre = document.querySelector('#article-titre'); + const articleChapeau = document.querySelector('#article-chapeau'); + const articleContenu = document.querySelector('#article-contenu'); + const articleCouverture = document.querySelector('#article-couverture'); + + const response = JSON.parse(event.detail.xhr.response); + document.querySelector('.modal-request').innerHTML = '' + + articleTitre.innerHTML = response.data.attributes.titre; + articleChapeau.innerHTML = response.data.attributes.chapeau; + articleContenu.innerHTML = response.data.attributes.contenu; + + articleCouverture.setAttribute("src", `http://localhost:1337${response.data.attributes.couverture.data.attributes.url}`); + articleCouverture.setAttribute("alt", `http://localhost:1337${response.data.attributes.couverture.data.attributes.alternativeText}`); + + const fichiers = response.data.attributes.fichiers.data; + + const articleFichiers = document.querySelector('#article-fichiers'); + articleFichiers.innerHTML = ''; + + if (fichiers) { + + articleFichiers.innerHTML = ''; + + articleFichiers.insertAdjacentHTML('beforeend', '

Documents

'); + + fichiers.forEach(fichier => { + articleFichiers.insertAdjacentHTML('beforeend', ` +

+ + + + ${fichier.attributes.name} +

+ `); + }); + } + } +});