AH mobile word count

Show the wordcount next to the date on alternatehistory mobile. Has an option to hide 0-wordcount threads.

// ==UserScript==
// @name        AH mobile word count
// @description Show the wordcount next to the date on alternatehistory mobile. Has an option to hide 0-wordcount threads.
// @author      C89sd
// @version     1.1
// @match       https://www.alternatehistory.com/*
// @namespace   https://greasyfork.org/users/1376767
// ==/UserScript==

'use strict';

const COLLAPSE_ZERO_THREADS = false;


// Match AH's @media(max-width: 650px){.wordcount{display: none;}},
const style = document.createElement('style');
style.textContent = `
  .mobile-only {
    display: none !important;
  }

  @media (max-width: 650px) {
    .mobile-only {
      display: block !important;
    }
  }
`;
document.head.appendChild(style);

const threads = document.querySelectorAll('div.structItem');
for (const thread of threads) {
  var found = false;
  const link = thread.querySelector('a[data-xf-click="overlay"]');

  if (link && link.textContent.startsWith('Word Count: ')) {
    found = true;
    link.textContent = link.textContent.replace('Word Count: ', 'Words: ');

    const mobileDate = thread.querySelector('div.structItem-cell--latest');

    if (mobileDate) {
      const middleDot = document.createElement('a');
      middleDot.textContent = '·';
        const gap = '0.5ch';
      middleDot.style.marginRight = gap;
      middleDot.style.marginLeft = gap;
      middleDot.classList.add('mobile-only');
      mobileDate.append(middleDot);

      const clonedLink = link.cloneNode(true);
      clonedLink.classList.add('mobile-only');
      mobileDate.append(clonedLink);
    }
  }

  if (!found && COLLAPSE_ZERO_THREADS) {
    const title = thread.querySelector('.structItem-title');
    if (title) {
        const clone = title.cloneNode(true);
        clone.style.opacity = '0.2';
        clone.style.whiteSpace = 'nowrap';
        clone.style.paddingLeft = '8px';
        clone.style.letterSpacing = '-0.5x';
        // clone.style.fontWeight = '350';

       // Delete all children
        while (thread.firstChild) {
          thread.removeChild(thread.firstChild);
        }
        thread.appendChild(clone);
    }
  }
}