mirror of
https://github.com/jcreek/EstimationPoker.git
synced 2026-07-13 02:53:46 +00:00
feat(*): Add test websockets implementatio
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
/** @type {import('./$types').PageLoad} */
|
||||
export function load({ params }) {
|
||||
return params;
|
||||
}
|
||||
@@ -1,8 +1,20 @@
|
||||
<script lang="ts">
|
||||
/** @type {import('./$types').PageData} */
|
||||
export let data;
|
||||
|
||||
import { onMount } from 'svelte';
|
||||
import UsersList from '../../components/UsersList.svelte';
|
||||
import EstimateGroupsList from '../../components/EstimateGroupsList.svelte';
|
||||
import AverageEstimate from '../../components/AverageEstimate.svelte';
|
||||
import UsersList from '../../../components/UsersList.svelte';
|
||||
import EstimateGroupsList from '../../../components/EstimateGroupsList.svelte';
|
||||
import AverageEstimate from '../../../components/AverageEstimate.svelte';
|
||||
import { connectToWebSocket, sendMessage } from '../estimation.js';
|
||||
|
||||
let socket;
|
||||
console.log(data.roomId);
|
||||
|
||||
onMount(() => {
|
||||
// Connect to WebSocket server with the room ID
|
||||
socket = connectToWebSocket(data.roomId);
|
||||
});
|
||||
|
||||
let estimates = [
|
||||
{ name: 'User 1', estimate: 8 },
|
||||
@@ -0,0 +1,39 @@
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
function generateRoomID() {
|
||||
const id = uuidv4();
|
||||
return id;
|
||||
}
|
||||
|
||||
function connectToWebSocket(roomID, onMessageReceived) {
|
||||
const socketPath = `.netlify/functions/websocket/${roomID}`;
|
||||
let socket = new WebSocket(`wss://estimationpoker.jcreek.co.uk/${socketPath}`);
|
||||
|
||||
// const isDevelopment = import.meta.env.DEV;
|
||||
// if (isDevelopment) {
|
||||
// socket = new WebSocket(`wss://localhost:4173/${socketPath}`);
|
||||
// } else {
|
||||
// socket = new WebSocket(`wss://estimationpoker.jcreek.co.uk/${socketPath}`);
|
||||
// }
|
||||
|
||||
socket.addEventListener('open', () => {
|
||||
console.log('Connected to WebSocket server');
|
||||
});
|
||||
|
||||
socket.addEventListener('message', (event) => {
|
||||
const message = JSON.parse(event.data);
|
||||
onMessageReceived(message);
|
||||
});
|
||||
|
||||
socket.addEventListener('close', () => {
|
||||
console.log('Disconnected from WebSocket server');
|
||||
});
|
||||
|
||||
return socket;
|
||||
}
|
||||
|
||||
function sendMessage(socket, message) {
|
||||
socket.send(JSON.stringify(message));
|
||||
}
|
||||
|
||||
export { generateRoomID, connectToWebSocket, sendMessage };
|
||||
Reference in New Issue
Block a user