MCPcopy Create free account
hub / github.com/Vishal-raj-1/Awesome-JavaScript-Projects / UI

Class UI

assets/js/github_ui.js:1–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1class UI {
2 constructor() {
3 this.profile = document.getElementById('profile');
4 }
5
6 showProfile(user) {
7 this.profile.innerHTML = `
8 <div class="card card-body mb-3">
9 <div class="row">
10 <div class="col-md-3">
11 <img class="img-fluid mb-2" src="${user.avatar_url}">
12 <a href="${user.html_url}" target="_blank" class="btn btn-primary btn-block mb-4">View Profile</a>
13 </div>
14 <div class="col-md-9">
15 <span class="badge badge-primary">Public Repos: ${user.public_repos}</span>
16 <span class="badge badge-secondary">Public Gists: ${user.public_gists}</span>
17 <span class="badge badge-success">Followers: ${user.followers}</span>
18 <span class="badge badge-primary">Following: ${user.following}</span>
19 <br><br>
20 <ul class="list-group">
21 <li class="list-group-item"><h4>Name: ${user.name}</h4></li>
22 <li class="list-group-item">Company: ${user.company}</li>
23 <li class="list-group-item">Website/Blog: ${user.blog}</li>
24 <li class="list-group-item">Location: ${user.location}</li>
25 <li class="list-group-item">Member Since : ${user.created_at}</li>
26 </ul>
27 </div>
28 </div>
29 </div>
30 <h3 class="page-heading mb-3">Latest repository</h3>
31 <div id="repos"></div>
32 `;
33 }
34
35 showRepos(repos) {
36 let output = '';
37 repos.forEach((repo) => {
38 output += `<div class="card card-body mb-2">
39 <div class="row">
40 <div class="col-md-6">
41 <a href="${repo.html_url}" target="_blank">${repo.name}</a>
42 </div>
43 <div class="col-md-6">
44 <span class="badge badge-primary">Stars: ${repo.stargazers_count}</span>
45 <span class="badge badge-secondary">Watch: ${repo.watchers_count}</span>
46 <span class="badge badge-success">Forked: ${repo.forks_count}</span>
47 </div>
48 </div>
49 </div>`
50 })
51
52 document.getElementById('repos').innerHTML = output;
53 }
54
55 clearProfile() {
56 this.profile.innerHTML = '';
57 }
58
59 showAlert(message, className) {
60

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected