diff options
| author | Max Nanis | 2026-03-03 09:57:08 +0000 |
|---|---|---|
| committer | Max Nanis | 2026-03-03 09:57:08 +0000 |
| commit | cb3a2fa810b19a441cc7baf42178c4a2d393663a (patch) | |
| tree | b2ad366338249416f029e1820a7d02e9caf87c57 /jb-ui/src/JBApp.tsx | |
| parent | 19a97da80ae740bb1cf92fc911e6efc210aa05a8 (diff) | |
| parent | 979e789c388e7a1e9a90e448d82e297c9c296a3e (diff) | |
| download | amt-jb-cb3a2fa810b19a441cc7baf42178c4a2d393663a.tar.gz amt-jb-cb3a2fa810b19a441cc7baf42178c4a2d393663a.zip | |
Merges pull request #1
Deploy Marquee (basic for now)
Diffstat (limited to 'jb-ui/src/JBApp.tsx')
| -rw-r--r-- | jb-ui/src/JBApp.tsx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jb-ui/src/JBApp.tsx b/jb-ui/src/JBApp.tsx index 5c99e61..f470a5d 100644 --- a/jb-ui/src/JBApp.tsx +++ b/jb-ui/src/JBApp.tsx @@ -1,5 +1,6 @@ import { EventMessage, + EventType, PingMessage, PongMessage, PongMessageKindEnum, @@ -15,6 +16,7 @@ import Footer from "@/components/Footer"; import { useAppDispatch } from "@/hooks"; import { bpid, routeBasename, tagManager } from "@/lib/utils"; import { setAssignmentID, setProductUserID, setTurkSubmitTo } from "@/models/appSlice"; +import { addEvent } from "@/models/grlEventsSlice"; import { addStatsData } from "@/models/grlStatsSlice"; import Home from "@/pages/Home"; import Preview from "@/pages/Preview"; @@ -22,6 +24,7 @@ import Result from "@/pages/Result"; import Work from "@/pages/Work"; import { BrowserRouter, Outlet, Route, Routes, useSearchParams } from "react-router-dom"; import useWebSocket from 'react-use-websocket'; +import NewsTicker from "./components/EventMarquee"; import { useEffect } from "react"; @@ -36,6 +39,10 @@ function isStatsMessage(msg: Message): msg is StatsMessage { return msg.kind === 'stats'; } +function isEventMessage(msg: Message): msg is EventMessage { + return msg.kind === 'event'; +} + function isPingMessage(msg: Message): msg is PingMessage { return msg.kind === 'ping'; } @@ -108,6 +115,7 @@ const Layout = () => { </main > <footer className="bg-slate-700 text-zinc-200 p-2 text-center font-mono"> + <NewsTicker /> <Footer /> </footer> @@ -137,6 +145,22 @@ function JBApp() { if (isStatsMessage(msg)) { dispatch(addStatsData(msg.data)) + } else if (isEventMessage(msg)) { + // For simplicity, we just log the event messages here. + // You can extend this to update the UI or trigger notifications as needed. + + switch (msg.data.event_type) { + case EventType.TaskEnter: + case EventType.TaskFinish: + case EventType.UserCreated: + dispatch(addEvent(msg.data)); + break + + default: + // do nothing for now + break; + } + } else if (isPingMessage(msg)) { const pong: PongMessage = { "kind": PongMessageKindEnum.Pong, |
