Index.js 3.83 KB
Newer Older
Deni Rinaldi's avatar
Deni Rinaldi committed
1
import React, { useState, useEffect } from 'react';
Deni Rinaldi's avatar
Deni Rinaldi committed
2 3 4 5 6 7 8
import Menu from '@material-ui/core/Menu';
import MenuItem from '@material-ui/core/MenuItem';
import { makeStyles } from '@material-ui/core/styles';
import Fade from '@material-ui/core/Fade';
import Grid from '@material-ui/core/Grid';
import { Typography, Avatar } from '@material-ui/core';
import Images from '../assets/Images';
Deni Rinaldi's avatar
Deni Rinaldi committed
9
import { Link, useRouteMatch } from 'react-router-dom';
Deni Rinaldi's avatar
Deni Rinaldi committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

const useStyles = makeStyles({
    avatar: {
        margin: 10,
    },
    orangeAvatar: {
        margin: 10,
        color: '#fff',
        backgroundColor: 'black',
    },
})

function FadeMenu() {
    const [anchorEl, setAnchorEl] = React.useState(null);
    const open = Boolean(anchorEl);

    const handleClick = event => {
        setAnchorEl(event.currentTarget);
    };

    const handleClose = () => {
        setAnchorEl(null);
    };

    const classes = useStyles();

Deni Rinaldi's avatar
Deni Rinaldi committed
36 37
    let { path, url } = useRouteMatch();

Deni Rinaldi's avatar
Deni Rinaldi committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
    return (
        <div>
            <Grid container justify="center" alignItems="center" >
                <div onClick={handleClick}>
                    <img src={Images.dropdownWhite} alt="React Logo" style={{ marginLeft: 15 }} />
                </div>
            </Grid>
            <Menu
                id="fade-menu"
                anchorEl={anchorEl}
                keepMounted
                open={open}
                onClose={handleClose}
                TransitionComponent={Fade}
            >
                <MenuItem disabled={true} style={{ opacity: 1 }}>
                    <div style={{ display: 'flex', alignItems: 'center' }}>
                        <Avatar className={classes.orangeAvatar}>T</Avatar>
                        <div>
                            <Typography>Tommy</Typography>
                            <Typography>tom_my@gmail.com</Typography>
                        </div>
                    </div>
                </MenuItem>
                <MenuItem onClick={handleClose}>
Deni Rinaldi's avatar
Deni Rinaldi committed
63 64
                    <Link to={'/home/profile'}>
                        <div style={{ display: 'flex', padding: 10 }}>
Deni Rinaldi's avatar
Deni Rinaldi committed
65
                            <img src={Images.setting} style={{ height: 20, width: 20, marginRight: 20 }} />
Deni Rinaldi's avatar
Deni Rinaldi committed
66 67 68
                            <Typography style={{ color: 'black', textDecoration: 'none'}}>Settings</Typography>
                        </div>
                    </Link>
Deni Rinaldi's avatar
Deni Rinaldi committed
69 70 71 72 73 74 75 76 77 78 79 80 81
                </MenuItem>
                <MenuItem onClick={handleClose}>
                    <div style={{ display: 'flex', padding: 10 }}>
                        <img src={Images.logout} style={{ height: 20, width: 20, marginRight: 20 }} />
                        <Typography>Logout</Typography>
                    </div>
                </MenuItem>
            </Menu>
        </div>
    );
}

const footerStyle = {
Deni Rinaldi's avatar
Deni Rinaldi committed
82
    backgroundColor: "#0d2846",
Deni Rinaldi's avatar
Deni Rinaldi committed
83 84
    fontSize: "20px",
    color: "white",
Deni Rinaldi's avatar
Deni Rinaldi committed
85
    // borderTop: "1px solid #E7E7E7",
Deni Rinaldi's avatar
Deni Rinaldi committed
86 87
    textAlign: "center",
    padding: "20px",
Deni Rinaldi's avatar
Deni Rinaldi committed
88 89 90
    left: 0,
    bottom: 0,
    right: 0,
d.arizona's avatar
d.arizona committed
91
    height: "80px",
Deni Rinaldi's avatar
Deni Rinaldi committed
92
    width: "100%"
Deni Rinaldi's avatar
Deni Rinaldi committed
93 94 95
};

const phantomStyle = {
Deni Rinaldi's avatar
Deni Rinaldi committed
96
    display: "block",
Deni Rinaldi's avatar
Deni Rinaldi committed
97 98 99
};

function Footer({ children }) {
Deni Rinaldi's avatar
Deni Rinaldi committed
100
    return (
Deni Rinaldi's avatar
Deni Rinaldi committed
101 102 103 104
        <div>
            {/* <div style={phantomStyle} /> */}
            <div style={footerStyle}>{children}</div>
        </div>
Deni Rinaldi's avatar
Deni Rinaldi committed
105
    );
Deni Rinaldi's avatar
Deni Rinaldi committed
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
}

function getWindowDimensions() {
    const { innerWidth: width, innerHeight: height } = window;
    return {
        width,
        height
    };
}

function UseWindowDimensions() {
    const [windowDimensions, setWindowDimensions] = useState(
        getWindowDimensions()
    );

    useEffect(() => {
        function handleResize() {
            setWindowDimensions(getWindowDimensions());
        }

        window.addEventListener("resize", handleResize);
        return () => window.removeEventListener("resize", handleResize);
    }, []);

    return windowDimensions;
}
Deni Rinaldi's avatar
Deni Rinaldi committed
132

Deni Rinaldi's avatar
Deni Rinaldi committed
133
export { FadeMenu, Footer, UseWindowDimensions };