Skip to content
Snippets Groups Projects
Verified Commit 10569759 authored by Defendi Alberto's avatar Defendi Alberto
Browse files

Move dialog to this file.

parent dd9350c2
No related branches found
No related tags found
2 merge requests!56Refined auth flow and new website pages.,!55Refactoring to reservation page.
Pipeline #12494 passed
import React, { FC } from 'react';
import {
Grid,
Typography,
Dialog,
DialogActions,
DialogContent,
DialogContentText,
DialogTitle,
Button,
} from '@material-ui/core';
import AddIcon from '@material-ui/icons/Add';
import Fab from '@material-ui/core/Fab';
import { NavBar } from 'components/Dashboard/HomePage/NavBar';
import { Reservation } from 'components/Dashboard/ReservationPage/Reservation/Reservation';
import { useReservations } from 'hooks/useReservations';
import { ReservationProps } from 'components/Dashboard/ReservationPage/Reservation/ReservationProps';
import { SubmitHandler, useForm } from 'react-hook-form';
import { InputField } from 'components/Auth/InputField/InputField';
import { useStyles } from './ReservationPage.style';
type ReservationDialogProps = {
handleClose: () => void;
isOpen: boolean;
};
export const ReservationDialog: FC<ReservationDialogProps> = ({
handleClose,
isOpen,
}: ReservationDialogProps) => {
const classes = useStyles();
const { control, handleSubmit } = useForm<ReservationProps>();
const reservation = useReservations();
const onSubmit: SubmitHandler<ReservationProps> = (
data: ReservationProps,
) => {
console.log(data);
handleClose();
};
return (
<div data-testid="ReservationDialog">
<Grid container direction="column" className={classes.paddingBottom}>
<div className={classes.root}>
<Grid item>
<NavBar />
</Grid>
<Dialog
open={isOpen}
onClose={handleClose}
aria-labelledby="form-dialog-title"
>
<form onSubmit={handleSubmit(onSubmit)} data-testid="Form">
<DialogTitle id="form-dialog-title">
Book New Reservation
</DialogTitle>
<DialogContent>
<DialogContentText>
Write here below the details of your next reservation
</DialogContentText>
<InputField
name="name"
label="Name Reservation"
type="text"
control={control}
/>
<InputField
name="date"
label="Reservation date"
type="date"
control={control}
/>
<InputField
name="time"
label="Department Time"
type="time"
control={control}
/>
<InputField
name="destination"
label="Destination"
type="text"
control={control}
/>
</DialogContent>
<DialogActions>
<Button onClick={handleClose} color="primary">
Cancel
</Button>
<Button
type="submit"
fullWidth
variant="contained"
color="primary"
>
Insert
</Button>
</DialogActions>
</form>
</Dialog>
</div>
</Grid>
</div>
);
};
...@@ -18,21 +18,22 @@ import { ReservationProps } from 'components/Dashboard/ReservationPage/Reservati ...@@ -18,21 +18,22 @@ import { ReservationProps } from 'components/Dashboard/ReservationPage/Reservati
import { SubmitHandler, useForm } from 'react-hook-form'; import { SubmitHandler, useForm } from 'react-hook-form';
import { InputField } from 'components/Auth/InputField/InputField'; import { InputField } from 'components/Auth/InputField/InputField';
import { useStyles } from './ReservationPage.style'; import { useStyles } from './ReservationPage.style';
import { ReservationDialog } from './ReservationDialog';
export const ReservationPage: FC = () => { export const ReservationPage: FC = () => {
const classes = useStyles(); const classes = useStyles();
const { control, handleSubmit } = useForm<ReservationProps>(); const { control, handleSubmit } = useForm<ReservationProps>();
const [open, setOpen] = React.useState(false); const [isOpen, setIsOpen] = React.useState<boolean>(false);
const reservation = useReservations(); const reservation = useReservations();
const handleOpen = (): void => { const handleOpen = (): void => {
setOpen(true); setIsOpen(true);
}; };
const handleClose = (): void => { const handleClose = (): void => {
setOpen(false); setIsOpen(false);
}; };
const onSubmit: SubmitHandler<ReservationProps> = ( const onSubmit: SubmitHandler<ReservationProps> = (
...@@ -48,61 +49,7 @@ export const ReservationPage: FC = () => { ...@@ -48,61 +49,7 @@ export const ReservationPage: FC = () => {
<Grid item> <Grid item>
<NavBar /> <NavBar />
</Grid> </Grid>
<ReservationDialog handleClose={handleClose} isOpen={isOpen} />
<Dialog
open={open}
onClose={handleOpen}
aria-labelledby="form-dialog-title"
>
<form onSubmit={handleSubmit(onSubmit)} data-testid="Form">
<DialogTitle id="form-dialog-title">
Book New Reservation
</DialogTitle>
<DialogContent>
<DialogContentText>
Write here below the details of your next reservation
</DialogContentText>
<InputField
name="name"
label="Name Reservation"
type="text"
control={control}
/>
<InputField
name="date"
label="Reservation date"
type="date"
control={control}
/>
<InputField
name="time"
label="Department Time"
type="time"
control={control}
/>
<InputField
name="destination"
label="Destination"
type="text"
control={control}
/>
</DialogContent>
<DialogActions>
<Button onClick={handleClose} color="primary">
Cancel
</Button>
<Button
type="submit"
fullWidth
variant="contained"
color="primary"
>
Insert
</Button>
</DialogActions>
</form>
</Dialog>
<Grid item container className={classes.paddingBottom}> <Grid item container className={classes.paddingBottom}>
<Grid item xs={1} md={2} lg={2} /> <Grid item xs={1} md={2} lg={2} />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment