286 lines
7.9 KiB
JavaScript
286 lines
7.9 KiB
JavaScript
import React from 'react';
|
|
import { Box, Typography } from "@mui/material";
|
|
import Card from "@mui/material/Card";
|
|
import Grid from "@mui/material/Grid";
|
|
import Button from "@mui/material/Button";
|
|
import TextField from "@mui/material/TextField";
|
|
import AddIcon from "@mui/icons-material/Add";
|
|
import InputLabel from '@mui/material/InputLabel';
|
|
import MenuItem from '@mui/material/MenuItem';
|
|
import FormControl from '@mui/material/FormControl';
|
|
import Select from '@mui/material/Select';
|
|
import CategoriesSelect from '@/components/Projects/ProjectCreate/CategoriesSelect';
|
|
import Link from 'next/link';
|
|
import styles from '@/styles/PageTitle.module.css';
|
|
|
|
import dynamic from 'next/dynamic'
|
|
import MemberSelect from '@/components/Projects/ProjectCreate/MemberSelect';
|
|
const RichTextEditor = dynamic(() => import('@mantine/rte'), {
|
|
ssr: false,
|
|
})
|
|
|
|
const ProjectCreate = () => {
|
|
const handleSubmit = (event) => {
|
|
event.preventDefault();
|
|
const data = new FormData(event.currentTarget);
|
|
console.log({
|
|
email: data.get("email"),
|
|
password: data.get("password"),
|
|
});
|
|
};
|
|
|
|
// Select Priority
|
|
const [priority, setPriority] = React.useState('');
|
|
const handleChange = (event) => {
|
|
setPriority(event.target.value);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
{/* Page title */}
|
|
<div className={styles.pageTitle}>
|
|
<h1>Project Create</h1>
|
|
<ul>
|
|
<li>
|
|
<Link href="/">Dashboard</Link>
|
|
</li>
|
|
<li>Project Create</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<Card
|
|
sx={{
|
|
boxShadow: "none",
|
|
borderRadius: "10px",
|
|
p: "25px 20px 15px",
|
|
mb: "15px",
|
|
}}
|
|
>
|
|
<Typography
|
|
as="h3"
|
|
sx={{
|
|
fontSize: 18,
|
|
fontWeight: 500,
|
|
mb: '15px'
|
|
}}
|
|
>
|
|
Create Project
|
|
</Typography>
|
|
|
|
<Box component="form" noValidate onSubmit={handleSubmit}>
|
|
<Grid container alignItems="center" spacing={2}>
|
|
<Grid item xs={12} md={12} lg={12}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Project Name
|
|
</Typography>
|
|
<TextField
|
|
autoComplete="project-name"
|
|
name="projectName"
|
|
required
|
|
fullWidth
|
|
id="projectName"
|
|
label="Project Name"
|
|
autoFocus
|
|
InputProps={{
|
|
style: { borderRadius: 8 },
|
|
}}
|
|
/>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Start Date
|
|
</Typography>
|
|
<TextField
|
|
autoComplete="start-date"
|
|
name="startDate"
|
|
required
|
|
fullWidth
|
|
id="startDate"
|
|
type="date"
|
|
autoFocus
|
|
InputProps={{
|
|
style: { borderRadius: 8 },
|
|
}}
|
|
/>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
End Date
|
|
</Typography>
|
|
<TextField
|
|
autoComplete="end-date"
|
|
name="endDate"
|
|
required
|
|
fullWidth
|
|
id="endDate"
|
|
type="date"
|
|
autoFocus
|
|
InputProps={{
|
|
style: { borderRadius: 8 },
|
|
}}
|
|
/>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={12}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Project Description
|
|
</Typography>
|
|
|
|
<RichTextEditor
|
|
id="rte"
|
|
controls={[
|
|
['bold', 'italic', 'underline', 'link', 'image'],
|
|
['unorderedList', 'h1', 'h2', 'h3', 'h4'],
|
|
['sup', 'sub'],
|
|
['alignLeft', 'alignCenter', 'alignRight'],
|
|
]}
|
|
/>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Budget
|
|
</Typography>
|
|
<TextField
|
|
autoComplete="budget"
|
|
name="budget"
|
|
required
|
|
fullWidth
|
|
id="budget"
|
|
label="Enter rate"
|
|
autoFocus
|
|
InputProps={{
|
|
style: { borderRadius: 8 },
|
|
}}
|
|
/>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Priority Status
|
|
</Typography>
|
|
|
|
<FormControl fullWidth>
|
|
<InputLabel id="demo-simple-select-label">Priority</InputLabel>
|
|
<Select
|
|
labelId="demo-simple-select-label"
|
|
id="demo-simple-select"
|
|
value={priority}
|
|
label="Priority"
|
|
onChange={handleChange}
|
|
>
|
|
<MenuItem value={10}>High</MenuItem>
|
|
<MenuItem value={20}>Medium</MenuItem>
|
|
<MenuItem value={30}>Low</MenuItem>
|
|
</Select>
|
|
</FormControl>
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Categories
|
|
</Typography>
|
|
|
|
{/* CategoriesSelect */}
|
|
<CategoriesSelect />
|
|
</Grid>
|
|
|
|
<Grid item xs={12} md={12} lg={6}>
|
|
<Typography
|
|
as="h5"
|
|
sx={{
|
|
fontWeight: "500",
|
|
fontSize: "14px",
|
|
mb: "12px",
|
|
}}
|
|
>
|
|
Members
|
|
</Typography>
|
|
|
|
{/* MemberSelect */}
|
|
<MemberSelect />
|
|
</Grid>
|
|
|
|
<Grid item xs={12} textAlign="end">
|
|
<Button
|
|
type="submit"
|
|
variant="contained"
|
|
sx={{
|
|
mt: 1,
|
|
textTransform: "capitalize",
|
|
borderRadius: "8px",
|
|
fontWeight: "500",
|
|
fontSize: "13px",
|
|
padding: "12px 20px",
|
|
color: "#fff !important",
|
|
}}
|
|
>
|
|
<AddIcon
|
|
sx={{
|
|
position: "relative",
|
|
top: "-2px",
|
|
}}
|
|
className='mr-5px'
|
|
/>{" "}
|
|
Create Project
|
|
</Button>
|
|
</Grid>
|
|
</Grid>
|
|
</Box>
|
|
</Card>
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default ProjectCreate; |