diff --git a/components/common/ToggleTabs/ToggleTabs.jsx b/components/common/ToggleTabs/ToggleTabs.jsx new file mode 100644 index 0000000..a8a497e --- /dev/null +++ b/components/common/ToggleTabs/ToggleTabs.jsx @@ -0,0 +1,58 @@ +import React from 'react'; +import styled from '@emotion/styled'; +import { Divider, Stack } from '@mui/material'; + +const TabShell = styled('div')` + display: flex; + align-items: center; + flex-direction: row; + flex-flow: row wrap; + justify-content: flex-end; + border: 1px solid black; + border-radius: 6px; + overflow: hidden; +`; + +const Tab = styled(Stack)` + display: flex; + align-items: center; + padding: 2px 4px; + cursor: pointer; + transition: background-color 0.3s ease, color 0.3s ease; +`; + +export const ToggleTabs = ({ + tabs, + tabValue, + setTabValue, + tabColor +}) => { + return ( + + {tabs?.map((tab, index) => { + return ( + + { + setTabValue(tab) + }} + style={{ + backgroundColor: tabValue?.value === tab?.value ? tabColor : 'transparent', + color: tabValue?.value === tab?.value ? 'white' : 'black' + }} + > + {tab?.label} + + {index < tabs?.length - 1 && ( + + )} + + ) + })} + + ); +}; diff --git a/components/common/ToggleTabs/index.js b/components/common/ToggleTabs/index.js new file mode 100644 index 0000000..e36e79e --- /dev/null +++ b/components/common/ToggleTabs/index.js @@ -0,0 +1 @@ +export { ToggleTabs } from './ToggleTabs'; \ No newline at end of file diff --git a/components/common/index.js b/components/common/index.js new file mode 100644 index 0000000..e36e79e --- /dev/null +++ b/components/common/index.js @@ -0,0 +1 @@ +export { ToggleTabs } from './ToggleTabs'; \ No newline at end of file diff --git a/components/core/Shell/NavBar/NavBar.jsx b/components/core/Shell/NavBar/NavBar.jsx index 156b1f9..65a0a72 100644 --- a/components/core/Shell/NavBar/NavBar.jsx +++ b/components/core/Shell/NavBar/NavBar.jsx @@ -35,9 +35,7 @@ const NavGroup = styled(Stack)` `; const Title = styled('p')` - &:hover { - cursor: pointer; - } + cursor: pointer; `; const Tab = styled('div')` @@ -63,14 +61,10 @@ const SlidingIndicator = styled('div')` position: absolute; bottom: -6px; height: 2px; - background-color: red; + background-color: #4D79FF; transition: left 0.3s ease, width 0.3s ease; `; -const UserButton = styled(Stack)` - width: 100%; -`; - const Border = styled('div')` height: 2px; width: 100%; diff --git a/components/index.js b/components/index.js index a9b98bc..b2eab85 100644 --- a/components/index.js +++ b/components/index.js @@ -1,2 +1,3 @@ +export * from './common'; export * from './core'; export * from './stores'; \ No newline at end of file diff --git a/src/pages/Schedule/Schedule.jsx b/src/pages/Schedule/Schedule.jsx index b04ae51..110955b 100644 --- a/src/pages/Schedule/Schedule.jsx +++ b/src/pages/Schedule/Schedule.jsx @@ -2,15 +2,14 @@ import React, { useEffect } from 'react'; import { Link } from 'react-router-dom'; export const Schedule = () => { - useEffect(() => { document.title = 'ShiftSync | Schedule'; }, []); return (
-

Schedule Page

- Go to Home +

Schedule Page

+ Go to Home
); }; diff --git a/src/pages/Settings/Settings.jsx b/src/pages/Settings/Settings.jsx index 7d1133c..4ab966f 100644 --- a/src/pages/Settings/Settings.jsx +++ b/src/pages/Settings/Settings.jsx @@ -1,7 +1,30 @@ -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; +import styled from '@emotion/styled'; import { Link } from 'react-router-dom'; +import { Stack } from '@mui/material'; +import { ToggleTabs } from '@components'; + +const OuterContainer = styled(Stack)` + display: flex; + align-items: center; + flex-direction: row; + justify-content: flex-end; + padding: 10px 10px 0px 0px; +`; export const Settings = () => { + const tabs = [ + { + label: 'Personal', + value: 'personal' + }, + { + label: 'Organization', + value: 'org' + } + ]; + + const [tabValue, setTabValue] = useState(tabs[0]); useEffect(() => { document.title = 'ShiftSync | Settings'; @@ -9,6 +32,14 @@ export const Settings = () => { return (
+ + +

Settings Page

Go to Home
diff --git a/src/router/AppRouter.jsx b/src/router/AppRouter.jsx index a2affab..5da4487 100644 --- a/src/router/AppRouter.jsx +++ b/src/router/AppRouter.jsx @@ -9,12 +9,15 @@ const AppRouter = () => { useEffect(() => { setUser({ - firstName: 'Matt', - lastName: 'DiMeglio', - email: 'mdimeglio@shift-sync.com', + firstName: 'ShiftSync', + lastName: 'Test-User', + email: 'testuser@shift-sync.com', + scheduler: false, + manager: true, isAdmin: false }) }, []); + return (