aboutsummaryrefslogtreecommitdiff
path: root/public/javascripts/main.js
blob: 6f996215cfac4a7eea2e98bf9df0517a3a629faf (plain)
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
require('./featureDetect').check()

const frontpage = require('./frontpage')
const search = require('./search')
const schedule = require('./schedule')
const weekSelector = require('./weekSelector')
const favorite = require('./favorite')
const scrollSnap = require('./scrollSnap')
const analytics = require('./analytics')

const state = {}

window.state = state
window.require = require

frontpage.show()
weekSelector.updateCurrentWeek()
scrollSnap.startListening()

if (favorite.get() != null) {
  state.selectedItem = favorite.get()
  favorite.update(state.selectedItem)
  analytics.send.search(state.selectedItem, true)
  schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedItem)
} else {
  search.focus()
}

search.on('search', function (selectedItem) {
  state.selectedItem = selectedItem
  favorite.update(state.selectedItem)
  analytics.send.search(state.selectedItem)
  schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedItem)
})

weekSelector.on('weekChanged', function (newWeek) {
  analytics.send.search(state.selectedItem)
  schedule.viewItem(newWeek, state.selectedItem)
})

favorite.on('click', function () {
  favorite.toggle(state.selectedItem)
})

document.body.style.opacity = 1