let galleryTable = $("#imagesGallery") let refreshButton = $("#refresh-gallery") let saveButton = $("#save-gallery") let fileMetaData = [] async function fetchImages() { await $.ajax({ url: '/files', type: 'GET', success: function(response) { fileMetaData = response; console.log(fileMetaData); }, error: function() { alert('Error fetching images.'); } }); fileMetaData.forEach((file, i) => { let newRow = $(` `+ i +` ` + file.spice_level +` `); galleryTable.append(newRow); }); fileMetaData.forEach(file => { $("#spice-slider-" + file.id).on("input", function() { file.spice_level = Number(this.value); $("#spice-output-" + file.id).text(this.value); console.log(fileMetaData); }) }); } saveButton.on("click", function() { $.ajax({ url: '/api/save-metadata', type: 'POST', contentType: 'application/json', data: JSON.stringify(fileMetaData), success: function() { alert('Metadata saved successfully.'); }, error: function() { alert('Error saving metadata.'); } }); }) refreshButton.on("click", function() { galleryTable.empty(); fetchImages(); }); $( document ).ready(function() { fetchImages(); });