-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.js
More file actions
61 lines (57 loc) · 2.33 KB
/
Copy pathscript.js
File metadata and controls
61 lines (57 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
function fetchUserProfile() {
const username = document.getElementById('username').value;
if (username) {
fetch(`https://api.github.com/users/${username}`)
.then(response => response.json())
.then(data => {
if (data.message === "Not Found") {
clearProfile();
showError('User not found.');
} else {
clearError();
displayProfile(data);
}
})
.catch(error => {
console.error('Error:', error);
showError('An error occurred while fetching the user profile.');
});
} else {
showError('Please enter a GitHub username.');
}
}
function clearProfile() {
document.getElementById('avatar').src = '';
document.getElementById('name').textContent = '';
document.getElementById('bio').textContent = '';
document.getElementById('website').textContent = '';
document.getElementById('location').textContent = '';
document.getElementById('followers').textContent = '';
document.getElementById('following').textContent = '';
document.getElementById('public-repos').textContent = '';
}
function clearError() {
const errorElement = document.getElementById('error');
if (errorElement) {
errorElement.remove();
}
}
function showError(errorMessage) {
clearProfile();
clearError();
const errorElement = document.createElement('p');
errorElement.id = 'error';
errorElement.textContent = errorMessage;
errorElement.style.color = 'red';
document.querySelector('.container').appendChild(errorElement);
}
function displayProfile(data) {
document.getElementById('avatar').src = data.avatar_url;
document.getElementById('name').textContent = data.name;
document.getElementById('bio').textContent = data.bio;
document.getElementById('website').innerHTML = `<a href="${data.blog}" target="_blank">${data.blog}</a>`;
document.getElementById('location').textContent = `Location: ${data.location}`;
document.getElementById('followers').textContent = `Followers: ${data.followers}`;
document.getElementById('following').textContent = `Following: ${data.following}`;
document.getElementById('public-repos').textContent = `Public Repositories: ${data.public_repos}`;
}