diff options
Diffstat (limited to 'ui/src/components/ParticleBackground.svelte')
| -rw-r--r-- | ui/src/components/ParticleBackground.svelte | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/ui/src/components/ParticleBackground.svelte b/ui/src/components/ParticleBackground.svelte index 080f1f2..7644b1a 100644 --- a/ui/src/components/ParticleBackground.svelte +++ b/ui/src/components/ParticleBackground.svelte @@ -1,7 +1,17 @@ +<script lang="ts" module> + import { SaturnEffect } from "../lib/effects/SaturnEffect"; + + // Global reference to the active Saturn effect for external control + let globalSaturnEffect: SaturnEffect | null = null; + + export function getSaturnEffect(): SaturnEffect | null { + return globalSaturnEffect; + } +</script> + <script lang="ts"> import { onMount, onDestroy } from "svelte"; import { ConstellationEffect } from "../lib/effects/ConstellationEffect"; - import { SaturnEffect } from "../lib/effects/SaturnEffect"; import { settingsState } from "../stores/settings.svelte"; let canvas: HTMLCanvasElement; @@ -16,8 +26,10 @@ if (settingsState.settings.active_effect === "saturn") { activeEffect = new SaturnEffect(canvas); + globalSaturnEffect = activeEffect; } else { activeEffect = new ConstellationEffect(canvas); + globalSaturnEffect = null; } // Ensure correct size immediately @@ -48,6 +60,7 @@ onDestroy(() => { if (activeEffect) activeEffect.destroy(); + globalSaturnEffect = null; }); </script> |