on master help sign in
corrected code-style
commit80f8b9ac5b6158dd81268deeb63c6f875c9adf14 authorDYM <re@dym.sh> dateSun 8 Sep 2019, 18:58 (7 years ago) parenta04a077
2 files changed+12−30
index.html+8−16 scripts/portal.js+4−14
index.html+8−16
@@ -16,22 +16,14 @@
1616 portal.install(document.body);
1717 portal.start();
1818
19− function toggleType( e )
20− { const navLink = e.target
21− , selectedType = navLink.dataset.type
22−
23− document.querySelector( `nav a.current` )
24− .classList.toggle( 'current' )
25− navLink.classList.toggle( 'current' )
26−
27− document.querySelectorAll( `main li` )
28− .forEach( el => el.style.visibility = 'visible' )
29−
30− if( selectedType )
31− document.querySelectorAll( `main li:not([data-type='${selectedType}'])` )
32− .forEach( el => el.style.visibility = 'hidden' )
33− }
34−
19+ function toggleType(e) {
20+ const navLink = e.target
21+ const selectedType = navLink.dataset.type
22+ document.querySelector(`nav a.current`).classList.remove('current')
23+ navLink.classList.add('current')
24+ document.querySelectorAll(`main li`).forEach(el => el.style.visibility = 'visible')
25+ if(selectedType) { document.querySelectorAll(`main li:not([data-type='${selectedType}'])`).forEach(el => el.style.visibility = 'hidden') }
26+ }
3527 </script>
3628</body>
3729</html>
scripts/portal.js+4−14
@@ -16,20 +16,10 @@ function Portal (sites) {
1616 }
1717
1818 function _directory (sites) {
19− const siteTypesArray = [ ...new Set( sites.map( site => site.type ).filter(Boolean) ) ]
20− const siteTypes = siteTypesArray.reduce( (output, siteType) => `${output}
21− <a data-type='${siteType}' href='#' onclick='event.preventDefault(); toggleType(event)'>&lt;${siteType}&gt;</a>`
22− , `<a class='current' href='#' onclick='event.preventDefault(); toggleType(event)'>&lt;all&gt;</a>` )
23−
24− const listItems = sites.reduce( (acc, site, id) =>
25− `${acc}<li ${_type(site)} id='${id}'><a href='${site.url}'>${_name(site)}</a></li>`
26− , '' )
27−
28− return `<nav>${siteTypes}</nav>
29− <main>
30− <ul>${listItems}</ul>
31− </main>
32− <footer>${_readme()}${_buttons()}</footer>`
19+ const siteTypesArray = [...new Set(sites.map(site => site.type).filter(Boolean))]
20+ const siteTypes = siteTypesArray.reduce((output, siteType) => `${output}<a data-type='${siteType}' href='#' onclick='event.preventDefault(); toggleType(event)'>&lt;${siteType}&gt;</a>`, `<a class='current' href='#' onclick='event.preventDefault(); toggleType(event)'>&lt;all&gt;</a>`)
21+ const listItems = sites.reduce((acc, site, id) => `${acc}<li ${_type(site)} id='${id}'><a href='${site.url}'>${_name(site)}</a></li>`, '')
22+ return `<nav>${siteTypes}</nav><main><ul>${listItems}</ul></main><footer>${_readme()}${_buttons()}</footer>`
3323 }
3424
3525 function _name (site) {