Skip to content

Commit

Permalink
Rewritten screenshot toggler
Browse files Browse the repository at this point in the history
It will remove images/embeds when closed now, which
stops any videos playing and is easier on memory usage.
  • Loading branch information
nikuda committed Oct 9, 2016
1 parent 1f1c662 commit 14b8a42
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
5 changes: 3 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,9 @@
{{ render_tag('framework', game['framework']) }}

{%- if 'info' in game %}<div>{{ game['info'] }}</div>{% endif %}

<script type="text/screenshots">

<div class="gallery" style="display: none"></div>
<script class="gallery-raw" type="text/plain">
{% for item in game.get('media', []) %}
{% if 'youtube' in item %}{{ render_youtube(item['youtube']) }}{% endif %}
{% if 'vimeo' in item %}{{ render_vimeo(item['vimeo']) }}{% endif %}
Expand Down
33 changes: 17 additions & 16 deletions static/main.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
'use strict';

// screenshot handling
// gallery handling
(function() {
var onclick = function() {
var screenshots = this.parentNode.getElementsByTagName("script");
if (screenshots.length) {
var innerHTML = '<div class="screenshots" style="display: none">' +
screenshots[0].innerHTML + '</div>';
this.parentNode.insertAdjacentHTML('beforeend', innerHTML);
this.parentNode.removeChild(screenshots[0]);
}
screenshots = this.parentNode.getElementsByClassName("screenshots")[0];
var show_now = screenshots.style.display == "none";
this.innerHTML = show_now ? "&#x25bc;" : "&#x25b6;";
screenshots.style.display = show_now ? "block" : "none";
}
var els = document.getElementsByClassName("toggler");
var els = document.getElementsByClassName('toggler');

for (var i = 0, l = els.length; i < l; i++) {
els[i].addEventListener("click", onclick);
els[i].addEventListener('click', onclick);
}

function onclick(ev) {
var t = ev.target;
var gallery = t.parentNode.getElementsByClassName('gallery')[0];
var raw = t.parentNode.getElementsByClassName('gallery-raw')[0];
var show_now = gallery.style.display == 'none';

t.innerHTML = show_now ? '&#x25bc;' : '&#x25b6;';
gallery.style.display = show_now ? 'block' : 'none';

if (raw && show_now) { gallery.insertAdjacentHTML('beforeend', raw.innerHTML); }
else { gallery.innerHTML = ''; }
}
})();

Expand Down

0 comments on commit 14b8a42

Please sign in to comment.