Updated the root structure of Client side

This commit is contained in:
veyselboybay committed 2024-05-06 12:29:36 -04:00
1 parent d4d684d7c8
commit a76cf36c82
24 files changed
+237 -49

No files matched your search

+14 -34
View File
@@ -1,43 +1,23 @@
import * as React from 'react';
import { useState } from 'react'
import { Routes, Route } from 'react-router-dom'
import './App.css'
import '@fontsource/roboto/300.css';
import '@fontsource/roboto/400.css';
import '@fontsource/roboto/500.css';
import '@fontsource/roboto/700.css';
import DropDown from './Dropdown';
import NotFound from './Pages/NotFound'
import Login from './Pages/Login'
import Register from './Pages/Register'
import HomeLayout from './Layouts/HomeLayout'
function App() {
const [selectedTeamMember, setSelectedTeamMember] = useState(null);
const teamMembers = [
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Jane Smith' },
{ id: 3, name: 'Alex Johnson' },
// more team members...
];
const handleTeamMemberChange = (event, value) => {
setSelectedTeamMember(value);
};
const handleSubmit = () => {
alert(`Selected Team Member: ${selectedTeamMember ? selectedTeamMember.name : 'None'}`);
};
return (
<>
<div className="app-container" style={{ width: '500px' }}>
<DropDown
id="team-member-autocomplete"
options={teamMembers}
label="Select team member"
value={selectedTeamMember}
onChange={handleTeamMemberChange}
/>
</div>
<Routes>
<Route exact path='/' element={<HomeLayout />} />
<Route exact path='/register' element={<Register />} />
<Route exact path='/login' element={<Login />} />
<Route path='*' element={<NotFound />} />
</Routes>
</>
);
)
}
export default App
+1
View File
@@ -0,0 +1 @@
/* dropdown styles*/
+28
View File
@@ -0,0 +1,28 @@
import PropTypes from 'prop-types';
import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
const Dropdown = ({ id, label, options, onChange, value }) => {
return (
<Autocomplete
id={id}
options={options}
getOptionLabel={(option) => option.name}
value={value}
onChange={onChange}
renderInput={(params) => <TextField {...params} label={label} />}
/>
);
};
// Define PropTypes for DropDown component
Dropdown.propTypes = {
id: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
options: PropTypes.array.isRequired,
onChange: PropTypes.func.isRequired,
value: PropTypes.object.isRequired,
};
export default Dropdown;
@@ -0,0 +1 @@
/*Dropdown Team Member styles*/
@@ -0,0 +1,46 @@
import * as React from 'react';
import { useState } from 'react'
import '@fontsource/roboto/300.css';
import '@fontsource/roboto/400.css';
import '@fontsource/roboto/500.css';
import '@fontsource/roboto/700.css';
// import DropDown from './Dropdown';
import DropDown from '../Dropdown'
const DropdownTeamMember = () => {
const [selectedTeamMember, setSelectedTeamMember] = useState(null);
const teamMembers = [
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Jane Smith' },
{ id: 3, name: 'Alex Johnson' },
// more team members...
];
const handleTeamMemberChange = (event, value) => {
setSelectedTeamMember(value);
};
const handleSubmit = () => {
alert(`Selected Team Member: ${selectedTeamMember ? selectedTeamMember.name : 'None'}`);
};
return (
<>
<div className="app-container" style={{ width: '500px' }}>
<DropDown
id="team-member-autocomplete"
options={teamMembers}
label="Select team member"
value={selectedTeamMember}
onChange={handleTeamMemberChange}
/>
</div>
</>
);
}
export default DropdownTeamMember
+1
View File
@@ -0,0 +1 @@
/* NavBar Component Styles*/
+10
View File
@@ -0,0 +1,10 @@
import React from 'react'
import './index.css'
const NavBar = () => {
return (
<div>NavBar Component</div>
)
}
export default NavBar
+1
View File
@@ -0,0 +1 @@
/*Homelayout styles*/
+17
View File
@@ -0,0 +1,17 @@
import React from 'react'
import NavBar from '../../Components/NavBar'
import { Outlet } from 'react-router'
import Home from '../../Pages/Home'
import './index.css'
const HomeLayout = () => {
return (
<>
<NavBar />
<Home />
<Outlet />
</>
)
}
export default HomeLayout
+1
View File
@@ -0,0 +1 @@
/* Home Page Styles*/
+15
View File
@@ -0,0 +1,15 @@
import React from 'react'
import DropdownTeamMember from '../../Components/DropdownTeamMember'
import './index.css'
const Home = () => {
return (
<>
<div>Home</div>
<DropdownTeamMember />
</>
)
}
export default Home
+1
View File
@@ -0,0 +1 @@
/*Login styles*/
+10
View File
@@ -0,0 +1,10 @@
import React from 'react'
import './index.css'
const Login = () => {
return (
<div>Login</div>
)
}
export default Login
+1
View File
@@ -0,0 +1 @@
/*Notfoundpage styles*/
+10
View File
@@ -0,0 +1,10 @@
import React from 'react'
import './index.css'
const NotFound = () => {
return (
<div>NotFoundPage</div>
)
}
export default NotFound
+1
View File
@@ -0,0 +1 @@
#Pages Folder
+1
View File
@@ -0,0 +1 @@
/*REgister styles*/
+9
View File
@@ -0,0 +1,9 @@
import React from 'react'
const Register = () => {
return (
<div>Register</div>
)
}
export default Register
+1
View File
@@ -0,0 +1 @@
#Utils folder
+6 -1
View File
@@ -18,6 +18,7 @@ a {
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
@@ -46,9 +47,11 @@ button {
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
@@ -59,10 +62,12 @@ button:focus-visible {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}
}
+4 -1
View File
@@ -2,9 +2,12 @@ import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'
import { BrowserRouter as Router, HashRouter } from 'react-router-dom'
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
<Router>
<App />
</Router>
</React.StrictMode>,
)