diff --git a/app/src/lib/join.svelte b/app/src/lib/join.svelte
index 3d53796..de77c08 100644
--- a/app/src/lib/join.svelte
+++ b/app/src/lib/join.svelte
@@ -7,11 +7,13 @@
class: className = '',
roomCode,
createRoom,
- joinRoom
+ joinRoom,
+ leaveRoom
}: {
roomCode: string;
createRoom: () => void;
joinRoom: (code: string) => void;
+ leaveRoom: () => void;
class: string;
} = $props();
@@ -41,8 +43,8 @@
Create Room
{/if}
+
OR
{#if !roomCode}
- OR
+ {:else}
+
+
+
{/if}
diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte
index 375e042..fad9909 100644
--- a/app/src/routes/+page.svelte
+++ b/app/src/routes/+page.svelte
@@ -6,6 +6,11 @@
import { Users } from 'lucide-svelte';
let gameState = new State();
+
+ function leaveRoom() {
+ gameState.socket.emit('leave');
+ gameState = new State();
+ }
@@ -40,10 +45,7 @@
Leave
{/if}
@@ -73,6 +75,7 @@
roomCode={gameState.room}
createRoom={() => gameState.createRoom()}
joinRoom={(code) => gameState.joinRoom(code)}
+ leaveRoom={leaveRoom}
/>
{/if}