Feature/wms 29 (#29)
* tileGrid page * fixed: overlap issue Co-authored-by: [Diksha] <[diksha39511@gmail.com]> Co-authored-by: Llewellyn D'souza <lledsouza2209@gmail.com>
This commit is contained in:
64
src/components/TileBasic/index.js
Normal file
64
src/components/TileBasic/index.js
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import MDBox from 'components/MDBox';
|
||||||
|
import { makeStyles } from '@mui/styles';
|
||||||
|
import { Grid } from '@mui/material';
|
||||||
|
|
||||||
|
const useStyles = makeStyles({
|
||||||
|
centerContent: {
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
|
justifyContent: 'center',
|
||||||
|
flexDirection: 'column',
|
||||||
|
marginLeft: '20px',
|
||||||
|
boxShadow: '0px 4px 24px rgba(0, 0, 0, 0.05)',
|
||||||
|
borderRadius: '8px',
|
||||||
|
marginBottom: '20px',
|
||||||
|
'&:hover': {
|
||||||
|
backgroundColor: '#007AFF',
|
||||||
|
cursor: 'default',
|
||||||
|
color: 'white',
|
||||||
|
'& svg': {
|
||||||
|
'& path': {
|
||||||
|
fill: '#fff'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default function TileBasic({ tiles }) {
|
||||||
|
const classes = useStyles();
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<container>
|
||||||
|
<Grid container spacing={2}>
|
||||||
|
{tiles &&
|
||||||
|
tiles.map((tile) => (
|
||||||
|
<>
|
||||||
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
|
<MDBox
|
||||||
|
key={tile.name + tile.path}
|
||||||
|
data={{ name: tile.name, path: tile.path }}
|
||||||
|
className={classes.centerContent}
|
||||||
|
sx={{
|
||||||
|
height: 200,
|
||||||
|
backgroundColor: ({ palette: { white } }) => white.main,
|
||||||
|
padding: '32px 40px'
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{tile.icon}
|
||||||
|
{tile.name}
|
||||||
|
</MDBox>
|
||||||
|
</Grid>
|
||||||
|
</>
|
||||||
|
))}
|
||||||
|
</Grid>
|
||||||
|
</container>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
TileBasic.propTypes = {
|
||||||
|
tiles: PropTypes.any
|
||||||
|
};
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import { makeStyles } from '@mui/styles';
|
import { makeStyles } from '@mui/styles';
|
||||||
|
|
||||||
import SetupIcon from 'assets/images/SetupIcon';
|
|
||||||
import Tile from './Tile';
|
import Tile from './Tile';
|
||||||
|
|
||||||
const useStyles = makeStyles({
|
const useStyles = makeStyles({
|
||||||
@@ -20,11 +20,7 @@ const useStyles = makeStyles({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export default function TileGrid({ tiles }) {
|
||||||
// TODO: When using this component, please use props here instead.
|
|
||||||
// The below code was left as a sample for testing.
|
|
||||||
// Please also remove this comment when the above are complete
|
|
||||||
export default function TileGrid() {
|
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
// to make the grid adjust its elemnts:
|
// to make the grid adjust its elemnts:
|
||||||
const myContainer = useRef(null);
|
const myContainer = useRef(null);
|
||||||
@@ -37,42 +33,22 @@ export default function TileGrid() {
|
|||||||
});
|
});
|
||||||
return (
|
return (
|
||||||
<Box className={classes.menu} ref={myContainer}>
|
<Box className={classes.menu} ref={myContainer}>
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
{tiles &&
|
||||||
|
tiles.map((tile) => (
|
||||||
|
<Tile key={tile.name + tile.path} data={{ name: tile.name, path: tile.path }}>
|
||||||
{' '}
|
{' '}
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
{tile.icon}
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="50px" height="50px" />
|
|
||||||
</Tile>
|
|
||||||
<Tile data={{ name: 'Setup', path: '/' }}>
|
|
||||||
{' '}
|
|
||||||
<SetupIcon color="#007aff" width="40px" height="40px" />
|
|
||||||
</Tile>
|
</Tile>
|
||||||
|
))}
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TileGrid.propTypes = {
|
||||||
|
// tiles: PropTypes.object({
|
||||||
|
// name: PropTypes.string.isRequired,
|
||||||
|
// path: PropTypes.string.isRequired,
|
||||||
|
// icon: PropTypes.any
|
||||||
|
// })
|
||||||
|
tiles: PropTypes.any
|
||||||
|
};
|
||||||
|
|||||||
80
src/pages/warehouse/index.js
Normal file
80
src/pages/warehouse/index.js
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
import MDBox from 'components/MDBox';
|
||||||
|
import DashboardNavbar from 'components/DashboardNavbar';
|
||||||
|
import Footer from 'components/Footer';
|
||||||
|
import DashboardLayout from 'layouts/DashboardLayout';
|
||||||
|
import SetupIcon from 'assets/images/SetupIcon';
|
||||||
|
import TileBasic from 'components/TileBasic';
|
||||||
|
import { makeStyles } from '@mui/styles';
|
||||||
|
|
||||||
|
const useStyles = makeStyles({
|
||||||
|
iconSize: {
|
||||||
|
width: '50%',
|
||||||
|
height: '50%',
|
||||||
|
marginBottom: '10px'
|
||||||
|
},
|
||||||
|
margin: {
|
||||||
|
marginBottom: '20px'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function WarehouseScreen() {
|
||||||
|
const classes = useStyles();
|
||||||
|
const data = [
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Warehouse 1',
|
||||||
|
path: '/',
|
||||||
|
icon: <SetupIcon className={classes.iconSize} color="blue" />
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DashboardLayout>
|
||||||
|
<DashboardNavbar />
|
||||||
|
<MDBox px={2} py={3}>
|
||||||
|
<TileBasic tiles={data} />
|
||||||
|
</MDBox>
|
||||||
|
<Footer />
|
||||||
|
</DashboardLayout>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default WarehouseScreen;
|
||||||
@@ -44,6 +44,7 @@ import LoginScreen from 'pages/authentication';
|
|||||||
|
|
||||||
// @mui icons
|
// @mui icons
|
||||||
import Icon from '@mui/material/Icon';
|
import Icon from '@mui/material/Icon';
|
||||||
|
import WarehouseScreen from 'pages/warehouse';
|
||||||
|
|
||||||
// Images
|
// Images
|
||||||
// import profilePicture from 'assets/images/team-3.jpg';
|
// import profilePicture from 'assets/images/team-3.jpg';
|
||||||
@@ -86,6 +87,20 @@ const protectedRoutes = [
|
|||||||
component: <DashboardScreen />
|
component: <DashboardScreen />
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'collapse',
|
||||||
|
name: 'Setup',
|
||||||
|
key: 'Setup',
|
||||||
|
icon: <Icon fontSize="medium">dashboard</Icon>,
|
||||||
|
collapse: [
|
||||||
|
{
|
||||||
|
name: 'Warehouse Design',
|
||||||
|
key: 'warehouse',
|
||||||
|
route: '/warehouse',
|
||||||
|
component: <WarehouseScreen />
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
// { type: 'title', title: 'Pages', key: 'title-pages' },
|
// { type: 'title', title: 'Pages', key: 'title-pages' },
|
||||||
// {
|
// {
|
||||||
|
|||||||
Reference in New Issue
Block a user