diff options
| author | 2026-01-19 14:17:32 +0800 | |
|---|---|---|
| committer | 2026-01-19 14:17:32 +0800 | |
| commit | da0d79f0db873c08fab3bc85023167e174d18b0e (patch) | |
| tree | 4a1934780d0d723ec8b834088188d4714f2cf3e7 /ui/src/components/ParticleBackground.svelte | |
| parent | 887e415314014c3da7db3048fa0e724f3078c5cb (diff) | |
| download | DropOut-da0d79f0db873c08fab3bc85023167e174d18b0e.tar.gz DropOut-da0d79f0db873c08fab3bc85023167e174d18b0e.zip | |
chore(ui): refactor workspace to monorepo
Diffstat (limited to 'ui/src/components/ParticleBackground.svelte')
| -rw-r--r-- | ui/src/components/ParticleBackground.svelte | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/ui/src/components/ParticleBackground.svelte b/ui/src/components/ParticleBackground.svelte deleted file mode 100644 index 7644b1a..0000000 --- a/ui/src/components/ParticleBackground.svelte +++ /dev/null @@ -1,70 +0,0 @@ -<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 { settingsState } from "../stores/settings.svelte"; - - let canvas: HTMLCanvasElement; - let activeEffect: any; - - function loadEffect() { - if (activeEffect) { - activeEffect.destroy(); - } - - if (!canvas) return; - - if (settingsState.settings.active_effect === "saturn") { - activeEffect = new SaturnEffect(canvas); - globalSaturnEffect = activeEffect; - } else { - activeEffect = new ConstellationEffect(canvas); - globalSaturnEffect = null; - } - - // Ensure correct size immediately - activeEffect.resize(window.innerWidth, window.innerHeight); - } - - $effect(() => { - const _ = settingsState.settings.active_effect; - if (canvas) { - loadEffect(); - } - }); - - onMount(() => { - const resizeObserver = new ResizeObserver(() => { - if (canvas && activeEffect) { - activeEffect.resize(window.innerWidth, window.innerHeight); - } - }); - - resizeObserver.observe(document.body); - - return () => { - resizeObserver.disconnect(); - if (activeEffect) activeEffect.destroy(); - }; - }); - - onDestroy(() => { - if (activeEffect) activeEffect.destroy(); - globalSaturnEffect = null; - }); -</script> - -<canvas - bind:this={canvas} - class="absolute inset-0 z-0 pointer-events-none" -></canvas> |