diff --git a/src/App.tsx b/src/App.tsx index facca47bdc9ca174ecee01b589b483096b197f1c..2965eec07c25316e1986122c86e872aec98b7550 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -40,7 +40,7 @@ export const App: FC = () => { <Switch> <Route exact path={NonAuthRoutes.home} component={LandingPage} /> <Route path={NonAuthRoutes.auth} component={AuthUser} /> - <Route path={AuthRoutes.dashboard} component={All(Dashboard)} /> + <Route path={AuthRoutes.dashboard} component={Dashboard} /> <Route path={NonAuthRoutes.unauthorized} component={Unauthorized} diff --git a/src/components/Dashboard/ProfilePage/ProfilePage.tsx b/src/components/Dashboard/ProfilePage/ProfilePage.tsx index 2856a225f1f4fe806dece906f90bbd143a6f30a3..e3fb1b9271a4ea6cbe29a1128a638816876cddf6 100644 --- a/src/components/Dashboard/ProfilePage/ProfilePage.tsx +++ b/src/components/Dashboard/ProfilePage/ProfilePage.tsx @@ -1,9 +1,88 @@ import React, { FC, useContext } from 'react'; -import Button from '@material-ui/core/Button'; +import { makeStyles } from '@material-ui/core/styles'; import axios from 'axios'; import { NonAuthRoutes } from 'api/routes'; import { useHistory } from 'react-router-dom'; import { AuthContext } from 'components/Auth/AuthContext'; +import { + CssBaseline, + Grid, + Typography, + Hidden, + createMuiTheme, + responsiveFontSizes, + MuiThemeProvider, + Container, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField, + Button, + Select, + MenuItem, +} from '@material-ui/core'; +import { NavBar } from 'components/Dashboard/HomePage/NavBar'; + +let themeResp = createMuiTheme(); +themeResp = responsiveFontSizes(themeResp); + +const useStyles = makeStyles(() => ({ + root: { + minHeight: '36vh', + backgroundImage: `url(${'/assets/bg7.png'})`, + backgroundRepeat: 'no-repeat', + backgroundSize: 'cover', + }, + rightAlign: { + marginLeft: 'auto', + }, + whiteText: { + color: 'white', + }, + imageIcon: { + maxHeight: '50%', + }, + paddingBottom: { + paddingBottom: '65px', + }, + paddingTop: { + paddingTop: '65px', + }, + bodyIcon: { + fontSize: '90px', + paddingBottom: '10px', + paddingTop: '10px', + }, + contIcon: { + width: '100%', + left: '0', + right: '0', + }, + noShadow: { + border: 'none', + boxShadow: 'none', + backgroundColor: 'transparent', + }, + extendedIcon: { + fontSize: '50px', + }, + fab: { + margin: '10px 90px 80px 10px', + bottom: '0', + right: '0', + position: 'fixed', + padding: '45px', + }, + fabSmall: { + margin: '10px 45px 70px 10px', + bottom: '0', + right: '0', + position: 'fixed', + padding: '35px', + }, +})); export const ProfilePage: FC = () => { const history = useHistory(); @@ -15,11 +94,164 @@ export const ProfilePage: FC = () => { }); }; + const classes = useStyles(); + + const [lang, setLang] = React.useState<string | number>(''); + const [open, setOpen] = React.useState(false); + + const handleChange = (event: React.ChangeEvent<{ value: unknown }>): void => { + setLang(event.target.value as number); + }; + + const handleClose = (): void => { + setOpen(false); + }; + + const handleOpen = (): void => { + setOpen(true); + }; + return ( - <div data-testid="ProfilePage"> - <Button variant="outlined" color="default" onClick={logout}> - Logout - </Button> - </div> + <Grid container direction="column" className={classes.paddingBottom}> + <div className={classes.root}> + <CssBaseline /> + + <Grid item> + <NavBar /> + </Grid> + + <MuiThemeProvider theme={themeResp}> + <Grid item container className={classes.paddingBottom}> + <Grid item xs={1} md={2} lg={2} /> + + <Grid item xs={10} md={6} lg={4}> + <Typography variant="h2" className={classes.whiteText}> + Set Here Your + </Typography> + <Typography variant="h1" className={classes.whiteText}> + PROFILE + </Typography> + </Grid> + + <Grid item xs={1} /> + </Grid> + </MuiThemeProvider> + </div> + + <Grid item container className={classes.paddingTop}> + <Grid item xs={2} /> + <Grid item container xs={8}> + <Grid item xs={12}> + <Typography variant="h3">Your Profile Settings</Typography> + </Grid> + <Grid item xs={5}> + <TextField + autoFocus + margin="dense" + id="name" + label="First Name" + type="text" + fullWidth + /> + </Grid> + <Grid item xs={2} /> + <Grid item xs={5}> + <TextField + autoFocus + margin="dense" + id="name" + label="Last Name" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={5}> + <TextField + autoFocus + margin="dense" + id="name" + label="Address" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={2} /> + + <Grid item xs={2}> + <TextField + autoFocus + margin="dense" + id="name" + label="CAP" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={1} /> + + <Grid item xs={2}> + <TextField + autoFocus + margin="dense" + id="name" + label="Province" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={12}> + <TextField + autoFocus + margin="dense" + id="name" + label="Email" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={12}> + <TextField + autoFocus + margin="dense" + id="name" + label="Card No" + type="text" + fullWidth + /> + </Grid> + + <Grid item xs={12}> + <Select + labelId="Language" + id="Language" + label="Language" + open={open} + onClose={handleClose} + onOpen={handleOpen} + value={lang} + onChange={handleChange} + fullWidth + > + <MenuItem value={20}>Italiano</MenuItem> + <MenuItem value={10}>English</MenuItem> + <MenuItem value={30}>Deutsch</MenuItem> + <MenuItem value={40}>Ladinisch</MenuItem> + </Select> + </Grid> + + <div data-testid="ProfilePage"> + <Button variant="outlined" color="default" onClick={logout}> + Logout + </Button> + </div> + </Grid> + <Grid item xs={2} /> + </Grid> + </Grid> ); };