From fd2340b92cb2be4ac268367591ece5dc044a8c45 Mon Sep 17 00:00:00 2001 From: Sarah Wang Date: Mon, 29 Dec 2025 15:38:56 -0800 Subject: [PATCH 1/2] revive the audience --- src/App.tsx | 29 ++++++++++++++--------------- src/pages/ConsentForm.tsx | 2 +- src/pages/audience/PreSurvey.tsx | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index f367ef2..b8b8726 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -17,15 +17,15 @@ import usePreventRefresh from "./components/shared/preventRefresh"; import usePreventBack from "./components/shared/preventBackBttn"; import { nanoid } from "nanoid"; -// import AudienceInstructions from "./pages/audience/instructions/Instructions"; +import AudienceInstructions from "./pages/audience/instructions/Instructions"; // ================= AUDIENCE PAGES ================= -// import ChooseYourCharacter from "./pages/ChooseYourCharacter"; -// import AudiencePreSurvey from "./pages/audience/PreSurvey"; -// import AudienceTransitionStep1 from "./pages/audience/step1/TransitionStep1"; -// import AudienceStep1 from "./pages/audience/step1/Step1"; -// import AudienceStep2 from "./pages/audience/step2/Step2"; -// import AudienceTransitionStep2 from "./pages/audience/step2/TransitionStep2"; -// import AudiencePostSurvey from "./pages/audience/PostSurvey"; +import ChooseYourCharacter from "./pages/ChooseYourCharacter"; +import AudiencePreSurvey from "./pages/audience/PreSurvey"; +import AudienceTransitionStep1 from "./pages/audience/step1/TransitionStep1"; +import AudienceStep1 from "./pages/audience/step1/Step1"; +import AudienceStep2 from "./pages/audience/step2/Step2"; +import AudienceTransitionStep2 from "./pages/audience/step2/TransitionStep2"; +import AudiencePostSurvey from "./pages/audience/PostSurvey"; import LLMInstruction from "./pages/artist/instructions/llmInstructions"; import { useState, createContext, useEffect, useRef } from "react"; import type { @@ -264,8 +264,8 @@ function App() { )} } /> - {/* - AUDIENCE ROUTES + + {/* AUDIENCE ROUTES */} } @@ -275,13 +275,12 @@ function App() { path="/audience/step-2" element={} /> - } /> - - } /> @@ -294,9 +293,9 @@ function App() { } - /> */} + /> - {/* } /> */} + } /> diff --git a/src/pages/ConsentForm.tsx b/src/pages/ConsentForm.tsx index dc20da4..7512932 100644 --- a/src/pages/ConsentForm.tsx +++ b/src/pages/ConsentForm.tsx @@ -19,7 +19,7 @@ const ConsentForm = () => { addRoleSpecificData({ timeStamps: [...(userData?.data?.timeStamps ?? []), new Date()], }); - navigate("/artist/pre-survey"); + navigate("/choice"); } else { toaster.create({ description: "Please give your consent to proceed", diff --git a/src/pages/audience/PreSurvey.tsx b/src/pages/audience/PreSurvey.tsx index 27b4fc5..6e3d884 100644 --- a/src/pages/audience/PreSurvey.tsx +++ b/src/pages/audience/PreSurvey.tsx @@ -65,7 +65,7 @@ const AudiencePreSurvey = () => { } const handleSubmit = (answers: any) => { console.log(answers); - navigate("/artist/instructions"); + navigate("/audience/instructions"); }; return ( From 7ea8a017e1a94bd011e370ea5ad6e22335ab38f6 Mon Sep 17 00:00:00 2001 From: Sarah Wang Date: Mon, 29 Dec 2025 16:02:24 -0800 Subject: [PATCH 2/2] beginning to update routes --- server/api/routes/firebaseAPI.ts | 21 ++++++++++++++++----- src/App.tsx | 2 +- src/pages/artist/PostSurvey.tsx | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/server/api/routes/firebaseAPI.ts b/server/api/routes/firebaseAPI.ts index c21fe19..0f87af3 100644 --- a/server/api/routes/firebaseAPI.ts +++ b/server/api/routes/firebaseAPI.ts @@ -3,12 +3,19 @@ import { db, FieldValue } from "../firebase/firebase"; const router = express.Router(); +// ARTIST COLLECTIONS const ARTIST_COLLECTION = "artist"; const ARTIST_SURVEY_COLLECTION = "artistSurvey"; const POEM_COLLECTION = "poem"; -const INCOMPLETE_SESSION_COLLECTION = "incompleteSession"; +const ARTIST_INCOMPLETE_SESSION_COLLECTION = "incompleteArtistSession"; -router.post("/autosave", async (req, res) => { +// AUDIENCE COLLECTIONS +const AUDIENCE_COLLECTION = "audience"; +const AUDIENCE_SURVEY_COLLECTION = "audienceSurvey"; +const AUDIENCE_INCOMPLETE_SESSION_COLLECTION = "incompleteAudienceSession"; + +// ARTIST ROUTES +router.post("/artist/autosave", async (req, res) => { try { const { sessionId, data } = req.body; @@ -32,7 +39,9 @@ router.post("/autosave", async (req, res) => { ? statusMap[data.data.timeStamps.length] || "started" : "started"; - const ref = db.collection(INCOMPLETE_SESSION_COLLECTION).doc(sessionId); + const ref = db + .collection(ARTIST_INCOMPLETE_SESSION_COLLECTION) + .doc(sessionId); const payload = { sessionId, role: data.role, @@ -49,7 +58,7 @@ router.post("/autosave", async (req, res) => { } }); -router.post("/commit-session", async (req, res) => { +router.post("/artist/commit-session", async (req, res) => { try { const { artistData, surveyData, poemData, sessionId } = req.body; @@ -75,7 +84,7 @@ router.post("/commit-session", async (req, res) => { const surveyRef = db.collection(ARTIST_SURVEY_COLLECTION).doc(); const poemRef = db.collection(POEM_COLLECTION).doc(); const incompleteRef = db - .collection(INCOMPLETE_SESSION_COLLECTION) + .collection(ARTIST_INCOMPLETE_SESSION_COLLECTION) .doc(sessionId); const artist = { @@ -99,4 +108,6 @@ router.post("/commit-session", async (req, res) => { } }); +// AUDIENCE ROUTES + export default router; diff --git a/src/App.tsx b/src/App.tsx index b8b8726..7391e45 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -82,7 +82,7 @@ function App() { if (saveTimerRef.current) window.clearTimeout(saveTimerRef.current); saveTimerRef.current = window.setTimeout(async () => { - await fetch("/api/firebase/autosave", { + await fetch("/api/firebase/artist/autosave", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ sessionId, data }), diff --git a/src/pages/artist/PostSurvey.tsx b/src/pages/artist/PostSurvey.tsx index 62fd0cf..e5bcbe3 100644 --- a/src/pages/artist/PostSurvey.tsx +++ b/src/pages/artist/PostSurvey.tsx @@ -48,7 +48,7 @@ const ArtistPostSurvey = () => { // SEND IT RAHHHH try { - await fetch("/api/firebase/commit-session", { + await fetch("/api/firebase/artist/commit-session", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({