@@ -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
176200export { ApplicationRequirements } ;
0 commit comments