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) )}