1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-04 20:55:19 +02:00

chore: Add buttons for generating description and searching image in CreateNewAdventure and EditModal components

This commit is contained in:
Sean Morley 2024-05-28 16:48:20 +00:00
parent 2913ceb394
commit 41b019b610
3 changed files with 54 additions and 20 deletions

View file

@ -163,6 +163,7 @@
<!-- if there is a button in form, it will close the modal --> <!-- if there is a button in form, it will close the modal -->
<button class="btn mt-4" on:click={close}>Close</button> <button class="btn mt-4" on:click={close}>Close</button>
</form> </form>
<div class="flex items-center justify-center flex-wrap gap-4 mt-4">
<button class="btn btn-secondary" on:click={generate} <button class="btn btn-secondary" on:click={generate}
>Generate Description</button >Generate Description</button
> >
@ -171,4 +172,5 @@
> >
</div> </div>
</div> </div>
</div>
</dialog> </dialog>

View file

@ -4,7 +4,7 @@
import type { Adventure } from "$lib/utils/types"; import type { Adventure } from "$lib/utils/types";
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
import { onMount } from "svelte"; import { onMount } from "svelte";
import { addActivityType } from "$lib"; import { addActivityType, generateDescription, getImage } from "$lib";
let modal: HTMLDialogElement; let modal: HTMLDialogElement;
console.log(adventureToEdit.id); console.log(adventureToEdit.id);
@ -41,6 +41,28 @@
adventureToEdit = addActivityType(activityInput, adventureToEdit); adventureToEdit = addActivityType(activityInput, adventureToEdit);
activityInput = ""; activityInput = "";
} }
async function generate() {
try {
console.log(adventureToEdit.name);
const desc = await generateDescription(adventureToEdit.name);
adventureToEdit.description = desc;
// Do something with the updated newAdventure object
} catch (error) {
console.error(error);
// Handle the error
}
}
async function searchImage() {
try {
const imageUrl = await getImage(adventureToEdit.name);
adventureToEdit.imageUrl = imageUrl;
} catch (error) {
console.error(error);
// Handle the error
}
}
</script> </script>
<dialog id="my_modal_1" class="modal"> <dialog id="my_modal_1" class="modal">
@ -124,6 +146,14 @@
<!-- if there is a button in form, it will close the modal --> <!-- if there is a button in form, it will close the modal -->
<button class="btn mt-4" on:click={close}>Close</button> <button class="btn mt-4" on:click={close}>Close</button>
</form> </form>
<div class="flex items-center justify-center flex-wrap gap-4 mt-4">
<button class="btn btn-secondary" on:click={generate}
>Generate Description</button
>
<button class="btn btn-secondary" on:click={searchImage}
>Search for Image</button
>
</div>
</div> </div>
</div> </div>
</dialog> </dialog>

View file

@ -12,9 +12,10 @@
<h1 class="text-center font-bold text-4xl mb-4">Country List</h1> <h1 class="text-center font-bold text-4xl mb-4">Country List</h1>
{#each data.response as item} <div class="flex items-center justify-center flex-wrap">
{#each data.response as item}
<button <button
class="btn btn-primary mr-4 mb-2" class="btn btn-primary mr-2 ml-2 mb-2"
on:click={() => nav(item.country_code)} on:click={() => nav(item.country_code)}
>{item.name} >{item.name}
<img <img
@ -24,7 +25,8 @@
/></button /></button
> >
<!-- <p>Name: {item.name}, Continent: {item.continent}</p> --> <!-- <p>Name: {item.name}, Continent: {item.continent}</p> -->
{/each} {/each}
</div>
<svelte:head> <svelte:head>
<title>WorldTravel | AdventureLog</title> <title>WorldTravel | AdventureLog</title>