Two teams try and fill in any horizontal, vertical, or diagonal line on a bingo board by playing maps on osu!
osu.bingo
osu
1<script lang="ts">
2 import { fly } from 'svelte/transition';
3 import PlayerChatMessage from './PlayerChatMessage.svelte';
4 import UserChatMessage from './UserChatMessage.svelte';
5 import {
6 type GameUserEvent,
7 type ChatMessage,
8 isChatMessage,
9 isGameUserUpdate,
10 type SquareUpdateEvent
11 } from '$lib/emitter';
12 export let event: ChatMessage | GameUserEvent | SquareUpdateEvent;
13</script>
14
15<div transition:fly={{ x: -30, duration: 100 }} class="w-full">
16 {#if isChatMessage(event)}
17 <UserChatMessage chat={event.data} />
18 {:else if isGameUserUpdate(event)}
19 <PlayerChatMessage {event} />
20 {/if}
21</div>