From 404f0928e54d87a0fe853a7e7e161601e5009bff Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Wed, 8 Mar 2023 12:01:23 -0800 Subject: [PATCH 01/10] navbar update --- client/package.json | 3 +- client/src/App.js | 2 +- client/src/components/Navbar.js | 256 +++++++++++------- client/src/components/auth/Auth.js | 2 +- .../manageProjects/selectProject.js | 2 +- client/src/svg/hflalogo.png | Bin 0 -> 38421 bytes client/src/svg/hflalogo.svg | 9 + client/src/theme.js | 6 + client/yarn.lock | 88 ++++-- 9 files changed, 231 insertions(+), 137 deletions(-) create mode 100644 client/src/svg/hflalogo.png create mode 100644 client/src/svg/hflalogo.svg diff --git a/client/package.json b/client/package.json index 04ca233d3..21193f1a2 100644 --- a/client/package.json +++ b/client/package.json @@ -7,7 +7,8 @@ "@babel/plugin-transform-react-jsx-self": "^7.10.4", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", - "@mui/material": "^5.11.11", + "@mui/lab": "^5.0.0-alpha.122", + "@mui/material": "^5.11.12", "classnames": "^2.2.6", "cross-env": "^7.0.2", "cross-var": "^1.1.0", diff --git a/client/src/App.js b/client/src/App.js index f6c65cb25..04c154501 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -45,7 +45,7 @@ const routes = [ { path: '/useradmin', name: 'useradmin', Component: UserAdmin }, { path: '/projects', name: 'projects', Component: ManageProjects }, { - path: '/project/:projectId', + path: '/projects/:projectId', name: 'project', Component: ManageProjects, }, diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index e90a49a6b..e0aafc93e 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -1,116 +1,166 @@ -import React, {useState} from "react"; -import { Link, withRouter } from "react-router-dom"; - +import React, { useState } from 'react'; +import { NavLink, withRouter } from 'react-router-dom'; import useAuth from '../hooks/useAuth'; -import {authLevelRedirect} from '../utils/authUtils' +import { authLevelRedirect } from '../utils/authUtils'; +import HflaImg from '../svg/hflalogo.svg'; +import { Box, Button, Grid } from '@mui/material'; -import "../sass/Navbar.scss"; -//hooks -//function -> class -const Navbar = (props) => { +import { styled } from '@mui/system'; +import { select } from 'd3'; +// import '../sass/Navbar.scss'; - // check user accessLevel and adjust link accordingly - const [page, setPage] = useState('home'); - const { auth } = useAuth(); - let loginRedirect = '/admin'; - if (auth?.user) { - loginRedirect = authLevelRedirect(auth.user); - } - const notAuth = () => ( - <> - {page === 'home' ? -

CHECK-IN

- : -
- setPage('home')} > -

- CHECK-IN -

- -
} - {page === 'adminLogin' ? -

ADMIN

- : -
- setPage('adminLogin')}> -

- ADMIN -

- -
- } - - ) - const isAuth = () => ( - <> - {page === 'useradmin' ? -

USER MANAGEMENT

- : -
- setPage('usermanagement')}> -

ADMIN

- -
} - {page === 'projects' ? -

PROJECTS

- : -
- setPage('projects')}> -

PROJECTS

- -
} - - ) - const isUser = () => ( - <> - {page === 'home' ? -

PROJECTS

- : -
- setPage('home')}> -

PROJECTS

- -
} - - ) +const Navbar = (props) => { + // check user accessLevel and adjust link accordingly + // const [page, setPage] = useState('home') + const { auth } = useAuth(); + let loginRedirect = '/admin'; + if (auth?.user) { + loginRedirect = authLevelRedirect(auth.user); + } + const [selected, setSelected] = useState(1); - return ( -
- -
- ); + // {/* {props.location.pathname === '/' || + // props.location.pathname === '/success' ? ( + //
+ // Hack for LA Logo + //
+ // ) : ( + //
+ // Hack for LA Logo + //
+ // )} */} + // {/* */} + // + ); }; export default withRouter(Navbar); diff --git a/client/src/components/auth/Auth.js b/client/src/components/auth/Auth.js index 8a153ecb7..33550f0bc 100644 --- a/client/src/components/auth/Auth.js +++ b/client/src/components/auth/Auth.js @@ -5,7 +5,7 @@ import { checkUser, checkAuth } from '../../services/user.service'; import { authLevelRedirect } from '../../utils/authUtils'; import useAuth from '../../hooks/useAuth'; -import '../../sass/AdminLogin.scss'; +// import '../../sass/AdminLogin.scss'; /** At the moment only users with the 'admin' accessLevel can login * and see the dashboard diff --git a/client/src/components/manageProjects/selectProject.js b/client/src/components/manageProjects/selectProject.js index 90f8fa9cf..29b40dc27 100644 --- a/client/src/components/manageProjects/selectProject.js +++ b/client/src/components/manageProjects/selectProject.js @@ -21,7 +21,7 @@ const SelectProject = ({ projects, accessLevel, user }) => { .map((p) => ( // eslint-disable-next-line no-underscore-dangle
  • - + {p.name ? p.name : '[unnamed project]'}
  • diff --git a/client/src/svg/hflalogo.png b/client/src/svg/hflalogo.png new file mode 100644 index 0000000000000000000000000000000000000000..ade459ad85387d9bca6755c59744b1b1412387b7 GIT binary patch literal 38421 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 + + + + + + + + diff --git a/client/src/theme.js b/client/src/theme.js index cbce83a26..cf1046c95 100644 --- a/client/src/theme.js +++ b/client/src/theme.js @@ -3,6 +3,7 @@ import { createTheme, responsiveFontSizes } from '@mui/material'; let theme = createTheme({ palette: { primary: { + // main: '#00008B', main: '#00008B', }, secondary: { @@ -26,6 +27,7 @@ let theme = createTheme({ textTransform: 'none', padding: '0.5rem 2rem', }, + }, variants: [ { @@ -37,6 +39,10 @@ let theme = createTheme({ ], }, }, + tab: { + minWidth: 50, // a number of your choice + width: 50, // a number of your choice +} }); theme = responsiveFontSizes(theme); diff --git a/client/yarn.lock b/client/yarn.lock index 039c5d32d..66a9846c7 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1584,22 +1584,50 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/core-downloads-tracker@^5.11.11": - version "5.11.11" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.11.tgz#eb5b3f0900ad96a72a37f85fca11545d47a7bc10" - integrity sha512-0YK0K9GfW1ysw9z4ztWAjLW+bktf+nExMyn2+EQe1Ijb0kF2kz1kIOmb4+di0/PsXG70uCuw4DhEIdNd+JQkRA== +"@mui/base@5.0.0-alpha.120": + version "5.0.0-alpha.120" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.120.tgz#d576f62af476af51a6ced948cf51a688a9ed10e8" + integrity sha512-UoIXLjbl8ghK7OSD1dYzHIj79sx9v5S2J7vYeuhxUS0QR0FwGZ3WLHd31TQ2CT2faPX/AXsHQeFn93wKSnjPUQ== + dependencies: + "@babel/runtime" "^7.21.0" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.12" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" -"@mui/material@^5.11.11": - version "5.11.11" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.11.11.tgz#9896e6f6e53057622345ebd078bc66a4100a364a" - integrity sha512-sSe0dmKjB1IGOYt32Pcha+cXV3IIrX5L5mFAF9LDRssp/x53bluhgLLbkc8eTiJvueVvo6HAyze6EkFEYLQRXQ== +"@mui/core-downloads-tracker@^5.11.12": + version "5.11.12" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.12.tgz#b2ea89ba71321a79c89dfb6b2a1b1886dc7de6e4" + integrity sha512-LHh8HZQ5nPVcW5QnyLwkAZ40txc/S2bzKMQ3bTO+5mjuwAJ2AzQrjZINLVy1geY7ei1pHXVqO1hcWHg/QdT44w== + +"@mui/lab@^5.0.0-alpha.122": + version "5.0.0-alpha.122" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.122.tgz#271d4edb45613c598b6a9ab2fbe356454805f90f" + integrity sha512-rJyu9llUWAluUQgDEmN0WrpcFxeTdJgu+XYriJtp/MchdvKl/qVTlx+vhnIhqas2bySj5N1VQnkI6qOvfXiYvQ== + dependencies: + "@babel/runtime" "^7.21.0" + "@mui/base" "5.0.0-alpha.120" + "@mui/system" "^5.11.12" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.12" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/material@^5.11.12": + version "5.11.12" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.11.12.tgz#b113c854fb1bb0aa473686a36a92322c6c754121" + integrity sha512-M6BiIeJjySeEzWeiFJQ9pIjJy6mx5mHPWeMT99wjQdAmA2GxCQhE9A0fh6jQP4jMmYzxhOIhjsGcp0vSdpseXg== dependencies: "@babel/runtime" "^7.21.0" "@mui/base" "5.0.0-alpha.119" - "@mui/core-downloads-tracker" "^5.11.11" - "@mui/system" "^5.11.11" + "@mui/core-downloads-tracker" "^5.11.12" + "@mui/system" "^5.11.12" "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.11" + "@mui/utils" "^5.11.12" "@types/react-transition-group" "^4.4.5" clsx "^1.2.1" csstype "^3.1.1" @@ -1607,13 +1635,13 @@ react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.11.11": - version "5.11.11" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.11.11.tgz#f766a794a2f16fb27b510b11062b6e3a6c1464d1" - integrity sha512-yLgTkjNC1mpye2SOUkc+zQQczUpg8NvQAETvxwXTMzNgJK1pv4htL7IvBM5vmCKG7IHAB3hX26W2u6i7bxwF3A== +"@mui/private-theming@^5.11.12": + version "5.11.12" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.11.12.tgz#07c60abac0547b89cc6ac68821c2366e8fab5389" + integrity sha512-hnJ0svNI1TPeWZ18E6DvES8PB4NyMLwal6EyXf69rTrYqT6wZPLjB+HiCYfSOCqU/fwArhupSqIIkQpDs8CkAw== dependencies: "@babel/runtime" "^7.21.0" - "@mui/utils" "^5.11.11" + "@mui/utils" "^5.11.12" prop-types "^15.8.1" "@mui/styled-engine@^5.11.11": @@ -1626,16 +1654,16 @@ csstype "^3.1.1" prop-types "^15.8.1" -"@mui/system@^5.11.11": - version "5.11.11" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.11.11.tgz#6727b19245ad25e260cb8144104831315a8f7095" - integrity sha512-a9gaOAJBjpzypDfhbGZQ8HzdcxdxsKkFvbp1aAWZhFHBPdehEkARNh7mj851VfEhD/GdffYt85PFKFKdUta5Eg== +"@mui/system@^5.11.12": + version "5.11.12" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.11.12.tgz#e7234c4e73e9af2b8e985fbed048d8b274338561" + integrity sha512-sYjsXkiwKpZDC3aS6O/6KTjji0jGINLQcrD5EJ5NTkIDiLf19I4HJhnufgKqlTWNfoDBlRohuTf3TzfM06c4ug== dependencies: "@babel/runtime" "^7.21.0" - "@mui/private-theming" "^5.11.11" + "@mui/private-theming" "^5.11.12" "@mui/styled-engine" "^5.11.11" "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.11" + "@mui/utils" "^5.11.12" clsx "^1.2.1" csstype "^3.1.1" prop-types "^15.8.1" @@ -1645,10 +1673,10 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.3.tgz#06faae1c0e2f3a31c86af6f28b3a4a42143670b9" integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== -"@mui/utils@^5.11.11": - version "5.11.11" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.11.11.tgz#c5dddc80c02dc76bd95f492550a5a616548e5557" - integrity sha512-neMM5rrEXYQrOrlxUfns/TGgX4viS8K2zb9pbQh11/oUUYFlGI32Tn+PHePQx7n6Fy/0zq6WxdBFC9VpnJ5JrQ== +"@mui/utils@^5.11.11", "@mui/utils@^5.11.12": + version "5.11.12" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.11.12.tgz#627f491c0e7267398590af5e6cb14b306170d914" + integrity sha512-5vH9B/v8pzkpEPO2HvGM54ToXV6cFdAn8UrvdN8TMEEwpn/ycW0jLiyBcgUlPsQ+xha7hqXCPQYHaYFDIcwaiw== dependencies: "@babel/runtime" "^7.21.0" "@types/prop-types" "^15.7.5" @@ -3776,10 +3804,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001456" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001456.tgz" - integrity sha512-XFHJY5dUgmpMV25UqaD4kVq2LsiaU5rS8fb0f17pCoXQiQslzmFgnfOxfvo1bTpTqf7dwG/N/05CnLCnOEKmzA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001449: + version "1.0.30001460" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz#31d2e26f0a2309860ed3eff154e03890d9d851a7" + integrity sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ== capture-exit@^2.0.0: version "2.0.0" From 7727ff85d4d22278a8aa7144261a64b161194ffe Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Wed, 8 Mar 2023 14:42:14 -0800 Subject: [PATCH 02/10] update navbar --- client/src/components/Navbar.js | 91 ++++++--------------------------- 1 file changed, 16 insertions(+), 75 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index e0aafc93e..beff88b2c 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -4,14 +4,11 @@ import useAuth from '../hooks/useAuth'; import { authLevelRedirect } from '../utils/authUtils'; import HflaImg from '../svg/hflalogo.svg'; import { Box, Button, Grid } from '@mui/material'; - import { styled } from '@mui/system'; -import { select } from 'd3'; // import '../sass/Navbar.scss'; const Navbar = (props) => { // check user accessLevel and adjust link accordingly - // const [page, setPage] = useState('home') const { auth } = useAuth(); let loginRedirect = '/admin'; if (auth?.user) { @@ -20,6 +17,7 @@ const Navbar = (props) => { const [selected, setSelected] = useState(1); + // Styles that may need to be included in the theme. const StyledButton = styled(Button)({ color: 'black', marginLeft: '2rem', @@ -28,26 +26,25 @@ const Navbar = (props) => { fontSize: '1rem', }); + // Displays a line below the page link the user is on. const active = { - button: { '&.active': { borderBottom: '2px #fa114f solid', }, - }, }; return ( <> - { - + { + {/* No auth page -> Displays 'Checkin' and 'Admin'. */} {!auth?.user && ( <> setSelected(1)} > CHECK IN @@ -55,79 +52,40 @@ const Navbar = (props) => { setSelected(2)} > ADMIN )} + {/* Admin auth -> Displays 'Users' and 'Projects'. */} {auth?.user?.accessLevel === 'admin' && ( <> - {selected === 1 ? ( - - ADMIN - - ) : ( - setSelected(1)} > - ADMIN + USERS - )} - {/* Seperate the buttons */} - {selected === 2 ? ( - - PROJECTS - - ) : ( - setSelected(2)} - > - PROJECTS - - )} - - {/* ................ */} - - {/* setSelected(1)} - > - ADMIN - */} - {/* setSelected(2)} > PROJECTS - */} - - {/* ................ */} + )} + {/* User auth -> Displays 'Projects' only. */} {auth?.user?.accessLevel === 'user' && ( <> setSelected(2)} > @@ -143,24 +101,7 @@ const Navbar = (props) => { } - - // {/* {props.location.pathname === '/' || - // props.location.pathname === '/success' ? ( - //
    - // Hack for LA Logo - //
    - // ) : ( - //
    - // Hack for LA Logo - //
    - // )} */} - // {/* */} - // ); }; -export default withRouter(Navbar); +export default withRouter(Navbar); \ No newline at end of file From 7b2f721dc7c66ff07d8d3c6167e6097e17f9cd06 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Thu, 9 Mar 2023 10:28:26 -0800 Subject: [PATCH 03/10] update navbar v2 --- client/src/components/Navbar.js | 73 +++++++++------------------------ client/src/theme.js | 4 -- 2 files changed, 19 insertions(+), 58 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index beff88b2c..415820f0b 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -1,21 +1,13 @@ -import React, { useState } from 'react'; +import React from 'react'; import { NavLink, withRouter } from 'react-router-dom'; import useAuth from '../hooks/useAuth'; -import { authLevelRedirect } from '../utils/authUtils'; import HflaImg from '../svg/hflalogo.svg'; import { Box, Button, Grid } from '@mui/material'; import { styled } from '@mui/system'; -// import '../sass/Navbar.scss'; const Navbar = (props) => { // check user accessLevel and adjust link accordingly const { auth } = useAuth(); - let loginRedirect = '/admin'; - if (auth?.user) { - loginRedirect = authLevelRedirect(auth.user); - } - - const [selected, setSelected] = useState(1); // Styles that may need to be included in the theme. const StyledButton = styled(Button)({ @@ -24,71 +16,44 @@ const Navbar = (props) => { padding: '0.1rem 0.5rem', borderRadius: 0, fontSize: '1rem', - }); - // Displays a line below the page link the user is on. - const active = { - '&.active': { - borderBottom: '2px #fa114f solid', - }, - }; + '&.active': { + borderBottom: '2px #fa114f solid', + }, + }); return ( <> - { + { + - {/* No auth page -> Displays 'Checkin' and 'Admin'. */} + {/* No auth page -> Displays 2 links -> 'Checkin' and 'Admin'. */} {!auth?.user && ( <> - setSelected(1)} - > + CHECK IN - setSelected(2)} - > + ADMIN )} - {/* Admin auth -> Displays 'Users' and 'Projects'. */} + {/* Admin auth -> Displays 2 links -> 'Users' and 'Projects'. */} {auth?.user?.accessLevel === 'admin' && ( <> - setSelected(1)} - > - USERS - - setSelected(2)} - > - PROJECTS - + + USERS + + + PROJECTS + )} - {/* User auth -> Displays 'Projects' only. */} + {/* User auth -> Displays 1 link -> 'Projects' only. */} {auth?.user?.accessLevel === 'user' && ( <> - setSelected(2)} - > + PROJECTS diff --git a/client/src/theme.js b/client/src/theme.js index cf1046c95..485759365 100644 --- a/client/src/theme.js +++ b/client/src/theme.js @@ -39,10 +39,6 @@ let theme = createTheme({ ], }, }, - tab: { - minWidth: 50, // a number of your choice - width: 50, // a number of your choice -} }); theme = responsiveFontSizes(theme); From 07f6e0254fd3f3542eb1e44fc3e18e090efbd7a9 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Thu, 9 Mar 2023 10:43:20 -0800 Subject: [PATCH 04/10] remove comment on scss file in auth.js --- client/src/components/auth/Auth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/auth/Auth.js b/client/src/components/auth/Auth.js index 33550f0bc..8a153ecb7 100644 --- a/client/src/components/auth/Auth.js +++ b/client/src/components/auth/Auth.js @@ -5,7 +5,7 @@ import { checkUser, checkAuth } from '../../services/user.service'; import { authLevelRedirect } from '../../utils/authUtils'; import useAuth from '../../hooks/useAuth'; -// import '../../sass/AdminLogin.scss'; +import '../../sass/AdminLogin.scss'; /** At the moment only users with the 'admin' accessLevel can login * and see the dashboard From 67eee75a55ac454b1e6d8535a5f13d517c1f1189 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Thu, 9 Mar 2023 16:52:04 -0800 Subject: [PATCH 05/10] remove @mui/lab --- client/package.json | 1 - client/yarn.lock | 28 ---------------------------- 2 files changed, 29 deletions(-) diff --git a/client/package.json b/client/package.json index 21193f1a2..389158259 100644 --- a/client/package.json +++ b/client/package.json @@ -7,7 +7,6 @@ "@babel/plugin-transform-react-jsx-self": "^7.10.4", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", - "@mui/lab": "^5.0.0-alpha.122", "@mui/material": "^5.11.12", "classnames": "^2.2.6", "cross-env": "^7.0.2", diff --git a/client/yarn.lock b/client/yarn.lock index 8db7d01e6..40f159fce 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1584,39 +1584,11 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/base@5.0.0-alpha.120": - version "5.0.0-alpha.120" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.120.tgz#d576f62af476af51a6ced948cf51a688a9ed10e8" - integrity sha512-UoIXLjbl8ghK7OSD1dYzHIj79sx9v5S2J7vYeuhxUS0QR0FwGZ3WLHd31TQ2CT2faPX/AXsHQeFn93wKSnjPUQ== - dependencies: - "@babel/runtime" "^7.21.0" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.12" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - "@mui/core-downloads-tracker@^5.11.12": version "5.11.12" resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.12.tgz#b2ea89ba71321a79c89dfb6b2a1b1886dc7de6e4" integrity sha512-LHh8HZQ5nPVcW5QnyLwkAZ40txc/S2bzKMQ3bTO+5mjuwAJ2AzQrjZINLVy1geY7ei1pHXVqO1hcWHg/QdT44w== -"@mui/lab@^5.0.0-alpha.122": - version "5.0.0-alpha.122" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.122.tgz#271d4edb45613c598b6a9ab2fbe356454805f90f" - integrity sha512-rJyu9llUWAluUQgDEmN0WrpcFxeTdJgu+XYriJtp/MchdvKl/qVTlx+vhnIhqas2bySj5N1VQnkI6qOvfXiYvQ== - dependencies: - "@babel/runtime" "^7.21.0" - "@mui/base" "5.0.0-alpha.120" - "@mui/system" "^5.11.12" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.12" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - "@mui/material@^5.11.12": version "5.11.12" resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.11.12.tgz#b113c854fb1bb0aa473686a36a92322c6c754121" From 68d7bdf621fb670522e56a834a1f2911968448d0 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Sat, 11 Mar 2023 13:18:18 -0800 Subject: [PATCH 06/10] make figma changes --- client/src/components/Navbar.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index 415820f0b..aba6a4f33 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -13,12 +13,14 @@ const Navbar = (props) => { const StyledButton = styled(Button)({ color: 'black', marginLeft: '2rem', - padding: '0.1rem 0.5rem', + padding: '0.01rem 0rem', borderRadius: 0, fontSize: '1rem', - + fontFamily: 'Source Code Pro', + fontWeight: '500', '&.active': { borderBottom: '2px #fa114f solid', + fontWeight: '700', }, }); From c64044b454d2f017ef4190c1569d37c3e6c8e3d8 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Sun, 12 Mar 2023 13:22:35 -0700 Subject: [PATCH 07/10] import source code pro --- client/src/components/Navbar.js | 4 ++-- client/src/index.scss | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index aba6a4f33..57b2ec07e 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -17,10 +17,10 @@ const Navbar = (props) => { borderRadius: 0, fontSize: '1rem', fontFamily: 'Source Code Pro', - fontWeight: '500', + fontWeight: '600', '&.active': { borderBottom: '2px #fa114f solid', - fontWeight: '700', + fontWeight: '800', }, }); diff --git a/client/src/index.scss b/client/src/index.scss index 175510ddb..049a80887 100644 --- a/client/src/index.scss +++ b/client/src/index.scss @@ -53,6 +53,7 @@ body { font-style: normal; } +@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;500;600;700;800;900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700;900&display=swap'); code { From 3365b2ab0f95bf80b317c717bd1160530f32bdf3 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Sun, 12 Mar 2023 14:37:21 -0700 Subject: [PATCH 08/10] update styling --- client/src/components/Navbar.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index 57b2ec07e..f7dd75e9c 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -4,32 +4,37 @@ import useAuth from '../hooks/useAuth'; import HflaImg from '../svg/hflalogo.svg'; import { Box, Button, Grid } from '@mui/material'; import { styled } from '@mui/system'; +import theme from '../theme'; const Navbar = (props) => { // check user accessLevel and adjust link accordingly const { auth } = useAuth(); - + // Styles that may need to be included in the theme. const StyledButton = styled(Button)({ - color: 'black', + color: '#757575', marginLeft: '2rem', - padding: '0.01rem 0rem', + marginRight: '1.5rem', + padding: '0.00rem 0rem', borderRadius: 0, fontSize: '1rem', fontFamily: 'Source Code Pro', - fontWeight: '600', '&.active': { - borderBottom: '2px #fa114f solid', + color: '#000000', + borderBottom: `2px ${theme.palette.primary.main} solid`, fontWeight: '800', }, + '&:hover': { + backgroundColor: 'transparent', + }, }); return ( <> { - - - + + + {/* No auth page -> Displays 2 links -> 'Checkin' and 'Admin'. */} {!auth?.user && ( <> From e1b97ee56e6f4601fe360f0251e8248669cfe6cb Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Mon, 13 Mar 2023 11:39:44 -0700 Subject: [PATCH 09/10] resolve changes --- client/src/components/Navbar.js | 7 +------ client/src/theme.js | 2 -- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index f7dd75e9c..d9782416a 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -10,12 +10,11 @@ const Navbar = (props) => { // check user accessLevel and adjust link accordingly const { auth } = useAuth(); - // Styles that may need to be included in the theme. const StyledButton = styled(Button)({ color: '#757575', marginLeft: '2rem', marginRight: '1.5rem', - padding: '0.00rem 0rem', + padding: '0rem 0rem', borderRadius: 0, fontSize: '1rem', fontFamily: 'Source Code Pro', @@ -30,8 +29,6 @@ const Navbar = (props) => { }); return ( - <> - { @@ -71,8 +68,6 @@ const Navbar = (props) => { - } - ); }; diff --git a/client/src/theme.js b/client/src/theme.js index 485759365..cbce83a26 100644 --- a/client/src/theme.js +++ b/client/src/theme.js @@ -3,7 +3,6 @@ import { createTheme, responsiveFontSizes } from '@mui/material'; let theme = createTheme({ palette: { primary: { - // main: '#00008B', main: '#00008B', }, secondary: { @@ -27,7 +26,6 @@ let theme = createTheme({ textTransform: 'none', padding: '0.5rem 2rem', }, - }, variants: [ { From 63ba06269f292fe217ba40b42aaea6a2fe23aa58 Mon Sep 17 00:00:00 2001 From: Phillip Sanchez Date: Mon, 13 Mar 2023 13:14:42 -0700 Subject: [PATCH 10/10] update mobile --- client/src/components/Navbar.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/client/src/components/Navbar.js b/client/src/components/Navbar.js index d9782416a..d4bcd2559 100644 --- a/client/src/components/Navbar.js +++ b/client/src/components/Navbar.js @@ -12,8 +12,6 @@ const Navbar = (props) => { const StyledButton = styled(Button)({ color: '#757575', - marginLeft: '2rem', - marginRight: '1.5rem', padding: '0rem 0rem', borderRadius: 0, fontSize: '1rem', @@ -29,9 +27,9 @@ const Navbar = (props) => { }); return ( - - - + + + {/* No auth page -> Displays 2 links -> 'Checkin' and 'Admin'. */} {!auth?.user && ( <>