From 4c68a035b9db2c35e0ec505718393e7ffc23f26f Mon Sep 17 00:00:00 2001 From: loulunds Date: Mon, 27 Sep 2021 23:09:14 +0200 Subject: [PATCH 01/16] user profile and pull request done --- code/index.html | 38 ++++++++++--------- code/script.js | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 17 deletions(-) diff --git a/code/index.html b/code/index.html index 2fb5e0ae..a7dd6ced 100644 --- a/code/index.html +++ b/code/index.html @@ -1,21 +1,25 @@ - - - - - Project GitHub Tracker - - - -

GitHub Tracker

-

Projects:

-
+ + + + + Project GitHub Tracker + + + +

GitHub Tracker

+

Projects:

+
+
+
+
+
- - + + - - - - \ No newline at end of file + + + + diff --git a/code/script.js b/code/script.js index e69de29b..0a2c69a0 100644 --- a/code/script.js +++ b/code/script.js @@ -0,0 +1,98 @@ +console.log("script works?"); + +const userName = "Loulunds"; +const USER_URL = `https://api.github.com/users/${userName}`; +const REPOS_API_URL = `https://api.github.com/users/${userName}/repos`; +const userContainer = document.getElementById("userInfo"); +const reposContainer = document.getElementById("projects"); +const commentsContainer = document.getElementById("comments"); + +const getUserData = () => { + fetch(USER_URL) + .then((response) => response.json()) + .then((data) => { + reposContainer.innerHTML = ` +

Username: ${data.login}

+ + `; + }) + .catch(() => { + reposContainer.innerHTML = `

Sorry, we could not find the information

`; + }); +}; + +getUserData(); + +const fetchRepos = () => { + fetch(REPOS_API_URL) + .then((response) => response.json()) + .then((data) => { + // console.log(data); + + const forkedRepos = data.filter( + (repo) => repo.fork && repo.name.startsWith("project-") + ); + forkedRepos.forEach( + (repo) => + (reposContainer.innerHTML += ` +

${repo.name}

+

${repo.html_url}

+

${repo.default_branch}

+ `) + ); + getPullRequests(forkedRepos); + // console.log(forkedRepos); + }) + .catch(() => { + reposContainer.innerHTML = `

Sorry, we could not find the information

`; + }); +}; +fetchRepos(); + +const getPullRequests = (repos) => { + console.log(repos); + //Get all the PRs for each project. + repos.forEach((repo) => { + fetch(`https://api.github.com/repos/technigo/${repo.name}/pulls`) + .then((res) => res.json()) + .then((data) => { + // console.log(data); + + const filteredPulls = data.filter( + (pull) => pull.user.login === repo.owner.login + ); + + console.log(filteredPulls); + const COMMENTS_URL = filteredPulls[0].review_comments_url; + const COMMITS_URL = filteredPulls[0].commits_url; + //TODO + //1. Find only the PR that you made by comparing pull.user.login + // with repo.owner.login + //2. Now you're able to get the commits for each repo by using + // the commits_url as an argument to call another function + //3. You can also get the comments for each PR by calling + // another function with the review_comments_url as argument + // showComments(COMMENTS_URL); + console.log(COMMENTS_URL); + console.log(COMMITS_URL); + }); + }); +}; + +getPullRequests(); + +const showComments = (urlList) => { + console.log(urlList); + urlList.forEach((url) => { + fetch(`'${url}'`) + .then((res) => res.json()) + .then((data) => { + console.log(data); + + const comments = data.body; + commentsContainer.innerHTML += `${comments}`; + }); + }); +}; + +showComments(); From 87e1308fb7573103cc297751ebaeeec772c72889 Mon Sep 17 00:00:00 2001 From: loulunds Date: Tue, 28 Sep 2021 15:39:28 +0200 Subject: [PATCH 02/16] fetched commits url --- code/chart.js | 19 ++++++++++++++++++- code/index.html | 2 ++ code/script.js | 44 +++++++++++++++++++------------------------- 3 files changed, 39 insertions(+), 26 deletions(-) diff --git a/code/chart.js b/code/chart.js index 92e85a30..776e35de 100644 --- a/code/chart.js +++ b/code/chart.js @@ -1,4 +1,21 @@ //DOM-selector for the canvas 👇 -const ctx = document.getElementById('chart').getContext('2d') +const ctx = document.getElementById("chart").getContext("2d"); //"Draw" the chart here 👇 +const drawPolarChart = (amount) => { + const config = { + type: "polarArea", + data: { + labels: ["Finished Projects", "Projects Left"], + datasets: [ + { + label: "My First Dataset", + data: [amount, 19 - amount], + backgroundColor: ["rgb(255, 99, 132)", "rgb(75, 192, 192)"], + }, + ], + }, + }; + + const myChart = new Chart(ctx, config); +}; diff --git a/code/index.html b/code/index.html index a7dd6ced..94989ca7 100644 --- a/code/index.html +++ b/code/index.html @@ -6,6 +6,7 @@ Project GitHub Tracker +

GitHub Tracker

@@ -14,6 +15,7 @@

Projects:

+
diff --git a/code/script.js b/code/script.js index 0a2c69a0..2d840b61 100644 --- a/code/script.js +++ b/code/script.js @@ -6,6 +6,7 @@ const REPOS_API_URL = `https://api.github.com/users/${userName}/repos`; const userContainer = document.getElementById("userInfo"); const reposContainer = document.getElementById("projects"); const commentsContainer = document.getElementById("comments"); +const commitsContainer = document.getElementById("commits"); const getUserData = () => { fetch(USER_URL) @@ -21,8 +22,6 @@ const getUserData = () => { }); }; -getUserData(); - const fetchRepos = () => { fetch(REPOS_API_URL) .then((response) => response.json()) @@ -40,6 +39,7 @@ const fetchRepos = () => {

${repo.default_branch}

`) ); + drawChart(forkedRepos.length); getPullRequests(forkedRepos); // console.log(forkedRepos); }) @@ -47,24 +47,24 @@ const fetchRepos = () => { reposContainer.innerHTML = `

Sorry, we could not find the information

`; }); }; -fetchRepos(); const getPullRequests = (repos) => { console.log(repos); //Get all the PRs for each project. repos.forEach((repo) => { - fetch(`https://api.github.com/repos/technigo/${repo.name}/pulls`) + fetch( + `https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100/page=3` + ) .then((res) => res.json()) .then((data) => { // console.log(data); - const filteredPulls = data.filter( + const filteredPull = data.find( (pull) => pull.user.login === repo.owner.login ); - console.log(filteredPulls); - const COMMENTS_URL = filteredPulls[0].review_comments_url; - const COMMITS_URL = filteredPulls[0].commits_url; + showCommits(filteredPull.commits_url); + //TODO //1. Find only the PR that you made by comparing pull.user.login // with repo.owner.login @@ -73,26 +73,20 @@ const getPullRequests = (repos) => { //3. You can also get the comments for each PR by calling // another function with the review_comments_url as argument // showComments(COMMENTS_URL); - console.log(COMMENTS_URL); - console.log(COMMITS_URL); }); }); }; -getPullRequests(); - -const showComments = (urlList) => { - console.log(urlList); - urlList.forEach((url) => { - fetch(`'${url}'`) - .then((res) => res.json()) - .then((data) => { - console.log(data); - - const comments = data.body; - commentsContainer.innerHTML += `${comments}`; - }); - }); +const showCommits = (url) => { + fetch(url) + .then((res) => res.json()) + .then((data) => { + console.log(data); + commitsContainer.innerHTML += ` +

Commit: ${data.length}

+ `; + }); }; -showComments(); +getUserData(); +fetchRepos(); From ec75984606dc9e310c44772fc680f4f69b5ddc6b Mon Sep 17 00:00:00 2001 From: loulunds Date: Wed, 29 Sep 2021 08:26:10 +0200 Subject: [PATCH 03/16] added and fixed dates --- code/chart.js | 2 +- code/script.js | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/chart.js b/code/chart.js index 776e35de..6fd3139d 100644 --- a/code/chart.js +++ b/code/chart.js @@ -2,7 +2,7 @@ const ctx = document.getElementById("chart").getContext("2d"); //"Draw" the chart here 👇 -const drawPolarChart = (amount) => { +const drawChart = (amount) => { const config = { type: "polarArea", data: { diff --git a/code/script.js b/code/script.js index 2d840b61..e94dc80e 100644 --- a/code/script.js +++ b/code/script.js @@ -12,13 +12,16 @@ const getUserData = () => { fetch(USER_URL) .then((response) => response.json()) .then((data) => { - reposContainer.innerHTML = ` + userContainer.innerHTML = `

Username: ${data.login}

+

Fullname: ${data.name}

+

Location: ${data.location}

+ `; }) .catch(() => { - reposContainer.innerHTML = `

Sorry, we could not find the information

`; + userContainer.innerHTML = `

Sorry, we could not find the information

`; }); }; @@ -37,15 +40,16 @@ const fetchRepos = () => {

${repo.name}

${repo.html_url}

${repo.default_branch}

+

${repo.pushed_at.toString().slice(0, 10)}

`) ); drawChart(forkedRepos.length); getPullRequests(forkedRepos); // console.log(forkedRepos); - }) - .catch(() => { - reposContainer.innerHTML = `

Sorry, we could not find the information

`; }); + // .catch(() => { + // reposContainer.innerHTML = `

Sorry, we could not find the information

`; + // }); }; const getPullRequests = (repos) => { @@ -53,7 +57,7 @@ const getPullRequests = (repos) => { //Get all the PRs for each project. repos.forEach((repo) => { fetch( - `https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100/page=3` + `https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100` ) .then((res) => res.json()) .then((data) => { From c14cdb5e218046bd4dfbecc5c8f4e4add88511f8 Mon Sep 17 00:00:00 2001 From: loulunds Date: Wed, 29 Sep 2021 12:51:42 +0200 Subject: [PATCH 04/16] added dynamic id --- code/script.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/script.js b/code/script.js index e94dc80e..b61219de 100644 --- a/code/script.js +++ b/code/script.js @@ -39,8 +39,9 @@ const fetchRepos = () => { (reposContainer.innerHTML += `

${repo.name}

${repo.html_url}

-

${repo.default_branch}

-

${repo.pushed_at.toString().slice(0, 10)}

+

with default branch ${repo.default_branch}

+

Recent push: ${new Date(repo.pushed_at).toDateString()}

+

Commits:

`) ); drawChart(forkedRepos.length); @@ -67,7 +68,7 @@ const getPullRequests = (repos) => { (pull) => pull.user.login === repo.owner.login ); - showCommits(filteredPull.commits_url); + showCommits(filteredPull.commits_url, repo.name); //TODO //1. Find only the PR that you made by comparing pull.user.login @@ -81,14 +82,12 @@ const getPullRequests = (repos) => { }); }; -const showCommits = (url) => { +const showCommits = (url, myRepoName) => { fetch(url) .then((res) => res.json()) .then((data) => { console.log(data); - commitsContainer.innerHTML += ` -

Commit: ${data.length}

- `; + document.getElementById(`commit-${myRepoName}`).innerHTML += data.length; }); }; From 2f3bae49daba73f2a78090c2dc3ef02f1886fb71 Mon Sep 17 00:00:00 2001 From: lousanne Date: Wed, 29 Sep 2021 21:22:54 +0200 Subject: [PATCH 05/16] fixed mobile view styling --- .vscode/settings.json | 4 +- README.md | 26 +-- code/chart.js | 77 +++++-- code/images/GitHub-Mark-120px-plus.png | Bin 0 -> 4268 bytes code/images/GitHub-Mark-32px.png | Bin 0 -> 1714 bytes code/images/GitHub-Mark-64px.png | Bin 0 -> 2625 bytes code/images/GitHub-Mark-Light-120px-plus.png | Bin 0 -> 4044 bytes code/images/GitHub-Mark-Light-32px.png | Bin 0 -> 1571 bytes code/images/GitHub-Mark-Light-64px.png | Bin 0 -> 2330 bytes code/images/GitHub_Logo.png | Bin 0 -> 13001 bytes code/images/GitHub_Logo_White.png | Bin 0 -> 31120 bytes code/images/book.png | Bin 0 -> 12652 bytes code/images/menu (1).png | Bin 0 -> 9978 bytes code/images/notification.png | Bin 0 -> 19127 bytes code/images/pin-map.png | Bin 0 -> 25462 bytes code/index.html | 59 +++--- code/script.js | 203 ++++++++++--------- code/style.css | 162 ++++++++++++++- 18 files changed, 370 insertions(+), 161 deletions(-) create mode 100644 code/images/GitHub-Mark-120px-plus.png create mode 100644 code/images/GitHub-Mark-32px.png create mode 100644 code/images/GitHub-Mark-64px.png create mode 100644 code/images/GitHub-Mark-Light-120px-plus.png create mode 100644 code/images/GitHub-Mark-Light-32px.png create mode 100644 code/images/GitHub-Mark-Light-64px.png create mode 100644 code/images/GitHub_Logo.png create mode 100644 code/images/GitHub_Logo_White.png create mode 100644 code/images/book.png create mode 100644 code/images/menu (1).png create mode 100644 code/images/notification.png create mode 100644 code/images/pin-map.png diff --git a/.vscode/settings.json b/.vscode/settings.json index e8783bfe..d6f62461 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ -{ - "liveServer.settings.port": 5505 +{ + "liveServer.settings.port": 5505 } \ No newline at end of file diff --git a/README.md b/README.md index 1613a3b0..80ffc9c8 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -# GitHub Tracker - -Replace this readme with your own information about your project. - -Start by briefly describing the assignment in a sentence or two. Keep it short and to the point. - -## The problem - -Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next? - -## View it live - -Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. +# GitHub Tracker + +Replace this readme with your own information about your project. + +Start by briefly describing the assignment in a sentence or two. Keep it short and to the point. + +## The problem + +Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next? + +## View it live + +Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. diff --git a/code/chart.js b/code/chart.js index 6fd3139d..3a832202 100644 --- a/code/chart.js +++ b/code/chart.js @@ -1,21 +1,56 @@ -//DOM-selector for the canvas 👇 -const ctx = document.getElementById("chart").getContext("2d"); - -//"Draw" the chart here 👇 -const drawChart = (amount) => { - const config = { - type: "polarArea", - data: { - labels: ["Finished Projects", "Projects Left"], - datasets: [ - { - label: "My First Dataset", - data: [amount, 19 - amount], - backgroundColor: ["rgb(255, 99, 132)", "rgb(75, 192, 192)"], - }, - ], - }, - }; - - const myChart = new Chart(ctx, config); -}; +//DOM-selector for the canvas 👇 +const ctx = document.getElementById("chart").getContext("2d"); + +//"Draw" the chart here 👇 +const drawChart = (amount) => { + const config = { + type: "polarArea", + data: { + labels: [ + "Finished Projects", + "Projects Left", + "Individual Projects", + "Team Projects", + ], + datasets: [ + { + label: "My First Dataset", + data: [amount, 19 - amount, amount - 4, amount - 2], + backgroundColor: [ + "rgb(255, 99, 132)", + "rgb(75, 192, 192)", + "rgb(247,226,0)", + "rgb(84,81,185)", + ], + }, + ], + }, + options: { + plugins: { + title: { + display: true, + text: "My Github Repositories", + color: "#138", + }, + }, + responsive: true, + borderColor: "#d32", + color: "#138", + }, + plugins: [plugin], + }; + + const myChart = new Chart(ctx, config); +}; + +const plugin = { + id: "custom_canvas_background_color", + beforeDraw: (chart) => { + const ctx = chart.canvas.getContext("2d"); + ctx.save(); + ctx.globalCompositeOperation = "destination-over"; + ctx.fillStyle = "rgb(189,219,227)"; + ctx.fillRect(0, 0, chart.width, chart.height); + ctx.restore(); + }, +}; diff --git a/code/images/GitHub-Mark-120px-plus.png b/code/images/GitHub-Mark-120px-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6ff545a246caa64074ba809bbc86fcb8589071 GIT binary patch literal 4268 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 XLyRvu{aX3a{{tgEGu={c*U0|?Dtn-9 literal 0 HcmV?d00001 diff --git a/code/images/GitHub-Mark-32px.png b/code/images/GitHub-Mark-32px.png new file mode 100644 index 0000000000000000000000000000000000000000..8b25551a97921681334176ee143b41510a117d86 GIT binary patch literal 1714 zcmaJ?X;2eq7*4oFu!ne{XxAht2qc?8LXr|_LPCfTpaBK7K$c{I0Ld=NLIOeuC;@2) zZ$K%a)k+m-s0>xHmKxL%0V&0TRzzznhgyqrIC$F)0{WwLXLrBvd*^wc_uSc%h%m9E z{W5z3f#4_!7RvAyFh6!S_*<8qJ%KOIm?#E|L=rJQq=gB5C6WLG5;c?r%V0>EmEH#X z5eSwPRa6WXBMs#$5H%GtW2go-in9p>zW@UYDNNWc^XOXZQ? z1QjEV00I#$3^1wQUJ8&-2UsjB-G|9y(LDhMNN3PM{APL4eYi{(m*ERcUnJa{R+-3^ z34^A6;U^v`8N*O6ji%S@sd{fJqD`XFIUJ5zgTe5^5nj414F(y!G&=H(f)Lgzv?>%+ zAsWD}2qhpH7>|TU`X&W6IxDNuO_vET7|j5oG&&VDr!)hUO8+0KR?nh!m<)a!?|%yG zqOwq!CWCcIhE{<$E|F|@g>nP6FoYr6C<8>D?ID9%&5J(4oSbR1I^byW*g@__U z4QsF&uJSEcFeleM3~ChjEQGbHOjsGDMbyAl(p=Ttv9RaVo8~I#js@@Y9C^_2U})yn zzSHU%6FxuY?d;&65MyR({^lU*3$z$ZllDb(o&<7d;A_`h2U+3~BJ2Hv`{W}KEU801#cv_B|9Cm!ynR{S`AMsSn z;7E=B;mb!wx$L;S>yGXG^6=&WlQn9$s?&L%Y1D8TI^MlKB1DqsEng$>f4=xYWBoPI z_S1p!sJ#d2?YI4kPA{k}Eby?F=f-J9zIc`YDl^pzjVm~9ebE?Hn?t0Nx+la|D0MB; z9)2xv1G>a1|A9kQ>~DV<=X3-4yC&n!m8-3K#P z{X@0zRuQsy$+N ziSCoLJU{Z$nQy4A4Y5UJ07$5FA~qL2%Q+cLaqDU?Lz3?=BC5;Nk6BbTmmceEaM>-Z zi>O&-dSE=%ex;vcvCOk{*JQ5^_4M z4lW7%l9IqY(z7pV(?I@@8=KPFO82)O{VDI18-*d-k$YmI^XiuPs_LuFw<^ZcD}yP5 c*NrbeloN*74g`U%%F6r~k%+>C^#XapzmV0H-2eap literal 0 HcmV?d00001 diff --git a/code/images/GitHub-Mark-64px.png b/code/images/GitHub-Mark-64px.png new file mode 100644 index 0000000000000000000000000000000000000000..182a1a3f734fc1b7d712c68b04c29bad9460d6cd GIT binary patch literal 2625 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 ZsK8ky_?39l4gAjkwLQ)WTW#Z?@NW_mBhUZ< literal 0 HcmV?d00001 diff --git a/code/images/GitHub-Mark-Light-32px.png b/code/images/GitHub-Mark-Light-32px.png new file mode 100644 index 0000000000000000000000000000000000000000..628da97c70890c73e59204f5b140c4e67671e92d GIT binary patch literal 1571 zcmaJ>c~BE~6izDPQq)#Nu*KOf(n^(VHY9;fiINM65``pc+9*v(mL$bwfCjbc%v9V{8r9iX|O%>Nr%pLD2qT{mty}c=LVleeamv znz3SOSm@kP8jThvOOq(56Yzh*fz(booe!uZij=BJC6+_lbvQ~B8nA2>kXdv_RDtRY z`5QXWWEySCe6vbTs^#f?J!WC*{1~RgVx!nJTJjQyO{dRANgx|FnymtGbD9%JmCh9^y)##j7{Dcqfn*1ta$rG89pJF6w-S7Z037$rr|y0;1Onp_ zGFJdT6Q!1C0AdVB0WOmpuV=AgAQ550Tn+-mivTtYPJmz*#75#_n9oV%!#rSOfmAfy zki%C~=fTp1{O#BLpJ|0jj#m6#|LRWit-vq3PE1z9ZqyvET4sX$-Icqy7t z<=aq5ff86AuBZBu6EjJsYWM0uejufWFTwPA7Su}0Bm$7KFb!q{Um_8~A{LUG#1l(l zSehUda@kU8LIRg9fkk2tZ;~ss5~R+mM<==F7hLHpxqLB>>PQS%Vc7b~?q!%T5+h8Q z4G=4Nzyi5WZ?^gkasJ{?Xhm`JC#WG6$1K2jb@=9&D3EgD#3UhGh#*21rJjulVXjCF zvp76q62jt0zzMG5C7DlfMgPl%C^3+~wf|}Lq=}jz|MmIcQjh1Ok6NjD$Em^Iv26D> z8tt_TnM9~^Tt8mflRGPOrrX|HtT3gG4LEuuk{g2Rn}QgJIa?gZo))!!=o_l9bvD%A zZ`aHajl8#~u?!4f7F#*b*->A=R2L)6!>saz?h>#wTXT-I(XmQ zx{84skS>k=i~i`(6k4C7;Zpfx%dCPVjPayMf8pugtGM=~s=Id1l#8MZJ1-73wV#Q3 zR3>v3%}jbQs1f_Z0xo;%=LILlA+nTpKI4ha%xWW}uqHrNao~&T4AY6m`P$_n-6h*g zhoX+e4n%~gl_lhe#s+AMb7d{5WzvYTa%6Q~si@@4{;s(0zU|H&P3fE+t{7X`S#Cj@ zC#vd}^4pcBD*77Ny5=j$h8EL2_t$O38$SQiJ6fPjJMimypr~MB2(&P0aI|h}$64<0 z>_~duqNjaT=DM^6+N{&B_lED;F2wrl?!4Lk*2((x!fmrcsw+=cI^qttuZ9C}-m~5E z-ryYVpL%^xR#&(0YI5hz<(}F7-p)?FPcyJO-zVO>%9ZDXJH8pnY;GJYFDQ>vd#j_* zRrd}L(r=!g+1#nQwsO?kpS`Qq8`NxE+Zy{gf7*_7J*U2V_|NpLo{iasj7VCg_V9&| ShohtYzipXxh2)4xTkbNS=9n;FC~MOYyq z5Qu5ON?Ne?^wWKYaP5AUm;6k7ER@nCq#?pMX&OrmLdYE9CJ-6GXT^iTAd9m(`4;E} zfy}Yzg+@pt0@sk(LOz-_L`>RbTB#+~b3MT|& z14UGj%UhW)21C+=LfPqwY$6Bc>x1-?k+cr@pp=D_@sk7+lFS?R)h|hV*O@UW6`Ai_H`049j)JozV)4d8r`BUo7M!zgCCD`;G!S0dV&q zp8LL%~Ba#6Eg$iKtZe$N47EeRXa5>+}e1_})f4LZ~7>us9|I_MOlXiY|*KdQX zeS8~zP@tW6v39VXfr*USwp~rS`=B$j`)nk?@}kq(ClF4d>YOz8hkr;=W~kkm zCW7a<(pcz5X#A0R<9Z{E*BfJ?`u2(tHC?l!+(h-PRUM^q=-1CbjbNI^81U7VyU;3( zT2f^?#ma%q8;EN&iz|Pk@=)pdaMq3d25mbDNrIP#bi|hqP`3*fT}kuvR+%ng#;F!o z!3#SBB2F;iNzfJ(L`*fNFT`NdGQiAH|Ej|Hc2f5bF>p2ufwkUZTFe}(dJ$`MX;C(0 z-V{r-E2m(c5BI}drL(~k6SEswne#fEUdvi&3FiZh%N)80&$C_2kh}Zs$!WSMT5)2L z->t!4_PuW(@0iMUf!tM3EXsxR=8aqQJS!tI77vxXD$Q$NZ1vCFp)TCJPPKgJ6$dq6 z6AvwIT>T_kTfhs9Ro&hblgcP`#)4Y!f6RfcKKz5}fFeLswhx__Ru z`f>qsFw=AMC$D2)!n`KC&FVyxLH=oq<|UuIL`hLk2jvOa!Qq_R3CqNXSp|NlZhBlh z@V0BxvHNAmtK__)^rv^SNw9j3M7}#zg*ToWtbKT~2{x#g2)k9TC|R>Dzhq!T-pA~R z>ZL3u2sdInHHePlU?n!;#-16SNWGJd=j+gQ4vI}N_YbJpa3kc$Q-$nCw8DusXXMl4 z*nJS|qzj=rNJpZI; z$vRbg>YS|lmxjj--{P0zyGBQ?yoS4%MX$EkOMqE$O+Pm%_1o-3WM-q=b4f2dQfTt> zOFR@zTq!4JBAQzKEZEFs#YOE+WUR@=e`!;~PCh-+ddeAuP%>I*Cd8Cb%!1YNZFKDIJTra-- zG#+}%TS;ZSZaqDK8^0CL=AU{B|LU>Hu0mU~}a9D5U= zlszxG=SokFC;8liaQHBlh z2BUO}iYG`REj!%$Xj-syeaVfwq3hF5*L>e!Jm^2?Jo?@}>G*`TrXZHmap&CnfJ4u^ zk68!bvsByruv+!zzl{#!R8}8y9^Ra-sENMbl68A9w_o}?z5eO*E&If08t#Rq+K#s{ zb}mq^_${jVjmeHhTXNWUoFMIe)lJ26`vXz zWvk~HR@whs?OF8cKV8YyEs1et|A`i*;GS`_+RH=ns17TKJg|lJv;Y(H<+2}hIXsat z5ANw;3-!HT?J@e?t>VkCV$sSaXTfoVh-!;h=kN@TPi^X~Dlo@yIP4fl2 z#pt2|1Jj>Ov$71^ei~h1H$uM|R6wY=ZG3Q99U>X|mV`BoS9`4vYw~J@(FazM_8hI9o-&aIo@yE| z6xi92RAt7!kM;6HVQV)mjXu!6Snn}L!YlYRm7CF)XL~-WsBd9Uk6GUDFm8S4@oR}s z!f_@&&0G2FHTy?nQd8F&@&}*SrC)xRgU!h6eepUXk}}=;?q@wX1aZ#AJc}avS@*XR MKo6o-Qerdz3wwRZj{pDw literal 0 HcmV?d00001 diff --git a/code/images/GitHub_Logo.png b/code/images/GitHub_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e03d8dd8bcf0d851fe1eb89f93a39de843e5c69c GIT binary patch literal 13001 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 Dq_KSN literal 0 HcmV?d00001 diff --git a/code/images/GitHub_Logo_White.png b/code/images/GitHub_Logo_White.png new file mode 100644 index 0000000000000000000000000000000000000000..c61ab9d0582e487852d3afdbf22987208123591e GIT binary patch literal 31120 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 literal 0 HcmV?d00001 diff --git a/code/images/menu (1).png b/code/images/menu (1).png new file mode 100644 index 0000000000000000000000000000000000000000..227404ae74be61c9ee0e86d53081819888327eff GIT binary patch literal 9978 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 Z`r_QN^QA3qFQ6_E{GsN9@_S}4{|!eQwOjxI literal 0 HcmV?d00001 diff --git a/code/images/notification.png b/code/images/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..ecdfd1c5316ea11e80183124463287a2ba39049b GIT binary patch literal 19127 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 A7ytkO literal 0 HcmV?d00001 diff --git a/code/images/pin-map.png b/code/images/pin-map.png new file mode 100644 index 0000000000000000000000000000000000000000..cd44c00f7be46d53f60bfc28bd9ec18a89150d47 GIT binary patch literal 25462 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 literal 0 HcmV?d00001 diff --git a/code/index.html b/code/index.html index 94989ca7..dce709a4 100644 --- a/code/index.html +++ b/code/index.html @@ -1,27 +1,32 @@ - - - - - - - Project GitHub Tracker - - - - -

GitHub Tracker

-

Projects:

-
-
-
-
-
-
- - - - - - - - + + + + + + + Project GitHub Tracker + + + + +
+ + +
+ + + + + diff --git a/code/script.js b/code/script.js index b61219de..b153a20b 100644 --- a/code/script.js +++ b/code/script.js @@ -1,95 +1,108 @@ -console.log("script works?"); - -const userName = "Loulunds"; -const USER_URL = `https://api.github.com/users/${userName}`; -const REPOS_API_URL = `https://api.github.com/users/${userName}/repos`; -const userContainer = document.getElementById("userInfo"); -const reposContainer = document.getElementById("projects"); -const commentsContainer = document.getElementById("comments"); -const commitsContainer = document.getElementById("commits"); - -const getUserData = () => { - fetch(USER_URL) - .then((response) => response.json()) - .then((data) => { - userContainer.innerHTML = ` -

Username: ${data.login}

-

Fullname: ${data.name}

-

Location: ${data.location}

- - - `; - }) - .catch(() => { - userContainer.innerHTML = `

Sorry, we could not find the information

`; - }); -}; - -const fetchRepos = () => { - fetch(REPOS_API_URL) - .then((response) => response.json()) - .then((data) => { - // console.log(data); - - const forkedRepos = data.filter( - (repo) => repo.fork && repo.name.startsWith("project-") - ); - forkedRepos.forEach( - (repo) => - (reposContainer.innerHTML += ` -

${repo.name}

-

${repo.html_url}

-

with default branch ${repo.default_branch}

-

Recent push: ${new Date(repo.pushed_at).toDateString()}

-

Commits:

- `) - ); - drawChart(forkedRepos.length); - getPullRequests(forkedRepos); - // console.log(forkedRepos); - }); - // .catch(() => { - // reposContainer.innerHTML = `

Sorry, we could not find the information

`; - // }); -}; - -const getPullRequests = (repos) => { - console.log(repos); - //Get all the PRs for each project. - repos.forEach((repo) => { - fetch( - `https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100` - ) - .then((res) => res.json()) - .then((data) => { - // console.log(data); - - const filteredPull = data.find( - (pull) => pull.user.login === repo.owner.login - ); - - showCommits(filteredPull.commits_url, repo.name); - - //TODO - //1. Find only the PR that you made by comparing pull.user.login - // with repo.owner.login - //2. Now you're able to get the commits for each repo by using - // the commits_url as an argument to call another function - //3. You can also get the comments for each PR by calling - // another function with the review_comments_url as argument - // showComments(COMMENTS_URL); - }); - }); -}; - -const showCommits = (url, myRepoName) => { - fetch(url) - .then((res) => res.json()) - .then((data) => { - console.log(data); - document.getElementById(`commit-${myRepoName}`).innerHTML += data.length; - }); -}; - -getUserData(); -fetchRepos(); +console.log("script works?"); + +const userName = "Loulunds"; +const USER_URL = `https://api.github.com/users/${userName}`; +const REPOS_API_URL = `https://api.github.com/users/${userName}/repos`; +const userContainer = document.getElementById("userInfo"); +const reposContainer = document.getElementById("projects"); +const commentsContainer = document.getElementById("comments"); +const commitsContainer = document.getElementById("commits"); + +const getUserData = () => { + fetch(USER_URL) + .then((response) => response.json()) + .then((data) => { + userContainer.innerHTML = ` + + `; + }) + .catch(() => { + userContainer.innerHTML = `

Sorry, we could not find the information

`; + }); +}; + +const fetchRepos = () => { + fetch(REPOS_API_URL) + .then((response) => response.json()) + .then((data) => { + // console.log(data); + + const forkedRepos = data.filter( + (repo) => repo.fork && repo.name.startsWith("project-") + ); + forkedRepos.forEach( + (repo) => + (reposContainer.innerHTML += ` +
+

book${ + repo.name + }

+

Url: ${repo.html_url}

+

Default branch ${ + repo.default_branch + }

+

Recent push: ${new Date( + repo.pushed_at + ).toDateString()}

+

Commits:

+
+ `) + ); + drawChart(forkedRepos.length); + getPullRequests(forkedRepos); + // console.log(forkedRepos); + }); + // .catch(error => { + // return Promise.reject() + // }); +}; + +const getPullRequests = (repos) => { + console.log(repos); + //Get all the PRs for each project. + repos.forEach((repo) => { + fetch( + `https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100` + ) + .then((res) => res.json()) + .then((data) => { + // console.log(data); + + const filteredPull = data.find( + (pull) => pull.user.login === repo.owner.login + ); + + showCommits(filteredPull.commits_url, repo.name); + + //TODO + //1. Find only the PR that you made by comparing pull.user.login + // with repo.owner.login + //2. Now you're able to get the commits for each repo by using + // the commits_url as an argument to call another function + //3. You can also get the comments for each PR by calling + // another function with the review_comments_url as argument + // showComments(COMMENTS_URL); + }); + }); +}; + +const showCommits = (url, myRepoName) => { + fetch(url) + .then((res) => res.json()) + .then((data) => { + console.log(data); + document.getElementById(`commit-${myRepoName}`).innerHTML += data.length; + }); +}; + +getUserData(); +fetchRepos(); diff --git a/code/style.css b/code/style.css index 7c8ad447..1aa173df 100644 --- a/code/style.css +++ b/code/style.css @@ -1,3 +1,159 @@ -body { - background: #FFECE9; -} \ No newline at end of file +@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&family=Roboto&display=swap"); +/* font-family: 'Roboto', sans-serif; */ + +* { + margin: 0; + padding: 0; + font-family: "Montserrat", sans-serif; + text-decoration: none; + color: rgb(248, 239, 239); +} + +body { + background-color: rgb(29, 27, 27); +} + +.nav-mobile { + display: grid; + grid-template-columns: 3rem auto 3rem; + grid-template-rows: 3rem; + grid-template-areas: "menu icon bell"; + grid-gap: 3px; + justify-items: center; + align-items: center; + background-color: rgb(37, 35, 35); +} + +.nav-menu { + grid-area: menu; + height: 2rem; +} + +.nav-icon { + grid-area: icon; + height: 2rem; +} + +.nav-notif { + grid-area: bell; + height: 2rem; +} + +.user-profile-box { + display: grid; + padding: 2rem 0 1rem 0; + grid-template-columns: 11rem auto; + grid-template-rows: auto 3rem; + grid-template-areas: + "pic fname" + "pic name" + "pic loc"; +} + +.user-profile-box :not(.user-span) { + color: rgb(46, 107, 129); +} + +.user-profile-box > * { + padding: 0.3rem; + text-align: left; +} + +.user-username { + grid-area: name; + font-size: 1.5rem; + align-self: center; +} + +.user-fullname { + grid-area: fname; + font-size: 1rem; + align-self: flex-end; +} + +.user-location { + grid-area: loc; + font-size: 0.8rem; + align-self: flex-start; +} + +.user-pin-img { + height: 1rem !important; + padding-right: 0.5rem; +} + +.user-img { + grid-area: pic; + margin-left: 0.7rem; + height: 8rem !important; + justify-self: center; + border: double 0.4em transparent; + border-radius: 50%; + background-image: linear-gradient(white, white), + linear-gradient( + 0deg, + rgba(251, 38, 38, 1) 0%, + rgba(252, 157, 51, 1) 14%, + rgba(253, 253, 66, 1) 30%, + rgba(165, 253, 78, 1) 41%, + rgba(84, 238, 230, 1) 49%, + rgba(111, 125, 221, 1) 61%, + rgba(180, 126, 206, 1) 71%, + rgba(208, 127, 204, 1) 89%, + rgba(255, 130, 130, 1) 100% + ); + background-origin: border-box; + background-clip: content-box, border-box; +} + +#projects { + padding: 1rem 0 0.8rem 0; +} + +.repo-box { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + border: 1px solid rgb(97, 97, 97); + border-radius: 0.5rem; + align-items: center; + margin: 1rem 1rem; + padding: 0.3rem 1.3rem; +} + +.repo-box > * { + padding: 0.2rem 0; +} + +.repo-book-img { + height: 1rem !important; + padding-right: 0.5rem; +} + +.repo-name { + text-transform: uppercase; + padding: 0.3rem; + color: rgb(54, 162, 255); +} + +.repo-url a:hover { + color: rgba(208, 127, 204, 1); +} + +.repo-url a { + color: rgb(34, 117, 59); +} + +.repo-branch { + color: rgb(46, 107, 129); + font-weight: 500; +} + +.repo-date { + color: rgb(66, 128, 179); +} + +.repo-commit { + color: rgba(84, 238, 230, 1); + padding-right: 0.5rem; +} From d937cc6950685e6c7a7b52bfc9977a3e2f250783 Mon Sep 17 00:00:00 2001 From: loulunds Date: Thu, 30 Sep 2021 16:06:43 +0200 Subject: [PATCH 06/16] media queries styling --- code/chart.js | 3 ++ code/images/mylogo.png | Bin 0 -> 10485 bytes code/index.html | 23 ++++++++-- code/script.js | 28 ++++++++++-- code/style.css | 101 +++++++++++++++++++++++++++++++++++------ 5 files changed, 133 insertions(+), 22 deletions(-) create mode 100644 code/images/mylogo.png diff --git a/code/chart.js b/code/chart.js index 3a832202..0f7816f4 100644 --- a/code/chart.js +++ b/code/chart.js @@ -31,6 +31,9 @@ const drawChart = (amount) => { display: true, text: "My Github Repositories", color: "#138", + font: { + size: 25, + }, }, }, responsive: true, diff --git a/code/images/mylogo.png b/code/images/mylogo.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c44668443a316766da363449a03e8208c728e4 GIT binary patch literal 10485 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 F{|5tiM27$X literal 0 HcmV?d00001 diff --git a/code/index.html b/code/index.html index dce709a4..00115980 100644 --- a/code/index.html +++ b/code/index.html @@ -17,15 +17,30 @@ /> bell + +
-
-
-
+ +
+

My Project Repositories with Technigo

+
- +
logo
diff --git a/code/script.js b/code/script.js index b153a20b..7a432abe 100644 --- a/code/script.js +++ b/code/script.js @@ -12,11 +12,24 @@ const getUserData = () => { fetch(USER_URL) .then((response) => response.json()) .then((data) => { + console.log(data); userContainer.innerHTML = `
+ +
+
+
+
+