diff --git a/src/lib/components/layout/navbar/navbar-user.svelte b/src/lib/components/layout/navbar/navbar-user.svelte
index 0c63c87..7232104 100644
--- a/src/lib/components/layout/navbar/navbar-user.svelte
+++ b/src/lib/components/layout/navbar/navbar-user.svelte
@@ -74,10 +74,6 @@
Mes badges
-
diff --git a/src/lib/stores/state.ts b/src/lib/stores/state.ts
new file mode 100644
index 0000000..c0d3be5
--- /dev/null
+++ b/src/lib/stores/state.ts
@@ -0,0 +1,23 @@
+import { writable, type Writable } from 'svelte/store';
+
+export const createStateStore = () => {
+ type State = {
+ requests: T[];
+ };
+
+ const initialState: State = { requests: [] };
+ const store: Writable = writable(initialState);
+
+ return {
+ subscribe: store.subscribe,
+ addRequest: (newRequest: T) => {
+ store.update(state => ({
+ ...state,
+ requests: [...state.requests, newRequest]
+ }));
+ },
+ reset: () => store.set(initialState),
+ };
+}
+
+export type StateStore = ReturnType>;
diff --git a/src/lib/stores/websocket.ts b/src/lib/stores/websocket.ts
new file mode 100644
index 0000000..7194447
--- /dev/null
+++ b/src/lib/stores/websocket.ts
@@ -0,0 +1,21 @@
+import type { StateStore } from "./state";
+
+export const connectWebSocket = (path: string, token: string | undefined, store: StateStore) => {
+ const ws = new WebSocket(`wss://api.peerat.dev${path}`);
+
+ ws.onopen = () => {
+ console.log('WebSocket connection opened');
+ if (token) {
+ ws.send(JSON.stringify({ token }));
+ }
+ };
+
+ ws.onclose = () => console.log('WebSocket connection closed');
+ ws.onerror = (event) => console.log('WebSocket error:', event);
+
+ ws.onmessage = (event) => {
+ console.log('WebSocket message:', event.data);
+ const data: T = JSON.parse(event.data);
+ store.addRequest(data);
+ };
+};
diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte
index 0b70737..cf5d159 100644
--- a/src/routes/(app)/+page.svelte
+++ b/src/routes/(app)/+page.svelte
@@ -36,7 +36,7 @@
{data.event.name}
Participer en équipe de 1 à 4 joueurs
-
+
{/if}