Skip to content

Commit b0086c1

Browse files
authored
SCE Context Provider (#1849)
* consolidated useUser and useAuth into useSCE * frontend test changes
1 parent 97f296c commit b0086c1

File tree

26 files changed

+69
-99
lines changed

26 files changed

+69
-99
lines changed

src/Components/Navbar/AdminNavbar.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import React from 'react';
2-
import { useUser } from '../context/UserContext';
3-
import { useAuth } from '../context/AuthContext';
2+
import { useSCE } from '../context/SceContext';
43

54
export default function UserNavBar(props) {
6-
const { user } = useUser();
7-
const { setAuthenticated } = useAuth();
5+
const { user, setAuthenticated } = useSCE();
86
const getLinkClassName = (path) => {
97
const weAreAtGivenPath = path === window.location.pathname;
108
let className = 'flex items-center p-2 text-gray-900 rounded-lg dark:text-white';

src/Components/Navbar/NavBarWrapper.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import React from 'react';
22
import UserNavbar from './UserNavbar';
33
import AdminNavbar from './AdminNavbar';
4-
import { useUser } from '../context/UserContext';
5-
import { useAuth } from '../context/AuthContext';
4+
import { useSCE } from '../context/SceContext';
65

76
function NavBarWrapper({
87
enableAdminNavbar = false,
98
component: Component,
109
...appProps
1110
}) {
12-
const { user, setUser } = useUser();
13-
const { setAuthenticated } = useAuth();
11+
const { user, setUser, setAuthenticated } = useSCE();
1412

1513
function handleLogout() {
1614
setAuthenticated(false);

src/Components/Navbar/UserNavbar.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import React, { useState, useEffect, useRef } from 'react';
22
import { membershipState } from '../../Enums';
3-
import { useUser } from '../context/UserContext';
4-
import { useAuth } from '../context/AuthContext';
3+
import { useSCE } from '../context/SceContext';
54

65
export default function UserNavbar(props) {
7-
const { user } = useUser();
8-
const { authenticated } = useAuth();
6+
const { user, authenticated } = useSCE();
97
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
108
const dropdownRef = useRef(null);
119
let initials = '';

src/Components/Routing/PrivateRoute.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ import React from 'react';
22
import { Route, Redirect } from 'react-router-dom';
33
import { membershipState } from '../../Enums';
44
import { allowedIf } from '../../Routes';
5-
import { useUser } from '../../Components/context/UserContext';
6-
import { useAuth } from '../../Components/context/AuthContext';
5+
import { useSCE } from '../context/SceContext';
76

87
export default function PrivateRoute({
98
component: Component,
109
appProps,
1110
...params
1211
}) {
13-
const { user } = useUser();
14-
const { authenticated } = useAuth();
12+
const { user, authenticated } = useSCE();
1513

1614
// Check if the user's access level matches with route's access grant
1715
const PERMISSION_LOOKUP_TABLE = {

src/Components/ShortcutKeyModal/SearchModal.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react'
22
import './SearchModal.css';
33
import { officerOrAdminRoutes, signedOutRoutes, memberRoutes, notAuthenticatedRoutes } from '../../Routes';
44
import { membershipState } from '../../Enums';
5-
import { useUser } from '../context/UserContext';
6-
import { useAuth } from '../context/AuthContext';
5+
import { useSCE } from '../context/SceContext';
76
import { searchUsersAndCleezyUrls } from '../../APIFunctions/ShortcutSearch';
87

98
export default function SearchModal() {
@@ -14,9 +13,8 @@ export default function SearchModal() {
1413
const [keyword, setKeyword] = useState('');
1514
const [suggestions, setSuggestions] = useState([...filteredSignedOutRoutes]);
1615
const [selectItem, setSelectItem] = useState(0);
17-
const { user } = useUser();
16+
const { user, authenticated } = useSCE();
1817
const [errorMsg, setErrorMsg] = useState('');
19-
const { authenticated } = useAuth();
2018
// Maximum number of suggestions to display in the search dropdown
2119
const SHORTCUT_MAX_RESULT = 5;
2220
const DEBOUNCE_TIME = 400;

src/Components/context/AuthContext.js

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import React, { createContext, useContext } from 'react';
2+
3+
export const SceContext = createContext({
4+
user: {},
5+
setUser: () => {},
6+
authenticated: false,
7+
setAuthenticated: () => {},
8+
});
9+
10+
export function useSCE() {
11+
return useContext(SceContext);
12+
}

src/Components/context/UserContext.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/Pages/2DPrinting/2DPrinting.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import { healthCheck } from '../../APIFunctions/2DPrinting';
1212
import ConfirmationModal from
1313
'../../Components/DecisionModal/ConfirmationModal.js';
1414

15-
import { useUser } from '../../Components/context/UserContext';
15+
import { useSCE } from '../../Components/context/SceContext.js';
1616

1717
export default function Printing() {
18-
const { user, setUser } = useUser();
18+
const { user, setUser } = useSCE();
1919
const [dragActive, setDragActive] = useState(false);
2020
const [confirmModal, setConfirmModal] = useState(false);
2121
const [numberOfPagesInPdfPreview, setNumberOfPagesInPdfPreview] = useState(0);

src/Pages/Advertisement/AdvertisementAdmin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import React from 'react';
22
import { createAd, getAds, deleteAd } from '../../APIFunctions/Advertisement.js';
33
import { useState, useEffect } from 'react';
4-
import { useUser } from '../../Components/context/UserContext';
4+
import { useSCE } from '../../Components/context/SceContext.js';
55

66
export default function AdvertisementAdmin() {
7-
const { user } = useUser();
7+
const { user } = useSCE();
88

99
const [ads, setAds] = useState([]);
1010
const [message, setMessage] = useState('');

0 commit comments

Comments
 (0)