From b921a37ae2912004254a0990e5017a04094ee613 Mon Sep 17 00:00:00 2001 From: Nicolaus Gozali Date: Thu, 21 Oct 2021 20:58:18 +1000 Subject: [PATCH 1/2] fix: have button for view story, gallery and go to form on hub and controller --- .../src/containers/ControllerCanvasPage.tsx | 15 ++++- fableous-fe/src/containers/HubCanvasPage.tsx | 60 +++++++++++++++++-- 2 files changed, 68 insertions(+), 7 deletions(-) diff --git a/fableous-fe/src/containers/ControllerCanvasPage.tsx b/fableous-fe/src/containers/ControllerCanvasPage.tsx index fb2ef103..70193dda 100644 --- a/fableous-fe/src/containers/ControllerCanvasPage.tsx +++ b/fableous-fe/src/containers/ControllerCanvasPage.tsx @@ -691,9 +691,22 @@ export default function ControllerCanvasPage() { variant="contained" color="secondary" component={Link} + endIcon={photo} to={`/gallery/${sessionInfo?.classroomId}/${sessionInfo?.sessionId}`} + className="mb-2" + > + View completed story in gallery + + + + diff --git a/fableous-fe/src/containers/HubCanvasPage.tsx b/fableous-fe/src/containers/HubCanvasPage.tsx index 004d5637..35289655 100644 --- a/fableous-fe/src/containers/HubCanvasPage.tsx +++ b/fableous-fe/src/containers/HubCanvasPage.tsx @@ -13,7 +13,7 @@ import useAxios from "axios-hooks"; import { Formik, FormikHelpers } from "formik"; import { useSnackbar } from "notistack"; import { useRef, useEffect, useState, useCallback } from "react"; -import { useHistory, useParams } from "react-router-dom"; +import { Link, useHistory, useParams } from "react-router-dom"; import * as yup from "yup"; import { restAPI, wsAPI } from "../api"; import { APIResponse, Manifest, Session, Story } from "../data"; @@ -43,6 +43,7 @@ enum HubState { SessionForm = "SESSION_FORM", WaitingRoom = "WAITING_ROOM", DrawingSession = "DRAWING_SESSION", + StoryFinished = "STORY_FINISHED", } export default function HubCanvasPage() { @@ -51,7 +52,9 @@ export default function HubCanvasPage() { const { enqueueSnackbar } = useSnackbar(); const [hubState, setHubState] = useState(HubState.SessionForm); const [wsConn, setNewWsConn, clearWsConn] = useWsConn(); - const [classroomToken, setClassroomToken] = useState(""); + const [sessionInfo, setSessionInfo] = useState< + pb.WSControlMessageData | undefined + >(); const [joinedControllers, setJoinedControllers] = useState< { [key in StudentRole]?: string; @@ -185,7 +188,7 @@ export default function HubCanvasPage() { done, } = msg.control as pb.WSControlMessageData; if (classroomTokenFromWs) { - setClassroomToken(classroomTokenFromWs); + setSessionInfo(msg.control as pb.WSControlMessageData); } if (help) { enqueueSnackbar(`${ROLE_ICON[msg.role].text} needs a hand!`, { @@ -410,6 +413,7 @@ export default function HubCanvasPage() { // redirect back if session already initialised useEffect(() => { executeGetOngoingSession().then(() => { + // executeGetOngoingSession will return 404 if there are no ongoing session history.push("/"); }); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -447,7 +451,7 @@ export default function HubCanvasPage() { if (hubState === HubState.SessionForm) { setCurrentPageIdx(0); setStory(undefined); - setClassroomToken(""); + setSessionInfo(undefined); setJoinedControllers({}); setFocusLayer(undefined); setHelpControllers(INIT_FLAG); @@ -459,7 +463,7 @@ export default function HubCanvasPage() { useEffect(() => { if (currentPageIdx && story && currentPageIdx > story.pages) { enqueueSnackbar("Story completed!", { variant: "success" }); - setHubState(HubState.SessionForm); + setHubState(HubState.StoryFinished); achievementReset(); } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -487,6 +491,7 @@ export default function HubCanvasPage() { [HubState.SessionForm]: "New Story", [HubState.WaitingRoom]: "Lobby", [HubState.DrawingSession]: "", + [HubState.StoryFinished]: "Finished!", }[hubState] } @@ -722,7 +727,10 @@ export default function HubCanvasPage() { - +
+ + + + + + + + + )}
Date: Thu, 21 Oct 2021 21:38:42 +1000 Subject: [PATCH 2/2] fix: change goto story button wording --- fableous-fe/src/containers/ControllerCanvasPage.tsx | 2 +- fableous-fe/src/containers/HubCanvasPage.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fableous-fe/src/containers/ControllerCanvasPage.tsx b/fableous-fe/src/containers/ControllerCanvasPage.tsx index 70193dda..27c9e06d 100644 --- a/fableous-fe/src/containers/ControllerCanvasPage.tsx +++ b/fableous-fe/src/containers/ControllerCanvasPage.tsx @@ -695,7 +695,7 @@ export default function ControllerCanvasPage() { to={`/gallery/${sessionInfo?.classroomId}/${sessionInfo?.sessionId}`} className="mb-2" > - View completed story in gallery + View completed story diff --git a/fableous-fe/src/containers/HubCanvasPage.tsx b/fableous-fe/src/containers/HubCanvasPage.tsx index 35289655..ab18d346 100644 --- a/fableous-fe/src/containers/HubCanvasPage.tsx +++ b/fableous-fe/src/containers/HubCanvasPage.tsx @@ -771,7 +771,7 @@ export default function HubCanvasPage() { to={`/gallery/${sessionInfo?.classroomId}/${sessionInfo?.sessionId}`} className="mb-2" > - View completed story in gallery + View completed story