Goal-Calibration/public/js/texts.js

28 lines
890 B
JavaScript

document.addEventListener('DOMContentLoaded', () => {
const textsList = document.getElementById('texts-list');
const form = document.getElementById('texts-form');
async function loadTexts() {
const res = await fetch('/api/texts');
const texts = await res.json();
textsList.innerHTML = texts.map(text => '<li>' + text.name + '</li>').join('');
}
form.addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(form);
const res = await fetch('/api/texts', {
method: 'POST',
body: formData,
});
if (res.ok) {
const text = await res.json();
const li = document.createElement('li');
li.textContent = text.name;
textsList.appendChild(li);
form.reset();
}
});
loadTexts();
});