From 9b7618b4d7e35ea931771de48af5402aba71db5a Mon Sep 17 00:00:00 2001
From: Scott Williams <5209283+scott-williams-az@users.noreply.github.com>
Date: Thu, 17 Apr 2025 14:18:03 -0700
Subject: [PATCH 1/2] fix(app-degree-pages): show major map link if
application-requirements are null
---
.../ApplicationRequirements/index.jsx | 100 +++++++++++-------
.../src/components/DetailPage/index.jsx | 1 +
.../src/core/types/detail-page-types.js | 1 +
3 files changed, 64 insertions(+), 38 deletions(-)
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..370a4c5438 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
@@ -112,55 +112,78 @@ 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 ? (
-
- ) : (
- undergraduateTemplate({
- transferRequirements,
- additionalRequirements,
- })
+ {requirements && (
+ // Has requirements From API
+ <>
+
+ {reqsLabel}
+
+
+ >
+ )}
+ {!requirements && (
+ // No Requirements From API, show link to major map
+ <>
+ {reqsLabel}
+
+ >
)}
- {graduateRequirements || isMinorOrCertificate ? (
-
-
- Admission requirements
-
-
-
- ) : null}
+
+
+ Admission requirements
+
+
+
>
);
}
@@ -171,6 +194,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
*/
/**
From 6954dc51f0eb2866deb5590d9f9c524795105a52 Mon Sep 17 00:00:00 2001
From: Scott Williams <5209283+scott-williams-az@users.noreply.github.com>
Date: Mon, 21 Apr 2025 15:16:57 -0700
Subject: [PATCH 2/2] fix(app-degree-pages): update view majormap to use same
style as undergraduateTemplate
---
.../ApplicationRequirements/index.jsx | 55 +++++++++++--------
1 file changed, 32 insertions(+), 23 deletions(-)
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 370a4c5438..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}
@@ -145,29 +168,15 @@ function ApplicationRequirements({
id={progDetailSectionIds.applicationRequirements.targetIdName}
data-testid="application-requirements"
>
- {requirements && (
- // Has requirements From API
- <>
-
- {reqsLabel}
-
-
- >
- )}
- {!requirements && (
- // No Requirements From API, show link to major map
- <>
- {reqsLabel}
-
- >
+
+ {reqsLabel}
+
+ {requirements ? (
+
+ ) : (
+ viewCurriculum(majorMapURL)
)}