mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
13feb8855d
* Adds mobx example * Fix coding style to match JS Standard * Removes unecessary link * Update README.md * Update README.md * Change next version from beta to ^2.0.0-beta * Assigns the store to a local var * Adds navigation in the example * Removes unecessary imports * Fix coding style to match JS Standard * Fix Clock import
33 lines
658 B
JavaScript
33 lines
658 B
JavaScript
import { action, observable } from 'mobx'
|
|
|
|
let store = null
|
|
|
|
class Store {
|
|
@observable lastUpdate = 0
|
|
@observable light = false
|
|
|
|
constructor (isServer, lastUpdate) {
|
|
this.lastUpdate = lastUpdate
|
|
}
|
|
|
|
@action start = () => {
|
|
this.timer = setInterval(() => {
|
|
this.lastUpdate = Date.now()
|
|
this.light = true
|
|
})
|
|
}
|
|
|
|
stop = () => clearInterval(this.timer)
|
|
}
|
|
|
|
export function initStore (isServer, lastUpdate = Date.now()) {
|
|
if (isServer && typeof window === 'undefined') {
|
|
return new Store(isServer, lastUpdate)
|
|
} else {
|
|
if (store === null) {
|
|
store = new Store(isServer, lastUpdate)
|
|
}
|
|
return store
|
|
}
|
|
}
|