From cb1962d7af3ba6d1a6a59b0c8805200ac1a4d446 Mon Sep 17 00:00:00 2001 From: Madhura Date: Tue, 3 Mar 2026 13:41:51 +0000 Subject: [PATCH 1/2] Change the default value of wildcard field --- src/app/components/pages/GameboardBuilder.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app/components/pages/GameboardBuilder.tsx b/src/app/components/pages/GameboardBuilder.tsx index ef115cc581..42f1239ade 100644 --- a/src/app/components/pages/GameboardBuilder.tsx +++ b/src/app/components/pages/GameboardBuilder.tsx @@ -51,7 +51,7 @@ const GameboardBuilder = ({ user }: { user: RegisteredUserDTO }) => { const [gameboardURL, setGameboardURL] = useState(); const [questionOrder, setQuestionOrder] = useState([]); const [selectedQuestions, setSelectedQuestions] = useState(new Map()); - const [wildcardId, setWildcardId] = useState(undefined); + const [wildcardId, setWildcardId] = useState("random"); const eventLog = useRef([]).current; // Use ref to persist state across renders but not rerender on mutation const cloneGameboard = useCallback( @@ -59,7 +59,12 @@ const GameboardBuilder = ({ user }: { user: RegisteredUserDTO }) => { setGameboardTitle(gameboard.title ? `${gameboard.title} (Copy)` : ""); setQuestionOrder(loadGameboardQuestionOrder(gameboard) || []); setSelectedQuestions(loadGameboardSelectedQuestions(gameboard) || new Map()); - setWildcardId((isStaff(user) && gameboard.wildCard && gameboard.wildCard.id) || undefined); + // Duplicating from an existing board or creating from concepts should default to random wildcard. + if (baseGameboardId || concepts) { + setWildcardId("random"); + } else { + setWildcardId((isStaff(user) && gameboard.wildCard && gameboard.wildCard.id) || "random"); + } if (concepts && !baseGameboardId) { logEvent(eventLog, "GAMEBOARD_FROM_CONCEPT", { concepts: concepts }); } else { @@ -85,7 +90,7 @@ const GameboardBuilder = ({ user }: { user: RegisteredUserDTO }) => { setQuestionOrder([]); setGameboardURL(undefined); setSelectedQuestions(new Map()); - setWildcardId(undefined); + setWildcardId("random"); }; useEffect(() => { @@ -184,7 +189,7 @@ const GameboardBuilder = ({ user }: { user: RegisteredUserDTO }) => { - {isStaff(user) && user.role !== "TEACHER" && ( + {isStaff(user) && ( From 22c107f70ff7d2c103c9ed0905ab9c19808ae440 Mon Sep 17 00:00:00 2001 From: Madhura Date: Tue, 3 Mar 2026 13:54:29 +0000 Subject: [PATCH 2/2] Incorporate sonarqube suggestion --- src/app/components/pages/GameboardBuilder.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/pages/GameboardBuilder.tsx b/src/app/components/pages/GameboardBuilder.tsx index 42f1239ade..8c48048026 100644 --- a/src/app/components/pages/GameboardBuilder.tsx +++ b/src/app/components/pages/GameboardBuilder.tsx @@ -63,7 +63,7 @@ const GameboardBuilder = ({ user }: { user: RegisteredUserDTO }) => { if (baseGameboardId || concepts) { setWildcardId("random"); } else { - setWildcardId((isStaff(user) && gameboard.wildCard && gameboard.wildCard.id) || "random"); + setWildcardId((isStaff(user) && gameboard.wildCard?.id) || "random"); } if (concepts && !baseGameboardId) { logEvent(eventLog, "GAMEBOARD_FROM_CONCEPT", { concepts: concepts });