diff --git a/src/app/components/pages/GameboardBuilder.tsx b/src/app/components/pages/GameboardBuilder.tsx index ef115cc581..8c48048026 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?.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) && (