diff --git a/website/package.json b/website/package.json index 3dbeada780c5aa6fc93371be590edf329b67a799..d40d84275e1a6c5b3ac1f4b90544d7062113d575 100644 --- a/website/package.json +++ b/website/package.json @@ -1,6 +1,6 @@ { "name": "kuadrado-website", - "version": "1.0.4", + "version": "1.1.0", "description": "Presentation website of Kuadrado Software", "main": "src/main.js", "scripts": { diff --git a/website/src/generic-components/image-carousel.js b/website/src/generic-components/image-carousel.js index cdb8c5fe32beeae6427edc0b0e230e86c16bb3fd..c8c9d943ff652181020ce8038f371c5677852083 100644 --- a/website/src/generic-components/image-carousel.js +++ b/website/src/generic-components/image-carousel.js @@ -10,6 +10,7 @@ class ImageCarousel { }; this.RUN_INTERVAL = 5000; this.props.images.length > 1 && this.run(); + this.toggle_fullscreen = this.toggle_fullscreen.bind(this); } run() { @@ -33,6 +34,19 @@ class ImageCarousel { this.refresh(); } + + toggle_fullscreen() { + this.state.fullscreen = !this.state.fullscreen; + document.getElementById(this.id).classList.toggle("fullscreen"); + document.body.style.overflow = this.state.fullscreen ? "hidden" : "initial"; + + if (this.state.fullscreen) { + window.addEventListener("keydown", this.toggle_fullscreen); + } else { + window.removeEventListener("keydown", this.toggle_fullscreen); + } + } + refresh() { obj2htm.subRender(this.render_image(), document.getElementById(this.id + "-img-element"), { mode: "replace", @@ -79,9 +93,7 @@ class ImageCarousel { contents: this.state.fullscreen ? "â–¢" : "â›¶", onclick: e => { e.stopImmediatePropagation(); - this.state.fullscreen = !this.state.fullscreen; - document.getElementById(this.id).classList.toggle("fullscreen"); - document.body.style.overflow = this.state.fullscreen ? "hidden" : "initial"; + this.toggle_fullscreen(); this.refresh(); }, }