fix resource manager persistence

persistence only worked once per image due to lack of wait load in image
loading from storage

Signed-off-by: Victor Seiji Hariki <victorseijih@gmail.com>
This commit is contained in:
Victor Seiji Hariki 2022-12-03 22:51:31 -03:00
parent 0c6ffffdc3
commit e1c684eaef

View file

@ -414,27 +414,28 @@ const stampTool = () =>
state.ctxmenu.resourceList = resourceList; state.ctxmenu.resourceList = resourceList;
// Performs resource fetch from local storage // Performs resource fetch from local storage
{ (async () => {
const storageResources = localStorage.getItem( const storageResources = localStorage.getItem(
"tools.stamp.resources" "tools.stamp.resources"
); );
if (storageResources) { if (storageResources) {
const parsed = JSON.parse(storageResources); const parsed = JSON.parse(storageResources);
state.resources.push( state.resources.push(
...parsed.map((resource) => { ...(await Promise.all(
const image = document.createElement("img"); parsed.map((resource) => {
image.src = resource.src; const image = document.createElement("img");
image.src = resource.src;
return { return new Promise((resolve, reject) => {
id: resource.id, image.onload = () =>
name: resource.name, resolve({id: resource.id, name: resource.name, image});
image, });
}; })
}) ))
); );
syncResources(); syncResources();
} }
} })();
} }
}, },
populateContextMenu: (menu, state) => { populateContextMenu: (menu, state) => {