From 346d6dc5f797589054ff12509bd54acd346e26e5 Mon Sep 17 00:00:00 2001 From: camekman Date: Mon, 27 Sep 2021 14:31:02 +0200 Subject: [PATCH 01/15] Fetched repos, Got them in the browser, Filtered Technigo repos, Tested chart library --- code/ToDo | 7 +++++++ code/chart.js | 25 ++++++++++++++++++++++++- code/index.html | 35 ++++++++++++++++++----------------- code/script.js | 24 ++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 18 deletions(-) create mode 100644 code/ToDo diff --git a/code/ToDo b/code/ToDo new file mode 100644 index 00000000..c669fe4c --- /dev/null +++ b/code/ToDo @@ -0,0 +1,7 @@ +ToDo: + +1) Fetch the repos +2) Consol log them +3) Get them to show in the browser +4) Filter out the Technigo repos +5) Test chart library \ No newline at end of file diff --git a/code/chart.js b/code/chart.js index 92e85a30..b871a431 100644 --- a/code/chart.js +++ b/code/chart.js @@ -1,4 +1,27 @@ //DOM-selector for the canvas 👇 -const ctx = document.getElementById('chart').getContext('2d') +const ctx = document.getElementById("chart").getContext("2d"); //"Draw" the chart here 👇 +// console.log("Chart is heart"); + +const drawChart = (amount) => { + const config = { + type: "doughnut", + data: { + labels: ["Finished Projects", "Projects Left"], + datasets: [ + { + label: "My First Dataset", + data: [amount, 20 - amount], + backgroundColor: [ + "rgb(255, 99, 132)", + "rgb(54, 162, 235)", + "rgb(255, 205, 86)", + ], + hoverOffset: 4, + }, + ], + }, + }; + const myChart = new Chart(ctx, config); +}; diff --git a/code/index.html b/code/index.html index 2fb5e0ae..2abe238b 100644 --- a/code/index.html +++ b/code/index.html @@ -1,21 +1,22 @@ - - - - - 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..537c5aa3 100644 --- a/code/script.js +++ b/code/script.js @@ -0,0 +1,24 @@ +// DOM selectors - store the URL +// My username to GitHub + url to repos +const USER = "camekman"; +const REPOS_URL = `https://api.github.com/users/${USER}/repos`; +const projectsContainer = document.getElementById("projects"); + +// Function with the fetch wrapped inside +const getRepos = () => { + fetch(REPOS_URL) + .then((response) => response.json()) + .then((data) => { + console.log(data); + //data.forEach((repo) => console.log(repo.name)); + const forkedRepos = data.filter( + (repo) => repo.fork && repo.name.startsWith("project-") + ); + forkedRepos.forEach( + (repo) => (projectsContainer.innerHTML += `

${repo.name}

`) + ); + drawChart(forkedRepos.length); + }); +}; + +getRepos(); From 763f533e48956f2bc256ce449821b00d6987bae7 Mon Sep 17 00:00:00 2001 From: camekman Date: Mon, 27 Sep 2021 17:26:33 +0200 Subject: [PATCH 02/15] styling --- code/ToDo | 5 +++- code/index.html | 21 ++++++++++---- code/script.js | 12 +++++++- code/style.css | 76 +++++++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 105 insertions(+), 9 deletions(-) diff --git a/code/ToDo b/code/ToDo index c669fe4c..0be690d3 100644 --- a/code/ToDo +++ b/code/ToDo @@ -4,4 +4,7 @@ ToDo: 2) Consol log them 3) Get them to show in the browser 4) Filter out the Technigo repos -5) Test chart library \ No newline at end of file +5) Test chart library + +1) Fetch pull requests +2) Display Profile pic + user name \ No newline at end of file diff --git a/code/index.html b/code/index.html index 2abe238b..8fcee150 100644 --- a/code/index.html +++ b/code/index.html @@ -9,12 +9,23 @@ -

GitHub Tracker

-

Projects:

-
- +
+
+
+ profile-pic +

Camilla Ekman

+
+
+

Popular repositories:

+
+
+
- + diff --git a/code/script.js b/code/script.js index 537c5aa3..19d7cda1 100644 --- a/code/script.js +++ b/code/script.js @@ -15,10 +15,20 @@ const getRepos = () => { (repo) => repo.fork && repo.name.startsWith("project-") ); forkedRepos.forEach( - (repo) => (projectsContainer.innerHTML += `

${repo.name}

`) + (repo) => + (projectsContainer.innerHTML += `

${repo.name}

`) ); drawChart(forkedRepos.length); }); }; getRepos(); + +// pull requests +const getPullRequests = (repo) => { + repo.forEach((repo) => { + fetch("https://api.github.com/repos/technigo/" + repo.name + PULLS) + .then((response) => response.json()) + .then((data) => {}); + }); +}; diff --git a/code/style.css b/code/style.css index 7c8ad447..398ccf9b 100644 --- a/code/style.css +++ b/code/style.css @@ -1,3 +1,75 @@ body { - background: #FFECE9; -} \ No newline at end of file + background: #f3f0ef; + font-family: Arial, Helvetica, sans-serif; +} + +.header { + display: flex; + background: rgb(36, 36, 36); + padding: 40px; +} + +.profile-container { + display: flex; + border-bottom: solid rgb(163, 160, 160); + border-width: 1px; +} + +.profile-pic { + width: 10%; + height: 10%; + object-fit: cover; + border-radius: 70%; + margin: 20px; +} + +h1 { + display: none; +} + +.repo-container { + display: flex; + flex-direction: column; + background-color: #e5e2e2; + padding: 20px; +} + +.repositories { + background: #f3f0ef; + display: flex; + flex-direction: column; + border: solid rgb(163, 160, 160); + border-radius: 6px; + border-width: 1px; + padding: 10px; + margin-top: 8px; +} + +.chart-container { + display: flex; + padding: 20px; +} + +@media (min-width: 1025px) { + h1 { + display: contents; + } + .main-container { + display: flex; + flex-direction: row; + } + .profile-container { + flex-direction: column; + width: 25%; + } + .profile-pic { + width: 80%; + height: 80%; + object-fit: cover; + } + + .repo-container { + flex-direction: row; + width: 75%; + } +} From b46fd8bbf792664715fff8fc7c6bce516f7c9369 Mon Sep 17 00:00:00 2001 From: camekman Date: Tue, 28 Sep 2021 12:29:12 +0200 Subject: [PATCH 03/15] changed profile section, styling --- code/index.html | 23 +++++++++++++++-------- code/script.js | 49 +++++++++++++++++++++++++++++++++++++++++-------- code/style.css | 14 ++++++-------- 3 files changed, 62 insertions(+), 24 deletions(-) diff --git a/code/index.html b/code/index.html index 8fcee150..1504a173 100644 --- a/code/index.html +++ b/code/index.html @@ -10,22 +10,29 @@
-
-
- + + + +

+
+

Popular repositories:

+ + +
- - diff --git a/code/script.js b/code/script.js index 19d7cda1..167e15ed 100644 --- a/code/script.js +++ b/code/script.js @@ -2,7 +2,10 @@ // My username to GitHub + url to repos const USER = "camekman"; const REPOS_URL = `https://api.github.com/users/${USER}/repos`; +const INFO_URL = `https://api.github.com/users/${USER}`; const projectsContainer = document.getElementById("projects"); +const profileContainer = document.getElementById("profile-container"); +const image = document.getElementById("image"); // Function with the fetch wrapped inside const getRepos = () => { @@ -16,19 +19,49 @@ const getRepos = () => { ); forkedRepos.forEach( (repo) => - (projectsContainer.innerHTML += `

${repo.name}

`) + (projectsContainer.innerHTML += `

${repo.name}

+
${repo.default_branch}
Recent update ${new Date( + repo.updated_at + ).toLocaleDateString()}
`) ); drawChart(forkedRepos.length); + //getPullRequests(forkedRepos); }); }; getRepos(); -// pull requests -const getPullRequests = (repo) => { - repo.forEach((repo) => { - fetch("https://api.github.com/repos/technigo/" + repo.name + PULLS) - .then((response) => response.json()) - .then((data) => {}); - }); +const getInfo = () => { + fetch(INFO_URL) + .then((response) => response.json()) + .then((data) => { + // console.log(data); + // console.log(data.name); + // console.log(data.login); + // console.log(data.bio); + // console.log(data.avatar_url); + image.src = data.avatar_url; + profileContainer.innerHTML += `
+

${data.name}

+
${data.login}
+
${data.bio}
+
`; + }); }; + +getInfo(); + +// pull requests +// const getPullRequests = (forkedRepos) => { +// forkedRepos.forEach((repo) => { +// fetch( +// "https://api.github.com/repos/technigo/${repo.name}/pulls?per_page=100" +// ) +// .then((response) => response.json()) +// .then((data) => { +// console.log(data); +// }); +// }); +// }; diff --git a/code/style.css b/code/style.css index 398ccf9b..f1f963c5 100644 --- a/code/style.css +++ b/code/style.css @@ -31,7 +31,7 @@ h1 { display: flex; flex-direction: column; background-color: #e5e2e2; - padding: 20px; + padding: 5px; } .repositories { @@ -41,7 +41,7 @@ h1 { border: solid rgb(163, 160, 160); border-radius: 6px; border-width: 1px; - padding: 10px; + padding: 5px; margin-top: 8px; } @@ -56,20 +56,18 @@ h1 { } .main-container { display: flex; - flex-direction: row; + flex-direction: column; } .profile-container { flex-direction: column; - width: 25%; } .profile-pic { - width: 80%; - height: 80%; + width: 20%; + height: 20%; object-fit: cover; } .repo-container { - flex-direction: row; - width: 75%; + flex-direction: column; } } From 5fc57bf42bfec7d006bc4c25c4be433b07fdc75c Mon Sep 17 00:00:00 2001 From: camekman Date: Tue, 28 Sep 2021 15:06:34 +0200 Subject: [PATCH 04/15] added function for PR --- code/index.html | 6 +----- code/script.js | 45 ++++++++++++++++++++++++++++++++------------- code/style.css | 10 +++++----- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/code/index.html b/code/index.html index 1504a173..0dbe16ef 100644 --- a/code/index.html +++ b/code/index.html @@ -11,11 +11,7 @@
- + - -

+

diff --git a/code/script.js b/code/script.js index 770dc898..933f12fa 100644 --- a/code/script.js +++ b/code/script.js @@ -3,7 +3,6 @@ const USER = "camekman"; const REPOS_URL = `https://api.github.com/users/${USER}/repos`; const INFO_URL = `https://api.github.com/users/${USER}`; -//const COMMIT_URL = `https://api.github.com/repos/Technigo/project-news-site/pulls/227/commits`; const projectsContainer = document.getElementById("projects"); const profileContainer = document.getElementById("profile-container"); const image = document.getElementById("image"); @@ -25,7 +24,9 @@ const getRepos = () => { }">

${repo.name}

${repo.default_branch}
latest update: ${new Date( repo.updated_at - ).toLocaleDateString()}
`) + ).toLocaleDateString()} +
Git URL: ${repo.name}
+ `) ); drawChart(forkedRepos.length); getPullRequests(forkedRepos); diff --git a/code/style.css b/code/style.css index be5dca53..05b97f82 100644 --- a/code/style.css +++ b/code/style.css @@ -6,7 +6,7 @@ body { .header { display: flex; background: rgb(36, 36, 36); - padding: 40px; + padding: 30px; } .profile-container { @@ -42,7 +42,7 @@ h1 { border-radius: 6px; border-width: 1px; padding: 5px; - margin-top: 8px; + margin-top: 2px; } .chart-container { @@ -54,20 +54,7 @@ h1 { h1 { display: contents; } - .main-container { - display: flex; - flex-direction: column; - } .profile-container { - flex-direction: column; - } - /* .profile-pic { - width: 20%; - height: 20%; - object-fit: cover; - } */ - - .repo-container { - flex-direction: column; + /* display: row; */ } } From 569130b5347e3ef42ac4f88963ff69dcc8260b46 Mon Sep 17 00:00:00 2001 From: camekman Date: Wed, 29 Sep 2021 13:30:39 +0200 Subject: [PATCH 06/15] styling --- code/script.js | 6 +++--- code/style.css | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/code/script.js b/code/script.js index 933f12fa..e4a51f23 100644 --- a/code/script.js +++ b/code/script.js @@ -1,5 +1,5 @@ // DOM selectors - store the URL -// My username to GitHub + url to repos +// My username to GitHub + URL to repos const USER = "camekman"; const REPOS_URL = `https://api.github.com/users/${USER}/repos`; const INFO_URL = `https://api.github.com/users/${USER}`; @@ -12,7 +12,7 @@ const getRepos = () => { fetch(REPOS_URL) .then((response) => response.json()) .then((data) => { - console.log(data); + //console.log(data); //data.forEach((repo) => console.log(repo.name)); const forkedRepos = data.filter( (repo) => repo.fork && repo.name.startsWith("project-") @@ -79,7 +79,7 @@ const getCommits = (commitsURL, repo) => { fetch(commitsURL) .then((response) => response.json()) .then((data) => { - console.log(data); + //console.log(data); document.getElementById( `${repo.name}` ).innerHTML += `
number of pull requests: ${data.length}
`; diff --git a/code/style.css b/code/style.css index 05b97f82..bfa57b89 100644 --- a/code/style.css +++ b/code/style.css @@ -13,6 +13,10 @@ body { display: flex; border-bottom: solid rgb(163, 160, 160); border-width: 1px; + align-items: center; + padding: 5px; + padding-right: 20px; + justify-content: center; } .profile-pic { @@ -20,7 +24,7 @@ body { height: 20%; object-fit: cover; border-radius: 70%; - margin: 5px; + margin-right: 20px; } h1 { @@ -31,7 +35,7 @@ h1 { display: flex; flex-direction: column; background-color: #e5e2e2; - padding: 5px; + padding: 10px; } .repositories { @@ -41,8 +45,8 @@ h1 { border: solid rgb(163, 160, 160); border-radius: 6px; border-width: 1px; - padding: 5px; - margin-top: 2px; + padding-left: 10px; + margin-top: 10px; } .chart-container { @@ -50,7 +54,30 @@ h1 { padding: 20px; } -@media (min-width: 1025px) { +@media (min-width: 668px) { + .profile-container { + padding: 10px; + justify-content: left; + } + .profile-pic { + width: 10%; + height: 10%; + } + .repo-container { + padding: 20px; + text-align: center; + } + .repositories { + width: 90%; + margin: auto; + margin-top: 20px; + } + .chart-container { + padding: 50px; + } +} + +@media (min-width: 1024px) { h1 { display: contents; } From add1896e1ff0d7fb9f3807e5418a3ecd1a243a3e Mon Sep 17 00:00:00 2001 From: camekman Date: Wed, 29 Sep 2021 17:31:57 +0200 Subject: [PATCH 07/15] styling desktop draft1 --- code/index.html | 15 ++++++++------- code/style.css | 44 +++++++++++++++++++++++++++++++++++++++----- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/code/index.html b/code/index.html index ee1cf451..e5c6e4fc 100644 --- a/code/index.html +++ b/code/index.html @@ -10,20 +10,21 @@
-
- -

-
+
+ +

+
+

Popular repositories:

- - -
+ + + diff --git a/code/style.css b/code/style.css index bfa57b89..f51780ff 100644 --- a/code/style.css +++ b/code/style.css @@ -15,8 +15,8 @@ body { border-width: 1px; align-items: center; padding: 5px; - padding-right: 20px; - justify-content: center; + padding-left: 10px; + justify-content: left; } .profile-pic { @@ -68,12 +68,12 @@ h1 { text-align: center; } .repositories { - width: 90%; + width: 70%; margin: auto; margin-top: 20px; } .chart-container { - padding: 50px; + padding: 80px; } } @@ -81,7 +81,41 @@ h1 { h1 { display: contents; } + .main-container { + display: grid; + grid-template-columns: 1fr 1fr 1fr 1fr; + /* width: 1000px; */ + } .profile-container { - /* display: row; */ + grid-column: span 1; + height: 375px; + display: table-column; + text-align: center; + padding: 20px; + } + .profile-pic { + width: 200px; + height: 200px; + align-items: center; + padding: 20px; + margin: auto; + } + .repo-container { + grid-column: 2/ 5; + /* display: grid; + grid-template-columns: 1fr 1fr; + gap: 5px; */ + } + .repositories { + width: 30%; + /* grid columns: span 1; */ + /* padding-left: 10px; */ + margin-top: 10px; + } + .chart-container { + /* display: block; */ + /* width: 50px; + height: 50px; */ + padding: 500px; } } From ba782b8d76317329265b1ebd4a3c019ca38dea36 Mon Sep 17 00:00:00 2001 From: camekman Date: Thu, 30 Sep 2021 11:22:39 +0200 Subject: [PATCH 08/15] styling draft 2 --- code/index.html | 4 ++- code/script.js | 6 ++-- code/style.css | 77 +++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 69 insertions(+), 18 deletions(-) diff --git a/code/index.html b/code/index.html index e5c6e4fc..c0cbac72 100644 --- a/code/index.html +++ b/code/index.html @@ -18,7 +18,9 @@

Popular repositories:

-
+ +
+
diff --git a/code/script.js b/code/script.js index e4a51f23..8e405a2a 100644 --- a/code/script.js +++ b/code/script.js @@ -21,8 +21,10 @@ const getRepos = () => { (repo) => (projectsContainer.innerHTML += `

${repo.name}

-
${repo.default_branch}
latest update: ${new Date( + }"> +

${repo.name}

+
${repo.default_branch}
+
latest update: ${new Date( repo.updated_at ).toLocaleDateString()}
Git URL: ${repo.name}
diff --git a/code/style.css b/code/style.css index f51780ff..f3fe116f 100644 --- a/code/style.css +++ b/code/style.css @@ -14,17 +14,21 @@ body { border-bottom: solid rgb(163, 160, 160); border-width: 1px; align-items: center; - padding: 5px; - padding-left: 10px; + padding: 10px; justify-content: left; } +.profile-container h5 { + font-size: 10px; + margin: 5px; +} + .profile-pic { width: 20%; height: 20%; object-fit: cover; border-radius: 70%; - margin-right: 20px; + margin-right: 10px; } h1 { @@ -38,6 +42,15 @@ h1 { padding: 10px; } +h3 { + font-size: 16px; + margin-left: 5px; +} + +h2 { + font-size: 20px; +} + .repositories { background: #f3f0ef; display: flex; @@ -46,9 +59,15 @@ h1 { border-radius: 6px; border-width: 1px; padding-left: 10px; + padding-bottom: 10px; margin-top: 10px; } +.repositories h5 { + font-size: 12px; + margin: 5px; +} + .chart-container { display: flex; padding: 20px; @@ -63,14 +82,19 @@ h1 { width: 10%; height: 10%; } + .profile-container h5 { + font-size: 14px; + margin: 5px; + } .repo-container { padding: 20px; text-align: center; } .repositories { width: 70%; + height: 30%; margin: auto; - margin-top: 20px; + margin-top: 10px; } .chart-container { padding: 80px; @@ -78,13 +102,9 @@ h1 { } @media (min-width: 1024px) { - h1 { - display: contents; - } .main-container { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; - /* width: 1000px; */ } .profile-container { grid-column: span 1; @@ -100,17 +120,44 @@ h1 { padding: 20px; margin: auto; } + h1 { + display: contents; + } + .profile-container h5 { + margin-top: 20px; + } .repo-container { grid-column: 2/ 5; - /* display: grid; - grid-template-columns: 1fr 1fr; - gap: 5px; */ + height: 700px; + } + h2 { + text-align: left; + display: block; + border-bottom: solid rgb(163, 160, 160); + border-width: 1px; + padding-bottom: 20px; + } + .projects-container { + display: flex; + flex-direction: row; + height: 700px; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; } .repositories { - width: 30%; - /* grid columns: span 1; */ - /* padding-left: 10px; */ - margin-top: 10px; + display: flex; + width: 45%; + height: 20%; + text-align: left; + flex-wrap: wrap; + justify-content: space-evenly; + flex-grow: 1; + margin: 5px; + } + .repositories h5 { + font-size: 10px; + margin: 0; } .chart-container { /* display: block; */ From 4e7decebb7751b39648d06a9e1dda5cb38567814 Mon Sep 17 00:00:00 2001 From: camekman Date: Thu, 30 Sep 2021 16:15:32 +0200 Subject: [PATCH 09/15] styling draft 3 --- code/index.html | 8 +++---- code/script.js | 4 +++- code/style.css | 60 +++++++++++++++++++++++++++++++------------------ 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/code/index.html b/code/index.html index c0cbac72..cd97bae7 100644 --- a/code/index.html +++ b/code/index.html @@ -17,15 +17,15 @@
-

Popular repositories:

- +

Popular repositories

-
- +
+ +
diff --git a/code/script.js b/code/script.js index 8e405a2a..13ae0151 100644 --- a/code/script.js +++ b/code/script.js @@ -41,7 +41,7 @@ const getInfo = () => { fetch(INFO_URL) .then((response) => response.json()) .then((data) => { - // console.log(data); + console.log(data); // console.log(data.name); // console.log(data.login); // console.log(data.bio); @@ -51,6 +51,8 @@ const getInfo = () => {

${data.name}

${data.login}
${data.bio}
+
Location @${data.location}
+
Website@ ${data.blog}
`; }); }; diff --git a/code/style.css b/code/style.css index f3fe116f..ef5bff87 100644 --- a/code/style.css +++ b/code/style.css @@ -19,6 +19,7 @@ body { } .profile-container h5 { + font-weight: lighter; font-size: 10px; margin: 5px; } @@ -29,6 +30,10 @@ body { object-fit: cover; border-radius: 70%; margin-right: 10px; + border-bottom: solid rgb(163, 160, 160); + border-top: solid rgb(163, 160, 160); + border-width: 1px; + padding: 5px; } h1 { @@ -49,6 +54,10 @@ h3 { h2 { font-size: 20px; + display: block; + border-bottom: solid rgb(163, 160, 160); + border-width: 1px; + padding-bottom: 10px; } .repositories { @@ -68,9 +77,8 @@ h2 { margin: 5px; } -.chart-container { - display: flex; - padding: 20px; +canvas { + padding: 10px; } @media (min-width: 668px) { @@ -79,8 +87,8 @@ h2 { justify-content: left; } .profile-pic { - width: 10%; - height: 10%; + width: 15%; + height: 15%; } .profile-container h5 { font-size: 14px; @@ -96,7 +104,7 @@ h2 { margin: auto; margin-top: 10px; } - .chart-container { + canvas { padding: 80px; } } @@ -108,35 +116,36 @@ h2 { } .profile-container { grid-column: span 1; - height: 375px; + height: 550px; display: table-column; text-align: center; padding: 20px; + margin-top: 20px; } .profile-pic { - width: 200px; - height: 200px; + width: 250px; + height: 250px; align-items: center; padding: 20px; - margin: auto; + margin-bottom: 50px; + border-bottom: solid rgb(163, 160, 160); + border-top: solid rgb(163, 160, 160); + border-width: 1px; } h1 { display: contents; } .profile-container h5 { - margin-top: 20px; - } - .repo-container { - grid-column: 2/ 5; - height: 700px; + margin: 20px; } h2 { text-align: left; - display: block; - border-bottom: solid rgb(163, 160, 160); - border-width: 1px; padding-bottom: 20px; } + .repo-container { + grid-column: 2/ 5; + height: 750px; + } .projects-container { display: flex; flex-direction: row; @@ -155,14 +164,21 @@ h2 { flex-grow: 1; margin: 5px; } + h3 { + margin-left: 0; + } .repositories h5 { font-size: 10px; margin: 0; } + .chart-box { + border: solid green; + width: auto; + align-items: center; + padding: 0; + align-self: center; + } .chart-container { - /* display: block; */ - /* width: 50px; - height: 50px; */ - padding: 500px; + padding: 0; } } From 73df7eb09d24d043f49191627215f29bbf0303ca Mon Sep 17 00:00:00 2001 From: camekman Date: Thu, 30 Sep 2021 18:09:41 +0200 Subject: [PATCH 10/15] styling draft 4 --- .DS_Store | Bin 0 -> 6148 bytes code/.DS_Store | Bin 0 -> 6148 bytes code/assest/img_github.png | Bin 0 -> 37490 bytes code/chart.js | 4 +- code/index.html | 11 +++-- code/style.css | 81 +++++++++++++++++++++++++++---------- 6 files changed, 70 insertions(+), 26 deletions(-) create mode 100644 .DS_Store create mode 100644 code/.DS_Store create mode 100644 code/assest/img_github.png diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..01625912d654f181b4393c80d202bb2d9e546436 GIT binary patch literal 6148 zcmeH~F^LWILo3EBZM)-ySy`wq8Z(Te9ES6D!Ft zGBE%h|QedILw&$at|7ZGN^Z%knsT7a` zZ>E3^r?1nIFO_HO%j)FR3$i9#Co44l2!sp@Qs7?| Fcmh=m5}*J8 literal 0 HcmV?d00001 diff --git a/code/.DS_Store b/code/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..00d5f7ae664e818d3a068b19b703a394c659c8eb GIT binary patch literal 6148 zcmeHKISv9b4733uBpOP}e1RWC2wuPkI6EYYg?=mE#nTuc1!$pz0yLJKNgPk2OtD^z zh|VwjnaD&$MsP#9+R!!IH}6<4BMOA$j7HA;W_R44PRCC6>ws~GvH`P^!z14|XjFg- zPys4H1*pKs7041h8h`v`9!LeKz^^M{--iM>tch))e>yOD3jiD-?1s7b62M{sU`=cT z5rJt?fkD-5F*N9im&~h)ZD7zvv-!}xS+he?za8fnPZzC$9H{^mcvhev%Zb(hCHzhQ z|4ibF3Q&Q+Qa}fb)nbk(Wo_*|&T4Ieui=(+gPURQ6bxRDfnJWWuyQ>0q{u5a$9_$0 U1D%ez(}DaMFkNU=;M)q^0d*S{vj6}9 literal 0 HcmV?d00001 diff --git a/code/assest/img_github.png b/code/assest/img_github.png new file mode 100644 index 0000000000000000000000000000000000000000..19f5f3874331e539aa0e1ea04e43f735a7a91d08 GIT binary patch literal 37490 zcmX6FbzGBOR}n-)kZ#a{DBWF3H;Qz3_lQxVgfs}!DN@pmj)8P;bV&DTHl!r|9^UVd z{l=bq?&)*xx%b?M$am@rPjRVnA3S*QR7p`*^TC5hFyJ%w1QU3|ba)#Ld|}$YReSs3 z0W==(#vBXy{oGPfQ|-Y6KjsGyK7~Gba0NX2wDaJB7x#k)du9(Fh^9SwK;f3v@?IPm zz_3tJkbUqkJRbfF_=V%9s1F9d0Vv>uc9b3k{=oKBQj^2pdPMyM^W`L{0-*Hifs*W7 zEy(=gk{66Z`>y|Z)~H404JHv$0p@%54)Wd(lLLcC#)d*uvAHdUKOOg3y|Ej9|2ETP zeeoLfBQbGe(f?ym1ZUTl$2L4&gaoxM`SF)m0vLIcje`3Ijar#KBQpKSf08z;@vkup ztK90vu-*_zhbKPyW`H=Q>aG>}46G`}Me#&{O_)O)7r9@S2^^(o>LfyuPKM!1z|ZF(nu%3n^_(0M0#AAdd;!mhWd&W6u{ zEk=%36CEXM2ES0(mu;WbaBF&cFLXNsjZjlda}09$dKZdkZC(NNkx1HbUb#KR<>>K|z5iM7q8OY&+{-d!(eE?aO2K<@HTAVusvQIvVMHo3rx}cfZ)SNN=U4}XZI|U>VN(5Wg+lX)HKtUta<&@ zy6%KhCmYL;0kR9yUx|XaCQ4yda7%ofIutKcqu*FAqkaD0WYTx&C|fYXQheY#V+*7H zr&3_)_$TVABF03;tKva>uDLcD(pv8a7vRP{sFDr#hi`}`C1j2x@P2MP{Wcro}s4u z&u7LI***}^tyRPm>zXzs6p-5OL({k=99L}I_lsqa8mo%Qro=Z`%vVUr7VJ2g^IuTd zDMafLk`}*BPajDQ=u9p9_m6l5ON6*utk_Lh0DO0=4W9 zP6`&o&tC#k{b)!#{6>FWo_4sz$rz2&O3YhLPUGN@=Z#2cACCBbA6A4dW9bIeX~Xps zs+P2jRHMSomF+E}(V}3C;&Hu|njYm&HYg9$_-Hdyb$MVS#(6G-(=+c|mtet58;lLg z{#P*;4JZrtsUoT3n%Z`+$ka(qJOysyG?k=$AFl@ce))-~S!E>kKhEp@kr?t>@7kQqjgqT&al|n6pK=oC2 zQHQc;{iLw+%G>{i0vmCnCDnR_%G)7)8$5;t>Qx5V1u*$9@8}CXT*obTa*a3Dh z;XmtA6tCb|K4XQrHWkiSZ5(i~RdP(3-q!qw3Ev0$oHcrYlXTG#y zjaVy`uR;J)G@`{9(+J7r3ZT%;qo(cjJsmq|OaOv5F_(ao@Yq-$Yknd#dw1A|n)`$6 z7vEHKd|Rz34V_b@I6;0?19K!0E;A{a{Y{BD?ZbM6ST5d$5}z7ZY1Q)^8rY!)t7L4o z@QTGQ+7;`he9l(zcMKs4n>1ajt}(54)qIv$VD+_J6J~Ex81Xy>(&k8U$&#mZEL-x_ zT&UEZ8=kDm_azU1>u{>AAWu}mBcU=XbqoL<5<>!^HTSSXZFgAmbbKEHcB!NqVuK~t zTz`6WzD?}sxbW>6kjd=3;nuLD)(F#G_~+C7#^n-&*BkI>IooYow>SF;xzkDS*U1H| z$;z+!xX>Dse~kOM9BTM(g|l?1cW@n3eA7E&DL*oQw}2n^@A=u5U}9A{y-D{?9HvCI z#!P2azq%C;y`o;m)Uz5HZm$XcipG@qVa+2$cnJZc7Qbpu8F=3AjvPtN3B4PD|hj0 z`|8AjA-KPI2V>64)1@ye!g90B1JtCj8iRW?ZjUNukcbI2^X(<+P`J^I#T)#96kO?e0nuDl5esSm@$HF>x!NO7Fk zSlGBJ8&{nFm`SNa_~gNbzxc^QblE9H={=f!2@}i`BEiv$>(Bj3#!FC_SledV?Aa(p z>~t~w-NA7!j%*^-O#|v3rr_ar)j>MAa#f%`g;PcGI4`}3~ z9r&T^tCpUM=1=)&t;Qba&Aw@lRGB-x7we*QEJGq#u5k#VR1cLOwqE{VqFc}K%1t;o z-&YDnmvZ(st;(YI^ZZ3kG;+oaOu$ECXy6sMso_+ZC+*>o*c>KC9Iy%R!{3D5Mj%+Q zTsdR;Y+ph?HNUV06Cn6y6-N-2nP6gn&gs6aQIV;c@6WMne=nx5o{ex^HdcC$ zPys9ln2)R_ho(&DM2o1;a;lhf2wk|7eIqfLf4Hb&9xxr23uN^8k5dbPI9$_DlIFQ(Y^dOk1PXU!tosg!!^ejd-EDj3J zUwC})@p(u*tqF$irYjzJBPHcM+`j)NyVQS1OCQh$cFOLkk%vCoPVdd&u+Fi8QC&1p zbrfKx)QV7makWXCL0hbR8h>VG&wCpd)fo;Wfx-n*?TfTHQe5>Fb#4m%=B2J{^=JtG z?IxXzL{Bs5uFN*iHZ54F_HkxyI@z_R!3jlJrD9jb5$%@2*R`aubp9oL zGsOcH`#w_<<3{|*(7MINp1aGqzk5ZHoop4NSc*1H^E z?D}O9gze4fvI;pYOwV6Mq|G6H#HmhrOFei~$E90q6`58thnq9CdAJIt8fy~HXH?&# zZHDlW{6+n+7)hgIfRr%r_)Y99i+0Q!sz&#p=X3bufv|L*l`NO5UfNa(-|$(C-pU9z zy5Rnhi#d)NYxp{M95+}XdI%o@;RD?@yI@!5<$`pX$Vbzpj^)Z#?0V@A$|QtI_%{%r z!jMU6+byw8aigTIAgBlvHJ3ay&U9#$=} z(JCpTa*a|G=s$6ZxozAwJ=NWeVmk5#zb!}oS&GD-lfL$L01z2mWV-P5xyamg3j;Dy zU_aiVRJ{Ft_3snC_z!*UdkAGbguXbX<-glzrT7ezW2ctp2y9DOf1_06q~f(NE(_$t zP9WGQhERVcF>}sPEMJio<~(9y1dY{kXLMYs*Fal+K)h*8%g=vliM;r`ry$&XdF z1R*#S9#MkgXo|e8+m9@m*+;T7_f7eHp#NTV{%>k551FKAeP?kV$KvhiCb9u2xTHas zJL8w8L`u6Y_|wsm8W95WVNDF|>C{MYX7enYtObH$F(je_FmRZ_2yJ)qh(BEiht~7}F&~yI z9GT8Yxz{xMX|gG9eqKZt*Ezj8BGXOc3#!|ae`<%A4a>E>og4eOc|$T2Oo46J_>5>( z8=QEeFxs#oB5EHKnJ{wPw_{z~cJf;y6dGkrr0<+-#(yn#bfV&Sl7Y11(M0zl)xpp4 zvd;BF_I;yb0Y?8sBRii}7Pm}FZbKRVX`lAVhi6!t!?%o%nnn?jq-@d_kY*eaQnB4* zal6?_A+j%v@-@V=dhsSjf%d}piO>G77O2Jq4{nd|y}0e#lxslkll1{DdJ!Trb-aJ* z$o=)C?l^kjF+T5hb(ej-gl|d_bs#MOAUJn0%2X`Tu=d`2>I)YrnR|kE(5hI%r8C;8 zglK@p*l26&x~O>Lw?xu7AV^68edp^qxA_e#zvD_9J9QQao!`{Kpi}tm^r}t{t|wb- zgqF$e>U)>(8Qt_j-?=nc{pcq0Y-}reDZ~Q5sIujZ8R^QF;|twpOX}r^IySx8NB}m! zuVR`b%CgU!*y5p3K`;@Ne}T4_M%`aLbsvYHRph%2f}otYSTt_wA-?uOlp>~Dh;Gw> zeY}tdh)qBj{DyCNASLY%wp0D9WwDnC*OrUm3`4wae*6%^pmS(Ahl+Hp8Mk^h<#q$6 zBL3EiWJ(d`J7>H;iLr6fA%&6C^M%*I^E&GQMEhwboRRE9 zv}fA!;ll6o*g!b`gR}??g+MH$(Prv?>G$X_ykkZOu~pfsOapi-b?w5aT*T-J?y@p3@`Awf;@$ETmNsa8ysy)c zcC)w@Zhc}197X&jWlxcp3)_& z+;$49j40@Nij=mch#^=NY=brulfq~=dA;}15tWwY30l7MwA%;fiNzMPs-1=}QlSg!sdg2J_p+KhY_(jb!h8GTl^;%Z6e)DI zJJL?FdXETT6~D<6k{oCPI@IH?T0Y~AS?iF!M^~ouY=gh$w_kB5-G^tQL2O9g!T!%G znx=Q-h7Yk&ew1KIAS%Tak-dFC&eL0WP1Vj;dJ56#r4_K$^!;qV z>5y>Yh4-ejC;kZES(#45%3o>w*{39KEVGy`@HetGc}z_#O~gVnGxayQKN^i%N}FkC zsf4hVO5JFRSv}>LERO_=p+iaafbqMb4@kvV*m~4|h{fzb zkR;$=|2`Nt!oJm7dl5GUX?l!>qBh~du3da9g@7bi)Tc)(_QmoBrf+=Dbr6@6ijDmB z4t=-oH90yc5=#z~r*O6aB|aiiWoY*q)8H^MBaDqMV}a<>xLnozek+xEBAV%VLY$EG zx9fC`2K#nuLp%GEp;{+ihh8n)3GM0R=e)X!qL(0%Ke4+Tn^?F{A%?Hk9$;}jm{fHw z64@!{ld;c3D9d`-e3=U$1;7*6oQilfH7bMWY+PSKTj{#*H7rAeT~%8j^0D1A=;N4^ zMrUgeEnF7+)~TC~UlT|goB~gmt;DczV{C)SDJ1>y=wWP#H5lr9t}~^wB~aIF>g2C# z`w8!CGsanIcjh;abvnZBVF$oCL=DOY5}ADsK`5QJcPL>68M@|$To5j9e@{Jv$pedS z#AZ&}PGCfIU=V2)E-g$q!;$WEB0CR=5tb*q-7>rd|wgVz+=JfVPDBn=*es+9V~gmV5D|@mZ%oIZF0u zLs?ztAS$A~AE$FG;hIwZ6wj>o`-4vZie^R+2HWFTfEg9B?#Qzkn&bVO3Lk)%7fp@M zGUjr%iLQk+uvy-tqaw6^!f6p3MAtuuh7XcYjs>?n#l{avFTI}lA7co3v{OYyG*x%e z_OKCM+rh)@hR@P6_g9VW{CFiT7#2<*dx6_<0EpUw1ES01&vcic9*fZXfCJ(hr)Wt; zycc+60ogR|&w^8To`(Tw3x?o@C$?c*w*U)It+ zlANow_xiyMdNLCCyIWShXOr6xObOFPTlLUix!0ozUw{&QXTk4!=yTQ#Rv18!o5lLC zTXt!VD_R$h$-Vej$cQ2j6l(D-L1*v6Qh$rtGJ1>zU(ig3h$Q&gbz}37&ZV-0)`u^O zUaiRP461oru4&S!M9WK?EUdSy#R% z5Z)2OQydU(i>ZJPtaho;4`AovO)7#fX>h?L4R&v&<^&-T)2a+3eM{x;fMFW2&K06j{Lh98ZIJ= zZRtf2e4#SQIPoq05&hZ#Z9p;zWH0oamTI@n{VAo~0z7^;U1|!pNK14a_9PXkLu84^ zrJ7!AUSrV?{(+BD@G-zBxJ5OuWiB&O@y|h;l>gR0DIO|puBy8B5eg_sv@U#(|5IXH->#T)}STtA<_n8dR)1 zJYyJ+lVBmV%6YGm^_IszvJO(Y8!QNPIZt<|KbEV!!#{;MU>6wyar1OjFE~e8T}ia1 zOH7GRoLb0*p8KO&waH*0kV!dzAmo+wwFAEGbxhnE)zjtPB5V@Ix|O5^e#DM0Gbj<8 zPmQoWdaRv<@n`m+yLf(h#%MHYs{lkAaQ}7f6Ep5<#=6`NhJYYUm2~{&Vo>`7G_&`A zglG7g0O=PXlHahM`5-?p{U>7?Ky^}43ipaGaf|U~lHM;0kdB7O?xf=_^G>Gb5zRN+ zGM({W2t-C~PJ(LbzJcmi!c%d01&eHt-km&6uxKRL05&tSn)xQ^X9A$Qpk%{q%-nhhv@CoV?@E{9V*B@UhwpKE4fOYxS6Ct!`~VGG(f7Abc!u*Oo=1m!9rxWfOd{5adLk?=z5ia;pHd-_*W;&e%p6bG+X$TiX-llC2*pwapCKQj#mh^w$dFn7 zN)-;#O(S9KalyG@yO+4?y_;_6JA+P~@_`;BUXo6Kkz9GZKpg*jb?};@R&SnENUfQ+ zOT8(yT77r&x|Xr5+|YH@t&{}zTLP2!j89*6sl5ywAOw%9lKwOCwMBpD0n(so-AW&6I;%65;6+Xcf|H|BhhhFODt3 z>44N4hrS|p>BlY!N|V=K!Ezd?C$gY$c^z;d=}5o9Sfm4ie}9~rfv`i^c$zsjsNTx6 zCB9Ta2+Nk(m&!7`Ykicsr^d_j}vDI&+?|f>sbIs`VX2=$1n&Cq9 z@sf6gBy2grywJY4{HwDAlx%5tWX7{ty>m78osq> z7~jHEs<-jMC~&Qskd0pB^0&Ma$@$5CdbRsxruw$smmk$R@++P z>V(FC{39ajW|Z`VRtCb>)kd-J&~>53b@S1?h01EFfoH=$XI>y}ef7{ar`ly9MdN4Y zd~!~bA*0dvcL^h>+Z|mDxFl4zkNH9qpr^O&*km6G4V@ZnYP|OIeTC~Cx$8TxV??G} zoN-WNV)bR>A`%E}p7Z6;GQvr8^*M!Z%7}e&1UP_UgV)pkbw_5AMkshoM)-N*K6hbf zYlr8W*#1n=>RwXi5mTV^yu7fCroN#Yd;i$meM4LeSaUqKW$a?^ltocx$%7FAA^k>Y z#P6ia?j%XxKUG8)jU@lj#vfVn)t`Ht^9B_&E@aZc33qRvzFHqJ0!Pn{d#;sYT2Q3? z$wCok;p$E-w;T!??X}*VDQ?C1B+Y%+9B$C28X+jTiTzf0h=`C))y)nR{@i`~_vv7^ z<_Yt~36l!3@!nhUvOpZj$^r2ULivI}4-;ANfy@z2SYh}tJ*d!4;1!B(k~4t{H7~ef zrEX0Uh@D9C4Sp!zqY50IcdAm`X<*!09jw$XWcqx7D7fMh3ak*l@D@7}TG=Y@u{5!u zDDq&b5E;W4U=IAXD=Yn)PX_V1h;i00(pYb#wq5tF@=ZuZ`2xYV$;wtLqZi+@NYNuO z$AZp=OoP&rD~(j5=t5jP56LORb&6UAoGv!-ts_B z3l&Ok28u_);;nl<(gSuir?kAJ;}98DRatNqOTbkV+)hU{_4prjIo|wi!~S%LaXm{9 zM{>0fn<@<1z`7BfGvSJjnbOo6!B|sXp{zDFiS#R{6$+|13Ztzwpv5IU?Y-FmPbOn^EYx2 zbTY0HIyYb911W0aUa;Wd=bk@NZ*UPyTnI@0$HpQ$bulySozCo z-qzyAqwrpPCApx77c8WEQjg-DaZIBRx{mfO!kgq+5ZpW=ZR39-$G03^Zb{*yeNefE zwSuK(M%zF6xfMQidb9qm%fO+MFB7a2Whu1e51ydL5;ADa9(@TYO2)wk#*k(*v+WbV z`M&pv+91=uUFG+8#9zKwj!3rUa_$QcUl3tXOc6F?U26Fn_eq`gFtMcBbyE3o5@r>T z*l~jOg6A(E9^Z|aTLf}&J}X*8EO(;4dzP1~#p&k>rm8~O>8^7Puev|{ zAuUUyb@b*wYdsGEOwtiC1?ArCTuFi3PiNh-3lX;$%mhd}__sbRM3vB~TU4zEJ z-2Q;nUk0qf7Ydd^r-6j(e~dp4!S-4|y<>L66#Mh#hc5AP%x)hG3xr>ua&A6*IRZR3|ILj|<^#!Te; zLuW`a8#SkE4uyXIa_KB2#YB;UE4&s~CY7MqYz!}N_IPzo3b7T^xCA;B*_qQA;heDT zR(!U}^v%}Lq+RkX$0hIQA3kso6+DOh8{i#I$t*-uWwp0$v_5eB(&@P-&Buk+8n!v8 z%GUvii{b?hEWa;rGL}~vPEon6MXf8nMYr4M)VcUe0L7)TN`uchnUR9n;|wxfQ+JE7 z=1$MmI4z0Cys(42tT>gnjyvI9M%aE}z;S@s`;xg74UUDQVU?(*`f}b_{ms@V*bSSx zr?ZW0L=vte+iWXx!edeP^E5N=pM1w_wi*IdBWDHneEa<4y$)v9$$u3VPYf9KaH_69 zxypbp2c;@|$8xu3gm@6OqB%_MP4)WErmCGpqQWI+j|3p8X(|;9cj*mRPn+V*+wt6X zv>VpM`Ai?hg$nlLbBq0{MDfxNP1?E_2D&A9E&Qs1?+>gCK&tB7V}D8nq4gmSfvc?# zignx>51TrZSON+shTykFBtGwutK`+4v!>|LiQLq@X@b}Mo{W`^<(gs=Ofkq?GbVlNZrmuE`)S0zS&x7)9q z<&4Yg#qHXVti0?g2z_`H-G_BGlbR;SZt;+t@DqbR4!b2w^`5TnpZyP5KUD<2lM8&N zo?`y~;;cj=7Nepz9SJ&W{5Y-LqHX!G9{1E($3)8V`mRXIL;E=Rf^9OAOozjfJC36c zCuKt)9DyRXm5|NFzUp9&It zlVAO&@^KLM>K`(Y$lG_;NWnWe#)@^1B5I3cMRqbd8Nkh(Fq1P=a`>$gbRBJd&~+KL zbXFZSE=zvXF}T?8Tx8kTe)|&XXu}ht4>xD#OGh}_FnOO{;(lBW$Gr>uFqu^3q{^33 zNwA@2r&J$Pv7rH{5@~HWH)fE7NW15FJsA<4)vq_|TWK2oFb(v$7&7TN2yp~#6HWYn z(PL-4Xjh3a7U10Ebtr=1rP;RIikcpinI20_rYClW&9oSkjD>yrW?8BRado%e6<2e&boav+dD}J>CIX8TC1WjhTGx zhUZ&b>zF7No1o#8g=6z5?<>#C@u|_(#i1E@Bb5)XhF$n4A|&ZOn9RHa8}W?zRpf>f zp9wrIR7Bs+E;Mp4Wu@-E;tu~19!7mVlRtI3N;2F~HQwKCaP|ylZ9_A>t&IgM!^5B1 zXROUf5fj%F3Aw3S7>4ke@_bPW7}-{}Xh#v|f-)yQbL`4uHx%gy`){`)yQXymD0)*{ zTCCfadHwYo7E_4mIpu&qHoB4=}VCHY5$uH=~rIBy6DgRbE1dP+orfbMaeyh?f z``t=*`N!6lJxm41ZM^-MklrHgSn{m%ZER9mf^Mha|ZB`pq^m{DkYS z{MfavohO@pMQ%AvgG4GK_wS)Bp+O(#&3mX}o_jkU+T!8%iFk9lPk{MCqStI*t588MS)vjq~@eN~p zQG<4_0uj@98l8rpb&z5!FCibogY-xJx6>|sr@c+Mh2^{ zC2YA4nB^T9lW`(C9F0~+UGa%Z!jMC*>-OXo`~0$wfXM+LoSd^w$@%c#^6k99O&K?N zvK<4o=TB*D?;;_I9pd%t3=4JEzj$k9CzeQh=frXv_+<*mw{|sw@l|7&c|JtxR!Yn? zvu@s+jV-{EZfcoG;G=Lp6@=olnJ|iH)~8uo#cw>bZKvk5DRPDC!61|uOHjJ(24NTmgnfOX3`YO%6 zzNFGN^mZsgycFsdLcq;sQ13WmHN1b=t>V<@Uu%7!v$mp?oMsP{EzhlyY~FmXkrqB2 z8OJ(($y!hcp>GQ$WjuMS#uk;0PQJ=N4GE(54Og%t6yc{QExav{U+Fc#G753%Fw|c| zuz7|{jn(eB(lPj4Dlf-S#HAOKF;(EGcKAS|1Q8 zbp)(nSt)jRc>g&kRE2|=(?TwMCF>n#vuZau*lo$LIN!(;bFcV3O!tta(XXfJ9_G;n z(9D~R1}IsK!r|eU?Rd|CF8YP>o1!T^Cs)OKwaTF=0f-cDclo?P|M~g$j|njwxu`eW zkZzG^8=b@D&2BwH!G3DkBaVgJ7o8U%WQeyy0w@jD`YEP_F3WcA&z0VO)N%bM({v7& zdb`X7!d~J2Czg!SsXuTuk+(7`g?{q~LqqkYSN=%*p3mp2KPo&cd&a z{=(nSe`XvU!DKafpj=C(1Nl_Bfn=$mOcMV-@sT=W&?Yz-R$S%q@L<_%k*Oc zpcN`C2X&PD^;s@T+K2nM9Z{Cuv?zvv3^REJN+I<6X0V(JfzE?Q#zL zbno3%w$0x=gRGYBfxKBNZ#1OC_hpP0hx`_meM*jf zPQ8$5@59T*V>LMdkW0Up^Tq^9^Y+=)pL?yoQE2?}Bp9!JKCts$f3h&aa%P2ra~DsX zl+L)F59xi7jnl?2b$>Bh(c0vP{Nnc(qRCb9LijM20L3to(x>xNI|oc#{d)h;O6sFS zqECVOBm6TPo~d%Ai660}Nk5;T{v0W&lw<2YR4;R*gsH&WbPhk3Q9P8_8T~K55RiNa zt4s8NzuunP$UZlO!TPgY*@IS}mqQtz3{{Fm{3ph52(oO+{7)zksvn1U`iE(3Lm!;SbC9dNRk{Tig?fI+qVut~sr~E5k()YOE zpWAeWR&qg*EMWTphnQXN6r3GTs)nkMV^sSR-@f|O~)?gf&OT_TxW3LN=M4|FaLhHF16K*Rh!+QZRm6W zJChL`b(>^RHy@7x1XTtEg-x0q%@ln`d?V34cH4ZZKw#2}SEe3q)O2HjeZMA@W6WQ3 zzVJCn95_1N%K$C+Unk6s|Io%O+N*(V3-U_+<$Nn^F&W3j?;zSRG5%jg|WNTFtd92PCKRI}3mH`N~^ z9$;ifwzgh6SM-uirqQ9VQM8*Ty0A#HEP&z#2>NpvqpeMxoJ~!|Cfr3k1Z8J&8z`H0 zENMa1>Q-(c#9WVY3nCvZJ0xr6DIuq|9Cr|jm(#N;Sgm)r2(>7*kO-uB4&vF}YW+kj z)>%58Pn2Ru2U|%a$;IYv;Ahwxa#E4 z`ot97-?2Z2(5z$ix(MT)vfr_DBlmfO(rz?P_r#1LT8Dve&I9Q{1@kUW_A=LAJU<0; zagQ0-3f5*00!ydwYRG0-24M{UJLXKyoo$eD+_#5UTL}1V5A+ktE)UA5Gpve-40oB1 z)hKVLD5FBXB8TEBuz6d~O4@Aze(UbU*6VWM@K`~w?kdS$2drDRTAyjMu*CLqZO5!u zae3zrnD{_FY##P{fE5x8#aR|SAT>``v_9Mi(u#X|6$%44@0ByV!JL{5NAQJZdyU>$ z0;Z^5;-_}43m|U^Yo$sAq`rId)~!IUEHb7+__q@gOhYg5XMTPKNlC%gXK&2}@m-at zY6isSBrrV*`EC#-w_Z)2D)y4*YOiz+KOJk#i`35a`yniwE z^mUG#)UbnCG-DqDG@c9U3dY-N?t~!n`ge-UCF6pHL^!;v^_hgOY7*kenUSx{bk??E zK+}~fx~3uTn_xC3-S)i@JxF7yMVV!FyRT;hg_g8D=IwaXnOW`knX{UBFhr)LEI%w#Gz!hOh&CD^e-Sc^ysF5y%U644 zF6f#{nouVKRP153zSSXeWz~a}tdQ-rHS(8dJ`KtRHPrtJXt&z>38SXD=F%DYMU;}3 z6_Q&E(dMRIcLUTMV0&t*z(h!3S-M4I+B;)Tj-9E?%QUq@NCp$c&S*3T)7hy{foi2z zE;*%TY12CI;JT;GrD_wD353Ul;N0% z4NW{-(TrFP3@IevqDA^;D~641kgdFoh>)rB_<|zF?PG?dqP-)2(SabQb+3!)40qpv zgDZI&uYg=Y+ZtUau&wrP)=VW@hb!!F>x*C^)kZ0?p2MrJxDvLU_ls7~szuKGQ|1Ar z(i5)Gzpcpx%kD_WXicZ01B-1uFotz|G~nn-?&2F{ZIMu=%E1>VDerby>qW*Ev$EIq zUTMZLAoAGJ#-R~Cn+gP$c|U|+h>dss(B9gHK_8=DBmstzRyWVO&(ZQEA`kO-)MO*4 zEq&O6L>m%2TgUd&wMECWk{l5m_q9Zt#IQiS%4_`0Q@>2PQ6&p6kfB78}p*k>}0`kge%H<`)!CYfv*7eBrb@V{F12Nz7|i_0-NDvLzf zM=fJ&5dxX2^nhhf8LNti%P^@r$f->Bt{6@`s=6WX(SkPVT$I)==r+E9=%cE4&SwK~?Eq@zRD-S%$MIbeDfJMo6A8eIo$iXL)HjlG@&q zf0iFFJ4pNT^A*is9YNuZK(WOt4Vdy3LIK_iFNX{3W253un-htWa z1^e&AN^{rcW0|`Uxpk2USh@ixP3;?Qdpxc!3>6w@{96V}^X(;)7%-KhvN1dW;cNMx z_<+16Hg8=QPn#0f%^o%N8QBE9&Ty|{7J=v>Kr4-l3{IR-*S$*Fx#~fr=>6QNr2$(& zt6hO;9k)221bf;m%^dQ8D!|`_d&Ktv6D!pR`YLU>vI`2ByKa>C1vpe)Ec`UZ;sci1vu7x6s6F3Qxy-2k$@=R0&Q zi1-+N)GtFM=BoMH;773XswZ>F2(sjrQ|Ag2x{<3dY`{8NGdEP>~E3Tmn zTAim>n(O&Zq;1J>viq_Ef07JTc}UsPi(iy{eNw!*THhS5i=DA_rCjxpG~r3kHXgz^ zyC&TvMQWR)ssM?y7PE>+pKHHLAPc_Nb-_b(zZJMLZXQU0YK zb|zhoQVY-4jlKw=g*UaqvlWH`6wg5-dHJ@Sb4Ie_MOji{Vwl&?rhnk(fb%FU4t=NY>iMbKHsx~K@u3Y(g{7PYek)XrLk@a0WO51Ut4FKh)zg&Mi&OO z&E%Go!8S-(WQHzyfC>U2u;X8r+NSL5#93u~fD`wuuMx;7zfKF+!~O)-B<(?m9! zLcsYsM2c`}t&e}UP&>|U_E`eN&eOfnd`#3cvp)W%g5*@WVWiRJP|W@6wK)Z8pVBu` zX!+vuel2D;Eiz9GKghm52}O0k?}(GwZ~e6RWG1HI>q?xeL;!Qu9=+Wvsd{xjbBc0^89aZ>yDd1b?+#zFv<3g232! z_^_?&f)S*nT-usH_beVAZz5AQwotZA@$yD{dRg@q!=Y)Kz@n7u}p zUw{M}aUT$s7A9mSETRhCWUf%`lZA(Dj9jX-+CfR-nKh6mVrimbf` z&h1dddUfTFIhU+{uRy@<>~scC-{ePYldi06LHZ}ZFj2Ef%++@Kvrp<6A{2S?^8-@9 z;sK*%lOHd)O@n8VHXy7jJkc?B(BOE)MzGq|EtfSTrYo7j_1!`9_oX+oiTSlKPABP# zG3PrUO{mq9RB8E))+|DnAm)C*LK^XLuk{(`8fuTlw(nYPM;*w^VN^B-r|Pn@th0e z_BLORtoT-P#VCLb{zeuTd9q{t#96vAO?`JSdWVE;V| zA%k(+olqof+HbmdcE>apqDHguO#frmE)noP;2E&gHGl7yi&Ff<|EKAhd!M1r@n3v^ zQ=oIr^8Qp>_4dgG=A%n1=}41ee!Q>;bryR+81C5L-ib z&232j^$6g>n(s1Bh?v~7b}H9HczfXU zLKFQ(YKrz_Fvotz+PxNk?g9}IhVHzcTW1KwL9{Eq}cmRPdCOa{RToSXvAk`xT6u=9F25H^hXF?PRkc7f`z z0d)z>&n@<88Ae7t2H1(d_4l5m)OZ`%_%20p#NT|P*DdHyN4*D09T?HQ0>`($;5V6V z|2-GYwET7QnYfiNHZ~w=nRd*E3v_pXL`yJ*?-1s~$1qIg%2B$ngh<#;{sdZ&M?lr} z4ZFuUbQl~6q)u>uz1E-gxKC7{ch}V^sK2=I+)wx`H`r1)7abu*{n^M4SWW}jM~}al zCY3whFVh7bq%cnYCrcKRDSXT5=tM8zwo?y7>>Eyg{3VMsk>yJqcIBDEl}vz`{PX{# z%-%Rt{3QfH0V;kf)0h^&6$9K`H2#m*o#J13qWzgXz##_^(M7p;|KX8*hY>9!q=jzz zjxhNjOjmR}FX;rcbU7 zA-N#+j#7r18#S97M|IR7^bz#VG|*adfN3g{_A9m^xQnQt6$ydGa2nD3yba_y*( z0=55k5W10zwk_g$2d4i2f08?M+~U&9_=q_)MM9VUj@ALlH>9vPCz~3XQBt|a|Fwp& zqiw+{qp1QN{luQ4cgjE%g2@-sa9OYFF1H@+-cSA&q-je3h&jD?tC_UxG0tnwAfMk= z?8?Esd%RK8ocqPba7*dyy*n#RA|!toKjV3`B_+Htmu`E0%1TufB#)~t(=wiH54*SsNar>WTFi=8H*LO{`EoFkI+INM;_hGhBr>gbJIj!&C1NTUjfqJ- z9y2uiD=z&yUMZHn))Mm0Pfnr*8_EAaq3M_`wOX9_^+}0s&1Xz+ePPi3|Nr_3)cK9p zg4GMP;E?gf*}p{moEH!=iyp#RXnkr!x3c~>c6&yPfc#0se8_NKKmyTQ`2-4ND6PMV zp<9RfZ=D4|V>=n9WBZzaN1^XhlnXke2@eVHAzR525j$$tR`@tG?svPH^d`EvREJRY zpR3GMW$Yu-$5(gN6%_Kml*W{066C!9dKoHH|P913Y!% z@>h(4+8R=;34f+kc@+z!Al9C0zgb_3w$02tb+2fUo+sFfG;$@Kt*_ zVQ|Pa{aiSP-;RQ`M%Q?s-RlW>`8JR~=k2o2@kuxthtV&+8vYqIg%1yrEag20PnyA# zO7H(2&Pw#DZ}0v688C=i)?Yc3hw^bW+oF2#22=DeAo!1zeslXvZlezCT4$_8Z;6*_ zUtEvIZJyo0oAXRxfTq9_d$9$PiRL-oV!MTu6U*MdJVZzP;*zQ;`2o&RJ!8Gv_RPA! zOfjo9;!Kr@GdU`P)Qou5ku%_Woky6)3qfS0CRA0z!#k<-N z=xaMFi}z)5UGG1EYFqsUOm81yfJriRZ;5#vE0>q%m$4jqi`H>b^=z#aBf(F(t@!{; z_rtm~D!jemG;2*_I?llP;Di$pkQ~`nMknI!n5<2JUxkKOZa@4lvddWtjB`kP3#k20@A2dJGfggQ;Xv96h9l+ z?I#4H#7pnMPd-J7SPQ3@cD&nF%jmF%jQU zd0_=s_Nn8hmz&Z!`|5f>Noh5w?$ujIzLXAlZEO!^APo89Ux9iM@}+rbP0OidmJz#& zne$74sp`hVL)>(K#FU}vfWqeY*N6RM(hTf-mSa+cTb&-pO)h!VRQ=$(8B$FB6{`VD z=-geZ+%h`DDL)z1X4c1dr;Jf{cmg#oD+%;hWW{UyQYZwEk9hSx<=di)>F-0P2-(3h zl+UXVVG3O`Sv_9-KyBPla_esi(J?eXzgd(3RWnFWDd2m-3@wThhy_V+4ged?gt7ls z>>aIbI?vu{`7~3*^}_t`t{xSZ4r3&#Z_@s!qAoFebJ$WPM5a8L z`-_bUT>_KgLrR8W?!pyTFRmK?-D7DUL)WUHFkOtppbT-pze;kJLJo%+5}lb}-0Vu! zzxiAzz`UkOlCcA_t5=J&rlyYI_@vMrU;YA${`8QC+~(aJ>RV{DL-4#20&1DJ&0rXG;rzoMm1xI=}=h7kxli@ zi@=f;e#Ul%LQNXQwq0HyqHM5i?KK(w8qmc0--Uh2yNeX4ZfJOLUpKqnH{^~Oi6l=ui0o#4_q*Yvdgu8SAjxpAGCRkpv+(GxLpXb36dS;u}vxm?+xGHQ>vIqN_rSi@gjR2?* z1Dsxsl*jUZV#}wJeHG*(*BgN`7-dy#ALH*qKTr{$Tre#o|eMUb1_@3_(c2GmpN7F%KqSoL5QiOfI zv8g~+ka??oCMtmgbN;!4AX*)WnfWiHye(R_(8UL_InGv9nQO|V=c?`PCg+&-faKXp&@Z#R7^lVk7Dv+6<+xkf`VU4|j3Pql>E zw|o#pBsOD0&p zK%jG_7}tTnV=)3t$FXN^VCmh|x2TL?hh*i*ZAgFk7PuAPTdS3--~FZ0jf*T%b@u&| z$V%K)+9>Zpt6OP-S4f4`;L%ZOn&U7xGhNZS8yua+nY-Z4zd4dQ1YKnrDP!3uX1O8& zhf9hc{VH$+T+Zfcu-U_x$hnlcs+=$!SgszpPIQtSr7t7loyUGTK(IXh;?t-pH+22P z*yyh>wp^kZIO0w_I84b!c{h7stN4d}U3hbe^`rJi;ne?Pazap8n z+6j;FmS^WOwRl5lcX*&aDPnK!>uRt|8zH)8f_2*?k7}>%pC-}4VR*b`oGKk9aeKso!u^=kIM8>Yqq;x8~Fk-l=Zh$^1@B5J*DLoesiD#y4{%D z?=!Sgnijy9Nf*(-xfonDd!`WwSTRi@o(-_usA?6l7~r>r51@b4&7O%JV^53hsSWeL z=uWFIPiUi*505JMR2w{MmbGaT%wTP9W%>|`=gEH++lVy*jDUBTuw%r3^DwG7Sxb7; z5H7E(@H<~-^PDgDDLSJjcj2huXFv#*u1E4PAJsbrD~Jcq|G5^{lJ>-V|XOAniJpbZ!bc5F-Hs@IDB^|ClmUE<=G;3g= znTDE1T^q_U=W~?LqF&&`Cic24n6MPwae`t6iMV7+FQ7M7CN;% z1(@Ny1T67A4)llzAfR0e4O5E-HLd>Hy2IU93ylESF#5Qoa4$5_5$mE?c^y#$*kb!aflG`1UO+UbOf9;tv@)Q=XdHM6|^XYH) zy?a8lV1LNUJ9hak*VD6 zI6{WjQJ=dttq4^2&khDaAZDE?fl@30YNZu%>6mx!w&pVK(pl1sKrIbg)l{)pOWL?D z;HP3&)XIwnBqzxLx8Q?fyXst_CPEEzy$Cama2v;Xm|$Jb+oQ-Iqh|2ZvUC{(OWHbd z8<^A35=vK-4w%s-4UJFq@nOMF2pGrG%@P;ql0eRw84(FXYqd2SAK$VCWfWe((wt~gjzN`4t*RY42fB)uYr2Cyg7^h(aE`3k~sOvvB+mj)F)j{gc{g6IHDx+ zK>|_7%o{D~0Av4$nfM4z1;`-{8RXZf+T~UlI5lo%2{&dpDqN2yQv%w6A(yp^ED+W@JcVap?TQ zWSdM{P8U0?!cu8f>h4NqcSDnf$&3oF<1Ae+Xqbg;OfB$ES6zpJ^ooC&Q`{_MyDRlY zwR^9*&ri81;mP}M8t&CP_^>ufwli5kz>yJZ652I8>Bz~NTJ1^IMNJ$`{#@inZVWUf zto{IMJ5;jx3y>IrV&lW})AVhs7L5mJo!`k#$zU_SwiIrqKhlrUQF^#I`~nN%JtUUr zh`I`#&O^E-zak3q;6Cxzp3McI->4KL-sZ35w^#Jt&n`)^>``c=b#;W|D8r7NDq!aP z>aUyB*)94$5iV=65Py<JdQi^JNoCWy-5{$&9pEyi~)-TJ8$=w34@XK z2vNCSyqA<>Vur51j`4bC9XkBGs7DDwx4Q%8XeiHQmRn;bCPD?%=P_cS`sx1R{_@=t zyEmic#QISRx*X7yd~9oF41+O}eVJS%HR9edr^i+A?o+}agqiX_>#->2R?I79lpewb z3rmWk->aI8nP8I;jrxioCl?%(8#;4haR>$Mnfy#E#88vR>`|IC|UFlql!?yRACjH|Ja~G1r-!i}Lt7){gfasPJix!XV zhbn*BZoQW%SBlimESlAL46C0{)R23dn#&>c!5~RQ4WyJ^JN6Xb)F^fhC7Hz{dJ(mREVDqys*Y3-=AAgp^iFZN~u<#kh!1=;yqwKMRCZRUvl;TbX_J~Dk5L!ZPzU`mT+a15YH0J zucVBcqCzNVI{V}_MC!1jOqTU_ixzDT+ZDN6@i9iY`(t`B;|O$p8O`EDX$|rf+sGfP z5VN)SpIfZNHW+)*XYL_owuTJA-^PCRqW?m@xIwgi5@xB{g(ka8YB=+FQH4A%kY=<$ zh_MAJ8e4ne#+yS6El`9-5JlDMu|B55=ZCaadQnA{v(FqRfoNwXgRV+bvQQt)Jj2Y} z(b|_PdJi+H;fi#iV;dteB`>pwPke|q$z53M9aLPzj%$>hSZmkFw(ZrvCIOs z3Wai=jf9|=_P?If)Qn5Jj5*G29f^(#2_@kfazXhIn% zQL;1yeP>8ju^WFS2ZFgA0~&pD*E%Z^93~2s*q)Vm`8KQ@^tbE=WT;$Kd8!=ncFHnt z`wDdO7zLO2hS?80KIDT`#zFc)U%TP*u)eBYjwSfo>R;^SPd zvF<9jk+Tr8dVh#b+TqwlJ5jm>$#h2UBb;G7t5rvE2x8`j8+DFF)+?xHO)PW=Oy5v( zEq^82BYBqBxG$&x|Jf_fM?%p$cao;K+aUlFxvensnvMHb$wg{3jiwmB1fUSoFq<81 z$Y+zxKk*jYCoa?DP%v@oLM@4I*^T{_GK(~5IHSf<##@J)j5K@<-A2;E>32VmBHt09 zWn%P<$7I$TnFOG#&@#P7Wz+HkIh9e_N4>$o_XR>_kL;dwhRRU1NF11hW|hs{07!7l zE<>;U{!(dp|JGBDx1b6m#;^Sl>_BXQ7XiN03# z!EIrl#T#S#MuV@CV=s0k(+@f}i|V=|v3H*3s}+elTfhHJF>(-GXslz)9Z<_1Jo`jD zXELq|iCi2c0VG3ELT&F+@aeYRxKq1h_u6R1ooDug^*H>yZZ6Bl5WGLgp`x|{=^@?N zIu}zpk_#`7+bfFjAtJP>%U&|MikW=8{ViikH(B0nXXHMwk)l8Teg-}6zC2nyM$hLw z1uuQJizCDO(Z=VThNI1U4ahEg-)$iX9ZBsdAQsBms0oSC`G^Inm@h*v{WdYaB%bOS zp?>L(wmvTpB!@@7+ufARg*6jj?hKdE8#mP{%VsDyA^S(DNgHWBc#0<~ECOv3+bk{& z>zz6p^MkyQo+g9?aO@mYt0A5&M)I)E*l2OtC>PGUJ+3cnraob4`MLRQ|7M8ay0U7(3F zvrBO8YUL;$f)nCBLc8A&FPockG*}BNnnF3@3`F-RS{1!xba(f5G4~4VX!xZqT+EVn zI-rsT0qe4h(v+8i7f-AIO*OeaB>d`t!o6-Bz-#wp#KYyir@V4`pTcVU@|J=#|LZ}S zIvE+7hI&gj76yn_O9e9M5pZDmMOBV7B1cSw!i)VQ3fl=2GfO)v={p|R^KCJ*|AEAv z=PQ;e1#M!|!->PFZyYK?sCtaM)-^QhG5ULWiq3~`o{y)r;CyReXW?BF@b7m(Md$cQ zD<AgrRhsOq=7(IL+t| zj4hW}ZOt0q8btNIY8g#!-_^p{7Y|m+IK=~&?4YjKaK>~X&=N6vbcZ4$T5!ms#qcW+ zN4CsC%9gfwj%Zsmv=1_btw8B0mp|B1_bmA3^w+TS*}SQD(wpASUi5JJIOKx=s@q%G zT9!@W+&h6Nz8Y?lF_CU(R*ABqK=_bzY=dM9v!YfE!(3MIEU>x!3QYDhOe^Nw29_O( z&8%CVBJxc2pFMtgFf2HKWM!DAR^CsUnflY`V|fJHba~BHiSu7uUZ3sm%H5uml4ox0 zjvi_L^Le@)JrayD4EX$uPQ$fMr}r-l0*ae^Gc(TwPgk=$%r@cAVuo7b$c5NRZhXQj z0-3pF)9n|!zu2@0%rl6S3<0+bF}Pa}hn*@<4E!uNVKP%YA3h9(xULN@Mj~*7YISX| z9F#E6m@topf>W8JN;Um_ZIpdKx1A6XZ16zJ6wB~})RyY;`7_RcfY9}2OPLYpZ`m8_TN}J#x%OCD4cgTn_=#qtM_xm@*!cEu?#0Fs1nlN-Te@5 zo))h+ao*|AydgEo1-X*|HQ1wBG(fcmayvJl$BxC?5#<=cQAXomsEo(5_PmR^kL&SY zvWAH28`N{H9zKe%=z0jR{^sBR^KQ}gYT|3BVU#Ax;8Gli*7bjh-kc)lPcz11(d2fQ zd`fa$xev0oIzUN;uu4!NgeqfNkK@JZX2hcgghA*jTirL^R_!LC=+vIM}zb$-F*Q%g}kO)FR3NR-c;qKJ|YsPHvSqI6YJow+L>f?W&wG5*RoB&b|1;0%JQqGFoJJFz40c`g zr)V8Am>-I0pJh~?XSjC&ZS6N-rjI%CYR zSVe`I=;D7>j{l`I9Q#6EtnL3-F|babkuH)XlampA^qTm?ykHXYYg@FKZ4vi6@BGv{ z9c@qjMoQPQB^_R|!B^NwoM$pc*hE;ub_PaJ-;;vB`#7)!)04JD*{T`b&8I$n!nG`I zN!jY*%^ z@UsbOIW!$)H&)4IUTf&G;Nl`=Hp{c+KIO(I)~l~WrTpzfcCn)a&kckb;__P5*3{KZ z|D6ZPOmApOti9Xw^R8x(LtwIkj5|$hU=MAp06za!f9+C;K_3BSXeTv5d_BsCRiT+7eH#%7L# zr}P2ez4i^Wno%EuN9V|>c|>}zHN1nSZ)e_!&5p!ixp0)Yb@Np?`K5%}zkx{iiutKk zHPPXt^Unl!vPJB*1=jvgC!7ZoN{Z+RgQ?#YLF)V9yL_?6-c}MfGc>)GU1bL{|DV7gYhg zzO@^{v4dB8b3D*6Hv%4eR{hJHFEn19bs!7DA;+_ApNusXO|zh#6jGohr))_kIZ33Z zE>&dwRrI;_HjzUk{+8>g2cmJooP+1Qg%SqF2bXPDGp)EL=vJKmto_(u&bEIt zQ44isu!9b-iEKwbUca?A95=`K6@xlDh_(5EPi9V-4`mg#I&i++d!78sCtNA>qGAIw zV=Tm3a~DZ449!)t2qZ+{ODCJ83(SKu9+EZu8&yFS67CVPpj;Fg&cC`>z$N^VJ0~5V z$M{ABF{|O-L&&Yc!EXF@@nen7U^oAIv3kgWm08cKbYhGTWhw%FZ-uRo|NTw_vnTr2 zVV-WQsCq#_=z?Xakl7cis~p=wmBnP6Tmea*v%uX!s8+&{vgakuLw*Fc??W#6o_nqH z4$ejllE*ED+rwWwHPi-$+CkWDPek5*vl}{)rZ^Oo6kuO{z$wKjqzs(V(+{79x_+%t zwXwBR9z5Omwc*hvTf!sHI*?2LeiBD21UVcOzqeOlKQx&3-)bsX&o8bO+`g(uH``zV zBQANZsrl5zeaUkUP_TN{W zAUS>4GO~WFI<^(#ue$?}RLPca$g&UQR6Lq(2W?G~ylZM48Kqx*HAt;a0~mduP78=I zs3q=<178o(IncCXPP?pUI%BD0=MocsMQvhiyPb9K|RPA*Zl2=hLgL(*GJRPkqT$NLItDL#M>nYo{N}sZ6=h}Q=zJmL* zIpqhs68B)846NWgGsfW`mOX?ge#VGv`W%>f&*4x*5W^1HP1pCu@`^2x*%~D;ww?HM#|f}Ho+x^8%bVT@o&EehNL{K{2Y(p|FMB}i#`r`mwGrN?L4(OV*FoV@vPIPKjLqoA zbR%ij{(%bqvK{>CO8q+iV8h4+zw)=ZDv@sqU;j)8$#v3K@Y59*eLW`T>Ysf_LfD?H zYCt|TU0&}r7v3+7X=w9@9msW}_@`Y*><#1XJU2m2?CX$D6^WJygTr*uOOuz8QMfCr zY~_bM*3>sY1$^7^_%r*_DZCtzxRDM9Zi2n2bD6dgv{UdL6vSj|5hMVZRB(gyFvE7R zA#?kySHg#k+aL$PsG%H*W3;*TeewbN%HXnUfNu9={xPLy`doN=d(3|i<}(B$mXz4a z3ybQGArBeR4pqh(Gc^44$oLfARF8Kn;|x+UP$s*k==?Op*}MMxoW4S<@tCv%sv%|#hRra2I=+&0a$#FV5j{>{QS&q#gwyDZL)r=di#_Ww zah(%H;qfO#nS9zrMP!ApmoH=wex%1$sX}$7rDF6fR}2bPrMa^K1Zop1P+T`u`|DsA zbsheG69T`rk{*BMFn2XS}@_^v-OA+MEA67m1X81bK+rP!W+^{LB1c&U~~f@IsUemW7#8cMya$l zqZ2^Y8O;~FMZm>*T3_SR{87lu=flta*~e(MBrggkv_qV34>y>~!(}k5g5~a^T9-LV zHtG%Vfiqr1alhrG(=)!6+>fZ1H2#{IDmGd;aCM57MIrMJh2EcdJE~^H3h8tQc~{mj^9_G-4qPd zN_W*8HB}deOsl06go)|X$;T%P(YM%Z>|Zc`5m*HE^FM~_PuqX2`F87AC!oNl9hL|1 z;stM;O526$*g`WWJtv)&3|_;G?_Mp3l5vo_=>dCn?HxahC?;c!?Qo-NjkcX{npzV;?uhJbYuIW7viYX_& znna@8=Ipq4igiUcA+$vt-Bh-1hCLU7C{!)L5UD#qpx#_<{b3rizm8bkY!-4U2(z_xa~xzhMQ` zztccH$`(-r8%IU_v4-q4kT(taoey7)U7Tc4fRxR(DK1D*c<;*YpeJYiQWCHUQUj)4iy;~Nzq7tjW&UgqC7@Rk!=wB36O(1Z zCkh+SNd;*#(c+jaun%P+2k(3q<`>smuO7Vg$21VF#m9YF^E$QKvMQs!UClt=hZqe#Da`0SzKHYB;DEmRkPLB#v=3ap<@SAR z?^Xw>j?`Q2I_1+lR76PnH?ZNHsf9Prvk$EseyFV|mKSm=d-6!JUa?LxA&ucZ&H=S= z_H^wX2h7a)`k~YG(ZPJCJ%u#0PJ*QHGIjoE4Q{3pVzVN5%@w;V1wsIj+bp_z>%@M4 zHs>KIn({-$Y(1Dkk1v+VA@lrNuj69cdlP?Wdg1rG85Ymv}OM72$`tOBycUWi;_nujn?2~X3Tz=#gY@bmzD71UET;paMM(UCr z<;u>2Ak>FF8Of7OE7m^u`ttNG`KslrN{OmpLov7MmMY86vCN>l6?2Zj$1$Fh>%=Y? z=~3U=Gj2;$H@=wBi~D@TeN>;)K|!F_-)7+_Vh}y0_K(N@J@h|YK?Th56w&%3kqQTO z7I3HD&z&IrL!=2>FjXR`w=t-*F{nRirBIEF$hInWzm9BJ%I=kFh4Fq@^^nO+SUM_# zU;XqRNn2I_2b!ko3TEyhcGBVC0>w7-Jry&W)n;KWoUn6^qEiC``^s&`)xBRvu|@KB z4XH`8&#g6ng>f_2oAtcm=^w6&_0l1U2MLdNW6~NgWTQ<>Wud;))$?8X-2llusVnI;P%EvSkmL)#J)IdSs5x=5PYEhEP_{kfWXM^5H*`S0! z!gYVRs0ge)j@3)Hz_Dl7D?qRO_z>4!fXL=$__Ri|P}qn=p9w~80%ew0zS-N%)(Kg@ z@dm+JFPZb`gObXjD_7>>)3^QVJkeHSpAdwXIGYMiA-DJKMFYZ6Uf4dtr43gw+Y9B3 z?2#gKJZrIh1mRtltR0hnfvf-Kwq%~nV&h#1z|9={dg=Kfpx}~^=;)f1$5t3<3kh1> za+g)0pz@H?{t8fFKi)z@5BIE=BS%~CNVK>=9WD*w@q0%d(Q`wyp6s6;JLg!qgFd@7 z5is`zm@~`QKVnNlw5>Ei45i*>{>s#c8XER@&joqb3JT@HZkjQemcUu5iB}?h9vD2t zl5oQ4vWMWhAZ^>PuoV!wz-pJCHQa~CD+p>T%UvohCfC^OUK_m+qt3wfQ<|3u`60$L zr<1+G)#|Ot{bHbP-LaUW~|ec ze1J&s;Mc%Dp(4t*XiBbih^-az^2P4$#X>)uvQ~HrbPUk)MIIG!&GOYHM4A|DhBg{u zo<3kXewqmh4!Oq-!)e5>9o7Bipytj+`jTLI#(X7B(dbMZ{(6GF_@?~j?6Dc#8+P#p zFjr>EfEfjb;=KY_O)D{F1mOp~H=E^~hpO!Pr?deemZhtCF}AkD24c|FsFBsVDlz|$ z7X{oyL`vD|TQtif7-Fk}R9ce-oLb^3`JN3Zbo$$&s7ZPL%7g32nFG2Y~aIb8k_^+k=kHr296hp{soK~n`_HUA{$)LT>qzOKNADe25$2VTO92%m;lX^ zwAf2zoN87A&R7zx%b0IFEc!kZm;Wf1{yB?8Vl9!<{yE|nAUE-(x|)X1l~3R7w>D)g zc{OtW;DfF%qGlsyr2EZ-z>0{~6k{pwt-!1TgIdDc)nd0BUl=vs7_SwHzL!4UCVVQa zc&-OP1Qruf;LAg>;-6Z9_Li)%At_HH0U&vW`)(=QgXJ$}aHO9XoAkK3 zg;8JNhQ!TwCLFDof!A6so*+Tg0hys@@1mT6%Y}f16;lWrwdi)I`GHweEDQ6=(@(*I z=hJx=p^c8K03eU_lKP1@E0IV^U^%H_O1->!BrxC!_{TJnzcxetoBHz9f&f&0jGLwy zg)D{mi&~LnLBqKumTv((;k6hvrHJ(MEX|q|X>-(Gw3Vzrc+doM4iRfq+O=dc`~0Hv z+l>i6pp@*`GgfYBijV->B?ppI#o?Z)(y@|xK zqS9q#@FUIDesv}HDHIxY+v%K7o|P5XJtfHUqUMPe6YTJbF5$sfYG!Ee8w~veP$GZe z0G`#q6|o*F1`;YjTC?_qI+Go!rGHy~_RGT><1|!6Jc3*&X0}(0*iJ_&->=vLM+$5n zYj|iZLgH!f(FQCsSZAF;k{Zp;ua4<3LwxQF=K0Kz6;>c(qDk;~0!d;4g&oCk6Rw>( zyTaav(gnp9A^&Skhe~433K3-X(})mln{H@KsNY-%zzCDIK6{FHrlj4ap=nP2MzLmu z{=*55suhW6UQBhfFix5{vsr;h8x{+EVfW{}x7=f%)_|Ti{cnx-r6U z1neGsx>h@Ck78)} zZTh}1fYMEPI7tvfmY}$2%VJjKc>CMd9Xx&)Qt2JkJ2LC7!7CzV{-gU!0#AQmBbg7L zprDyFwrF9-*hMvs?A+kT-_UY+{6|EL9+)xNB7Qg)k|^=L|3 z>Sw-`@LTow%<`MV-afO`Zy$VfbVvBXTc+3t>=2nYpJ5HM!e6|+dTA^S(uMZ{>cM;b zH4kO#8iP`#1y^@KPArUu^Qb?&dYC=sIr~^P%gNGd$t#nn))i%oewyty`YPBgPh0eT z!Yn9nv>*yiZy~-o4>e88?A*e2pt}-)%BJ3|264A7s@fPDk4^c-0m{&-tdD^-;q-@Me7fp@)4qAui)!E--|+YkLR zDC(j{(oo2v`_^!uP2&2T-9mKig)qdCZyGtDt3&W9i zvhu9H`6jrc@|%|h=3j}F@xJRJyI0vlt&~>U3r}WYZMO|vo~;TMmEVle7ps-Xb7zdD z@ap65y?1~48e?br*f)m)W_Pj*!M{%O5c{w_ctwf3Zxl~N1=Egto8oaxR+jH}nA&Mf52qdj{aq5p)LNn!XG~Mf%dEw7g#}1l=M%4na(ae-df;M(=A;1X$ z!Ll-y?l(oO6N(V)y$|(c;J}YTHWObM4y-P^#&hqo>+^3ZHG16yy*uX&2)UYiaeXma zdv7NC3AC=Vx>fUjtmviSAh`C%^L=|Cxb|kyQ?t77s{4g3x5T?S^c`2272pZJmme}`@)cKd?U^snj?8f zU7a!PSX(~{t?YKL$6rY1>>N$G{;O2{;KJS`F+ba`TB-`Pk_TGxD$2;pl1`*S-RX8? zbMP(==gvX~P}j;fg6FwyvOB`!Z0qC`Fwgjl@fYZUu?AC4Fy9|vinWH<$gC;aYs%Ju z`cDK%c}+?=*!0Vs8yhE-+tI?Ku&%wbKvs>iO<>~Qe?Av@>waMpi({s(9;AQ9^z~H0 zjZUpkn)>HnV^{+P)yC+!u`_-nZB~djfwb4@`m073$wsFl;g|lm#PT*q34S3>h+HHSv|j-;O-691^Mlz9%98m%kHb>YdhfMzj`zH z#=OvE=vJN9D&1Y|$i}1@6Vlq!w!c*Ulpc<{$djAcva$SwV*4qv^NZNjfszpW(!rvP zHJ?y#_2e7(um16!M z%+SOU7#6#a7N#OkVtuBK>6R^xgI|Cf)k*6Kz@PSQG6WwSbHq-cBBDZbpFTK@;q2uY-MhW@WM-K42_(R-@xGX+EeI&gdX14hY(>%h zl-%8?^If%5tP;WQfxz-IzMZj|=d8JF_79if$HNZZUSG_gX6g}N8Y3j=?WmpvRX8N| zNj}hQz)N3BLsx%`gC>W4m6s@RT_|xw;CuVcuTSju*@HXL=IiS;S=!>5kYi|XJ@MTd zhW#;P^Y_}cS@g~{a7CtK8O;KYQ_cYS35n(M2?M6(V!J>_pZWE@Aca6!MhE|`Tcn06 z3NLhmDdRbzSLs%)o z6>%Jof5S2Ro`kaP@!w53wd4_2hLIbt)sH~@lQJ%7tv-)&vTx!hyqR!JFt4K%dz6o< zV8u?~z54ev(FO5mT_(v3O)nZrx)m0DT`use#wQ&U1|@Rj)62FhD6-a(l5ywB+IDyu zWw~ryd-(BZ&5$i1W)j4P@<{)v19!a$O)OrIe;v)b!cBURL9H|0G~0 z53obhU1yjj@fy)v??q?I${(ao&ORJ3^R+whaH=Lc{HrD;A}5du_g6&z*XlRXS#Qh8 zLo=~8TfTAfQnDgfDNiYUmaPrAe&;_ezl-utsj&k!#K_hSS)%WuCHMV|l}44hB|T}g zq-R;7pM%A7?8TW`%^ZY@D8QDbF|oN^68tH)lHu99=QsL&DQdQJATwk3NcwnXxoB4R#JhGWx4pW>ze}7|kgC z7c?XO5$A_yrPLhBqzy0X&u&UM_rQF*k?(8l>^1G*5Xm%JJW1Vl99jl9!CItR5MB0; zAJPL;y@y&bK%~LOQ~KjY(1l^D&Nrx+MCHaGBe>^J&S=$j& z1!l!UL?0jgs^0x0*F{9%GcltuCn>Z_&^nrrw?d~@)upE zrRLK>iIC0FR~ZLnskk79J?Y7OLza^i4pXmp9}RmQe=p1s_r5t`sTSr!h4kib?;r2d z0`>|TIm%308t(K+{OLT^LquA?8|5+^q1QY#SR9EMwSWEvN8$gB}l zCn)qHUwZ%t!4!77{ZM=VP$IPw*S|JdDWjab2PHg{X&)dUShT!=VFy=yL4HzLFAS$K zA{>UneYPWWu)E0m#ShpS4u%*drC(~`yA|*h-6U)Z1#E_h*!`zetW!z}g29nWHOI2y znkII7KO}>`I@+5qe?yQKad7ltD9|~=sKFhIrkTQ-!qT}$>q!jm=A5Zbe2iP zo4L+^G+Tjv8X^v&F#gkeNYneoTU#w(JKB{DK5#r4S@GxK$kts*wD|AzeqTJOd@7cv zxu|R+Wv0t#`veA><*8cm)x<&gBVM+ETZD66I=7pHit4aq-V{57Z}*+^#8&)4`Wur( zsJ8{VEi{j_o&5{3f{)rzhHdp}*x3$uU^iuhU+S5t6f7)_%=pi3dkjt6@5VJR<$P_t z$@^|Z%aPk9da~(*&ED$~CW?R8L;r1%y{4d)fOHQVun}(PCi`cc207z2X=(zW#zU+b zqMsErwGCA-hW~wgMC>e|#zE54+@(I-sY9m_2Cmv;Dgtg8!3;SxzcJ&Vn^HtUhQ8K7FUNwF9GyPGK!HUQ1oWn8~2 z_|^-@T7q@3tfU%@Me7r46@_cm3s0iSR13tjJqlK$O{nE73!A`!gwMT8wKf~*Awt(! zu(+brlcrpaXJymAE7mZ*&g$8&xBrh5X>#T?G2FsqH=qM)*&aa6W~&~5`gfhC*S)qW z6lZiR$?Z z$qezRGWNiKSe9-u*9Cc9#3Qs?=E=EJD=e-dw3$x4h!{vq)lQCi)X6vBB*fP@B+fpA1DcU9P#%)8?#SG>8M+4^LZ1z zhe-Xu089$A_4N~2(x>#N8~116obNK<1xQ58eHTy(Q_Xp%1Ggs-yS2HJ_Y}K1q2SGl zAQ%vg<2Q*cYaA!im4{LuzKeYqAQ3I`UBCuRHm8{O+?dD@ghLq5MSAB@ZYX$jq*X9D zc$xNzENcSC(Sh5{vebs}EZ+r4M00%?P=Qa)v8E$;$9_&1pe;jqI@nC1nmeRS=Bg~PdPxLn==aD+^H6v z7kom$gqAjo%h{YuQuu7=FMJmu5l!}8z&eZ>VsjS0r?mORgkfnqoBG~+FVRpvG> zXq&MerC{+_4OrAA|B>Xug9(QnR;z2aS+{eucp3wy;;aIMrnL@W96ugBp!Cb&A zi7&M^XK*S_6B|^F>BR?$e@cl%XFes#=QX`;ZsF-f?$BLRAFg97g>Hc;cnjwR^Lr*H zzSJ5V$?w=Hk-_B=b4=o&PvUYr0}|P4el!nr3!f(b`Py*}2Pk8NvNW}asdLp^+|I-JcVG*IXkl7hFuW|@C*dm@i{ zUso3fa6FBi4?9Pu|l`76ubpD)%=?~Df6=I8tlyp z9OCd$+kefOUOtJ$E8tE}b{JFh%wX&LaUSLha+f>-$1T*RB+mc9wcaiW9! zeT})2zk2!!A#tn9ot)?(tX7$qxQ7=Kzpd_PyD^X*6}p9|;1vK~Hh*QL$K~(9i5wl_ z(DMRw29J8IU*h)%u8eeR(O7d24>8kQ{oC*lz2Hv(1+Vx~G zO3rOc&C^`V`(7)SK1hr42I!c>!%PB5Ui-MI5Nel}b|ZN+=`Dzj;; z6uc7JSLO!pVzKWsL_Dj(5nSxxIpb0^3SP0Yz}(9==Mk3rE<+?nH93;= z*hY~nktuk^kp<>4u4jVpGDKpq38!%uO%=N0go0NbDl=~|h^Hv^U5JPy0edlkL-n!) zaY(@{&P_IVa2IoYmmv~SeU9Qh-7X}~DR?Co%gu9Krx(;qW_9EYPNj}QS7M;xl^BgQ z_wyigeU~8;LM{3+fIf;`iH(9+Vz$gY&mdmc4M&mzJs7|-)K%z8tQ5SGh>7MN?qQbi zGDOy+AxCf~TPt!U0SaD8%nI`g5AZard>10Jh7x*m0>|q~RFW74uOw`$d4LC*=(`LN zU`vkW1llNaB~c1q@nW2Lfcu!?y9_C;M)c=+dh6kj;(>x!yeTzraz9V=qwhkbP-@bL z6F7uwid^wT!7H9EHAA?cmv!b>V)xV8+@q+k$Q7>?ypjsvna3H-2fFDUVB3DvL!7HgY+q}dOUecA%QYkgrnSLCubGedg3SP;8rDiBYc%JFL3z5`n%wF{4 z5M8k>8KB^m%qTOXd7dGR^j(OgN?ZDIAiL?lT*(XtuVl_7^E|KcF3WruB3{*G7y8nV z4hme!7zM9n)KW8?p$uh|F25?Aw)CM7`%+JlE19I=m5iHVUS$YFndiF@iCrCf(vO4n zQUl321+V17D)SMq@CF~T!gnd+Ty=I}5BjnrRTa6C0}5Wrm8E7R!x_rEEcacCL{^op z=|gXJ)3wTyD+*r8r6p#R0ywjN4%}U7pum+JQt(QyEiv!$4)60Ji+q~%jVi+SC#(dwU6kKh# zp$9v&8_g8AQYZ>uDX3Lu0;3qkNIub%pc7Pw?rh7pY)fZdqbvob;1%I}Gm?>vSE_9-C9v{^O(nc<}r_X-ku~~gGMx>5e;cX zBbw5jjcG;;no~<5D-tsWuZTxW&CfBsfW<6k1@l?SB9^j@g{))&%USaC-(}f4|5TG& z>-S%IxsdmGc_wPFgh?WCO}o>0000bbVXQnWMOn=I&E)c wX=Zr { label: "My First Dataset", data: [amount, 20 - amount], backgroundColor: [ - "rgb(255, 99, 132)", - "rgb(54, 162, 235)", + "rgb(0, 130, 204)", + "rgb(160, 0, 204)", "rgb(255, 205, 86)", ], hoverOffset: 4, diff --git a/code/index.html b/code/index.html index cd97bae7..b8e7ca2d 100644 --- a/code/index.html +++ b/code/index.html @@ -9,7 +9,9 @@ -
+
+ +
@@ -23,9 +25,12 @@

Popular repositories

-
- +
+
+ +
+
diff --git a/code/style.css b/code/style.css index ef5bff87..3c73f9e0 100644 --- a/code/style.css +++ b/code/style.css @@ -1,17 +1,24 @@ body { background: #f3f0ef; font-family: Arial, Helvetica, sans-serif; + color: rgb(45, 64, 75); } .header { display: flex; - background: rgb(36, 36, 36); - padding: 30px; + background: rgb(80, 99, 110); + padding: 10px; + justify-content: center; +} + +.github-icon { + width: 10%; + height: 10%; } .profile-container { display: flex; - border-bottom: solid rgb(163, 160, 160); + border-bottom: solid rgb(153, 160, 165); border-width: 1px; align-items: center; padding: 10px; @@ -30,8 +37,8 @@ body { object-fit: cover; border-radius: 70%; margin-right: 10px; - border-bottom: solid rgb(163, 160, 160); - border-top: solid rgb(163, 160, 160); + border-bottom: solid rgb(0, 130, 204); + border-top: solid rgb(160, 0, 204); border-width: 1px; padding: 5px; } @@ -43,7 +50,8 @@ h1 { .repo-container { display: flex; flex-direction: column; - background-color: #e5e2e2; + background-color: #e2e4e5; + border-radius: 6px; padding: 10px; } @@ -55,7 +63,7 @@ h3 { h2 { font-size: 20px; display: block; - border-bottom: solid rgb(163, 160, 160); + border-bottom: solid rgb(153, 160, 165); border-width: 1px; padding-bottom: 10px; } @@ -64,7 +72,7 @@ h2 { background: #f3f0ef; display: flex; flex-direction: column; - border: solid rgb(163, 160, 160); + border: solid rgb(153, 160, 165); border-radius: 6px; border-width: 1px; padding-left: 10px; @@ -76,12 +84,31 @@ h2 { font-size: 12px; margin: 5px; } - +.canvas-container { + display: flex; + background-color: #e2e4e5; + border-radius: 6px; + margin-top: 10px; +} canvas { padding: 10px; } +footer { + background: rgb(80, 99, 110); + /* margin-top: 10px; */ + padding: 20px; + /* justify-content: center; */ +} @media (min-width: 668px) { + .header { + justify-content: right; + } + .github-icon { + width: 5%; + height: 5%; + } + .profile-container { padding: 10px; justify-content: left; @@ -110,17 +137,22 @@ canvas { } @media (min-width: 1024px) { + .github-icon { + width: 2.5%; + height: 2.5%; + } .main-container { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; } .profile-container { grid-column: span 1; - height: 550px; + height: 725px; display: table-column; text-align: center; padding: 20px; margin-top: 20px; + margin-right: 5px; } .profile-pic { width: 250px; @@ -128,9 +160,6 @@ canvas { align-items: center; padding: 20px; margin-bottom: 50px; - border-bottom: solid rgb(163, 160, 160); - border-top: solid rgb(163, 160, 160); - border-width: 1px; } h1 { display: contents; @@ -171,14 +200,24 @@ canvas { font-size: 10px; margin: 0; } - .chart-box { - border: solid green; - width: auto; - align-items: center; - padding: 0; - align-self: center; - } .chart-container { - padding: 0; + display: flex; + background-color: #e2e4e5; + border-radius: 6px; + justify-content: center; + margin-top: 10px; } + .canvas-container { + display: flex; + justify-content: center; + margin-top: 10px; + margin-bottom: 10px; + width: 800px; + } + + canvas { + padding: 50px; + margin-top: 10px; + max-width: 600px; + max-height: 600px; } From b66a968912345675f32c0bea687662cd92d71a96 Mon Sep 17 00:00:00 2001 From: camekman Date: Fri, 1 Oct 2021 14:58:57 +0200 Subject: [PATCH 11/15] final styling & cleaning up the code --- code/ToDo | 5 ++-- code/index.html | 9 +++++- code/script.js | 12 +------- code/style.css | 80 +++++++++++++++++++++++++++++++++---------------- 4 files changed, 67 insertions(+), 39 deletions(-) diff --git a/code/ToDo b/code/ToDo index 0be690d3..288ec6fd 100644 --- a/code/ToDo +++ b/code/ToDo @@ -6,5 +6,6 @@ ToDo: 4) Filter out the Technigo repos 5) Test chart library -1) Fetch pull requests -2) Display Profile pic + user name \ No newline at end of file +6) Fetch pull requests +7) Display Profile pic + user name +8) Styling \ No newline at end of file diff --git a/code/index.html b/code/index.html index b8e7ca2d..50c2fc5a 100644 --- a/code/index.html +++ b/code/index.html @@ -30,7 +30,14 @@

Popular repositories

-
+
+ +

Created by: Camilla Ekman

+ + +

Contact: ekman.camilla@gmail.com

+ +
diff --git a/code/script.js b/code/script.js index 13ae0151..1023e798 100644 --- a/code/script.js +++ b/code/script.js @@ -12,8 +12,6 @@ const getRepos = () => { fetch(REPOS_URL) .then((response) => response.json()) .then((data) => { - //console.log(data); - //data.forEach((repo) => console.log(repo.name)); const forkedRepos = data.filter( (repo) => repo.fork && repo.name.startsWith("project-") ); @@ -42,10 +40,6 @@ const getInfo = () => { .then((response) => response.json()) .then((data) => { console.log(data); - // console.log(data.name); - // console.log(data.login); - // console.log(data.bio); - // console.log(data.avatar_url); image.src = data.avatar_url; profileContainer.innerHTML += `

${data.name}

@@ -67,13 +61,10 @@ const getPullRequests = (forkedRepos) => { ) .then((response) => response.json()) .then((data) => { - //console.log(data); const myPulls = data.filter( (pulls) => pulls.user.login === repo.owner.login ); - //console.log(myPulls); const commitsURL = myPulls[0].commits_url; - //console.log(commitsURL); getCommits(commitsURL, repo); }); }); @@ -83,9 +74,8 @@ const getCommits = (commitsURL, repo) => { fetch(commitsURL) .then((response) => response.json()) .then((data) => { - //console.log(data); document.getElementById( `${repo.name}` - ).innerHTML += `
number of pull requests: ${data.length}
`; + ).innerHTML += `
number of commits: ${data.length}
`; }); }; diff --git a/code/style.css b/code/style.css index 3c73f9e0..8b6af10b 100644 --- a/code/style.css +++ b/code/style.css @@ -53,6 +53,7 @@ h1 { background-color: #e2e4e5; border-radius: 6px; padding: 10px; + padding-bottom: 30px; } h3 { @@ -80,30 +81,42 @@ h2 { margin-top: 10px; } +.repositories:hover{ + background: rgb(80, 99, 110); + color: #cbcecf; +} + .repositories h5 { font-size: 12px; margin: 5px; } -.canvas-container { + +.chart-container { display: flex; background-color: #e2e4e5; border-radius: 6px; + justify-content: center; margin-top: 10px; } + +.canvas-container { + display: flex; + justify-content: center; +} + canvas { - padding: 10px; + padding: 20px; } + footer { background: rgb(80, 99, 110); - /* margin-top: 10px; */ - padding: 20px; - /* justify-content: center; */ + text-align: center; + padding: 5px; + font-size: 10px; } @media (min-width: 668px) { - .header { - justify-content: right; - } + .github-icon { width: 5%; height: 5%; @@ -113,47 +126,65 @@ footer { padding: 10px; justify-content: left; } + .profile-pic { - width: 15%; - height: 15%; + width: 12%; + height: 12%; } + .profile-container h5 { font-size: 14px; margin: 5px; } + .repo-container { padding: 20px; + padding-bottom: 30px; text-align: center; } + .repositories { width: 70%; height: 30%; margin: auto; margin-top: 10px; } + + .canvas-container { + width: 500px; + } + canvas { - padding: 80px; + padding: 30px; } } @media (min-width: 1024px) { + + .header { + justify-content: right; + } + .github-icon { width: 2.5%; height: 2.5%; } + .main-container { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; } + .profile-container { grid-column: span 1; - height: 725px; + height: 707px; display: table-column; text-align: center; padding: 20px; margin-top: 20px; margin-right: 5px; } + .profile-pic { width: 250px; height: 250px; @@ -161,20 +192,26 @@ footer { padding: 20px; margin-bottom: 50px; } + h1 { display: contents; } + .profile-container h5 { margin: 20px; } + h2 { text-align: left; padding-bottom: 20px; } + .repo-container { grid-column: 2/ 5; height: 750px; + padding: 10px; } + .projects-container { display: flex; flex-direction: row; @@ -183,6 +220,7 @@ footer { justify-content: space-between; flex-wrap: wrap; } + .repositories { display: flex; width: 45%; @@ -193,31 +231,23 @@ footer { flex-grow: 1; margin: 5px; } + h3 { margin-left: 0; } + .repositories h5 { font-size: 10px; margin: 0; } - .chart-container { - display: flex; - background-color: #e2e4e5; - border-radius: 6px; - justify-content: center; - margin-top: 10px; - } + .canvas-container { - display: flex; - justify-content: center; - margin-top: 10px; - margin-bottom: 10px; width: 800px; } canvas { - padding: 50px; - margin-top: 10px; max-width: 600px; max-height: 600px; } + + From 2f9dfe29ae14daeeb980df3fe86d894e323e89f5 Mon Sep 17 00:00:00 2001 From: camekman Date: Fri, 1 Oct 2021 15:50:07 +0200 Subject: [PATCH 12/15] read me --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1613a3b0..4af72467 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. +This weeks project was to create a place to keep track of the GitHub repos that we're using at Technigo. ## 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? +To solve the problem we practiced JavaScript and learned more about API with the help of GitHubs own documentation. +I started with looking deeper into the documentation and by using the fetch and forEach functions with the filter method I could get hold of the information that I wanted to display. I created a donut chart displaying all the finished projects and the ones I have left to do during this Boot Camp. After that I moved on to the styling of the website using mobile first method. I spend a lot of time getting the desktop view accordingly to my sketch and used both flex box and grid to get the result that I wanted. It was a really good practice for me to develope my styling skills and I am proud of the result especially for the repository cards. +If I had more time I would have continued by adding an other chart and displaying more information on the site. ## 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. +https://github-tracker-camillaekman.netlify.app/ From f6254dac0deead243ffb89c5bef9b0a722f6e5b5 Mon Sep 17 00:00:00 2001 From: camekman Date: Fri, 1 Oct 2021 16:17:56 +0200 Subject: [PATCH 13/15] final version --- code/style.css | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/code/style.css b/code/style.css index 8b6af10b..a8b167fa 100644 --- a/code/style.css +++ b/code/style.css @@ -81,7 +81,7 @@ h2 { margin-top: 10px; } -.repositories:hover{ +.repositories:hover { background: rgb(80, 99, 110); color: #cbcecf; } @@ -99,13 +99,9 @@ h2 { margin-top: 10px; } -.canvas-container { - display: flex; - justify-content: center; -} - canvas { padding: 20px; + max-width: 300px; } footer { @@ -116,7 +112,6 @@ footer { } @media (min-width: 668px) { - .github-icon { width: 5%; height: 5%; @@ -149,18 +144,14 @@ footer { margin: auto; margin-top: 10px; } - - .canvas-container { - width: 500px; - } canvas { padding: 30px; + max-width: 500px; } } @media (min-width: 1024px) { - .header { justify-content: right; } @@ -242,12 +233,13 @@ footer { } .canvas-container { - width: 800px; + display: flex; + justify-content: center; + width: 800px; } canvas { max-width: 600px; max-height: 600px; + } } - - From 56da2202ee7faf2fefb090842a0bb91975e496fc Mon Sep 17 00:00:00 2001 From: camekman Date: Fri, 1 Oct 2021 16:45:18 +0200 Subject: [PATCH 14/15] very last version:) --- code/style.css | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/style.css b/code/style.css index a8b167fa..7a371cce 100644 --- a/code/style.css +++ b/code/style.css @@ -98,10 +98,14 @@ h2 { justify-content: center; margin-top: 10px; } +.canvas-container { + display: flex; + justify-content: center; + width: 300px; +} canvas { padding: 20px; - max-width: 300px; } footer { @@ -145,9 +149,12 @@ footer { margin-top: 10px; } + .canvas-container { + width: 500px; + } + canvas { padding: 30px; - max-width: 500px; } } @@ -233,8 +240,6 @@ footer { } .canvas-container { - display: flex; - justify-content: center; width: 800px; } From aa58f49953d0b31f27dbcc6192ff61edfd4686ee Mon Sep 17 00:00:00 2001 From: camekman Date: Thu, 24 Feb 2022 15:11:17 +0100 Subject: [PATCH 15/15] made some styling changes to desktop view --- .DS_Store | Bin 6148 -> 6148 bytes code/.DS_Store | Bin 6148 -> 6148 bytes code/style.css | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index 01625912d654f181b4393c80d202bb2d9e546436..ac2e55f5ac82e84536bae8a8b76dfb66af87fa0f 100644 GIT binary patch delta 346 zcmZoMXfc=|#>B)qF;R?_gMop8V`8F+EEA9c0?a_n$iN`LkW^k=kd%|31mvIGn7Ev= z9wfuUkj#+Jkiw9PESpr2lUZD1U~rw0iJ66!jh%yoi-U`oD>gVIzdX1kv81%vDX}OT z#0y9)$w-2-L-O-;;OxYtu*}r*cmWaT{JfIH%)Hbhu;$E^RG^ZW@XWlF{N!?{{L;LX zVz5EM5E%{*P7cm^0g38rLvsrq1rtNdS{;RIOCtjy+t{qOmXkwV)zH>6A-A%sx~8^n zCeQ~!zzFmo81O@B7&U96j)Vx@i)Fz@c{%xc=|I_y3GY}Y8;G!M=H}q$0EXPg#P7_L V`9&02L7}EF*-%7!bAZSeW&nHoSHS=P delta 94 zcmZoMXfc=|#>AjHu~3+iaq?Rx30VdP1|}c|0Y(TGU`Q!W&PmG8&tcrG$o!0DvjOt~ krp@de{2V}yK#}jvllesyIYFuufS6&j36JvT7?Bms0A?=|ssI20 diff --git a/code/.DS_Store b/code/.DS_Store index 00d5f7ae664e818d3a068b19b703a394c659c8eb..aaa3d3f76014883dd2f8079d821d54066b3ceca7 100644 GIT binary patch delta 351 zcmZoMXfc=|#>B)qu~2NHo}wr-0|Nsi1A_nqLoq{1Qh9MfQcix-#*NDv>p?PX42eMT zVun;?S)lmIq=KBx;t~Uc>x@jyEUawo92{I6T)bSd!5R7G!6k_$rNvH(MbRK$Kw?Qo z5|ka1pPvI~Cnkkurk2MGh&boxl_X~7r51rTXQreAmBfUnXXd5kmpkQ`=A{&a4GMwRJOrt_1={ zpdZ12A4>T_YzyRC0@jLTmei2;}kXDd! R4GCJzu~2NHo}wrt0|NsP3otMgGnAwhC+8&P=jTi;RA*$I{E