Skip to content

Commit fc1f02f

Browse files
committed
Merge branch 'redesign-2024' into redesign/general-improvements-8
2 parents 8a41fe6 + 8d6a4b1 commit fc1f02f

File tree

92 files changed

+647
-536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+647
-536
lines changed

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
REACT_APP_API_VERSION=v3.18.8
1+
REACT_APP_API_VERSION=v3.18.9

cypress/support/component-index-phy.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
<link rel="preload" as="image" href="/assets/phy/line.svg">
1919
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, shrink-to-fit=no" />
2020
<meta name="theme-color" content="#000000" />
21-
<meta name="application-name" content="Isaac Physics" />
22-
<meta name="description" content="Isaac Physics is a project designed to offer support and activities in physics problem solving to teachers and students from GCSE level through to university." data-react-helmet="true" />
23-
<meta property="og:site_name" content="Isaac Physics" />
24-
<meta property="og:title" content="Isaac Physics" data-react-helmet="true" />
21+
<meta name="application-name" content="Isaac Science" />
22+
<meta name="description" content="Isaac Science is a project expanding out of Isaac Physics to provide resources to develop confidence in problem-solving not only physics (year 7 through to university) and maths (GCSE to university) but also in chemistry (GCSE to university) and biology (A level)." data-react-helmet="true" />
23+
<meta property="og:site_name" content="Isaac Science" />
24+
<meta property="og:title" content="Isaac Science" data-react-helmet="true" />
2525
<meta property="og:type" content="website" />
26-
<meta property="og:description" content="Isaac Physics is a project designed to offer support and activities in physics problem solving to teachers and students from GCSE level through to university." data-react-helmet="true" />
26+
<meta property="og:description" content="Isaac Science is a project expanding out of Isaac Physics to provide resources to develop confidence in problem-solving not only physics (year 7 through to university) and maths (GCSE to university) but also in chemistry (GCSE to university) and biology (A level)." data-react-helmet="true" />
2727
<meta property="og:image" content="https://cdn.isaacphysics.org/isaac/logos/isaacphysics-favicon-500px.png" />
2828
<meta property="fb:app_id" content="760382960667256" />
29-
<title>Isaac Physics</title>
29+
<title>Isaac Science</title>
3030
</head>
3131
<body data-bs-theme="neutral">
3232
<div data-cy-root id="root"></div>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "isaac-react-app",
3-
"version": "4.0.0-rc15-SNAPSHOT",
3+
"version": "4.0.0-rc16-SNAPSHOT",
44
"private": true,
55
"engines": {
66
"node": ">=18",

public/index-phy.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@
1515
<link rel="preload" href="/assets/phy/fonts/exo2-medium-webfont.woff2" as="font" crossorigin="anonymous" />
1616
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, shrink-to-fit=no" />
1717
<meta name="theme-color" content="#000000" />
18-
<meta name="application-name" content="Isaac Physics" />
19-
<meta name="description" content="Isaac Physics is a project designed to offer support and activities in physics problem solving to teachers and students from GCSE level through to university." data-react-helmet="true" />
20-
<meta property="og:site_name" content="Isaac Physics" />
21-
<meta property="og:title" content="Isaac Physics" data-react-helmet="true" />
18+
<meta name="application-name" content="Isaac Science" />
19+
<meta name="description" content="Isaac Science is a project expanding out of Isaac Physics to provide resources to develop confidence in problem-solving not only physics (year 7 through to university) and maths (GCSE to university) but also in chemistry (GCSE to university) and biology (A level)." data-react-helmet="true" />
20+
<meta property="og:site_name" content="Isaac Science" />
21+
<meta property="og:title" content="Isaac Science" data-react-helmet="true" />
2222
<meta property="og:type" content="website" />
23-
<meta property="og:description" content="Isaac Physics is a project designed to offer support and activities in physics problem solving to teachers and students from GCSE level through to university." data-react-helmet="true" />
23+
<meta property="og:description" content="Isaac Science is a project expanding out of Isaac Physics to provide resources to develop confidence in problem-solving not only physics (year 7 through to university) and maths (GCSE to university) but also in chemistry (GCSE to university) and biology (A level)." data-react-helmet="true" />
2424
<meta property="og:image" content="https://cdn.isaacphysics.org/isaac/logos/isaacphysics-favicon-500px.png" />
2525
<meta property="fb:app_id" content="760382960667256" />
26-
<title>Isaac Physics</title>
26+
<title>Isaac Science</title>
2727
</head>
2828
<body>
2929
<div id="root" class="d-flex flex-column overflow-clip min-vh-100" data-bs-theme="neutral">
3030
<!-- root element's children are cleared on first react render -->
3131
<noscript>
3232
<div class="fixed-top bg-primary">
33-
<img src="/assets/phy/logo-strap.png" alt="Isaac Physics Logo" class="p-3" />
33+
<img src="/assets/phy/logo-strap.png" alt="Isaac Science Logo" class="p-3" />
3434
</div>
3535
<div class="py-5"></div>
3636
<div class="py-5"></div>
@@ -39,8 +39,8 @@
3939
<div class="col-10 offset-1 col-sm-8 offset-sm-2">
4040
<div class="card">
4141
<div class="card-body text-center">
42-
<h1>Isaac Physics</h1>
43-
<p class="pt-3">You need to enable JavaScript to access Isaac Physics.</p>
42+
<h1>Isaac Science</h1>
43+
<p class="pt-3">You need to enable JavaScript to access Isaac Science.</p>
4444
</div>
4545
</div>
4646
</div>

public/manifest-phy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "Isaac Physics",
2+
"name": "Isaac Science",
33
"icons": [
44
{
55
"src": "assets/phy/favicon/favicon-32x32.png",

public/unsupported_browsers/unsupported-phy.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<html lang="en">
22
<head>
3-
<title>Isaac Physics</title>
3+
<title>Isaac Science</title>
44
<meta name="viewport" content="width=device-width, initial-scale=1">
55
<link rel='shortcut icon' href='data:image/x-icon;base64,AAABAAEADxAAAAEAIAAoBAAAFgAAACgAAAAPAAAAIAAAAAEAIAAAAAAAwAMAABILAAASCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0mU4ANJlOADSZTg80mU50NJlO2jSZToA0mU4UNJlOADSZTgAAAAAAAAAAAAAAAAAAAAAAAAAAADSZTgA0mU4DNJlOPDSZTrI0mU74NJlO/zSZTvo0mU66NJlORDSZTgQ0mU4AAAAAAAAAAAA0mU4ANJlOADSZThw0mU6INJlO6jSZTv80mU7/NJlO/zSZTv80mU7/NJlO7jOZTZI0mU4iNJlOADSZTgA0mU4ANZpPADSZTo43m1H/PJ1V/zaaUP86nFP/OJtR/zmcU/85nFL/NZpP/zydVf81mk+eL5ZKAjSZTgA0mU4AabR8ADqcU5x1uof/ebyK/4LBkv+LxZr/jMWb/4rEmf+JxJj/eLuK/3e6iP86nFOsHI05AzSZTgA0mU4AfL6NADydVZyHw5b/bbaA/5nMpv+Qx57/oM+s/5LIoP+fz6v/m82o/0GfWf8zmU2sM5lNAzSZTgA0mU4AfL2NADydVZyOxp3/nM6p/1KoaP9rtX7/msyn/2Kwdv+l0rD/lMmi/1Opaf81mU+sLJVHAzSZTgA0mU4AYrB2ADmcUpxos3z/bLV//1qscP9os3z/YK91/2CvdP9os3v/U6hp/2y1f/86nFOsHY06AzSZTgA0mU4AX69zADibUpxcrXH/OJtR/zOZTf8zmU3/MphN/zOZTf8ymE3/M5hN/zOYTf80mU6sNJlOAzSZTgA0mU4ANJlOADSZTmY0mU7rNJlO/zSZTv80mU7/NJlO/zSZTv80mU7/NJlO/zSZTu80mU51NJlOADSZTgAAAAAANJlOADSZTgM0mU47NJlOsTSZTvk0mU7/NJlO/zSZTv80mU76NJlOujSZTkM0mU4ENJlOAAAAAAAAAAAAAAAAADOVTAA0mU4ANJlOCzSZTmA0mU7UNJlO/jSZTts0mU5tNJlOEDSZTgA0mE0AAAAAAAAAAAAAAAAAAAAAADSZTgA0mU4BNJlOJzSZTks0mU5LL4lHfDCNSS3U//8ANJlOAAAAAAAAAAAAAAAAAAAAAAAAAAAANJlOADSZTgA0mU5INJlOvjSZTpc1nE+FDR4YTgUEDSsGBw4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJlOADSZThY0mU7JNJlO4zSZTuQ1nE9nBQQNJQcLEIIHCxAbBwsQAAcKEAAAAAAAAAAAAAAAAAAAAAAANJlOADSZTiU0mU61NJlO4DSZTpA0mk8NUfR2AAcLEGoHCxCLBwwQAwcMEAAAAAAAAAAAAAAAAAD4PgAA4A4AAMAGAADAAgAAwAIAAMACAADAAgAAwAIAAMACAADAAgAAwAYAAPAeAADgPgAA4H4AAMA+AADBHgAA' />
66
<link href='https://fonts.googleapis.com/css?family=Exo+2' rel='stylesheet' type='text/css'>
@@ -62,7 +62,7 @@
6262
<div id="panel">
6363
<img id="logo" src="data:image/png;base64,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" alt="">
6464
<h1>Unsupported Browser</h1>
65-
<p id="message">Isaac Physics no longer supports Internet Explorer or older versions of Safari.<br>
65+
<p id="message">Isaac Science no longer supports Internet Explorer or older versions of Safari.<br>
6666
Microsoft recommends using <a href="https://www.microsoft.com/edge/">Edge</a> instead of Internet Explorer.<br>
6767
We also support other modern browsers, such as
6868
<a href="https://www.google.com/chrome/">Chrome</a>,

src/app/components/content/IsaacAccordion.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,6 @@ export const IsaacAccordion = ({doc}: {doc: ContentDTO}) => {
169169
return invertedStageIndices;
170170
}, [stageIndices]);
171171

172-
const firstSectionToOpen = useMemo(() => {
173-
if (sections?.some(section => section.startOpen)) return undefined;
174-
if (!userContext.stage || userContext.stage === STAGE.ALL) return undefined;
175-
return stageIndices[userContext.stage];
176-
}, [sections, stageIndices, userContext.stage]);
177-
178172
return <div className="isaac-accordion">
179173
{sections?.map((section, index) => {
180174
const intendedAudience = isIntendedAudience(section.audience, userContext, user);
@@ -183,7 +177,7 @@ export const IsaacAccordion = ({doc}: {doc: ContentDTO}) => {
183177
{isPhy && stageInserts?.[index] && <StageInsert stage={stageInserts[index]} />}
184178
<Accordion
185179
key={`${section.sectionIndex} ${index}`} id={section.id} index={index}
186-
startOpen={section.startOpen ?? !isDefined(firstSectionToOpen) ? undefined : index === firstSectionToOpen} /* use default <Accordion/> startOpen behaviour if behaviour undefined */
180+
startOpen={section.startOpen}
187181
deEmphasised={section.deEmphasised}
188182
trustedTitle={section?.title || ""}
189183
audienceString={audienceString}

src/app/components/content/IsaacHintModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const IsaacHintModal = (props: HintModalProps) => {
4747
{label}
4848
</Button>
4949

50-
<Modal isOpen={isOpen} toggle={toggle} size={"lg"} {...restOfProps}>
50+
<Modal isOpen={isOpen} toggle={toggle} size={"lg"} data-bs-theme="neutral" {...restOfProps}>
5151
<ModalHeader close={closeButton} className={classNames({"d-flex justify-content-between": closeButton})}>
5252
{title}
5353
</ModalHeader>

src/app/components/content/IsaacNumericQuestion.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ const IsaacNumericQuestion = ({doc, questionId, validationResponse, readonly}: I
129129
<Dropdown className="flex-grow-1" disabled={readonly} isOpen={isOpen && noDisplayUnit} toggle={() => {setIsOpen(!isOpen);}}>
130130
<DropdownToggle
131131
disabled={readonly || !noDisplayUnit}
132-
className={classNames("feedback-zone w-md-auto h-100 px-2 py-1", {"border-dark display-unit": !noDisplayUnit, "feedback-showing": currentAttemptUnitsWrong && noDisplayUnit, "bg-white": isPhy})}
132+
className={classNames("feedback-zone w-md-auto h-100 px-2 py-1", {"border-dark display-unit": !noDisplayUnit, "feedback-showing": currentAttemptUnitsWrong && noDisplayUnit, "bg-white my-2": isPhy})}
133133
color={noDisplayUnit ? siteSpecific("dropdown", undefined) : "white"}
134134
caret={isPhy && noDisplayUnit}
135135
>
@@ -140,7 +140,7 @@ const IsaacNumericQuestion = ({doc, questionId, validationResponse, readonly}: I
140140
<span className={"feedback incorrect"}></span>
141141
</div>}
142142
</DropdownToggle>
143-
<DropdownMenu end className="w-max-content">
143+
<DropdownMenu end className="w-100 w-md-50">
144144
{selectedUnits.map((unit) =>
145145
<DropdownItem key={wrapUnitForSelect(unit)}
146146
data-unit={unit || 'None'}

src/app/components/elements/Book.tsx

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import React, { useEffect, useState } from "react";
2-
import { Alert, Container } from "reactstrap";
2+
import { Container } from "reactstrap";
33
import { BookSidebar, MainContent, SidebarLayout } from "./layout/SidebarLayout";
44
import { Markup } from "./markup";
55
import { TitleAndBreadcrumb } from "./TitleAndBreadcrumb";
66
import { useContextFromContentObjectTags } from "../../services";
77
import { useHistory } from "react-router";
88
import { useGetBookDetailPageQuery, useGetBookIndexPageQuery } from "../../state/slices/api/booksApi";
9-
import { ShowLoading } from "../handlers/ShowLoading";
109
import { BookPage } from "./BookPage";
1110
import { skipToken } from "@reduxjs/toolkit/query";
1211
import { ShowLoadingQuery } from "../handlers/ShowLoadingQuery";
12+
import { TeacherNotes } from "./TeacherNotes";
1313

1414
interface BookProps {
1515
match: { params: { bookId: string } };
@@ -19,9 +19,11 @@ export const Book = ({match: {params: {bookId}}}: BookProps) => {
1919

2020
const [pageId, setPageId] = useState<string | undefined>(undefined);
2121

22-
const { data: book } = useGetBookIndexPageQuery({id: `book_${bookId}`});
22+
const bookIndexPageQuery = useGetBookIndexPageQuery({id: `book_${bookId}`});
2323
const bookDetailPageQuery = useGetBookDetailPageQuery(pageId ? { id: pageId } : skipToken);
2424

25+
const { data: book } = bookIndexPageQuery;
26+
2527
const history = useHistory();
2628

2729
const pageContext = useContextFromContentObjectTags(book);
@@ -46,10 +48,10 @@ export const Book = ({match: {params: {bookId}}}: BookProps) => {
4648
icon={{type: "hex", icon: "icon-book"}}
4749
/>
4850
<SidebarLayout>
49-
<ShowLoading
50-
until={book ? {definedBookIndexPage: book} : undefined}
51-
ifNotFound={<Alert color="warning">Book contents could not be loaded, please try refreshing the page.</Alert>}
52-
thenRender={({definedBookIndexPage}) => {
51+
<ShowLoadingQuery
52+
query={bookIndexPageQuery}
53+
defaultErrorTitle="Unable to load book contents."
54+
thenRender={(definedBookIndexPage) => {
5355
return <>
5456
<BookSidebar book={definedBookIndexPage} urlBookId={bookId} pageId={pageId} />
5557
<MainContent className="mt-4">
@@ -59,12 +61,15 @@ export const Book = ({match: {params: {bookId}}}: BookProps) => {
5961
defaultErrorTitle="Unable to load book page."
6062
thenRender={(bookDetailPage) => <BookPage page={bookDetailPage} />}
6163
/>
62-
: <div>
63-
<div className="book-image-container mx-3 float-end">
64-
<img src={definedBookIndexPage.coverImage?.src} alt={definedBookIndexPage.title} />
64+
: <>
65+
<TeacherNotes notes={definedBookIndexPage.teacherNotes} />
66+
<div>
67+
<div className="book-image-container mx-3 float-end">
68+
<img src={definedBookIndexPage.coverImage?.src} alt={definedBookIndexPage.title} />
69+
</div>
70+
<Markup className="d-contents" trusted-markup-encoding={"markdown"}>{definedBookIndexPage.value}</Markup>
6571
</div>
66-
<Markup className="d-contents" trusted-markup-encoding={"markdown"}>{definedBookIndexPage.value}</Markup>
67-
</div>
72+
</>
6873
}
6974
</MainContent>
7075
</>;

src/app/components/elements/BookPage.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ import React from "react";
22
import { IsaacContentValueOrChildren } from "../content/IsaacContentValueOrChildren";
33
import { ListView } from "./list-groups/ListView";
44
import { IsaacBookDetailPageDTO } from "../../../IsaacApiTypes";
5+
import { TeacherNotes } from "./TeacherNotes";
56

67
export const BookPage = ({ page }: { page: IsaacBookDetailPageDTO }) => {
78

89
return <div className="book-page">
910
<>
11+
<TeacherNotes notes={page.teacherNotes} />
12+
1013
<h3 className="mb-3">{page.title}</h3>
1114

1215
{!!page.gameboards?.length && <>

0 commit comments

Comments
 (0)