88 lines
2.7 KiB
JavaScript
88 lines
2.7 KiB
JavaScript
"use strict";
|
|
|
|
let username = "octocat";
|
|
const apiURL = "https://api.github.com/users/";
|
|
|
|
const searchField = document.getElementById("search-field");
|
|
const searchButton = document.getElementById("search-button");
|
|
|
|
searchButton.addEventListener("click", getProfile);
|
|
|
|
window.document.addEventListener("DOMContentLoaded", getProfile);
|
|
|
|
async function getProfile() {
|
|
try {
|
|
addLoaderAnimation();
|
|
|
|
if (searchField.value.length >= 1) {
|
|
username = searchField.value;
|
|
}
|
|
|
|
let url = `${apiURL}${username}`;
|
|
|
|
const response = await fetch(url);
|
|
// console.log(response);
|
|
const data = await response.json();
|
|
|
|
console.log(data);
|
|
|
|
// add fields to populate here
|
|
} catch (error) {
|
|
//do something, we got an error
|
|
alert(
|
|
`Something has gone wrong. Please try again shortly\n\n ${error}`
|
|
);
|
|
console.log("Error: " + error);
|
|
|
|
removeLoaderAnimation();
|
|
}
|
|
}
|
|
|
|
function addLoaderAnimation() {
|
|
// button.children[0].classList.add("animate");
|
|
setTimeout(() => {
|
|
removeLoaderAnimation();
|
|
}, 2000);
|
|
}
|
|
|
|
function removeLoaderAnimation() {
|
|
// button.children[0].classList.remove("animate");
|
|
}
|
|
|
|
// example return from api call to https://api.github.com/users/tarasis
|
|
|
|
// {
|
|
// "login": "tarasis",
|
|
// "id": 3006,
|
|
// "node_id": "MDQ6VXNlcjMwMDY=",
|
|
// "avatar_url": "https://avatars.githubusercontent.com/u/3006?v=4",
|
|
// "gravatar_id": "",
|
|
// "url": "https://api.github.com/users/tarasis",
|
|
// "html_url": "https://github.com/tarasis",
|
|
// "followers_url": "https://api.github.com/users/tarasis/followers",
|
|
// "following_url": "https://api.github.com/users/tarasis/following{/other_user}",
|
|
// "gists_url": "https://api.github.com/users/tarasis/gists{/gist_id}",
|
|
// "starred_url": "https://api.github.com/users/tarasis/starred{/owner}{/repo}",
|
|
// "subscriptions_url": "https://api.github.com/users/tarasis/subscriptions",
|
|
// "organizations_url": "https://api.github.com/users/tarasis/orgs",
|
|
// "repos_url": "https://api.github.com/users/tarasis/repos",
|
|
// "events_url": "https://api.github.com/users/tarasis/events{/privacy}",
|
|
// "received_events_url": "https://api.github.com/users/tarasis/received_events",
|
|
// "type": "User",
|
|
// "site_admin": false,
|
|
// "name": "Robert McGovern",
|
|
// "company": null,
|
|
// "blog": "http://tarasis.net",
|
|
// "location": "Northern Ireland",
|
|
// "email": null,
|
|
// "hireable": null,
|
|
// "bio": null,
|
|
// "twitter_username": "tarasis",
|
|
// "public_repos": 26,
|
|
// "public_gists": 2,
|
|
// "followers": 35,
|
|
// "following": 53,
|
|
// "created_at": "2008-03-13T16:12:38Z",
|
|
// "updated_at": "2022-10-28T19:21:49Z"
|
|
// }
|