diff options
| author | tyropro <[email protected]> | 2026-05-11 13:58:01 +0100 |
|---|---|---|
| committer | tyropro <[email protected]> | 2026-05-11 13:58:59 +0100 |
| commit | bed9ca25d0d3ac796606eaf35f906c9729986d97 (patch) | |
| tree | c5a5a89546ad75ceb834c39e4c7c16a3f5bc2b58 | |
| parent | 9d55a27d01e6cd01825a1adb70a7f7bdcc792a0f (diff) | |
| -rw-r--r-- | src/routes/lobbies/create/+page.svelte | 24 | ||||
| -rw-r--r-- | src/routes/lobbies/create/api/+server.ts | 14 |
2 files changed, 37 insertions, 1 deletions
diff --git a/src/routes/lobbies/create/+page.svelte b/src/routes/lobbies/create/+page.svelte index 7d7efb9..2421b4c 100644 --- a/src/routes/lobbies/create/+page.svelte +++ b/src/routes/lobbies/create/+page.svelte @@ -1,12 +1,32 @@ <script lang="ts"> + import { resolve } from '$app/paths'; + let player_name = $state(''); let lobby_name = $state(''); let pin_enabled = $state(false); let request_on_join_enabled = $state(false); + let lobby_uuid = $state(''); + let create_disabled = $derived(player_name == '' || lobby_name == ''); - function create_click() {} + async function create_click() { + let request_body = { + host_player_name: player_name, + lobby_name: lobby_name, + pin_enabled: pin_enabled, + request_on_join_enabled: request_on_join_enabled + }; + + let resp = await fetch(resolve('/lobbies/create/api'), { + method: 'POST', + body: JSON.stringify(request_body) + }); + + let resp_json = await resp.json(); + + lobby_uuid = resp_json['uuid']; + } </script> <div class="flex w-screen flex-col items-center justify-center p-2"> @@ -71,3 +91,5 @@ </button> </div> </div> + +<h1>{lobby_uuid}</h1> diff --git a/src/routes/lobbies/create/api/+server.ts b/src/routes/lobbies/create/api/+server.ts new file mode 100644 index 0000000..53b1442 --- /dev/null +++ b/src/routes/lobbies/create/api/+server.ts @@ -0,0 +1,14 @@ +import { json } from '@sveltejs/kit'; + +export async function POST({ request }) { + const body = await request.json(); + + const res = await fetch('http://127.0.0.1:8080/lobbies', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body) + }); + + const lobby = await res.json(); + return json(lobby); +} |
