diff --git a/client/src/App.jsx b/client/src/App.jsx
index d41a9b1..466f6cf 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -1,5 +1,4 @@
-import React, { useState } from 'react';
-
+import React from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Header from './components/Header';
@@ -15,6 +14,7 @@ import JoinedOrgs from './components/JoinedOrgs';
import OrgDashboard from './components/OrgDashboard';
import OwnedGroups from './components/OwnedGroups';
+import GroupDashboard from './componenets/GroupDashboard';
import NotFound from './components/NotFound';
@@ -41,7 +41,7 @@ function App() {
} />
-
+ } />
} />
diff --git a/client/src/components/Dashboard.jsx b/client/src/components/Dashboard.jsx
index f860603..9744ca0 100644
--- a/client/src/components/Dashboard.jsx
+++ b/client/src/components/Dashboard.jsx
@@ -1,11 +1,14 @@
import React from 'react';
import { Outlet } from 'react-router-dom';
+
import { Paper, Box, IconButton } from '@mui/material';
-import { DataGrid } from '@mui/x-data-grid';
import { useTheme } from '@mui/material/styles';
+import { DataGrid } from '@mui/x-data-grid';
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
function Dashboard({ children, rows }) {
+ const theme = useTheme();
+
const columns = [
{ field: 'id', headerName: 'ID', flex: 1 },
{ field: 'firstName', headerName: 'First Name', flex: 3 },
@@ -31,7 +34,6 @@ function Dashboard({ children, rows }) {
{ field: 'pronouns', headerName: 'Pronouns', flex: 2 },
{ field: 'email', headerName: 'Email', flex: 10, sortable: false },
];
- const theme = useTheme();
return (
diff --git a/client/src/components/EditUser.jsx b/client/src/components/EditUser.jsx
index 28e6556..8b71b3c 100644
--- a/client/src/components/EditUser.jsx
+++ b/client/src/components/EditUser.jsx
@@ -1,12 +1,16 @@
import React, { useState, useEffect } from 'react';
import { Link, useNavigate } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
+
import { Box, Typography, TextField, Button } from '@mui/material';
import Form from './Form';
function EditUser() {
+ const navigate = useNavigate();
+
const [form, setForm] = useState({
firstName: '',
lastName: '',
@@ -16,7 +20,6 @@ function EditUser() {
ethnicity: '',
});
const [error, setError] = useState('');
- const navigate = useNavigate();
const linkStyle = { textDecoration: 'none', color: 'inherit' };
diff --git a/client/src/components/Form.jsx b/client/src/components/Form.jsx
index 803fcc0..f6cb2cb 100644
--- a/client/src/components/Form.jsx
+++ b/client/src/components/Form.jsx
@@ -1,5 +1,6 @@
import React from 'react';
import { Outlet } from 'react-router-dom';
+
import { Box, Grid, Paper } from '@mui/material';
import { useTheme } from '@mui/material/styles';
diff --git a/client/src/components/GroupDashboard.jsx b/client/src/components/GroupDashboard.jsx
index 7208106..9669aa3 100644
--- a/client/src/components/GroupDashboard.jsx
+++ b/client/src/components/GroupDashboard.jsx
@@ -1,14 +1,17 @@
import React, { useState, useEffect } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
+
import { Typography, Grid, Stack, Box } from '@mui/material';
import Dashboard from './Dashboard';
-function OrgDashboard() {
+function GroupDashboard() {
const navigate = useNavigate();
const { groupID } = useParams();
+
const [group, setGroup] = useState({
groupID: '',
groupName: '',
@@ -82,4 +85,4 @@ function OrgDashboard() {
);
}
-export default OrgDashboard;
+export default GroupDashboard;
diff --git a/client/src/components/GroupUnit.jsx b/client/src/components/GroupUnit.jsx
deleted file mode 100644
index 8981341..0000000
--- a/client/src/components/GroupUnit.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import { Link } from 'react-router-dom';
-import { Box, Stack, Typography } from '@mui/material';
-
-function OrgUnit({ group }) {
- const { groupID, groupName, memberCount, groupCreatedAt } = group;
-
- return (
-
- Name: {groupName}
-
-
-
- Members: {memberCount}
-
-
- Created On: {groupCreatedAt}
-
-
-
-
- );
-}
-
-export default OrgUnit;
diff --git a/client/src/components/Header.jsx b/client/src/components/Header.jsx
index 02a93f1..1d130a6 100644
--- a/client/src/components/Header.jsx
+++ b/client/src/components/Header.jsx
@@ -1,7 +1,9 @@
import React, { useEffect, useState } from 'react';
import { Link, Outlet, useNavigate } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
+
import {
AppBar,
Button,
@@ -24,6 +26,10 @@ function Header() {
},
});
+ useEffect(() => {
+ setToken(() => Cookies.get('token'));
+ }, [navigate]);
+
async function handleLogout() {
await axios.post(`${process.env.DOMAIN_ROOT}/auth/logout`, {
token: Cookies.get('token'),
@@ -32,10 +38,6 @@ function Header() {
Cookies.remove('userID');
}
- useEffect(() => {
- setToken(() => Cookies.get('token'));
- }, [navigate]);
-
return (
diff --git a/client/src/components/JoinedOrgs.jsx b/client/src/components/JoinedOrgs.jsx
index dd52203..26b8fc4 100644
--- a/client/src/components/JoinedOrgs.jsx
+++ b/client/src/components/JoinedOrgs.jsx
@@ -1,15 +1,37 @@
import React, { useEffect, useState } from 'react';
+import { Link } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
-import { Paper, Typography, Box } from '@mui/material';
+
+import { Paper, Typography, Box, Stack } from '@mui/material';
import { useTheme } from '@mui/material/styles';
-import OrgUnit from './OrgUnit';
+function OrgUnit({ org }) {
+ const { orgID, orgName, memberCount, orgCreatedAt } = org;
+
+ return (
+
+ Name: {orgName}
+
+
+
+ Members: {memberCount}
+
+
+ Created On: {orgCreatedAt}
+
+
+
+
+ );
+}
function JoinedOrgs() {
- const [orgs, setOrgs] = useState([]);
const theme = useTheme();
+ const [orgs, setOrgs] = useState([]);
+
useEffect(() => {
async function getOrgs() {
axios
diff --git a/client/src/components/Login.jsx b/client/src/components/Login.jsx
index 7264353..ace7799 100644
--- a/client/src/components/Login.jsx
+++ b/client/src/components/Login.jsx
@@ -1,7 +1,9 @@
import React, { useState, useEffect } from 'react';
import { Link, useNavigate } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
+
import {
Box,
Typography,
@@ -14,13 +16,14 @@ import {
import Form from './Form';
function Login() {
+ const navigate = useNavigate();
+
const [form, setForm] = useState({
email: '',
password: '',
remember: false,
});
const [error, setError] = useState('');
- const navigate = useNavigate();
useEffect(() => {
if (Cookies.get('token')) {
diff --git a/client/src/components/NotFound.jsx b/client/src/components/NotFound.jsx
index f089e87..026703c 100644
--- a/client/src/components/NotFound.jsx
+++ b/client/src/components/NotFound.jsx
@@ -1,4 +1,5 @@
import React from 'react';
+
import { Box } from '@mui/material';
function NotFound() {
diff --git a/client/src/components/OrgDashboard.jsx b/client/src/components/OrgDashboard.jsx
index fbb2a67..7cbd9cf 100644
--- a/client/src/components/OrgDashboard.jsx
+++ b/client/src/components/OrgDashboard.jsx
@@ -1,7 +1,9 @@
import React, { useState, useEffect } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
+
import {
Typography,
Grid,
@@ -14,6 +16,9 @@ import {
import Dashboard from './Dashboard';
function OrgDashboard() {
+ const { orgID } = useParams();
+ const navigate = useNavigate();
+
const [org, setOrg] = useState({
orgID: '',
orgName: '',
@@ -26,8 +31,6 @@ function OrgDashboard() {
createdAt: '',
});
const [rows, setRows] = useState([]);
- const { orgID } = useParams();
- const navigate = useNavigate();
useEffect(() => {
async function getData() {
diff --git a/client/src/components/OrgUnit.jsx b/client/src/components/OrgUnit.jsx
deleted file mode 100644
index 352a348..0000000
--- a/client/src/components/OrgUnit.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import { Link } from 'react-router-dom';
-import { Box, Stack, Typography } from '@mui/material';
-
-function OrgUnit({ org }) {
- const { orgID, orgName, memberCount, orgCreatedAt } = org;
-
- return (
-
- Name: {orgName}
-
-
-
- Members: {memberCount}
-
-
- Created On: {orgCreatedAt}
-
-
-
-
- );
-}
-
-export default OrgUnit;
diff --git a/client/src/components/OwnedGroups.jsx b/client/src/components/OwnedGroups.jsx
index 4c386a3..b11ce81 100644
--- a/client/src/components/OwnedGroups.jsx
+++ b/client/src/components/OwnedGroups.jsx
@@ -1,10 +1,31 @@
import React, { useEffect, useState } from 'react';
+import { Link } from 'react-router-dom';
+
import axios from 'axios';
import Cookies from 'js-cookie';
-import { Paper, Typography, Box } from '@mui/material';
+
+import { Paper, Typography, Box, Stack } from '@mui/material';
import { useTheme } from '@mui/material/styles';
-import GroupUnit from './GroupUnit';
+function GroupUnit({ group }) {
+ const { groupID, groupName, memberCount, groupCreatedAt } = group;
+
+ return (
+
+ Name: {groupName}
+
+
+
+ Members: {memberCount}
+
+
+ Created On: {groupCreatedAt}
+
+
+
+
+ );
+}
function JoinedOrgs() {
const [groups, setGroups] = useState([]);
diff --git a/client/src/components/Recover.jsx b/client/src/components/Recover.jsx
index 1b50e34..32b2a7b 100644
--- a/client/src/components/Recover.jsx
+++ b/client/src/components/Recover.jsx
@@ -1,5 +1,6 @@
import React, { useState } from 'react';
import axios from 'axios';
+
import { Box, Typography, TextField, Button } from '@mui/material';
function Recover() {
diff --git a/client/src/components/Register.jsx b/client/src/components/Register.jsx
index 84a3f90..b07c192 100644
--- a/client/src/components/Register.jsx
+++ b/client/src/components/Register.jsx
@@ -1,11 +1,15 @@
import React, { useState } from 'react';
import { Link, useNavigate } from 'react-router-dom';
+
import axios from 'axios';
+
import { Box, Typography, TextField, Button } from '@mui/material';
import Form from './Form';
function Register() {
+ const navigate = useNavigate();
+
const [form, setForm] = useState({
firstName: '',
lastName: '',
@@ -17,7 +21,6 @@ function Register() {
confirmPassword: '',
});
const [error, setError] = useState('');
- const navigate = useNavigate();
function handleChange(e) {
const name = e.target.name;
diff --git a/client/src/components/Reset.jsx b/client/src/components/Reset.jsx
index f5de533..7bb610d 100644
--- a/client/src/components/Reset.jsx
+++ b/client/src/components/Reset.jsx
@@ -1,16 +1,19 @@
import React, { useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
+
import axios from 'axios';
+
import { Box, Typography, TextField, Button } from '@mui/material';
function Reset() {
+ const navigate = useNavigate();
+ const { id } = useParams();
+
const [form, setForm] = useState({
password: '',
confirmPassword: '',
});
const [error, setError] = useState('');
- const navigate = useNavigate();
- const { id } = useParams();
function handleChange(e) {
const name = e.target.name;