File tree Expand file tree Collapse file tree 3 files changed +64
-11
lines changed Expand file tree Collapse file tree 3 files changed +64
-11
lines changed Original file line number Diff line number Diff line change 11<script lang =" ts" >
22 import { Fireworks } from ' @fireworks-js/svelte'
33 import type { FireworksOptions } from ' @fireworks-js/svelte'
4+ import { onMount } from ' svelte'
45
6+ let fw: Fireworks
57 let enabled = true
68 let options: FireworksOptions = {
79 opacity: 0.5
810 }
11+
12+ function toggleFireworks() {
13+ const fireworks = fw .fireworksInstance ()
14+ if (fireworks .isRunning ) {
15+ fireworks .waitStop ()
16+ } else {
17+ fireworks .start ()
18+ }
19+ }
20+
21+ onMount (() => {
22+ const fireworks = fw .fireworksInstance ()
23+ console .log (fireworks )
24+ })
925 </script >
1026
1127<main >
12- <button on:click ={() => (enabled = ! enabled )} class =" btn" >
13- {enabled ? ' Enabled' : ' Disabled' }
14- </button >
28+ <div class =" buttons" >
29+ <button on:click ={() => (enabled = ! enabled )}>
30+ {enabled ? ' Enabled' : ' Disabled' }
31+ </button >
32+ <button on:click ={() => toggleFireworks ()}>
33+ Toggle
34+ </button >
35+ </div >
1536 {#if enabled }
16- <Fireworks {options } class =" fireworks" />
37+ <Fireworks bind:this ={ fw } autostart ={ false } {options } class =" fireworks" />
1738 {/if }
1839</main >
1940
2748 background : #000 ;
2849 }
2950
30- .btn {
51+ .buttons {
52+ display : flex ;
53+ gap : 4px ;
3154 position : absolute ;
3255 z-index : 1 ;
3356 }
Original file line number Diff line number Diff line change 55
66 let className = ' '
77 export { className as class }
8+ export let autostart = true
89 export let style: string = ' '
910 export let options: FireworksOptions = {}
1011
1112 let container: HTMLDivElement
1213 let fireworks: Fireworks
1314
15+ export function fireworksInstance() {
16+ return fireworks
17+ }
18+
1419 onMount (() => {
1520 fireworks = new Fireworks (container , options )
16- fireworks .start ()
21+ if (autostart ) {
22+ fireworks .start ()
23+ }
1724 })
1825
1926 onDestroy (() => {
Original file line number Diff line number Diff line change 11<script lang =" ts" >
22 import { Fireworks } from ' ../lib'
33 import type { FireworksOptions } from ' ../lib'
4+ import { onMount } from ' svelte'
45
6+ let fw: Fireworks
57 let enabled = true
68 let options: FireworksOptions = {
79 opacity: 0.5
810 }
11+
12+ function toggleFireworks() {
13+ const fireworks = fw .fireworksInstance ()
14+ if (fireworks .isRunning ) {
15+ fireworks .waitStop ()
16+ } else {
17+ fireworks .start ()
18+ }
19+ }
20+
21+ onMount (() => {
22+ const fireworks = fw .fireworksInstance ()
23+ console .log (fireworks )
24+ })
925 </script >
1026
1127<main >
12- <button on:click ={() => (enabled = ! enabled )} class =" btn" >
13- {enabled ? ' Enabled' : ' Disabled' }
14- </button >
28+ <div class =" buttons" >
29+ <button on:click ={() => (enabled = ! enabled )}>
30+ {enabled ? ' Enabled' : ' Disabled' }
31+ </button >
32+ <button on:click ={() => toggleFireworks ()}>
33+ Toggle
34+ </button >
35+ </div >
1536 {#if enabled }
16- <Fireworks {options } class =" fireworks" />
37+ <Fireworks bind:this ={ fw } autostart ={ false } {options } class =" fireworks" />
1738 {/if }
1839</main >
1940
2748 background : #000 ;
2849 }
2950
30- .btn {
51+ .buttons {
52+ display : flex ;
53+ gap : 4px ;
3154 position : absolute ;
3255 z-index : 1 ;
3356 }
You can’t perform that action at this time.
0 commit comments