From f671236e18b148af34cb6f543d24f88ce8f8247a Mon Sep 17 00:00:00 2001 From: OllyNicholass Date: Fri, 9 Feb 2024 01:31:05 +0000 Subject: [PATCH 1/5] =?UTF-8?q?feat(#23):=20triggering=20fireworks=20when?= =?UTF-8?q?=20everyone's=20on=20board=20=F0=9F=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FireworkShow.svelte | 102 ++++++++++++++++++++ src/routes/estimation/[roomId]/+page.svelte | 42 ++++++-- static/fireworks.mp3 | Bin 0 -> 540467 bytes 3 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 src/components/FireworkShow.svelte create mode 100644 static/fireworks.mp3 diff --git a/src/components/FireworkShow.svelte b/src/components/FireworkShow.svelte new file mode 100644 index 0000000..3846491 --- /dev/null +++ b/src/components/FireworkShow.svelte @@ -0,0 +1,102 @@ + + + + +
+ {#each $rockets as rocket (rocket.id)} + + {/each} +
\ No newline at end of file diff --git a/src/routes/estimation/[roomId]/+page.svelte b/src/routes/estimation/[roomId]/+page.svelte index ce2610f..192b269 100644 --- a/src/routes/estimation/[roomId]/+page.svelte +++ b/src/routes/estimation/[roomId]/+page.svelte @@ -1,7 +1,7 @@ - - - -
- {#each $rockets as rocket (rocket.id)} - - {/each} -
\ No newline at end of file diff --git a/src/routes/estimation/[roomId]/+page.svelte b/src/routes/estimation/[roomId]/+page.svelte index 192b269..446dce5 100644 --- a/src/routes/estimation/[roomId]/+page.svelte +++ b/src/routes/estimation/[roomId]/+page.svelte @@ -36,7 +36,7 @@ import EstimateGroupsList from '../../../components/EstimateGroupsList.svelte'; import Modal from '../../../components/Modal.svelte'; import Estimates from '../../../components/Estimates.svelte'; - import FireworkShow from '../../../components/FireworkShow.svelte'; + import Fireworks, { type FireworksOptions } from '@fireworks-js/svelte'; import { connectToWebSocket, sendMessage, generateId } from '../estimation.js'; @@ -90,9 +90,24 @@ let showEstimates = false; let disableEstimates: boolean = false; let audioElement; - let fireworks; - let selectedCardSet; let showFireworks = false; + let fireworks: Fireworks + let fireworkOptions: FireworksOptions = { + opacity: 0.5, + sound: { + enabled: true, + files: [ + '/sounds/explosion0.mp3', + '/sounds/explosion1.mp3', + '/sounds/explosion2.mp3' + ], + volume: { + min: 4, + max: 8 + } + } + } + let selectedCardSet; function closeModal() { showModal = false; @@ -180,16 +195,11 @@ } else if (message.type === 'estimation-closed') { estimateGroups = message.groupedEstimates; showFireworks = areEstimatesSame(estimateGroups); - if (showFireworks) { - fireworks.play(); - } showRestartButton = true; showEstimates = true; disableEstimates = true; } else if (message.type === 'estimation-restarted') { showFireworks = false; - fireworks.pause(); - fireworks.currentTime = 0; estimateGroups = {}; showRestartButton = false; showEstimates = false; @@ -265,11 +275,12 @@ {/if} {#if showFireworks} - +
+ +
{/if}