@speedcubing/cookie
Version:
Speedcubing Online's UI design.
37 lines (31 loc) • 1.42 kB
JavaScript
function loadProfile(username) {
let http = new XMLHttpRequest();
http.open('GET', '/api/get_user_by_username/' + username, true);
http.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
http.onreadystatechange = function(e) {
if (this.readyState == XMLHttpRequest.DONE) {
const response = JSON.parse(http.responseText);
if (response.error == 0) {
const loadingBar = document.getElementById('loading-bar');
const profileWrapper = document.getElementById('profile-wrapper');
const profileImage = document.getElementById('profile-image');
const profileDisplayName = document.getElementById('profile-displayname');
const profileUsername = document.getElementById('profile-username');
const profileDescription = document.getElementById('profile-description');
console.log(response);
profileImage.addEventListener('load', (event) => {
loadingBar.style.display = 'none';
profileWrapper.style.display = 'block';
});
profileDisplayName.innerHTML = response.displayname;
profileUsername.innerHTML = '@' + response.username + ' - ' + timeSince(new Date(response.joined));
profileDescription.innerHTML = response.description;
profileImage.src = response.profileImageUrl
return;
}
console.log(response.error);
alertBox(getLoginErrorMessage(response.error));
}
}
http.send();
}