Skip to content

Commit 4ab38b3

Browse files
authored
Merge branch 'master' into refactor/add-optimiser-unit-tests
2 parents f223664 + 2959785 commit 4ab38b3

File tree

2 files changed

+58
-25
lines changed

2 files changed

+58
-25
lines changed

website/src/views/errors/ErrorPage.scss

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,16 @@
3939
.buttons {
4040
display: flex;
4141
flex-direction: column;
42+
flex-wrap: wrap;
4243
margin-bottom: 2rem;
43-
44-
:global(.btn) {
45-
margin-bottom: 0.8rem;
46-
}
44+
gap: 0.8rem 1rem;
4745

4846
@include media-breakpoint-up(sm) {
4947
flex-direction: row;
5048
justify-content: center;
5149

5250
:global(.btn) {
53-
margin-right: 1em;
54-
margin-bottom: 0;
55-
}
56-
57-
:global(.btn):last-child {
58-
margin-right: 0;
51+
min-width: 12rem;
5952
}
6053
}
6154
}

website/src/views/mpe/MpeContainer.tsx

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@ const MpeContainer: React.FC = () => {
3232
const sameTime = hasCPEx && ugCPEx.startDate.getTime() === gdCPEx.startDate.getTime();
3333
const { enableCPEx } = config;
3434

35+
// Check if Undergraduate CPEx has ended
36+
const isUgCPExEnded = (): boolean => {
37+
const now = new Date();
38+
return !!(ugCPEx && ugCPEx.endDate && now > ugCPEx.endDate);
39+
};
40+
41+
// Check if Graduate CPEx has ended
42+
const isGdCPExEnded = (): boolean => {
43+
const now = new Date();
44+
return !!(gdCPEx && gdCPEx.endDate && now > gdCPEx.endDate);
45+
};
46+
3547
const onLogin = useCallback(() => {
3648
setIsGettingSSOLink(true);
3749
return getSSOLink()
@@ -61,6 +73,48 @@ const MpeContainer: React.FC = () => {
6173
throw err;
6274
});
6375

76+
const renderCPExStatus = () => {
77+
if (!hasCPEx) return null;
78+
79+
const ugEnded = isUgCPExEnded();
80+
const gdEnded = isGdCPExEnded();
81+
82+
if (sameTime) {
83+
if (ugEnded) {
84+
return (
85+
<p>
86+
<strong>
87+
CPEx has ended for AY{MPE_AY} Semester {MPE_SEMESTER}.
88+
</strong>
89+
</p>
90+
);
91+
}
92+
return (
93+
<p>
94+
<strong>CPEx will open on:</strong> {ugCPEx.start}
95+
</p>
96+
);
97+
}
98+
return (
99+
<div>
100+
<p>
101+
<strong>
102+
{ugEnded
103+
? `Undergraduate CPEx has ended for AY${MPE_AY} Semester ${MPE_SEMESTER}.`
104+
: `Undergraduate CPEx will open on: ${ugCPEx.start}`}
105+
</strong>
106+
</p>
107+
<p>
108+
<strong>
109+
{gdEnded
110+
? `Graduate CPEx has ended for AY${MPE_AY} Semester ${MPE_SEMESTER}.`
111+
: `Graduate CPEx will open on: ${gdCPEx.start}`}
112+
</strong>
113+
</p>
114+
</div>
115+
);
116+
};
117+
64118
return (
65119
<div className={styles.pageContainer}>
66120
<header className={styles.header}>
@@ -129,21 +183,7 @@ const MpeContainer: React.FC = () => {
129183
) : (
130184
<>
131185
<hr />
132-
{hasCPEx &&
133-
(sameTime ? (
134-
<p>
135-
<strong>CPEx will open on:</strong> {ugCPEx.start}
136-
</p>
137-
) : (
138-
<div>
139-
<p>
140-
<strong>Undergraduate CPEx will open on:</strong> {ugCPEx.start}
141-
</p>
142-
<p>
143-
<strong>Graduate CPEx will open on:</strong> {gdCPEx.start}
144-
</p>
145-
</div>
146-
))}
186+
{renderCPExStatus()}
147187
</>
148188
)}
149189
</div>

0 commit comments

Comments
 (0)