Skip to content

Commit 462564e

Browse files
committed
feat: implement team leave functionality
1 parent f3980c6 commit 462564e

File tree

6 files changed

+43
-23
lines changed

6 files changed

+43
-23
lines changed

frontend/package-lock.json

Lines changed: 0 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"@sveltejs/kit": "^2.16.0",
1717
"@sveltejs/vite-plugin-svelte": "^5.0.0",
1818
"@tailwindcss/vite": "^4.0.0",
19-
"@types/event-source-polyfill": "^1.0.5",
2019
"svelte": "^5.0.0",
2120
"svelte-check": "^4.0.0",
2221
"tailwindcss": "^4.0.0",
@@ -26,7 +25,6 @@
2625
"dependencies": {
2726
"@supabase/ssr": "^0.6.1",
2827
"@supabase/supabase-js": "^2.49.4",
29-
"event-source-polyfill": "^1.0.31",
3028
"nanoid": "^5.1.5",
3129
"tailwind-merge": "^3.2.0"
3230
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<script lang="ts">
2+
import StreamListener from "$lib/components/StreamListener.svelte";
3+
4+
let { children } = $props();
5+
</script>
6+
7+
{@render children()}
8+
9+
<StreamListener />
File renamed without changes.

frontend/src/routes/team/+page.svelte renamed to frontend/src/routes/(stream)/team/+page.svelte

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script lang="ts">
2+
import { goto } from "$app/navigation";
23
import { LoadingStore } from "$lib/stores/LoadingStore";
3-
import { getPlayerReadyState, setPlayerReadyState, TeamStore } from "$lib/stores/TeamStore";
4+
import { clearTeam, getPlayerReadyState, setPlayerReadyState, TeamStore } from "$lib/stores/TeamStore";
45
import { addToast } from "$lib/stores/ToastStore";
56
import { fetchWithAuth } from "$lib/utils/fetchWithAuth";
67
@@ -44,6 +45,36 @@
4445
LoadingStore.set(false);
4546
}
4647
}
48+
49+
const handleTeamLeave = async () => {
50+
LoadingStore.set(true)
51+
try {
52+
const response = await fetchWithAuth('api/team/leave', {
53+
method: 'POST',
54+
headers: {
55+
'Content-Type': 'application/json',
56+
}
57+
});
58+
59+
if (response.status === 200) {
60+
clearTeam();
61+
goto('/new');
62+
} else {
63+
addToast({
64+
message: 'Error leaving team.',
65+
type: 'warning',
66+
});
67+
}
68+
} catch (e) {
69+
console.error(`Error Leaving Team > ${e}`);
70+
addToast({
71+
message: 'An unexpected error occured. Please contact helpers.',
72+
type: 'danger',
73+
});
74+
} finally {
75+
LoadingStore.set(false)
76+
}
77+
}
4778
</script>
4879

4980
<main class={`h-screen w-screen flex flex-col justify-center items-center p-4`}>
@@ -78,7 +109,7 @@
78109
{/if}
79110
</button>
80111

81-
<button class={`border-2 rounded-lg py-4`}>
112+
<button onclick={() => handleTeamLeave()} class={`border-2 rounded-lg py-4`}>
82113
Leave Team
83114
</button>
84115
</div>

frontend/src/routes/+layout.svelte

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,4 @@
7171

7272
{#if $LoadingStore}
7373
<Loading />
74-
{/if}
75-
76-
77-
<StreamListener />
74+
{/if}

0 commit comments

Comments
 (0)