diff options
Diffstat (limited to 'public/javascripts/easterEggs.js')
-rw-r--r-- | public/javascripts/easterEggs.js | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/public/javascripts/easterEggs.js b/public/javascripts/easterEggs.js new file mode 100644 index 0000000..2d2745d --- /dev/null +++ b/public/javascripts/easterEggs.js @@ -0,0 +1,91 @@ +const sinterklaas = function () { + console.log('sinterklaas easter egg activated') + const searchNode = document.querySelector('#search') + const inputNode = searchNode.querySelector('input[type="text"]') + const autocompleteNode = document.querySelector('.autocomplete') + let autocomplete = false + const lyrics = [ + [ + {woord: 'Hoor ', time: 0}, + {woord: 'wie ', time: 0.3}, + {woord: 'klopt ', time: 0.6}, + {woord: 'daar ', time: 0.9}, + {woord: 'kind', time: 1.2}, + {woord: '\'ren', time: 1.5} + ], + [ + {woord: 'Hoor ', time: 1.8}, + {woord: 'wie ', time: 2.1}, + {woord: 'klopt ', time: 2.5}, + {woord: 'daar ', time: 2.8}, + {woord: 'kind', time: 3.1}, + {woord: '\'ren', time: 3.4} + ], + [ + {woord: 'Hoor ', time: 3.7}, + {woord: 'wie ', time: 4}, + {woord: 'tikt ', time: 4.3}, + {woord: 'daar ', time: 4.6}, + {woord: 'zacht', time: 4.8}, + {woord: 'jes ', time: 5.3}, + {woord: 'tegen ', time: 5.5}, + {woord: '\'t ', time: 6.1}, + {woord: 'raam ', time: 6.2} + ] + ] + + const originalValue = inputNode.value + + inputNode.value = '' + inputNode.placeholder = '' + + lyrics.forEach((row, rowIndex) => { + row.forEach((word, wordIndex) => { + setTimeout(function () { + if (wordIndex === 0) inputNode.placeholder = '' + inputNode.placeholder += word.woord + }, word.time * 1000) + if (lyrics.length === rowIndex + 1 && + lyrics[rowIndex].length === wordIndex + 1) { + setTimeout(function () { + if (inputNode.value === '') { + inputNode.value = originalValue + } + inputNode.placeholder = 'Zoeken' + autocomplete = true + }, word.time * 1000 + 1000) + } + }) + }) + + inputNode.addEventListener('focus', function () { + if (!autocomplete) return + + autocompleteNode.innerHTML = '' + + const autocompleteLyrics = [ + `'t Is een vreemd'ling zeker,`, + `die verdwaalt is zeker.`, + `'k Zal eens even vragen naar zijn naam:` + ] + + autocompleteLyrics.forEach(row => { + const resultNode = document.createElement('li') + resultNode.innerHTML = row + autocompleteNode.appendChild(resultNode) + }) + }) + + inputNode.addEventListener('input', function () { + if (!autocomplete) return + if (inputNode.value.toLowerCase() === 'sint nicolaas' || + inputNode.value.toLowerCase() === 'sintnicolaas' || + inputNode.value.toLowerCase() === 'sint nikolaas' || + inputNode.value.toLowerCase() === 'sintnikolaas') { + inputNode.value = '' + window.location.href = 'https://www.youtube-nocookie.com/embed/jsOiKJ3kKXM?start=30' + } + }) +} + +module.exports = { sinterklaas } |