aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/components/ParticleBackground.svelte
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2026-01-15 20:48:39 +0800
committerGitHub <noreply@github.com>2026-01-15 20:48:39 +0800
commit5931daf9283478f49652098c3e0f6be8de0f52f8 (patch)
treed150c7733d039d71e40a9d3298952a4627fe2584 /ui/src/components/ParticleBackground.svelte
parent32a9aceee42a2261b64f9e6effda522639576a5e (diff)
parent959d1c54e6b5b101b20c027d547707a40ab0a29b (diff)
downloadDropOut-5931daf9283478f49652098c3e0f6be8de0f52f8.tar.gz
DropOut-5931daf9283478f49652098c3e0f6be8de0f52f8.zip
Merge pull request #32 from HsiangNianian/main
Diffstat (limited to 'ui/src/components/ParticleBackground.svelte')
-rw-r--r--ui/src/components/ParticleBackground.svelte15
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>