// Global ATON import { Controller } from "@hotwired/stimulus" import AppState from "../state.js"; import { createExposureSlider, createLightSlider } from "../utils/environment.js"; const html = String.raw; const panelHeader = html` Impostazioni `; export default class extends Controller { static targets = ['settings', 'fullscreen']; connect() { console.log('#toolbar controller connected'); } /** * Open settings panel * @param {Event} event */ toggleSettings(event) { ATON.UI.setSidePanelLeft(); 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