Skip to content

Commit 4b08262

Browse files
committed
Allow Maintainer role to manage questions too
1 parent a3763a6 commit 4b08262

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

frontend/src/auth/AdminAuthGuard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ interface AuthGuardProps {
88

99
export default function AdminAuthGuard({ children }: AuthGuardProps) {
1010
const { user } = useAuth();
11-
if (user?.role !== "admin") {
12-
return <Navigate to="/home" />;
11+
if (user?.role !== "admin" && user?.role !== "maintainer") {
12+
return <Navigate to="/login" />;
1313
}
1414
return <>{children}</>;
1515
}

frontend/src/auth/MaintainerGuard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ interface AuthGuardProps {
88

99
export default function MaintainerGuard({ children }: AuthGuardProps) {
1010
const { user } = useAuth();
11-
if (!(user?.role == 'maintainer')) {
11+
if (user?.role !== 'maintainer') {
1212
return <Navigate to="/login" />;
1313
}
1414
return <>{children}</>;

frontend/src/components/Navbar.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export default function Navbar() {
6969
{ name: "Dashboard", onclick: handleCloseUserMenu },
7070
{ name: "Logout", onclick: logout },
7171
];
72-
if (user?.role == 'maintainer') {
72+
if (user?.role === 'maintainer') {
7373
settings = settings.concat({name: "Create Admin", onclick: () => navigate("/createadmin", { replace: true })})
7474
}
7575

@@ -130,7 +130,8 @@ export default function Navbar() {
130130
<Typography textAlign="center">{page.name}</Typography>
131131
</MenuItem>
132132
))}
133-
{user?.role === "admin" && adminPages.map((page) => (
133+
{(user?.role === "admin" || user?.role === "maintainer")
134+
&& adminPages.map((page) => (
134135
<MenuItem key={page.name} onClick={() => navigate(page.link)}>
135136
<Typography textAlign="center">{page.name}</Typography>
136137
</MenuItem>
@@ -171,7 +172,8 @@ export default function Navbar() {
171172
{page.name}
172173
</Button>
173174
))}
174-
{user?.role === "admin" && adminPages.map((page) => (
175+
{(user?.role === "admin" || user?.role === "maintainer")
176+
&& adminPages.map((page) => (
175177
<Button
176178
key={page.name}
177179
href={page.link}

0 commit comments

Comments
 (0)