summaryrefslogtreecommitdiff
path: root/docs/assets/js/site.js
diff options
context:
space:
mode:
Diffstat (limited to 'docs/assets/js/site.js')
-rw-r--r--docs/assets/js/site.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/docs/assets/js/site.js b/docs/assets/js/site.js
new file mode 100644
index 0000000..bff06bb
--- /dev/null
+++ b/docs/assets/js/site.js
@@ -0,0 +1,72 @@
+const site = (function(){
+ let section
+ let links = toArray(document.querySelectorAll('.menu a'))
+ let time = new Date()
+ let hour = time.getHours()
+ let quotes = [
+ "So, are softsynths as nasty as they say?",
+ "Ah, a hardware person, I get it.",
+ "You have to make space to leave space.",
+ "Those waveforms are more powerful than we realize.",
+ "And that sub-oscillator? W-O-W!",
+ "Get in there, sweep the filter and give yourself a pat on the back. In that order.",
+ "Not a museum. Move along.",
+ "I've got to get out of this studio and back out there.",
+ ]
+ if (hour < 8 || hour > 16) {
+ document.body.parentNode.classList.add('night')
+ } else {
+ document.body.parentNode.classList.add('day')
+ }
+ preload('img/pause-inv.png')
+ setTimeout(() => {
+ document.body.classList.remove('loading')
+ navigateHash(window.location.hash)
+ const email = atob("eGVuYXZlY3RyYTkwOUBnbWFpbC5jb20=")
+ const twitter = atob("dmVjdHJheGVuYQ==")
+ document.querySelector("#email_addr").href = 'mailto:' + email
+ document.querySelector("#email_addr").innerHTML = email
+ document.querySelector("#twitter_addr").innerHTML = twitter
+ document.querySelector("#twitter_addr").href = 'https://twitter.com/' + twitter
+ }, 0)
+ toArray(document.querySelectorAll('.menu a')).forEach(a => {
+ a.addEventListener("click", e => {
+ e.preventDefault()
+ sounds.play('click')
+ console.log(e.target)
+ if (e.target.nodeName.toLowerCase() !== 'a') {
+ navigateHash(e.target.parentNode.href)
+ } else {
+ navigateHash(e.target.href)
+ }
+ })
+ })
+ function navigateHash(url){
+ if (is_mobile) {
+ player.hidePlaylist()
+ }
+ let new_section = (url || "").split('#')[1]
+ if (section) {
+ document.body.classList.remove(section)
+ links.forEach(link => link.classList.remove('active'))
+ }
+ if (new_section && new_section !== section) {
+ if (new_section.match('hardware')) {
+ document.querySelector('#quote').innerHTML = choice(quotes)
+ }
+ document.body.classList.add(new_section)
+ links.forEach(link => link.getAttribute('href').match(new_section) && link.classList.add('active'))
+ section = new_section
+ } else {
+ section = null
+ }
+ // window.location.hash = section || ""
+ }
+ function preload(src) {
+ const img = new Image
+ img.src = src
+ }
+ return {
+ navigateHash: navigateHash
+ }
+})()