diff --git a/js/comment.js b/js/comment.js index b9491e1..b5362de 100644 --- a/js/comment.js +++ b/js/comment.js @@ -207,12 +207,20 @@ if ($fileInput.length && $fileInput[0].files.length > 0) { var $commentBlock = $btn.closest('.mod_comment_comment'); $commentBlock.fadeOut(300, function() { $(this).remove(); }); } - if (action === 'unlock' || action === 'lock') { - var isLock = (action === 'lock'); - $btn.toggleClass('mod_comment_lock mod_comment_unlock text-dark text-success') - .attr('title', isLock ? 'Разблокировать' : 'Заблокировать') - .find('i').toggleClass('bi-lock-fill bi-unlock-fill'); - } +// показать / скрыть комментарий + +if (action === 'unlock' || action === 'lock') { + var $icon = $btn.find('i'); + if (action === 'lock') { + // Статус 0: СКРЫТО. Ставим красный перечеркнутый глаз. + $icon.attr('class', 'bi bi-eye-slash'); + $btn.removeClass('text-success text-muted').addClass('text-danger').attr('title', 'Показать'); + } else { + // Статус 1: ВИДИМО. Ставим зеленый открытый глаз. + $icon.attr('class', 'bi bi-eye'); + $btn.removeClass('text-danger text-muted').addClass('text-success').attr('title', 'Скрыть'); + } +} }); } @@ -426,11 +434,22 @@ $doc.on('mouseleave', '.rating-edit-block, #rating_wrapper', function() { if (confirm('Удалить этот комментарий?')) cAction(this, 'delete'); }); - // Блокировка - $doc.off('click', '.mod_comment_lock, .mod_comment_unlock').on('click', '.mod_comment_lock, .mod_comment_unlock', function(e) { - e.preventDefault(); - cAction(this, $(this).hasClass('mod_comment_lock') ? 'lock' : 'unlock'); - }); + +// Универсальный обработчик для переключателя видимости +// Оставляем все селекторы для надежности +$doc.off('click', '.mod_comment_toggle, .mod_comment_lock, .mod_comment_unlock') + .on('click', '.mod_comment_toggle, .mod_comment_lock, .mod_comment_unlock', function(e) { + e.preventDefault(); + var $btn = $(this); + var $icon = $btn.find('i'); + + // Теперь проверяем перечеркнутый глаз (скрыто) или закрытый замок (на случай если остался в кэше) + // Если глаз перечеркнут ИЛИ замок закрыт — значит в базе 0, шлем 'unlock' + var isHidden = $icon.hasClass('bi-eye-slash') || $icon.hasClass('bi-lock-fill'); + var actionToSend = isHidden ? 'unlock' : 'lock'; + + cAction(this, actionToSend); + }); diff --git a/templates/comments_tree_sub.tpl b/templates/comments_tree_sub.tpl index 25b7c80..6f39495 100644 --- a/templates/comments_tree_sub.tpl +++ b/templates/comments_tree_sub.tpl @@ -146,11 +146,14 @@ {/if} - {if $smarty.const.UGROUP==1} - - - - {/if} +{if $smarty.const.UGROUP==1} + + + +{/if}