Skip to content

Commit b075de4

Browse files
committed
Align audience views for all Question Finder sizes
1 parent e16751a commit b075de4

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

src/app/components/elements/StageAndDifficultySummaryIcons.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ interface StageAndDifficultySummaryIconsProps {
1111
className?: string,
1212
iconClassName?: string,
1313
stack?: boolean,
14+
spacerWidth?: number,
1415
}
1516

1617
export const StageAndDifficultySummaryIcons = (props: StageAndDifficultySummaryIconsProps) => {
17-
const {audienceViews, className, iconClassName, stack} = props;
18+
const {audienceViews, className, iconClassName, stack, spacerWidth} = props;
1819
const difficulties: Difficulty[] = audienceViews.map(v => v.difficulty).filter(v => v !== undefined);
1920
return siteSpecific(
2021
<div className={classNames(className, "d-flex flex-column")}>
@@ -23,7 +24,7 @@ export const StageAndDifficultySummaryIcons = (props: StageAndDifficultySummaryI
2324
{view.stage && view.stage !== STAGE.ALL && stageLabelMap[view.stage] + " "}
2425
{view.difficulty && <>
2526
{simpleDifficultyLabelMap[view.difficulty]}
26-
<Spacer/>
27+
<Spacer width={spacerWidth}/>
2728
<DifficultyIcons className={classNames("d-inline-block ps-1", iconClassName)} difficulty={view.difficulty} />
2829
</>}
2930
</span>

src/app/components/elements/list-groups/AbstractListViewItem.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,11 @@ export interface AbstractListViewItemProps {
8686

8787
export const AbstractListViewItem = ({icon, title, subject, subtitle, breadcrumb, status, tags, testTag, url, audienceViews, previewUrl, testUrl, isCard}: AbstractListViewItemProps) => {
8888
const isQuiz: boolean = (previewUrl && testUrl) ? true : false;
89-
const colWidths = isCard ? [12,12,12,12] : isQuiz ? [12,6,6,6] : [12,8,9,8];
89+
const fullWidth: boolean = (status || audienceViews || previewUrl || testUrl) ? false : true;
90+
const colWidths = fullWidth ? [12,12,12,12,12] : isQuiz ? [12,6,6,6,6] : [12,8,7,6,7];
9091
const cardBody =
91-
<Row className="w-100">
92-
<Col xs={colWidths[0]} md={colWidths[1]} lg={colWidths[2]} xl={colWidths[3]} className={classNames("d-flex", {"mt-3": isCard})}>
92+
<Row className="w-100 flex-row">
93+
<Col xs={colWidths[0]} md={colWidths[1]} lg={colWidths[2]} xl={colWidths[3]} xxl={colWidths[4]} className={classNames("d-flex", {"mt-3": isCard})}>
9394
<div>
9495
{icon && (
9596
icon.type === "img" ? <img src={icon.icon} alt="" className="me-3"/>
@@ -107,7 +108,7 @@ export const AbstractListViewItem = ({icon, title, subject, subtitle, breadcrumb
107108
<Breadcrumb breadcrumb={breadcrumb}/>
108109
</div>}
109110
{audienceViews && <div className="d-flex d-md-none">
110-
<StageAndDifficultySummaryIcons audienceViews={audienceViews} stack={true}/>
111+
<StageAndDifficultySummaryIcons audienceViews={audienceViews} stack/>
111112
</div>}
112113
{status && <div className="d-flex d-xl-none">
113114
<StatusDisplay status={status}/>
@@ -120,11 +121,11 @@ export const AbstractListViewItem = ({icon, title, subject, subtitle, breadcrumb
120121
</div>}
121122
</div>
122123
</Col>
123-
{!isQuiz && (audienceViews || status) && <Col xl={2} className={classNames("d-none d-xl-flex", {" list-view-border": (status && status !== CompletionState.NOT_ATTEMPTED)})}>
124+
{!isQuiz && (audienceViews || status) && <Col xl={2} className={classNames("d-none d-xl-flex", {"list-view-border": (status && status !== CompletionState.NOT_ATTEMPTED)})}>
124125
<StatusDisplay status={status ?? CompletionState.NOT_ATTEMPTED}/>
125126
</Col>}
126-
{audienceViews && <Col md={4} lg={3} xl={2} className={classNames("d-none d-md-flex", {" list-view-border": audienceViews.length > 0})}>
127-
<StageAndDifficultySummaryIcons audienceViews={audienceViews} stack={true}/>
127+
{audienceViews && <Col md={4} lg={5} xl={4} xxl={3} className="d-none d-md-flex justify-content-end">
128+
<StageAndDifficultySummaryIcons audienceViews={audienceViews} stack spacerWidth={5} className={classNames({"list-view-border": audienceViews.length > 0})}/>
128129
</Col>}
129130
{previewUrl && testUrl && <Col md={6} className="d-none d-md-flex align-items-center justify-content-end">
130131
<QuizLinks previewUrl={previewUrl} testUrl={testUrl}/>

src/app/components/pages/Concepts.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import {AppState, fetchConcepts, selectors, useAppDispatch, useAppSelector} from
44
import {Badge, Card, CardBody, CardHeader, Container} from "reactstrap";
55
import queryString from "query-string";
66
import {ShowLoading} from "../handlers/ShowLoading";
7-
import {ContentTypeVisibility, LinkToContentSummaryList} from "../elements/list-groups/ContentSummaryListGroupItem";
87
import {matchesAllWordsInAnyOrder, pushConceptsToHistory, searchResultIsPublic, shortcuts, TAG_ID, tags} from "../../services";
98
import {TitleAndBreadcrumb} from "../elements/TitleAndBreadcrumb";
109
import {ShortcutResponse, Tag} from "../../../IsaacAppTypes";
1110
import {IsaacSpinner} from "../handlers/IsaacSpinner";
1211
import { SubjectSpecificConceptListSidebar, MainContent, SidebarLayout } from "../elements/layout/SidebarLayout";
12+
import { ListView } from "../elements/list-groups/ListView";
1313

1414
// This component is Isaac Physics only (currently)
1515
export const Concepts = withRouter((props: RouteComponentProps) => {
@@ -104,10 +104,7 @@ export const Concepts = withRouter((props: RouteComponentProps) => {
104104
<CardBody>
105105
<ShowLoading until={shortcutAndFilteredSearchResults}>
106106
{shortcutAndFilteredSearchResults ?
107-
<LinkToContentSummaryList
108-
items={shortcutAndFilteredSearchResults} showBreadcrumb={false}
109-
contentTypeVisibility={ContentTypeVisibility.ICON_ONLY}
110-
/>
107+
<ListView items={shortcutAndFilteredSearchResults} />
111108
: <em>No results found</em>}
112109
</ShowLoading>
113110
</CardBody>

src/scss/phy/list-groups.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88

99
.list-view-border {
1010
border-left: 1px solid $color-neutral-200;
11+
padding-left: 1rem;
12+
&.flex-column {
13+
min-width: 220px;
14+
}
1115
}
1216

1317
.status-tag {

0 commit comments

Comments
 (0)