export class Layout extends HTMLElement { constructor() { super() this.attachShadow({mode: 'open'}) this.load() addEventListener('hashchange', () => { this.load() }) } load() { const el = document.createElement('m-page') const path = new URL( window.location.hash.slice(1) || '/', window.location ).pathname el.setAttribute('path', path) this.shadowRoot.replaceChildren(el) } }