export class Project extends HTMLElement {
constructor() {
super()
const shadow = this.attachShadow({mode: 'open'})
const textArea = document.createElement('textarea')
const path = new URL(
window.location.hash || '/',
window.location
).pathname
const header = document.createElement('h1')
header.innerText = path
textArea.value = localStorage.getItem(
window.location.hash
) ?? ''
textArea.addEventListener('input', e => {
localStorage.setItem(
window.location.hash,
e.target.value
)
})
const div = document.createElement('div')
div.appendChild(header)
div.appendChild(textArea)
shadow.appendChild(div)
}
connectedCallback() {
const style = document.createElement('style')
style.textContent = `
textarea {
width: 80%;
height: 90dvh;
}
`
this.shadowRoot.append(style)
}
}