Browse Source

Move intro rendering to display

master
Adrian Heine 4 years ago
parent
commit
f5d0077521
  1. 10
      src/display.js
  2. 22
      src/index.js

10
src/display.js

@ -19,6 +19,13 @@ export class Display {
}
return target
}
target.addEventListener('click', e => {
let target = findA(e.target)
if (!target) return
window.history.pushState(null, "", target.href)
dispatch(target.getAttribute('href'))
e.preventDefault()
})
target.addEventListener('dragstart', e => {
let target = findA(e.target)
if (!target || !target.draggable) return
@ -51,6 +58,9 @@ export class Display {
0.5 // Damping
)
}
renderIntro(intro) {
this.target.appendChild(modal(intro))
}
render(state) {
const target = document.createElement('div')
target.className = 'wrapper'

22
src/index.js

@ -1,8 +1,6 @@
import {modal, Display} from './display.js'
import {Display} from './display.js'
import intro from './intro.js'
const target = document.createElement('div')
const state = {items: [], show: null, links: [] }
import {items} from './data.js'
@ -51,23 +49,9 @@ const dispatch = target => {
window.onpopstate = e => {
dispatch(document.location.search)
}
const findA = target => {
while (target.nodeName !== 'A') {
target = target.parentNode
if (!target) return
}
return target
}
document.body.addEventListener('click', e => {
let target = findA(e.target)
if (!target) return
window.history.pushState(null, "", target.href)
dispatch(target.getAttribute('href'))
e.preventDefault()
})
const target = document.createElement('div')
display = new Display('', dispatch, target)
if (document.location.search) dispatch(document.location.search)
else document.body.appendChild(modal(intro))
else display.renderIntro(intro)
document.body.appendChild(target)
Loading…
Cancel
Save