mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 17:47:03 +00:00
ui: Initial Elm UI import
Merged from https://github.com/jhillyerd/inbucket-elm Uses https://github.com/halfzebra/create-elm-app
This commit is contained in:
33
ui/src/index.js
Normal file
33
ui/src/index.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import './main.css';
|
||||
import { Main } from './Main.elm';
|
||||
import registerServiceWorker from './registerServiceWorker';
|
||||
|
||||
var app = Main.embed(document.getElementById('root'), sessionObject());
|
||||
|
||||
app.ports.storeSession.subscribe(function (session) {
|
||||
localStorage.session = JSON.stringify(session);
|
||||
});
|
||||
|
||||
app.ports.windowTitle.subscribe(function (title) {
|
||||
document.title = title;
|
||||
});
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
registerServiceWorker();
|
||||
Reference in New Issue
Block a user