Skip to content

Commit 1e4e119

Browse files
authored
Merge pull request #1139 from isaacphysics/hotfix/simplify-gameboard-stages
Show fewer difficulties on gameboards
2 parents 93065ac + e40bbb5 commit 1e4e119

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/app/components/pages/Gameboard.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, {useEffect} from "react";
22
import {
3+
AppState,
34
logAction,
45
selectors,
56
setAssignBoardPath,
@@ -24,7 +25,8 @@ import {
2425
siteSpecific,
2526
TAG_ID,
2627
TAG_LEVEL,
27-
tags
28+
tags,
29+
useUserViewingContext
2830
} from "../../services";
2931
import {Redirect} from "react-router";
3032
import queryString from "query-string";
@@ -74,6 +76,10 @@ const GameboardItemComponent = ({gameboard, question}: {gameboard: GameboardDTO,
7476
const questionTags = tags.getByIdsAsHierarchy((question.tags || []) as TAG_ID[])
7577
.filter((t, i) => !isAda || i !== 0); // CS always has Computer Science at the top level
7678

79+
const questionViewingContexts = filterAudienceViewsByProperties(determineAudienceViews(question.audience, question.creationContext), AUDIENCE_DISPLAY_FIELDS);
80+
const userViewingContext = useUserViewingContext();
81+
const currentUser = useAppSelector((state: AppState) => state?.user?.loggedIn && state.user || null);
82+
const uniqueStage = questionViewingContexts.find(context => context.stage === userViewingContext.stage);
7783
return <ListGroupItem key={question.id} className={itemClasses}>
7884
<Link to={`/questions/${question.id}?board=${gameboard.id}`} className={classNames("position-relative", {"align-items-center": isPhy, "justify-content-center": isAda})}>
7985
<span className={"question-progress-icon"}>
@@ -101,7 +107,7 @@ const GameboardItemComponent = ({gameboard, question}: {gameboard: GameboardDTO,
101107
</div>
102108

103109
{question.audience && <StageAndDifficultySummaryIcons audienceViews={
104-
filterAudienceViewsByProperties(determineAudienceViews(question.audience, question.creationContext), AUDIENCE_DISPLAY_FIELDS)
110+
isPhy && !isTutorOrAbove(currentUser) && uniqueStage ? [uniqueStage] : questionViewingContexts
105111
} />}
106112
</div>
107113
{isAda && <div className={"list-caret vertical-center"}><img src={"/assets/common/icons/chevron_right.svg"} alt={"Go to question"}/></div>}

0 commit comments

Comments
 (0)