diff --git a/assets/img/rilievo_ssgp_bezzi.jpg b/assets/img/rilievo_ssgp_bezzi.jpg new file mode 100644 index 0000000..7101654 Binary files /dev/null and b/assets/img/rilievo_ssgp_bezzi.jpg differ diff --git a/config.js b/config.js index 645ca20..0260a6d 100644 --- a/config.js +++ b/config.js @@ -115,6 +115,8 @@ export const config = { // TEMP content: { type: 'img', + imgSrc: '/a/scaenae/assets/img/rilievo_ssgp_bezzi.jpg', + title: 'Disegno della pianta del teatro', description: ` Tommaso Bezzi: Disegno della pianta del teatro di S. Giovanni e Paolo di Venezia, 1691-1693, Sir John Soane's Museum, Londra. ` diff --git a/js/controllers/menu_controller.js b/js/controllers/menu_controller.js index ebb2ea2..2df4cbb 100644 --- a/js/controllers/menu_controller.js +++ b/js/controllers/menu_controller.js @@ -249,4 +249,36 @@ export default class extends Controller { domainList.innerHTML += domainItem; } } + /** + * + * @param {Event} event + */ + showSemanticModal(event) { + + console.debug('I have been triggered...'); + + const modal = document.querySelector('#semanticModal'); + const title = modal.querySelector('.modal-title'); + // Clear any existing content first + title.innerHTML = ''; + title.innerHTML = event.content?.title; + const body = modal.querySelector('.modal-body'); + body.innerHTML = ''; + const contentType = event.content?.type; + + const content = document.createElement(contentType); + if (contentType === 'img') { + content.src = event.content?.imgSrc; + content.classList.add('img-fluid'); + } + + const description = document.createElement('p'); + description.textContent = event.content?.description; + description.classList.add('py-3', 'my-2', 'fst-italic'); + + body.appendChild(content); + body.appendChild(description); + + bootstrap.Modal.getOrCreateInstance(modal).show(); + } } diff --git a/scenes/ssgp/index.html b/scenes/ssgp/index.html index 42689a0..4c5099e 100644 --- a/scenes/ssgp/index.html +++ b/scenes/ssgp/index.html @@ -58,7 +58,7 @@ -
+