integrate spec.lbry.io as iframed page at /spec. Fixes #11.
This commit is contained in:
parent
9f7904540b
commit
7cdd019815
3 changed files with 37 additions and 0 deletions
|
@ -34,6 +34,7 @@ function main() {
|
|||
app.use(ssr());
|
||||
|
||||
app.route("/", page(require("./views/home")));
|
||||
app.route("/spec", page(require("./views/spec")));
|
||||
app.route("/api/*", page(require("./views/api")));
|
||||
app.route("/*", page(require("./views/redirect")));
|
||||
|
||||
|
|
|
@ -19,6 +19,9 @@ const config = local("/config");
|
|||
// E X P O R T
|
||||
|
||||
export default state => {
|
||||
if (state.hideFooter) {
|
||||
return "";
|
||||
}
|
||||
return html`
|
||||
<section class="email-subscribe-container">
|
||||
${emailSubscribe()}
|
||||
|
|
33
app/views/spec.js
Normal file
33
app/views/spec.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
"use strict";
|
||||
|
||||
|
||||
|
||||
// I M P O R T
|
||||
|
||||
import html from "choo/html";
|
||||
|
||||
|
||||
|
||||
// E X P O R T
|
||||
|
||||
export default state => {
|
||||
state.hideFooter = true;
|
||||
return html`
|
||||
<div style="width:100%; height:calc(100vh - 67px)"> <!-- 67px = height of nav. this avoids second scrollbar -->
|
||||
<iframe id="spec" style="width:100%; height:100%;"></iframe>
|
||||
</div>
|
||||
<script>
|
||||
const specDomain = "https://spec.lbry.io";
|
||||
const spec = document.getElementById("spec");
|
||||
spec.src = specDomain + window.location.hash;
|
||||
|
||||
window.addEventListener("message", event => {
|
||||
if (event.origin != specDomain || event.source != spec.contentWindow) { // security
|
||||
return;
|
||||
}
|
||||
const url = window.location.href.substr(0, window.location.href.lastIndexOf('#'));
|
||||
history.replaceState(null, null, url+"#"+event.data);
|
||||
});
|
||||
</script>
|
||||
`;
|
||||
};
|
Loading…
Reference in a new issue