-
Notifications
You must be signed in to change notification settings - Fork 354
/
Copy path+page.svelte
54 lines (46 loc) · 1.26 KB
/
+page.svelte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<script lang="ts">
import { createUploader, createUploadThing } from "$lib/utils/uploadthing";
import { UploadButton, UploadDropzone } from "@uploadthing/svelte";
import "@fontsource-variable/inter";
import "@uploadthing/svelte/styles.css";
const uploader = createUploader("videoAndImage", {
onUploadAborted: () => {
alert("Upload Aborted");
},
onClientUploadComplete: (res) => {
console.log(`onClientUploadComplete`, res);
alert("Upload Completed");
},
onUploadError: (error: Error) => {
alert(`ERROR! ${error.message}`);
},
});
const ut = createUploadThing("videoAndImage", {
/**
* @see https://docs.uploadthing.com/api-reference/react#useuploadthing
*/
onClientUploadComplete: (res) => {
console.log(`onClientUploadComplete`, res);
alert("Upload Completed");
},
});
</script>
<main>
<UploadButton {uploader} />
<UploadDropzone {uploader} />
<input
type="file"
onchange={async (e) => {
const file = e.currentTarget.files?.[0];
if (!file) return;
// Do something with files
// Then start the upload
await ut.startUpload([file]);
}}
/>
</main>
<style>
:global(body) {
font-family: "Inter Variable", sans-serif;
}
</style>