diff --git a/packages/app-degree-pages/src/components/DetailPage/components/ApplicationRequirements/index.jsx b/packages/app-degree-pages/src/components/DetailPage/components/ApplicationRequirements/index.jsx
index 8a3ebe9fa7..9c7785d9d2 100644
--- a/packages/app-degree-pages/src/components/DetailPage/components/ApplicationRequirements/index.jsx
+++ b/packages/app-degree-pages/src/components/DetailPage/components/ApplicationRequirements/index.jsx
@@ -102,6 +102,29 @@ const undergraduateTemplate = ({
);
};
+const viewCurriculum = majorMapURL => {
+ const label = "View Curriculum";
+ return (
+ <>
+
+ View curriculum below for a detailed list of courses and other
+ requirements.
+
+
+
+
+
+
+ >
+ );
+};
+
/**
* @param {ApplicationRequirementsProps} props
* @returns {JSX.Element}
@@ -112,17 +135,33 @@ function ApplicationRequirements({
isMinorOrCertificate,
additionalRequirements,
minorRequirements,
+ majorMapURL,
}) {
- let reqsLabel;
- if (graduateRequirements || isMinorOrCertificate) {
- reqsLabel = !isMinorOrCertificate
- ? "Degree requirements"
- : "Program requirements";
- } else {
- reqsLabel = !isMinorOrCertificate
- ? "Admission requirements"
- : "Program requirements";
+ if (!graduateRequirements && !isMinorOrCertificate) {
+ // if the program is not a graduate program AND not a minor/certificate
+ // we only show the undergraduate template
+ return (
+
+
+ Admission requirements
+
+ {undergraduateTemplate({
+ transferRequirements,
+ additionalRequirements,
+ })}
+
+ );
}
+
+ const reqsLabel = !isMinorOrCertificate
+ ? "Degree requirements"
+ : "Program requirements";
+
+ const requirements = graduateRequirements || minorRequirements;
+
return (
<>
{reqsLabel}
- {graduateRequirements || isMinorOrCertificate ? (
+ {requirements ? (
) : (
- undergraduateTemplate({
- transferRequirements,
- additionalRequirements,
- })
+ viewCurriculum(majorMapURL)
)}
- {graduateRequirements || isMinorOrCertificate ? (
-
-
- Admission requirements
-
-
-
- ) : null}
+
+
+ Admission requirements
+
+
+
>
);
}
@@ -171,6 +203,7 @@ ApplicationRequirements.propTypes = {
isMinorOrCertificate: PropTypes.bool,
additionalRequirements: PropTypes.string,
minorRequirements: PropTypes.string,
+ majorMapURL: PropTypes.string,
};
export { ApplicationRequirements };
diff --git a/packages/app-degree-pages/src/components/DetailPage/index.jsx b/packages/app-degree-pages/src/components/DetailPage/index.jsx
index d31aa8b06e..882a1e2bac 100644
--- a/packages/app-degree-pages/src/components/DetailPage/index.jsx
+++ b/packages/app-degree-pages/src/components/DetailPage/index.jsx
@@ -258,6 +258,7 @@ const DetailPage = ({
minorRequirements={resolver.getMinorCourseRequirements()}
additionalRequirements={resolver.getAdmissionsRequirementsText()}
transferRequirements={resolver.getTransferAdmission()}
+ majorMapURL={resolver.getGeneralDegreeMajorMap()}
/>
)}
diff --git a/packages/app-degree-pages/src/core/types/detail-page-types.js b/packages/app-degree-pages/src/core/types/detail-page-types.js
index 7361c120e2..375571d36c 100644
--- a/packages/app-degree-pages/src/core/types/detail-page-types.js
+++ b/packages/app-degree-pages/src/core/types/detail-page-types.js
@@ -117,6 +117,7 @@
* @property {string} additionalRequirements
* @property {string} transferRequirements
* @property {string} minorRequirements
+ * @property {string} majorMapURL
*/
/**