diff --git a/components/layout.js b/components/layout.js new file mode 100644 index 0000000..dcb7981 --- /dev/null +++ b/components/layout.js @@ -0,0 +1,20 @@ +export class Layout extends HTMLElement { + constructor() { + super() + this.attachShadow({mode: 'open'}) + this.load() + addEventListener('hashchange', () => { + this.load() + }) + } + + load() { + const el = document.createElement('m-project') + const path = new URL( + window.location.hash.slice(1) || '/', + window.location + ).pathname + el.setAttribute('path', path) + this.shadowRoot.replaceChildren(el) + } +} \ No newline at end of file