load files from urls/ids once local ones are loaded

This commit is contained in:
vcoppe
2025-11-12 09:02:09 +01:00
parent 0f7f64fb2f
commit c4c64c8fe8
2 changed files with 65 additions and 57 deletions

View File

@@ -32,28 +32,28 @@
elevationFill,
} = settings;
onMount(() => {
let files: string[] = JSON.parse(page.url.searchParams.get('files') || '[]');
let ids: string[] = JSON.parse(page.url.searchParams.get('ids') || '[]');
let urls: string[] = files.concat(ids.map(getURLForGoogleDriveFile));
if (urls.length > 0) {
let downloads: Promise<File | null>[] = [];
urls.forEach((url) => {
downloads.push(
fetch(url)
.then((response) => response.blob())
.then((blob) => new File([blob], url.split('/').pop() ?? ''))
);
});
Promise.all(downloads).then((files) => {
loadFiles(files.filter((file) => file !== null));
});
}
onMount(async () => {
settings.connectToDatabase(db);
fileStateCollection.connectToDatabase(db);
fileStateCollection.connectToDatabase(db).then(() => {
let files: string[] = JSON.parse(page.url.searchParams.get('files') || '[]');
let ids: string[] = JSON.parse(page.url.searchParams.get('ids') || '[]');
let urls: string[] = files.concat(ids.map(getURLForGoogleDriveFile));
if (urls.length > 0) {
let downloads: Promise<File | null>[] = [];
urls.forEach((url) => {
downloads.push(
fetch(url)
.then((response) => response.blob())
.then((blob) => new File([blob], url.split('/').pop() ?? ''))
);
});
Promise.all(downloads).then((files) => {
loadFiles(files.filter((file) => file !== null));
});
}
});
});
onDestroy(() => {