Skip to main content
atwhite
Helper ⭐️⭐️⭐️
June 23, 2026
Solved

Pop-up behavior when hovering on member profile image

  • June 23, 2026
  • 5 replies
  • 99 views

Two questions about the pop-up that appears when hovering over a member’s profile image in a post:

  1. Can you adjust this to display the About tab by default instead of the Badges tab?
  2. Can you adjust this to also pop-up when hovering over the user’s username, not just the profile image?

 

    Best answer by akhilv

    Hey ​@atwhite  I just tried this out using Claude and it works

     Third Party Scripts → INSERT BEFORE </BODY> TAG and drop this in:

    <script>
    // Auto-click "About" tab whenever the profile popup appears
    new MutationObserver(() => {
    const popup = document.querySelector('.popup-component');
    if (!popup) return;
    popup.querySelectorAll('.tabs__btn.qa-link-tab').forEach(tab => {
    if (tab.textContent.trim().toLowerCase() === 'about' && !tab.classList.contains('tabs__btn--active'))
    tab.click();
    });
    }).observe(document.body, { childList: true, subtree: true });

    // Trigger the same popup on username hover as on avatar hover
    ['mouseover', 'mouseout'].forEach(evt =>
    document.addEventListener(evt, e => {
    const username = e.target.closest('.qa-username');
    if (username) username.closest('.topic-view_header, .qa-topic-block')
    ?.querySelector('.default-avatar-link')
    ?.dispatchEvent(new MouseEvent(evt, { bubbles: true }));
    })
    );
    </script>

    And this in Custom CSS to show About first:

    .qa-profile-tooltip-tabs {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    }

    5 replies

    akhilv
    Gainsight Employee ⭐️
    akhilvAnswer
    Gainsight Employee ⭐️
    June 23, 2026

    Hey ​@atwhite  I just tried this out using Claude and it works

     Third Party Scripts → INSERT BEFORE </BODY> TAG and drop this in:

    <script>
    // Auto-click "About" tab whenever the profile popup appears
    new MutationObserver(() => {
    const popup = document.querySelector('.popup-component');
    if (!popup) return;
    popup.querySelectorAll('.tabs__btn.qa-link-tab').forEach(tab => {
    if (tab.textContent.trim().toLowerCase() === 'about' && !tab.classList.contains('tabs__btn--active'))
    tab.click();
    });
    }).observe(document.body, { childList: true, subtree: true });

    // Trigger the same popup on username hover as on avatar hover
    ['mouseover', 'mouseout'].forEach(evt =>
    document.addEventListener(evt, e => {
    const username = e.target.closest('.qa-username');
    if (username) username.closest('.topic-view_header, .qa-topic-block')
    ?.querySelector('.default-avatar-link')
    ?.dispatchEvent(new MouseEvent(evt, { bubbles: true }));
    })
    );
    </script>

    And this in Custom CSS to show About first:

    .qa-profile-tooltip-tabs {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    }
    atwhite
    atwhiteAuthor
    Helper ⭐️⭐️⭐️
    June 23, 2026

    Thanks, ​@akhilv! We’re trying something similar. And your response is confirmation that this doesn’t seem to be possible natively, which is also helpful to know. Thank you!

    Contributor ⭐️⭐️
    September 14, 2026

    Very nice! I do like the default being the ‘about’ tab. When I made this update, I noticed the badges tab no longer works. Did you experience the same? Maybe I did something wrong.

    Thanks for sharing!!

     

     

     

     

     

    akhilv
    Gainsight Employee ⭐️
    Gainsight Employee ⭐️
    September 15, 2026

    Hey @Hagedorn, not an expert in writing these scripts myself, I used Claude to put it together. It worked fine when I first tested it, not totally sure why it stopped for you, but try swapping in this version instead, along with css above:

    <script>
    let currentUser = null, forcedFor = null;

    new MutationObserver(() => {
    const popup = document.querySelector('.popup-component');
    if (!popup) return;
    if (forcedFor === currentUser) return;

    const tabs = popup.querySelectorAll('.tabs__btn.qa-link-tab');
    for (const tab of tabs) {
    if (tab.textContent.trim().toLowerCase() === 'about') {
    if (!tab.classList.contains('tabs__btn--active')) tab.click();
    forcedFor = currentUser;
    break;
    }
    }
    }).observe(document.body, { childList: true, subtree: true });

    document.addEventListener('mouseover', e => {
    const avatar = e.target.closest('.default-avatar-link');
    if (avatar) currentUser = avatar.href;
    }, true);

    ['mouseover', 'mouseout'].forEach(evt =>
    document.addEventListener(evt, e => {
    const username = e.target.closest('.qa-username');
    if (!username) return;

    let node = username.parentElement, avatar = null;
    while (node && node !== document.body) {
    avatar = node.querySelector('.default-avatar-link');
    if (avatar) break;
    node = node.parentElement;
    }

    avatar?.dispatchEvent(new MouseEvent(evt, { bubbles: true }));
    })
    );
    </script>
    Contributor ⭐️⭐️
    September 15, 2026

    That fixed it! Thank you!!