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

Display reservations from server.

See #15.
parent d41fb2c4
No related branches found
No related tags found
2 merge requests!69Possibility to insert a reservation and new docs.,!67Insert a reservation and search by senior.
Pipeline #13249 failed
import axios from 'axios';
export const getReservations = async (): Promise<any> =>
axios('/api/web/reservations/').then((res) => res.data);
import React, { FC } from 'react'; import React, { FC } from 'react';
import { import { Grid, Typography, Hidden, Container } from '@material-ui/core';
CssBaseline,
Grid,
Typography,
Hidden,
Container,
} from '@material-ui/core';
import { MapElement } from 'components/Dashboard/HomePage/MapElement'; import { MapElement } from 'components/Dashboard/HomePage/MapElement';
import { NavBar } from 'components/Dashboard/HomePage/NavBar'; import { NavBar } from 'components/Dashboard/HomePage/NavBar';
import { Numbers } from 'components/Dashboard/HomePage/Numbers'; import { Numbers } from 'components/Dashboard/HomePage/Numbers';
import { Steps } from 'components/Dashboard/HomePage/Steps'; import { Steps } from 'components/Dashboard/HomePage/Steps';
import { Reservation } from '../ReservationPage/Reservation/Reservation';
import { homePageStyle } from './HomePage.style'; import { homePageStyle } from './HomePage.style';
export const HomePage: FC = () => { export const HomePage: FC = () => {
...@@ -19,8 +12,6 @@ export const HomePage: FC = () => { ...@@ -19,8 +12,6 @@ export const HomePage: FC = () => {
return ( return (
<Grid container direction="column" className={classes.paddingBottom}> <Grid container direction="column" className={classes.paddingBottom}>
<div className={classes.root}> <div className={classes.root}>
<CssBaseline />
<Grid item> <Grid item>
<NavBar /> <NavBar />
</Grid> </Grid>
...@@ -59,19 +50,11 @@ export const HomePage: FC = () => { ...@@ -59,19 +50,11 @@ export const HomePage: FC = () => {
<Grid item xs={2} /> <Grid item xs={2} />
</Grid> </Grid>
<Grid item container style={{ paddingTop: '20px' }}>
<Grid item xs={1} lg={2} />
<Grid item xs={10} lg={8}>
<Reservation departure="" destination="" time="" date="" />
</Grid>
<Grid item xs={1} lg={2} />
</Grid>
<Grid item container className={classes.paddingTop}> <Grid item container className={classes.paddingTop}>
<Grid item xs={2} /> <Grid item xs={2} />
<Grid item xs={8}> <Grid item xs={8}>
<Typography variant="h2" align="right"> <Typography variant="h2" align="right">
Some Our Numbers Some of our Numbers
</Typography> </Typography>
</Grid> </Grid>
<Grid item xs={2} /> <Grid item xs={2} />
......
...@@ -10,7 +10,7 @@ import { ...@@ -10,7 +10,7 @@ import {
TableHead, TableHead,
TableRow, TableRow,
} from '@material-ui/core'; } from '@material-ui/core';
import { ReservationProps } from './ReservationProps'; import { InsertReservationType } from 'types/InsertReservationType';
const useStyles = makeStyles(() => ({ const useStyles = makeStyles(() => ({
noShadow: { noShadow: {
...@@ -20,38 +20,29 @@ const useStyles = makeStyles(() => ({ ...@@ -20,38 +20,29 @@ const useStyles = makeStyles(() => ({
}, },
})); }));
export const Reservation: FC<ReservationProps> = ({ type PropsType = {
departure, reservation: InsertReservationType;
destination, };
time,
date, export const Reservation: FC<PropsType> = ({ reservation }: PropsType) => {
}: ReservationProps) => {
const classes = useStyles(); const classes = useStyles();
return ( return (
<Grid item container style={{ paddingTop: '20px' }}> <Grid item container style={{ paddingTop: '20px' }}>
<Grid item xs={1} lg={2} /> <TableContainer component={Paper}>
<Grid item xs={10} lg={8}> <Table aria-label="simple table">
<TableContainer component={Paper}> <TableHead>
<Table aria-label="simple table"> {reservation.tripStages.map((stage, key) => (
<TableHead>
<TableRow> <TableRow>
<TableCell>DriveToHospital </TableCell> <TableCell key={stage.number}>
</TableRow> {stage.location.address}
</TableHead>
<TableBody>
<TableRow key="departure">
<TableCell component="th" scope="row">
Departure
</TableCell> </TableCell>
<TableCell align="right">{departure}</TableCell> <TableCell key={stage.number}>{stage.estimatedBeAt}</TableCell>
</TableRow> </TableRow>
</TableBody> ))}
</Table> </TableHead>
</TableContainer> </Table>
</Grid> </TableContainer>
<Grid item xs={1} lg={2} />
</Grid> </Grid>
); );
}; };
export type ReservationProps = {
departure: string;
destination: string;
time: string;
date: string;
senior?: number;
};
...@@ -17,23 +17,16 @@ import AddIcon from '@material-ui/icons/Add'; ...@@ -17,23 +17,16 @@ import AddIcon from '@material-ui/icons/Add';
import Fab from '@material-ui/core/Fab'; import Fab from '@material-ui/core/Fab';
import { NavBar } from 'components/Dashboard/HomePage/NavBar'; import { NavBar } from 'components/Dashboard/HomePage/NavBar';
import { Reservation } from 'components/Dashboard/ReservationPage/Reservation/Reservation'; 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 { SubmitHandler, useForm } from 'react-hook-form';
import { InputField } from 'components/Auth/InputField/InputField'; import { useReservations } from 'hooks/useReservations';
import { useStyles } from './ReservationPage.style'; import { useStyles } from './ReservationPage.style';
import { ReservationDialog } from './ReservationDialog'; import { ReservationDialog } from './ReservationDialog';
let themeResp = createMuiTheme();
themeResp = responsiveFontSizes(themeResp);
export const ReservationPage: FC = () => { export const ReservationPage: FC = () => {
const classes = useStyles(); const classes = useStyles();
const { control, handleSubmit } = useForm<ReservationProps>();
const [isOpen, setIsOpen] = React.useState<boolean>(false); const [isOpen, setIsOpen] = React.useState<boolean>(false);
const reservations = useReservations();
const reservation = useReservations();
const handleOpen = (): void => { const handleOpen = (): void => {
setIsOpen(true); setIsOpen(true);
...@@ -43,12 +36,6 @@ export const ReservationPage: FC = () => { ...@@ -43,12 +36,6 @@ export const ReservationPage: FC = () => {
setIsOpen(false); setIsOpen(false);
}; };
const onSubmit: SubmitHandler<ReservationProps> = (
data: ReservationProps,
) => {
console.log(data);
};
return ( return (
<div data-testid="Reservation"> <div data-testid="Reservation">
<Grid container direction="column" className={classes.paddingBottom}> <Grid container direction="column" className={classes.paddingBottom}>
...@@ -58,22 +45,20 @@ export const ReservationPage: FC = () => { ...@@ -58,22 +45,20 @@ export const ReservationPage: FC = () => {
</Grid> </Grid>
<ReservationDialog handleClose={handleClose} isOpen={isOpen} /> <ReservationDialog handleClose={handleClose} isOpen={isOpen} />
<header> <header>
<MuiThemeProvider theme={themeResp}> <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} />
<Grid item xs={10} md={6} lg={4}>
<Grid item xs={10} md={6} lg={4}> <Typography variant="h2" className={classes.whiteText}>
<Typography variant="h2" className={classes.whiteText}> Plan Here Your
Plan Here Your </Typography>
</Typography> <Typography variant="h2" className={classes.whiteText}>
<Typography variant="h2" className={classes.whiteText}> RESERVATIONS
RESERVATIONS </Typography>
</Typography>
</Grid>
<Grid item xs={1} />
</Grid> </Grid>
</MuiThemeProvider>
<Grid item xs={1} />
</Grid>
</header> </header>
</div> </div>
...@@ -101,29 +86,15 @@ export const ReservationPage: FC = () => { ...@@ -101,29 +86,15 @@ export const ReservationPage: FC = () => {
</Fab> </Fab>
</Hidden> </Hidden>
<MuiThemeProvider theme={themeResp}> <Grid item container className={classes.paddingTop}>
<Grid item container className={classes.paddingTop}> <Grid item xs={2} />
<Grid item xs={2} /> <Grid item xs={8}>
<Grid item xs={8}> <Typography variant="h3">Your Next Reservations</Typography>
<Typography variant="h3">Your Next Reservations</Typography>
</Grid>
<Grid item xs={2} />
</Grid>
<Reservation departure="" destination="" time="" date="" />
<Grid item container className={classes.paddingTop}>
<Grid item xs={2} />
<Grid item xs={8}>
<Typography variant="h3" align="right">
Your Past Reservations
</Typography>
</Grid>
<Grid item xs={2} />
</Grid> </Grid>
{reservations.map((reservation, key) => (
<Reservation departure="" destination="" time="" date="" /> <Reservation reservation={reservation} />
</MuiThemeProvider> ))}
</Grid>
</Grid> </Grid>
</div> </div>
); );
......
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