Skip to content

Commit 9b7618b

Browse files
fix(app-degree-pages): show major map link if application-requirements are null
1 parent 5cfff9b commit 9b7618b

File tree

3 files changed

+64
-38
lines changed

3 files changed

+64
-38
lines changed

packages/app-degree-pages/src/components/DetailPage/components/ApplicationRequirements/index.jsx

Lines changed: 62 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -112,55 +112,78 @@ function ApplicationRequirements({
112112
isMinorOrCertificate,
113113
additionalRequirements,
114114
minorRequirements,
115+
majorMapURL,
115116
}) {
116-
let reqsLabel;
117-
if (graduateRequirements || isMinorOrCertificate) {
118-
reqsLabel = !isMinorOrCertificate
119-
? "Degree requirements"
120-
: "Program requirements";
121-
} else {
122-
reqsLabel = !isMinorOrCertificate
123-
? "Admission requirements"
124-
: "Program requirements";
117+
if (!graduateRequirements && !isMinorOrCertificate) {
118+
// if the program is not a graduate program AND not a minor/certificate
119+
// we only show the undergraduate template
120+
return (
121+
<section
122+
id={progDetailSectionIds.applicationRequirements.targetIdName}
123+
data-testid="application-requirements"
124+
>
125+
<h2>
126+
<span className="highlight-gold">Admission requirements</span>
127+
</h2>
128+
{undergraduateTemplate({
129+
transferRequirements,
130+
additionalRequirements,
131+
})}
132+
</section>
133+
);
125134
}
135+
136+
const reqsLabel = !isMinorOrCertificate
137+
? "Degree requirements"
138+
: "Program requirements";
139+
140+
const requirements = graduateRequirements || minorRequirements;
141+
126142
return (
127143
<>
128144
<section
129145
id={progDetailSectionIds.applicationRequirements.targetIdName}
130146
data-testid="application-requirements"
131147
>
132-
<h2>
133-
<span className="highlight-gold">{reqsLabel}</span>
134-
</h2>
135-
{graduateRequirements || isMinorOrCertificate ? (
136-
<div
137-
dangerouslySetInnerHTML={sanitizeDangerousMarkup(
138-
graduateRequirements || minorRequirements
139-
)}
140-
/>
141-
) : (
142-
undergraduateTemplate({
143-
transferRequirements,
144-
additionalRequirements,
145-
})
148+
{requirements && (
149+
// Has requirements From API
150+
<>
151+
<h2>
152+
<span className="highlight-gold">{reqsLabel}</span>
153+
</h2>
154+
<div
155+
dangerouslySetInnerHTML={sanitizeDangerousMarkup(requirements)}
156+
/>
157+
</>
158+
)}
159+
{!requirements && (
160+
// No Requirements From API, show link to major map
161+
<>
162+
<h3>{reqsLabel}</h3>
163+
<ul>
164+
<li>
165+
<a href={majorMapURL} rel="noreferrer" target="_blank">
166+
View Curriculum
167+
</a>
168+
</li>
169+
</ul>
170+
</>
146171
)}
147172
</section>
148173

149-
{graduateRequirements || isMinorOrCertificate ? (
150-
<section
151-
id={progDetailSectionIds.degreeRequirements.targetIdName}
152-
data-testid="degree-requirements"
153-
>
154-
<h2>
155-
<span className="highlight-gold">Admission requirements</span>
156-
</h2>
157-
<div
158-
dangerouslySetInnerHTML={sanitizeDangerousMarkup(
159-
additionalRequirements
160-
)}
161-
/>
162-
</section>
163-
) : null}
174+
<section
175+
id={progDetailSectionIds.degreeRequirements.targetIdName}
176+
data-testid="degree-requirements"
177+
>
178+
<h2>
179+
<span className="highlight-gold">Admission requirements</span>
180+
</h2>
181+
<div
182+
dangerouslySetInnerHTML={sanitizeDangerousMarkup(
183+
additionalRequirements
184+
)}
185+
/>
186+
</section>
164187
</>
165188
);
166189
}
@@ -171,6 +194,7 @@ ApplicationRequirements.propTypes = {
171194
isMinorOrCertificate: PropTypes.bool,
172195
additionalRequirements: PropTypes.string,
173196
minorRequirements: PropTypes.string,
197+
majorMapURL: PropTypes.string,
174198
};
175199

176200
export { ApplicationRequirements };

packages/app-degree-pages/src/components/DetailPage/index.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ const DetailPage = ({
258258
minorRequirements={resolver.getMinorCourseRequirements()}
259259
additionalRequirements={resolver.getAdmissionsRequirementsText()}
260260
transferRequirements={resolver.getTransferAdmission()}
261+
majorMapURL={resolver.getGeneralDegreeMajorMap()}
261262
/>
262263
)}
263264

packages/app-degree-pages/src/core/types/detail-page-types.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
* @property {string} additionalRequirements
118118
* @property {string} transferRequirements
119119
* @property {string} minorRequirements
120+
* @property {string} majorMapURL
120121
*/
121122

122123
/**

0 commit comments

Comments
 (0)