aboutsummaryrefslogtreecommitdiff
path: root/jb-ui/src/JBApp.tsx
diff options
context:
space:
mode:
authorMax Nanis2026-03-03 09:57:08 +0000
committerMax Nanis2026-03-03 09:57:08 +0000
commitcb3a2fa810b19a441cc7baf42178c4a2d393663a (patch)
treeb2ad366338249416f029e1820a7d02e9caf87c57 /jb-ui/src/JBApp.tsx
parent19a97da80ae740bb1cf92fc911e6efc210aa05a8 (diff)
parent979e789c388e7a1e9a90e448d82e297c9c296a3e (diff)
downloadamt-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.tsx24
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,