diff --git a/js/controllers/toolbar_controller.js b/js/controllers/toolbar_controller.js index faa670d..d386df7 100644 --- a/js/controllers/toolbar_controller.js +++ b/js/controllers/toolbar_controller.js @@ -9,7 +9,7 @@ const panelHeader = html` `; export default class extends Controller { - static targets = ['settings']; + static targets = ['settings', 'fullscreen']; connect() { console.log('#toolbar controller connected'); @@ -23,6 +23,24 @@ export default class extends Controller { ATON.UI.showSidePanel({header: panelHeader}); this.#buildSettingsPanel(ATON.UI.elSidePanel); } + toggleFullscreen() { + /** + * @type {HTMLAnchorElement} + */ + const target = this.fullscreenTarget; + const icon = target.querySelector('i'); + if (!document.fullscreenElement) { + document.body.requestFullscreen(); + icon.classList.remove('bi-fullscreen'); + icon.classList.add('bi-fullscreen-exit'); + target.title = 'Esci da schermo intero'; + } else { + document.exitFullscreen(); + icon.classList.remove('bi-fullscreen-exit'); + icon.classList.add('bi-fullscreen'); + target.title = 'Attiva schermo intero'; + } + } /** * Clone a