diff --git a/package.json b/package.json index 0a9812e..08ae22e 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,14 @@ "private": true, "scripts": { "dev": "vite dev", + "generate": "drizzle-kit generate:pg --config drizzle.config.ts", + "migrate": "drizzle-kit push:pg --config drizzle.config.ts", + "minio": "cd minio && docker-compose up", "build": "vite build", "preview": "vite preview", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "studio": "drizzle-kit studio --config drizzle.config.ts", - "generate": "drizzle-kit generate:pg --config drizzle.config.ts", - "migrate": "drizzle-kit push:pg --config drizzle.config.ts", "seed": "node seed.js" }, "devDependencies": { diff --git a/src/lib/components/AdventureCard.svelte b/src/lib/components/AdventureCard.svelte index 816cd2e..d919093 100644 --- a/src/lib/components/AdventureCard.svelte +++ b/src/lib/components/AdventureCard.svelte @@ -42,12 +42,20 @@ >
- No image available + {#if adventure.imageUrl && adventure.imageUrl !== ""} + No image available + {:else} + No image available + {/if}
diff --git a/src/lib/components/CreateNewAdventure.svelte b/src/lib/components/CreateNewAdventure.svelte index 4ef3dc4..60a01f2 100644 --- a/src/lib/components/CreateNewAdventure.svelte +++ b/src/lib/components/CreateNewAdventure.svelte @@ -18,8 +18,11 @@ import { onMount } from "svelte"; import { addActivityType, generateDescription, getImage } from "$lib"; import AutoComplete from "./AutoComplete.svelte"; + import ImageModal from "./ImageModal.svelte"; let modal: HTMLDialogElement; + let isImageModalOpen: boolean = false; + let activityTypes: string[] = []; $: selected = ""; @@ -80,24 +83,28 @@ } } - async function searchImage() { - try { - const imageUrl = await getImage(newAdventure.name); - newAdventure.imageUrl = imageUrl; - } catch (error) { - console.error(error); - // Handle the error - } - } - let activityInput: string = ""; function activitySetup() { newAdventure = addActivityType(activityInput, newAdventure); activityInput = ""; } + + function upload(e: CustomEvent) { + let key = e.detail; + console.log("EE" + key); + newAdventure.imageUrl = key; + } +{#if isImageModalOpen} + (isImageModalOpen = false)} + /> +{/if} + @@ -175,13 +182,15 @@ />
- - +
- diff --git a/src/lib/components/EditModal.svelte b/src/lib/components/EditModal.svelte index 95c55ba..01b0101 100644 --- a/src/lib/components/EditModal.svelte +++ b/src/lib/components/EditModal.svelte @@ -6,6 +6,7 @@ import { onMount } from "svelte"; import { addActivityType, generateDescription, getImage } from "$lib"; import AutoComplete from "./AutoComplete.svelte"; + import ImageModal from "./ImageModal.svelte"; let modal: HTMLDialogElement; console.log(adventureToEdit.id); @@ -87,8 +88,24 @@ // Handle the error } } + + let isImageModalOpen: boolean = false; + + function upload(e: CustomEvent) { + let key = e.detail; + console.log("EE" + key); + adventureToEdit.imageUrl = key; + } +{#if isImageModalOpen} + (isImageModalOpen = false)} + /> +{/if} + @@ -163,13 +180,15 @@ />
- - +
diff --git a/src/lib/components/ImageModal.svelte b/src/lib/components/ImageModal.svelte new file mode 100644 index 0000000..35bccca --- /dev/null +++ b/src/lib/components/ImageModal.svelte @@ -0,0 +1,160 @@ + + + + + + + diff --git a/src/routes/api/upload/+server.ts b/src/routes/api/upload/+server.ts index 2c40394..bb39d0f 100644 --- a/src/routes/api/upload/+server.ts +++ b/src/routes/api/upload/+server.ts @@ -64,7 +64,7 @@ export async function POST(event: RequestEvent): Promise { "Content-Type": contentType, }; - const allowedBuckets = ["backgrounds", "profile-pics"]; + const allowedBuckets = ["backgrounds", "profile-pics", "adventures"]; if (!allowedBuckets.includes(bucket)) { return new Response(JSON.stringify({ error: "Invalid bucket name" }), {