diff --git a/src/routes/kahootclone/create/components/Questions/question.svelte b/src/routes/kahootclone/create/components/Questions/question.svelte
index 99bc687..96245d6 100644
--- a/src/routes/kahootclone/create/components/Questions/question.svelte
+++ b/src/routes/kahootclone/create/components/Questions/question.svelte
@@ -3,9 +3,12 @@
import GenerateOptionsUsingAI from "../buttons/GenerateOptionsUsingAI.svelte";
import Answers from "./answers.svelte";
import { questions } from "../../logic/GameCreateData.svelte.js";
+ import { UpLoadFiles } from "../../logic/UpLoadFiles.js";
let props = $props();
let index = props.index;
+
+ let files;
@@ -50,5 +53,6 @@
{/each}
+ UpLoadFiles(files[0])} bind:files accept="image/*,video/*" />
diff --git a/src/routes/kahootclone/create/logic/GameCreateData.svelte.js b/src/routes/kahootclone/create/logic/GameCreateData.svelte.js
index bb61c12..ff78726 100644
--- a/src/routes/kahootclone/create/logic/GameCreateData.svelte.js
+++ b/src/routes/kahootclone/create/logic/GameCreateData.svelte.js
@@ -1,8 +1,6 @@
import { DefaultQuestions } from "$lib/config.js";
-export let Wait = $state({
- v: false,
-});
+export let Wait = $state({ v: false });
export let questions = $state({
v: [
{
diff --git a/src/routes/kahootclone/create/logic/UpLoadFiles.js b/src/routes/kahootclone/create/logic/UpLoadFiles.js
new file mode 100644
index 0000000..70a9b54
--- /dev/null
+++ b/src/routes/kahootclone/create/logic/UpLoadFiles.js
@@ -0,0 +1,31 @@
+import toast from "svelte-5-french-toast";
+import { supabase } from "$lib/supabase.js";
+
+export async function UpLoadFiles(file) {
+ if (!file) {
+ toast.error("Please select a file to upload first.");
+ return;
+ }
+
+ const fileExt = file.name.split(".").pop();
+ const fileName = `${Date.now()}.${fileExt}`;
+ const filePath = `${fileName}`;
+
+ const uploadPromise = supabase.storage.from("useruploadedcontent").upload(filePath, file);
+
+ const result = await toast.promise(uploadPromise, {
+ loading: "Uploading...",
+ success: "Upload successful!",
+ error: (error) => `Upload failed. ${error.message} Please try again.`,
+ });
+
+ if (result.error) {
+ console.error("Upload error:", result.error.message);
+ return;
+ }
+
+ // Retrieve public URL
+ const { data: publicData } = supabase.storage.from("useruploadedcontent").getPublicUrl(filePath);
+
+ toast.success(publicData.publicUrl);
+}