jdf
This commit is contained in:
+48
-14
@@ -48,18 +48,30 @@ class CommentSystem {
|
||||
const isHidden = localStorage.getItem('comments_hidden') === 'true';
|
||||
// Force show if hash is present
|
||||
if (window.location.hash && window.location.hash.startsWith('#c')) {
|
||||
this.container.classList.remove('faded-out');
|
||||
this.container.style.display = 'block';
|
||||
this.container.classList.remove('faded-out', 'is-hidden');
|
||||
this.container.style.removeProperty('display');
|
||||
this.container.style.display = '';
|
||||
localStorage.setItem('comments_hidden', 'false');
|
||||
document.body.classList.remove('sidebar-left-hidden');
|
||||
document.body.classList.remove('sidebar-left-hidden', 'comments-hidden');
|
||||
const layout = this.container.closest('.item-layout-container');
|
||||
if (layout) layout.classList.remove('sidebar-hidden');
|
||||
} else if (isHidden && (window.innerWidth >= 1000 || !document.body.classList.contains('layout-modern'))) {
|
||||
this.container.classList.add('faded-out');
|
||||
this.container.style.display = 'none';
|
||||
document.body.classList.add('sidebar-left-hidden');
|
||||
const sidebar = this.container.closest('.item-sidebar-left');
|
||||
if (sidebar) {
|
||||
sidebar.classList.remove('is-hidden');
|
||||
sidebar.style.removeProperty('display');
|
||||
sidebar.style.display = '';
|
||||
}
|
||||
} else if (isHidden) {
|
||||
this.container.classList.add('faded-out', 'is-hidden');
|
||||
this.container.style.setProperty('display', 'none', 'important');
|
||||
document.body.classList.add('sidebar-left-hidden', 'comments-hidden');
|
||||
const layout = this.container.closest('.item-layout-container');
|
||||
if (layout) layout.classList.add('sidebar-hidden');
|
||||
const sidebar = this.container.closest('.item-sidebar-left');
|
||||
if (sidebar) {
|
||||
sidebar.classList.add('is-hidden');
|
||||
sidebar.style.setProperty('display', 'none', 'important');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3878,7 +3890,12 @@ class CommentSystem {
|
||||
e.preventDefault();
|
||||
|
||||
// If comments are hidden, show them first
|
||||
const isHidden = cs.container.classList.contains('faded-out') || cs.container.style.display === 'none';
|
||||
const isHidden = cs.container.classList.contains('faded-out') ||
|
||||
cs.container.classList.contains('is-hidden') ||
|
||||
cs.container.style.display === 'none' ||
|
||||
document.body.classList.contains('sidebar-left-hidden') ||
|
||||
document.body.classList.contains('comments-hidden') ||
|
||||
localStorage.getItem('comments_hidden') === 'true';
|
||||
if (isHidden) cs.toggleComments();
|
||||
|
||||
// Legacy layout: comments are in the normal page flow under .item-main-content
|
||||
@@ -3959,7 +3976,7 @@ class CommentSystem {
|
||||
toggleComments() {
|
||||
if (!this.container) return;
|
||||
|
||||
if (document.body.classList.contains('layout-modern')) {
|
||||
if (document.body.classList.contains('layout-modern') && !document.body.classList.contains('onara-modal-open')) {
|
||||
if (window.innerWidth < 1000) return;
|
||||
if (typeof window.toggleSidebarLeft === 'function') {
|
||||
window.toggleSidebarLeft();
|
||||
@@ -3974,27 +3991,44 @@ class CommentSystem {
|
||||
] : [];
|
||||
|
||||
// Check if currently hidden (or slid out)
|
||||
const isHidden = this.container.classList.contains('faded-out') || this.container.style.display === 'none';
|
||||
const isHidden = this.container.classList.contains('faded-out') ||
|
||||
this.container.classList.contains('is-hidden') ||
|
||||
this.container.style.display === 'none' ||
|
||||
document.body.classList.contains('sidebar-left-hidden') ||
|
||||
document.body.classList.contains('comments-hidden') ||
|
||||
localStorage.getItem('comments_hidden') === 'true';
|
||||
|
||||
if (isHidden) {
|
||||
// SHOW: expand grid first, then slide content in
|
||||
if (layout) layout.classList.remove('sidebar-hidden');
|
||||
document.body.classList.remove('sidebar-left-hidden');
|
||||
document.body.classList.remove('sidebar-left-hidden', 'comments-hidden');
|
||||
this.container.classList.remove('is-hidden');
|
||||
this.container.style.removeProperty('display');
|
||||
this.container.style.display = '';
|
||||
if (sidebar) {
|
||||
sidebar.classList.remove('is-hidden');
|
||||
sidebar.style.removeProperty('display');
|
||||
sidebar.style.display = '';
|
||||
}
|
||||
localStorage.setItem('comments_hidden', 'false');
|
||||
void this.container.offsetWidth; // force reflow so transition fires
|
||||
this.container.classList.remove('faded-out');
|
||||
siblings.forEach(el => el.classList.remove('faded-out'));
|
||||
} else {
|
||||
// HIDE: slide content out first, then collapse grid
|
||||
// HIDE: mark state immediately so quick navigations stay hidden, fade out content, then collapse
|
||||
localStorage.setItem('comments_hidden', 'true');
|
||||
this.container.classList.add('faded-out');
|
||||
siblings.forEach(el => el.classList.add('faded-out'));
|
||||
setTimeout(() => {
|
||||
if (!this.container.classList.contains('faded-out')) return;
|
||||
this.container.style.display = 'none';
|
||||
this.container.classList.add('is-hidden');
|
||||
this.container.style.setProperty('display', 'none', 'important');
|
||||
if (sidebar) {
|
||||
sidebar.classList.add('is-hidden');
|
||||
sidebar.style.setProperty('display', 'none', 'important');
|
||||
}
|
||||
if (layout) layout.classList.add('sidebar-hidden');
|
||||
document.body.classList.add('sidebar-left-hidden');
|
||||
document.body.classList.add('sidebar-left-hidden', 'comments-hidden');
|
||||
}, 300);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user