теперь в паблике админ может скрывать только по одному комментарию

This commit is contained in:
2026-01-16 20:38:54 +05:00
parent 6493a7d5c1
commit 486dfd722c
3 changed files with 38 additions and 14 deletions

View File

@@ -210,36 +210,46 @@ if ($fileInput.length && $fileInput[0].files.length > 0) {
// показать / скрыть комментарий
if (action === 'unlock' || action === 'lock') {
var $icon = $btn.find('i');
var $card = $btn.closest('.mod_comment_comment');
// ищем внутренний бокс, чтобы не красить детей
var $commentBox = $btn.closest('.mod_comment_box');
// поиск всей карточки для очистки старых стилей
var $card = $btn.closest('.mod_comment_comment');
if (action === 'lock') {
// --- Статус 0: СКРЫТО ---
$icon.attr('class', 'bi bi-eye-slash');
$btn.removeClass('text-success text-muted').addClass('text-danger').attr('title', COMMENT_ICON_SHOW);
$card.addClass('opacity-75 border-warning');
// красим внутренний блок сообщения
$commentBox.addClass('opacity-75 border border-warning rounded');
// Ищем плашку. Если её нет — создаем один раз.
var $alert = $card.find('.alert-warning');
// текст
var $alert = $commentBox.find('.alert-warning');
if ($alert.length === 0) {
var alertHtml = '<div class="alert alert-warning py-1 px-2 mb-2 small d-flex align-items-center border-0 shadow-sm" style="border-left: 4px solid #ffc107 !important; display:none;">' +
'<i class="bi bi-clock-history me-2 text-dark"></i>' +
'<span class="text-dark">' + COMMENT_WAITING_MODERATION + '</span>' +
'</div>';
$card.find('.flex-grow-1').prepend(alertHtml);
$alert = $card.find('.alert-warning');
// Вставляем в именно этого сообщения
$commentBox.find('.flex-grow-1').first().prepend(alertHtml);
$alert = $commentBox.find('.alert-warning');
}
$alert.stop(true, true).fadeIn(300);
} else {
// --- Статус 1: ВИДИМО ---
$icon.attr('class', 'bi bi-eye');
$btn.removeClass('text-danger text-muted').addClass('text-success').attr('title', COMMENT_ICON_HIDE);
$card.removeClass('opacity-75 border-warning');
// чистим бокс и карточку
var classesToRemove = 'opacity-75 border border-warning rounded';
$commentBox.removeClass(classesToRemove);
$card.removeClass(classesToRemove + ' border-warning'); // Чистим старый класс из твоего кода
// используем callback, чтобы после анимации убрать элемент
$card.find('.alert-warning').stop(true, true).fadeOut(300, function() {
$(this).remove(); // Удаляем плашку из кода совсем, чтобы при следующем "скрыть" она создалась чисто
// удаляем плашку:
$commentBox.find('.alert-warning').first().stop(true, true).fadeOut(300, function() {
$(this).remove();
});
}
}

View File

@@ -175,7 +175,13 @@
</tr>
{/foreach}
{else}
<tr><td colspan="4" align="center" style="padding:50px; color:#999;">Список пуст</td></tr>
<tr>
<td colspan="4">
<ul class="messages">
<li class="highlight yellow"><strong>Сообщение:</strong><br />Нет комментариев.</li>
</ul>
</td>
</tr>
{/if}
</tbody>
</table>
@@ -190,10 +196,17 @@
</select>
<input type="button" value="ПРИМЕНИТЬ" class="blueBtn" onclick="runMassAction()" style="margin-left:10px;" />
</div>
<div class="pagination">{$page_nav}</div>
</div>
</div>
{if $page_nav}
<div class="pagination">
<ul class="pages">
{$page_nav}
</ul>
</div>
{/if}
<script type="text/javascript">
function checkAll(master) {
var checkboxes = document.getElementsByClassName('row-checkbox');

View File

@@ -1,5 +1,6 @@
{foreach from=$subcomments item=c name=sub_loop}
<div class="card mb-3 mod_comment_comment {if $c.comment_status == 0}opacity-75 border-warning{/if} {if $c.parent_id} ms-2 ms-md-4{/if}"
<div class="card mb-3 mod_comment_comment {if $c.parent_id} ms-2 ms-md-4{/if}"
id="comment_wrapper_{$c.Id}" {if $c.parent_id} ms-2 ms-md-4{/if}"
id="comment_wrapper_{$c.Id}"
data-parent="{$c.parent_id|default:0}"
data-user-rating="{$c.user_rating|default:0}"
@@ -9,7 +10,7 @@
<div class="border border-warning border-3 rounded p-0">
{/if}
<div id="comment_{$c.Id}" class="mod_comment_box">
<div id="comment_{$c.Id}" class="mod_comment_box {if $c.comment_status == 0}opacity-75 border border-warning rounded{/if}">
<div class="card-body p-3 d-flex align-items-start">
{* БЛОК АВАТАРА *}