1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 17:47:03 +00:00
Files
go-inbucket/ui/src/index.js
2018-11-17 14:36:47 -08:00

44 lines
944 B
JavaScript

import './main.css'
import { Elm } from './Main.elm'
import registerServiceWorker from './registerServiceWorker'
import registerMonitorPorts from './registerMonitor'
// App startup.
var app = Elm.Main.init({
node: document.getElementById('root'),
flags: sessionObject()
})
// Message monitor.
registerMonitorPorts(app)
// Session storage.
app.ports.storeSession.subscribe(function (session) {
localStorage.session = JSON.stringify(session)
})
window.addEventListener("storage", function (event) {
if (event.storageArea === localStorage && event.key === "session") {
app.ports.onSessionChange.send(sessionObject())
}
}, false)
function sessionObject() {
var s = localStorage.session
try {
if (s) {
return JSON.parse(s)
}
} catch (error) {
console.error(error)
}
return null
}
// Window title.
app.ports.windowTitle.subscribe(function (title) {
document.title = title
})
registerServiceWorker()