diff --git a/api/config/config.example.json b/api/config/config.example.json index b0f786da7..3e65ddb1b 100644 --- a/api/config/config.example.json +++ b/api/config/config.example.json @@ -35,5 +35,8 @@ "membershipPayment": { "API_KEY": "GO_AWAY_LOL" }, - "secretKey": "super duper secret key" + "secretKey": "super duper secret key", + "SCEvents": { + "ENABLED": false + } } \ No newline at end of file diff --git a/src/Components/Navbar/UserNavbar.js b/src/Components/Navbar/UserNavbar.js index 301860e9d..af0b5330c 100644 --- a/src/Components/Navbar/UserNavbar.js +++ b/src/Components/Navbar/UserNavbar.js @@ -1,6 +1,7 @@ import React, { useState, useEffect, useRef } from 'react'; import { membershipState } from '../../Enums'; import { useSCE } from '../context/SceContext'; +import config from '../../config/config.json'; export default function UserNavbar(props) { const { user, authenticated } = useSCE(); @@ -14,6 +15,7 @@ export default function UserNavbar(props) { { title: 'About', route: '/about' }, { title: 'Projects', route: '/projects' }, { title: 'Summer Internship', route: '/s/internship', newTab: true }, + ...(config.SCEvents?.ENABLED ? [{ title: 'SCEvents', route: '/events' }] : []), ]; const authedRoutes = [ diff --git a/src/Pages/Events/Events.js b/src/Pages/Events/Events.js new file mode 100644 index 000000000..0da2fb2ff --- /dev/null +++ b/src/Pages/Events/Events.js @@ -0,0 +1,8 @@ + +import config from '../../config/config.json'; +import NotFoundPage from '../NotFoundPage/NotFoundPage.js'; +import { Redirect } from 'react-router-dom'; + +export default function EventsPage() { + return config.SCEvents.ENABLED ?

Events Page

: ; +} diff --git a/src/Routes.js b/src/Routes.js index 406a4afe2..ee643e3ea 100644 --- a/src/Routes.js +++ b/src/Routes.js @@ -19,6 +19,7 @@ import Home from './Pages/Home/Home.js'; import CardReader from './Pages/CardReader/CardReader.js'; import AuditLogsPage from './Pages/AuditLog/AuditLog.js'; import PermissionRequestPage from './Pages/PermissionRequest/PermissionRequest.js'; +import EventsPage from './Pages/Events/Events.js'; // Declare an enum for permission check export const allowedIf = { @@ -197,6 +198,11 @@ export const signedOutRoutes = [ path: '/projects', pageName: 'Projects' }, + { + Component: EventsPage, + path: '/events', + pageName: 'Events' + }, { Component: EmailPreferencesPage, path: '/emailPreferences', diff --git a/src/config/config.example.json b/src/config/config.example.json index 78eecdc0b..031ea1559 100644 --- a/src/config/config.example.json +++ b/src/config/config.example.json @@ -1,5 +1,8 @@ { "sitekey": "super secret key", "TINYMCE_API_KEY": "XXXXXXXXXXXXXXXXXXXXX", - "GOOGLE_API_CLIENT_ID": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com" + "GOOGLE_API_CLIENT_ID": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com", + "SCEvents": { + "ENABLED": false + } }