forked from you-apps/you-apps.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
64 lines (51 loc) · 1.63 KB
/
app.js
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
62
63
64
const $ = document.querySelector.bind(document);
const x = document.createElement.bind(document);
const reposUrl = "https://api.github.com/orgs/you-apps/repos";
const membersUrl = "https://api.github.com/orgs/you-apps/members";
async function fetchJson(url) {
const response = await fetch(url);
const json = await response.json();
return json;
}
async function loadRepos() {
const repos = await fetchJson(reposUrl);
repos
.filter(repo => repo.name.includes("You"))
.sort((a, b) => b.stargazers_count - a.stargazers_count)
.forEach(repo => {
const a = x("a");
a.className = "card";
a.href = repo.html_url;
const img = x("img");
img.src = `https://raw.githubusercontent.com/you-apps/${repo.name}/main/fastlane/metadata/android/en-US/images/icon.png`;
const div = x("div");
const h3 = x("h3");
h3.textContent = repo.name;
const p = x("p");
p.textContent = repo.description;
div.append(h3, p);
const span = x("span");
span.className = "stars";
const starIcon = x("img");
starIcon.src = "assets/star.svg";
span.append(starIcon, repo.stargazers_count);
a.append(img, div, span);
$("#apps > div").appendChild(a);
});
}
async function loadMembers() {
const members = await fetchJson(membersUrl);
for (const member of members) {
const a = x("a");
a.className = "card";
a.href = member.html_url;
const img = x("img");
img.src = member.avatar_url;
const h3 = x("h3");
h3.textContent = member.login;
a.append(img, h3);
$("#team > div").appendChild(a);
}
}
loadRepos();
loadMembers();