/* global filterXSS */ function initializeUserProfileContent(user) { document.getElementById('sidebar-profile--avatar').src = user.profile_image_90; document.getElementById('sidebar-profile--avatar').alt = user.username; document.getElementById('sidebar-profile--name').innerHTML = filterXSS( user.name, ); document.getElementById('sidebar-profile--username').innerHTML = '@' + user.username; document.getElementById('sidebar-profile').href = '/' + user.username; } function initializeUserSidebar(user) { if (!document.getElementById('sidebar-nav')) return; initializeUserProfileContent(user); let followedTags = JSON.parse(user.followed_tags); const tagSeparatorLabel = followedTags.length === 0 ? 'FOLLOW TAGS TO IMPROVE YOUR FEED' : 'OTHER POPULAR TAGS'; followedTags.forEach((tag) => { const element = document.getElementById( 'default-sidebar-element-' + tag.name, ); if (element) { element.remove(); } }); document.getElementById('tag-separator').innerHTML = tagSeparatorLabel; document.getElementById('sidebar-nav-default-tags').classList.add('showing'); } function addRelevantButtonsToArticle(user) { var articleContainer = document.getElementById('article-show-container'); if (articleContainer) { if (parseInt(articleContainer.dataset.authorId, 10) === user.id) { let actions = [ `EDIT`, ]; if (JSON.parse(articleContainer.dataset.published) === true) { actions.push( `MANAGE`, ); } if (user.pro) { actions.push( `STATS`, ); } document.getElementById('action-space').innerHTML = actions.join(''); } } } function addRelevantButtonsToComments(user) { if (document.getElementById('comments-container')) { // buttons are actually 's var settingsButts = document.getElementsByClassName('comment-actions'); for (let i = 0; i < settingsButts.length; i += 1) { let butt = settingsButts[i]; const { action, commentableUserId, userId } = butt.dataset; if (parseInt(userId, 10) === user.id && action === 'settings-button') { butt.innerHTML = 'Settings' butt.style.display = 'inline-block'; butt.classList.remove('hidden'); } if ( action === 'hide-button' && parseInt(commentableUserId, 10) === user.id ) { butt.style.display = 'inline-block'; butt.classList.remove('hidden'); } } if (user.trusted) { var modButts = document.getElementsByClassName('mod-actions'); for (let i = 0; i < modButts.length; i += 1) { let butt = modButts[i]; if (butt.classList.contains('mod-actions-comment-button')) { butt.innerHTML = 'Moderate' } butt.className = 'mod-actions'; butt.style.display = 'inline-block'; } } } } function initializeBaseUserData() { const user = userData(); const userProfileLinkHTML = '
' + '' + user.name + '' + '@' + user.username + '' + '
'; document.getElementById( 'user-profile-link-placeholder', ).innerHTML = userProfileLinkHTML; const userNavLink = document.getElementById('first-nav-link'); userNavLink.href = `/${user.username}`; userNavLink.querySelector('span').textContent = user.name; userNavLink.querySelector('small').textContent = `@${user.username}`; document.getElementById('nav-profile-image').src = user.profile_image_90; initializeUserSidebar(user); addRelevantButtonsToArticle(user); addRelevantButtonsToComments(user); }