diff options
Diffstat (limited to 'public/javascripts/main.js')
-rw-r--r-- | public/javascripts/main.js | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/public/javascripts/main.js b/public/javascripts/main.js index 6f99621..67e1567 100644 --- a/public/javascripts/main.js +++ b/public/javascripts/main.js @@ -7,6 +7,7 @@ const weekSelector = require('./weekSelector') const favorite = require('./favorite') const scrollSnap = require('./scrollSnap') const analytics = require('./analytics') +const url = require('./url') const state = {} @@ -17,29 +18,54 @@ 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) +if (url.hasSelectedUser()) { + state.selectedUser = url.getSelectedUser() + + favorite.update(state.selectedUser) + url.update(state.selectedUser) + analytics.send.search(state.selectedUser) + + schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedUser) +} else if (favorite.get() != null) { + state.selectedUser = favorite.get() + + favorite.update(state.selectedUser) + url.push(state.selectedUser, false) + url.update(state.selectedUser) + analytics.send.search(state.selectedUser, true) + + schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedUser) } 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) +search.on('search', function (selectedUser) { + state.selectedUser = selectedUser + + favorite.update(state.selectedUser) + url.push(state.selectedUser) + url.update(state.selectedUser) + analytics.send.search(state.selectedUser) + + schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedUser) +}) + +url.on('update', function (selectedUser) { + state.selectedUser = selectedUser + + favorite.update(state.selectedUser) + url.update(state.selectedUser) + + schedule.viewItem(weekSelector.getSelectedWeek(), state.selectedUser) }) weekSelector.on('weekChanged', function (newWeek) { - analytics.send.search(state.selectedItem) - schedule.viewItem(newWeek, state.selectedItem) + analytics.send.search(state.selectedUser) + schedule.viewItem(newWeek, state.selectedUser) }) favorite.on('click', function () { - favorite.toggle(state.selectedItem) + favorite.toggle(state.selectedUser) }) document.body.style.opacity = 1 |