document.querySelector('#content').innerHTML = `

Raspberry Settings

Keys
`; async function addKeySetter(functionName: string, displayName?: string) { if (displayName === undefined) displayName = pretty(functionName); const setKeyInput: HTMLInputElement = document.createElement('input'); setKeyInput.type = 'button'; setKeyInput.value = 'Set'; setKeyInput.classList.add('button'); setKeyInput.addEventListener('click', async (e: MouseEvent): Promise => { console.log(`Setting ${functionName}`); const key: string = (document.querySelector(`#${functionName}-key`) as HTMLInputElement).value.toUpperCase(); await setStorageValue(functionName, key); }); const tr: HTMLTableRowElement = document.createElement('tr'); const td1: HTMLTableDataCellElement = document.createElement('td'); td1.innerHTML += ``; const td2: HTMLTableDataCellElement = document.createElement('td'); td2.innerHTML += ``; const td3: HTMLTableDataCellElement = document.createElement('td'); td3.appendChild(setKeyInput); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); document.querySelector('#keys').appendChild(tr); // This doesn't work apparently /*document.querySelector('#keys').innerHTML += ``;*/ } (async () => { // Set up the keybind setting form for (let i = 0; i < keybinds.length; i++) { if (keybinds[i].displayName) await addKeySetter(keybinds[i].functionName, keybinds[i].displayName); else await addKeySetter(keybinds[i].functionName); } })();