[READ-ONLY] Mirror of https://github.com/probablykasper/v4.kasper.space. Personal website v4.kasper.space
personal-website website
0

Configure Feed

Select the types of activity you want to include in your feed.

Improved XHR/fetch error handling

Kasper (Oct 21, 2018, 4:23 PM +0200) 06a4111c b5f7efad

+46 -32
+2
src/global.sass
··· 130 130 overflow: hidden 131 131 &.hidden 132 132 opacity: 0 133 + &.removed 134 + display: none 133 135 .header 134 136 width: 100% 135 137 p
+44 -32
src/js/global.js
··· 74 74 } 75 75 document.querySelector('section.video').classList.remove('hidden') 76 76 }, (err) => { 77 - throw Error('Could not fetch YouTube playlistItems') 78 - console.log(err) 77 + document.querySelector('section.video').classList.add('removed') 78 + console.log('Could not fetch Video YouTube playlistItems') 79 + throw Error(err) 79 80 }) 80 81 })(); 81 82 ··· 101 102 } 102 103 document.querySelector('section.synctan').classList.remove('hidden') 103 104 }, (err) => { 104 - throw Error('Could not fetch YouTube playlistItems') 105 - console.log(err) 105 + document.querySelector('section.synctan').classList.add('removed') 106 + console.log('Could not fetch Synctan YouTube playlistItems') 107 + throw Error(err) 106 108 }) 107 109 })(); 108 110 ··· 126 128 } 127 129 document.querySelector('section.lacuna').classList.remove('hidden') 128 130 }, (err) => { 129 - throw Error('Could not fetch SoundCloud tracks') 130 - console.log(err) 131 + document.querySelector('section.lacuna').classList.add('removed') 132 + console.log('Could not fetch SoundCloud tracks') 133 + throw Error(err) 131 134 }) 132 135 })(); 133 136 ··· 157 160 'Content-Type': 'application/x-www-form-urlencoded' 158 161 }, 159 162 method: 'POST' 160 - }).then((response) => { 161 - response.json().then((result) => { 162 - console.log('==--==--==--> GitHub') 163 - console.log(result.data) 164 - const repos = result.data.user.pinnedRepositories.edges 165 - for (var i = 0; i < 6; i++) { 166 - const repo = repos[i].node 167 - const description = repo.description 168 - const repoWebsite = repo.homepageUrl 169 - const name = repo.name 170 - const repoUrl = repo.url 171 - // const img = tracks[i].artwork_url.replace('large', 't300x300') 172 - const item = document.querySelector('section.github .cards .item:nth-child(' + (i + 1) + ')') 173 - // item.setAttribute('href', url) 174 - item.querySelector('p.title').innerHTML = name 175 - item.querySelector('p.description').innerHTML = description 176 - if (repoUrl) { 177 - item.querySelector('a.repo-url').setAttribute('href', repoUrl) 178 - item.querySelector('a.repo-url').classList.remove('hidden') 179 - } 180 - if (repoWebsite) { 181 - item.querySelector('a.repo-website').setAttribute('href', repoWebsite) 182 - item.querySelector('a.repo-website').classList.remove('hidden') 163 + }) 164 + .then((response) => { 165 + if (response.ok) return response 166 + else throw Error(response) 167 + }) 168 + .then((response) => { 169 + response.json().then((result) => { 170 + console.log('==--==--==--> GitHub') 171 + console.log(result.data) 172 + const repos = result.data.user.pinnedRepositories.edges 173 + for (var i = 0; i < 6; i++) { 174 + const repo = repos[i].node 175 + const description = repo.description 176 + const repoWebsite = repo.homepageUrl 177 + const name = repo.name 178 + const repoUrl = repo.url 179 + // const img = tracks[i].artwork_url.replace('large', 't300x300') 180 + const item = document.querySelector('section.github .cards .item:nth-child(' + (i + 1) + ')') 181 + // item.setAttribute('href', url) 182 + item.querySelector('p.title').innerHTML = name 183 + item.querySelector('p.description').innerHTML = description 184 + if (repoUrl) { 185 + item.querySelector('a.repo-url').setAttribute('href', repoUrl) 186 + item.querySelector('a.repo-url').classList.remove('hidden') 187 + } 188 + if (repoWebsite) { 189 + item.querySelector('a.repo-website').setAttribute('href', repoWebsite) 190 + item.querySelector('a.repo-website').classList.remove('hidden') 191 + } 183 192 } 184 - } 185 - document.querySelector('section.github').classList.remove('hidden') 193 + document.querySelector('section.github').classList.remove('hidden') 194 + }) 195 + }) 196 + .catch((err) => { 197 + document.querySelector('section.github').classList.add('removed') 198 + throw err 186 199 }) 187 - }) 188 200 })() 189 201 190 202 // discord/email popups