mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-18 01:57:02 +00:00
ui: Re-implement websockets with ports+JS
This commit is contained in:
@@ -1,33 +1,40 @@
|
||||
import './main.css';
|
||||
import { Main } from './Main.elm';
|
||||
import registerServiceWorker from './registerServiceWorker';
|
||||
import './main.css'
|
||||
import { Main } from './Main.elm'
|
||||
import registerServiceWorker from './registerServiceWorker'
|
||||
import registerMonitorPorts from './registerMonitor'
|
||||
|
||||
var app = Main.embed(document.getElementById('root'), sessionObject());
|
||||
// App startup.
|
||||
var app = Main.embed(document.getElementById('root'), sessionObject())
|
||||
|
||||
// Message monitor.
|
||||
registerMonitorPorts(app)
|
||||
|
||||
// Session storage.
|
||||
app.ports.storeSession.subscribe(function (session) {
|
||||
localStorage.session = JSON.stringify(session);
|
||||
});
|
||||
|
||||
app.ports.windowTitle.subscribe(function (title) {
|
||||
document.title = title;
|
||||
});
|
||||
localStorage.session = JSON.stringify(session)
|
||||
})
|
||||
|
||||
window.addEventListener("storage", function (event) {
|
||||
if (event.storageArea === localStorage && event.key === "session") {
|
||||
app.ports.onSessionChange.send(sessionObject());
|
||||
app.ports.onSessionChange.send(sessionObject())
|
||||
}
|
||||
}, false);
|
||||
}, false)
|
||||
|
||||
function sessionObject() {
|
||||
var s = localStorage.session;
|
||||
var s = localStorage.session
|
||||
try {
|
||||
if (s) {
|
||||
return JSON.parse(s);
|
||||
return JSON.parse(s)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
console.error(error)
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
}
|
||||
|
||||
registerServiceWorker();
|
||||
// Window title.
|
||||
app.ports.windowTitle.subscribe(function (title) {
|
||||
document.title = title
|
||||
})
|
||||
|
||||
registerServiceWorker()
|
||||
|
||||
Reference in New Issue
Block a user