From 8ea9b678a4a122a47328f105453f829c813dbb3d Mon Sep 17 00:00:00 2001 From: April Hall Date: Mon, 6 Jan 2025 20:06:57 -0500 Subject: [PATCH] feat: Create message component --- src/lib/components/message.svelte | 16 +++++++++++++++ src/lib/index.ts | 6 ++++++ src/lib/websocketConfig.ts | 10 ++++++--- src/routes/+page.svelte | 34 ++++++++++++++----------------- 4 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 src/lib/components/message.svelte diff --git a/src/lib/components/message.svelte b/src/lib/components/message.svelte new file mode 100644 index 0000000..33f0dc8 --- /dev/null +++ b/src/lib/components/message.svelte @@ -0,0 +1,16 @@ + + +
+
+
+ Profile image for {user} +
+
+
+

{user}

+

{message}

+
+
\ No newline at end of file diff --git a/src/lib/index.ts b/src/lib/index.ts index 856f2b6..fc860ea 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1 +1,7 @@ // place files you want to import through the `$lib` alias in this folder. + +export interface TypeMessage { + message: string, + imageSrc: string, + user: string; +} \ No newline at end of file diff --git a/src/lib/websocketConfig.ts b/src/lib/websocketConfig.ts index 8e8176a..adeea77 100644 --- a/src/lib/websocketConfig.ts +++ b/src/lib/websocketConfig.ts @@ -1,5 +1,6 @@ import { Server as SocketIOServer } from 'socket.io'; import type { HttpServer } from 'vite'; +import { type TypeMessage } from './' let io: SocketIOServer | undefined; @@ -11,17 +12,20 @@ export function startupSocketIOServer(httpServer: HttpServer | null) { io.on('connection', (socket) => { // Runs on client connect console.log(`[ws:kit] client connected (${socket.id})`); - io!.emit('message', `[ws] Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); + // Runs on message receive socket.on('message', (msg) => { console.log(`[ws:kit] message from ${socket.id}: ${msg}`); - io!.emit('message', `[${socket.id}] ${msg}`); + io!.emit('message', { + user: socket.id, + message: msg, + imageSrc: 'https://www.arithefirst.com/images/pfp.png' + }); }); // Runs on client disconnect socket.on('disconnect', () => { - io!.emit('message', `client disconnected (${socket.id})`); console.log(`[ws:kit] client disconnected (${socket.id})`); }); }); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c81c665..95fd490 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,30 +1,22 @@