cd score layout modern fixes
This commit is contained in:
@@ -1262,9 +1262,34 @@ class CommentSystem {
|
||||
}
|
||||
|
||||
|
||||
// Save xd-score-wrapper before innerHTML wipe.
|
||||
// On first load it lives as a previous sibling (server-rendered); afterwards inside.
|
||||
let xdWrapperHtml = null;
|
||||
const xdInside = this.container.querySelector('.xd-score-wrapper');
|
||||
if (xdInside) {
|
||||
xdWrapperHtml = xdInside.outerHTML;
|
||||
} else {
|
||||
const prev = this.container.previousElementSibling;
|
||||
if (prev && prev.classList.contains('xd-score-wrapper')) {
|
||||
xdWrapperHtml = prev.outerHTML;
|
||||
prev.remove();
|
||||
}
|
||||
}
|
||||
|
||||
const mediaState = this.saveMediaState();
|
||||
this.container.innerHTML = html;
|
||||
this.restoreMediaState(mediaState);
|
||||
|
||||
// Re-inject xd-score-wrapper between the comment input and the comments list
|
||||
if (xdWrapperHtml) {
|
||||
const commentsList = this.container.querySelector('.comments-list');
|
||||
if (commentsList) {
|
||||
const tmp = document.createElement('div');
|
||||
tmp.innerHTML = xdWrapperHtml;
|
||||
const xdEl = tmp.firstElementChild;
|
||||
if (xdEl) this.container.insertBefore(xdEl, commentsList);
|
||||
}
|
||||
}
|
||||
this.syncSubscribeButton(isSubscribed);
|
||||
CommentSystem.autoplayConvertedGifs(this.container);
|
||||
|
||||
|
||||
@@ -4923,9 +4923,6 @@ window.cancelAnimFrame = (function () {
|
||||
const pageItemId = container.dataset.itemId;
|
||||
if (pageItemId && String(pageItemId) !== String(itemId)) return;
|
||||
|
||||
const favs = document.getElementById('favs');
|
||||
if (!favs) return;
|
||||
|
||||
document.querySelectorAll('.xd-score-wrapper').forEach(w => w.remove());
|
||||
|
||||
if (score <= 0) return;
|
||||
@@ -4935,7 +4932,15 @@ window.cancelAnimFrame = (function () {
|
||||
const newWrapper = document.createElement('div');
|
||||
newWrapper.className = 'xd-score-wrapper';
|
||||
newWrapper.innerHTML = `<span class="xd-score-badge ${meta.cls}" tooltip="xD Score: ${score} pts" flow="up">${meta.label} <span class="xd-score-num">${score}</span></span>`;
|
||||
favs.parentNode.insertBefore(newWrapper, favs.nextSibling);
|
||||
|
||||
// Insert inside container, before .comments-list — matching the position
|
||||
// that comments.js uses after each render.
|
||||
const commentsList = container.querySelector('.comments-list');
|
||||
if (commentsList) {
|
||||
container.insertBefore(newWrapper, commentsList);
|
||||
} else {
|
||||
container.parentNode.insertBefore(newWrapper, container);
|
||||
}
|
||||
};
|
||||
|
||||
window.updateXdBadgeFromScore = (itemId, score) => {
|
||||
|
||||
Reference in New Issue
Block a user