Browse Source

Prevent blur-images.js interfereing with regular hiding images

pull/57/head
discomrade 3 years ago
parent
commit
cbb7b237db
  1. 82
      js/blur-images.js

82
js/blur-images.js

@ -17,36 +17,36 @@
*/
$(document).ready(function(){
var hide_images = localStorage['hideimages'] ? true : false;
var blur_images = localStorage['blurimages'] ? true : false;
$('<style type="text/css"> img.hidden{ opacity: 1 !important; filter: blur(20px); } </style>').appendTo($('head'));
$('<style type="text/css"> img.blur{ filter: blur(20px); } </style>').appendTo($('head'));
var hideImage = function() {
var blurImage = function() {
if ($(this).parent().data('expanded') == 'true') {
$(this).parent().click();
}
$(this).addClass('hidden');
$(this).addClass('blur');
};
var restoreImage = function() {
$(this)
.attr('src', $(this).attr('data-orig'))
.removeClass('hidden');
.removeClass('blur');
};
// Fix for hide-images.js
var show_hide_hide_images_buttons = function() {
if (hide_images) {
$('a.hide-image-link').each(function() {
if ($(this).next().hasClass('show-image-link')) {
var show_hide_blur_images_buttons = function() {
if (blur_images) {
$('a.blur-image-link').each(function() {
if ($(this).next().hasClass('unblur-image-link')) {
$(this).next().hide();
}
$(this).hide().after('<span class="toggle-images-placeholder">'+_('hidden')+'</span>');
$(this).hide().after('<span class="blur-images-placeholder">'+_('hidden')+'</span>');
});
} else {
$('span.toggle-images-placeholder').remove();
$('a.hide-image-link').each(function() {
if ($(this).next().hasClass('show-image-link')) {
$('span.blur-images-placeholder').remove();
$('a.blur-image-link').each(function() {
if ($(this).next().hasClass('unblur-image-link')) {
$(this).next().show();
} else {
$(this).show();
@ -55,48 +55,48 @@ $(document).ready(function(){
}
};
var selector, event;
if (window.Options && Options.get_tab('general')) {
selector = '#toggle-images>input';
event = 'change';
Options.extend_tab("general", "<label id='toggle-images'><input type='checkbox' />"+_('Blur images')+"</label>");
}
else {
selector = '#toggle-images a';
event = 'click';
$('hr:first').before('<div id="toggle-images" style="text-align:right"><a class="unimportant" href="javascript:void(0)">-</a></div>');
$('div#toggle-images a')
.text(hide_images ? _('Show images') : _('Hide images'));
}
var selector, event;
if (window.Options && Options.get_tab('general')) {
selector = '#blur-images>input';
event = 'change';
Options.extend_tab("general", "<label id='blur-images'><input type='checkbox' />"+_('Blur images')+"</label>");
}
else {
selector = '#blur-images a';
event = 'click';
$('hr:first').before('<div id="blur-images" style="text-align:right"><a class="unimportant" href="javascript:void(0)">-</a></div>');
$('div#blur-images a')
.text(blur_images ? _('Unblur images') : _('Blur images'));
}
$(selector)
.on(event, function() {
hide_images = !hide_images;
if (hide_images) {
$('img.post-image, .theme-catalog .thread>a>img').each(hideImage);
localStorage.hideimages = true;
blur_images = !blur_images;
if (blur_images) {
$('img.post-image, .theme-catalog .thread>a>img').each(blurImage);
localStorage.blurimages = true;
} else {
$('img.post-image, .theme-catalog .thread>a>img').each(restoreImage);
delete localStorage.hideimages;
delete localStorage.blurimages;
}
show_hide_hide_images_buttons();
show_hide_blur_images_buttons();
$(this).text(hide_images ? _('Show images') : _('Hide images'))
$(this).text(blur_images ? _('Unblur images') : _('Blur images'))
});
if (hide_images) {
$('img.post-image, .theme-catalog .thread>a>img').each(hideImage);
show_hide_hide_images_buttons();
if (blur_images) {
$('img.post-image, .theme-catalog .thread>a>img').each(blurImage);
show_hide_blur_images_buttons();
if (window.Options && Options.get_tab('general')) {
$('#toggle-images>input').prop('checked', true);
}
if (window.Options && Options.get_tab('general')) {
$('#toggle-images>input').prop('checked', true);
}
}
$(document).on('new_post', function(e, post) {
if (hide_images) {
$(post).find('img.post-image').each(hideImage);
if (blur_images) {
$(post).find('img.post-image').each(blurImage);
}
});
});

Loading…
Cancel
Save