diff --git a/src/routes/scene/+page.svelte b/src/routes/scene/+page.svelte index a2c406f..745410c 100644 --- a/src/routes/scene/+page.svelte +++ b/src/routes/scene/+page.svelte @@ -9,7 +9,7 @@ import { invoke } from "@tauri-apps/api/core"; - import DesktopPet from "./DesktopPet.svelte"; + import DesktopPet from "./components/DesktopPet.svelte"; let innerWidth = 0; let innerHeight = 0; @@ -95,8 +95,7 @@ targetX={position.mapped.x * innerWidth} targetY={position.mapped.y * innerHeight} name={getFriendName(userId)} - bodyColor={config?.colorScheme?.body} - outlineColor={config?.colorScheme?.outline} + {config} {isInteractive} /> {/if} diff --git a/src/routes/scene/DesktopPet.svelte b/src/routes/scene/components/DesktopPet.svelte similarity index 85% rename from src/routes/scene/DesktopPet.svelte rename to src/routes/scene/components/DesktopPet.svelte index 5b161f9..54c8aff 100644 --- a/src/routes/scene/DesktopPet.svelte +++ b/src/routes/scene/components/DesktopPet.svelte @@ -4,14 +4,15 @@ import { usePetState } from "$lib/composables/usePetState"; import { getSpriteSheetUrl } from "$lib/utils/sprite-utils"; import PetSprite from "$lib/components/PetSprite.svelte"; - import onekoGif from "../../assets/oneko/oneko.gif"; + import onekoGif from "../../../assets/oneko/oneko.gif"; + import PetMenu from "./PetMenu.svelte"; + import type { DollConfigurationDto } from "../../../types/bindings/DollConfigurationDto"; export let id = ""; export let targetX = 0; export let targetY = 0; export let name = ""; - export let bodyColor: string | undefined = undefined; - export let outlineColor: string | undefined = undefined; + export let config: DollConfigurationDto | undefined = undefined; export let isInteractive = false; const { position, currentSprite, updatePosition, setPosition } = usePetState( @@ -26,7 +27,7 @@ let isPetMenuOpen = false; // Watch for color changes to regenerate sprite - $: updateSprite(bodyColor, outlineColor); + $: updateSprite(config?.colorScheme.body, config?.colorScheme.outline); $: (isInteractive, (isPetMenuOpen = false)); @@ -86,11 +87,15 @@ > {#if isPetMenuOpen}
+ > + {#if config} +