1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
const sinterklaas = function () {
console.log('sinterklaas easter egg activated')
const searchNode = document.querySelector('#search')
const inputNode = searchNode.querySelector('input[type="search"]')
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 }
|