docbrown/app/assets/javascripts/initializers/initializeUserProfilePage.js
ludwiczakpawel ab34b37c49
Badges area on profile (#11384)
* tooltips 1.0.1

* tooltips 1.0.1

* badges size

* badges size

* .

* button style

* pawel messing with controllers

* math is stupid

* good boys write docs

* typos
2020-11-12 15:53:14 +01:00

66 lines
2.1 KiB
JavaScript

'use strict';
function initializeUserProfilePage() {
const profileDropdownDiv = document.getElementsByClassName(
'profile-dropdown',
)[0];
if (profileDropdownDiv) {
const currentUser = userData();
if (
currentUser &&
currentUser.username === profileDropdownDiv.dataset.username
) {
profileDropdownDiv.hidden = true;
} else {
profileDropdownDiv.hidden = false;
const userProfileDropdownButton = document.getElementById(
'user-profile-dropdown',
);
if (userProfileDropdownButton) {
const userProfileDropdownMenu = document.getElementById(
'user-profile-dropdownmenu',
);
userProfileDropdownButton.addEventListener('click', () => {
userProfileDropdownMenu.classList.toggle('block');
// Add actual link location (SEO doesn't like these "useless" links, so adding in here instead of in HTML)
var reportAbuseLink = profileDropdownDiv.querySelector(
'.report-abuse-link-wrapper',
);
reportAbuseLink.innerHTML = `<a href="${reportAbuseLink.dataset.path}" class="crayons-link crayons-link--block">Report Abuse</a>`;
});
}
}
}
}
function initializeProfileInfoToggle() {
const infoPanels = document.querySelector('.js-user-info');
const trigger = document.querySelector('.js-user-info-trigger');
const triggerWrapper = document.querySelector(
'.js-user-info-trigger-wrapper',
);
if (trigger && infoPanels) {
trigger.addEventListener('click', () => {
triggerWrapper.classList.replace('block', 'hidden');
infoPanels.classList.replace('hidden', 'grid');
});
}
}
function initializeProfileBadgesToggle() {
const badgesWrapper = document.querySelector('.js-profile-badges');
const trigger = document.querySelector('.js-profile-badges-trigger');
if (badgesWrapper && trigger) {
const badges = badgesWrapper.querySelectorAll('.js-profile-badge.hidden');
trigger.addEventListener('click', () => {
badges.forEach((badge) => {
badge.classList.remove('hidden');
});
trigger.classList.add('hidden');
});
}
}