Skip to content

Commit 6ef43a8

Browse files
committed
feat: render raid events
1 parent a6b4add commit 6ef43a8

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

src/lib/components/message/Notification.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script lang="ts">
22
import { UserMessage } from "../../message";
33
import Announcement from "./Announcement.svelte";
4+
import Raid from "./Raid.svelte";
45
import Sub from "./Sub.svelte";
56
67
const { message }: { message: UserMessage } = $props();
@@ -11,6 +12,8 @@
1112

1213
{#if type === "announcement"}
1314
<Announcement {message} color={message.event.color} />
15+
{:else if type === "raid"}
16+
<Raid {message} raid={message.event} />
1417
{:else if type === "sub_or_resub" || type === "sub_mystery_gift" || type === "sub_gift"}
1518
<Sub {message} sub={message.event} />
1619
{/if}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<script lang="ts">
2+
import type { UserMessage } from "$lib/message";
3+
import { app } from "$lib/state.svelte";
4+
import type { RaidEvent } from "$lib/twitch/irc";
5+
6+
interface Props {
7+
message: UserMessage;
8+
raid: RaidEvent;
9+
}
10+
11+
const { message, raid }: Props = $props();
12+
</script>
13+
14+
<div class="bg-muted/50 my-0.5 border-l-4 p-2.5" style:border-color={app.active?.user.color}>
15+
<div class="flex items-center gap-2">
16+
<img
17+
class="size-6 rounded-full"
18+
src={raid.profile_image_url.replace("%s", "150x150")}
19+
alt={message.viewer.displayName}
20+
/>
21+
22+
<p class="inline">
23+
<span class="font-semibold" style:color={message.viewer.color}>
24+
{message.viewer.displayName}
25+
</span>
26+
27+
is raiding with {raid.viewer_count}
28+
{raid.viewer_count > 1 ? "viewers" : "viewer"}!
29+
</p>
30+
</div>
31+
</div>

0 commit comments

Comments
 (0)