Merge pull request #1358 from appwrite/revert-1312-fix-upload-context-switches

Revert "Fix: Upload Context Switches"
This commit is contained in:
Christy Jacob
2024-09-20 01:40:30 +04:00
committed by GitHub
2 changed files with 3 additions and 40 deletions
+3 -15
View File
@@ -1,7 +1,6 @@
import { Client, type Models, Storage } from '@appwrite.io/console';
import type { Models } from '@appwrite.io/console';
import { writable } from 'svelte/store';
import { getProjectId } from '$lib/helpers/project';
import { VARS } from '$lib/system';
import { sdk } from './sdk';
type UploaderFile = {
$id: string;
@@ -18,17 +17,6 @@ export type Uploader = {
files: UploaderFile[];
};
const temporaryStorage = () => {
const endpoint = VARS.APPWRITE_ENDPOINT ?? `${globalThis?.location?.origin}/v1`;
const clientProject = new Client()
.setEndpoint(endpoint)
.setMode('admin')
.setProject(getProjectId());
return new Storage(clientProject);
};
const createUploader = () => {
const { subscribe, set, update } = writable<Uploader>({
isOpen: false,
@@ -83,7 +71,7 @@ const createUploader = () => {
n.files.unshift(newFile);
return n;
});
const uploadedFile = await temporaryStorage().createFile(
const uploadedFile = await sdk.forProject.storage.createFile(
bucketId,
id ?? 'unique()',
file,
@@ -50,7 +50,6 @@
import Create from './create-file/create.svelte';
import DeleteFile from './deleteFile.svelte';
import { isCloud } from '$lib/system';
import { onMount } from 'svelte';
export let data;
@@ -91,30 +90,6 @@
$: maxFileSize = isCloud
? humanFileSize(sizeToBytes(getServiceLimit('fileSize'), 'MB', 1000))
: null;
let isUploading = false;
const handleBeforeUnload = (event: BeforeUnloadEvent) => {
if (isUploading) {
event.preventDefault();
event.returnValue = 'An upload is in progress. Are you sure you want to leave?';
}
};
onMount(() => {
const unsubscribe = uploader.subscribe(() => {
isUploading = $uploader.files.some(
(file) => (!file.completed || file.progress < 100) && !file.failed
);
});
window.addEventListener('beforeunload', handleBeforeUnload);
return () => {
unsubscribe();
window.removeEventListener('beforeunload', handleBeforeUnload);
};
});
</script>
<Container>