first commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
import * as React from "react";
|
||||
import Card from "@mui/material/Card";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Button from "@mui/material/Button";
|
||||
import TextField from "@mui/material/TextField";
|
||||
|
||||
const HaveAPromoCode = () => {
|
||||
const handleSubmit = (event) => {
|
||||
event.preventDefault();
|
||||
const data = new FormData(event.currentTarget);
|
||||
console.log({
|
||||
email: data.get("email"),
|
||||
password: data.get("password"),
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 25px 20px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
mb: "10px",
|
||||
}}
|
||||
>
|
||||
Have a Promo Code?
|
||||
</Typography>
|
||||
|
||||
<Box
|
||||
component="form"
|
||||
noValidate
|
||||
onSubmit={handleSubmit}
|
||||
position="relative"
|
||||
>
|
||||
<TextField
|
||||
fullWidth
|
||||
id="couponCode"
|
||||
label="Coupon code"
|
||||
name="email"
|
||||
autoComplete="Coupon code"
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
sx={{
|
||||
textTransform: "capitalize",
|
||||
borderRadius: "8px",
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
padding: "10px 18px",
|
||||
position: "absolute",
|
||||
right: "5px",
|
||||
top: "5px",
|
||||
color: "#fff !important",
|
||||
}}
|
||||
>
|
||||
Apply
|
||||
</Button>
|
||||
</Box>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default HaveAPromoCode;
|
||||
@@ -0,0 +1,188 @@
|
||||
import * as React from 'react';
|
||||
import Card from "@mui/material/Card";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Button from "@mui/material/Button";
|
||||
import AddIcon from "@mui/icons-material/Add";
|
||||
import Table from '@mui/material/Table';
|
||||
import TableBody from '@mui/material/TableBody';
|
||||
import TableCell from '@mui/material/TableCell';
|
||||
import TableContainer from '@mui/material/TableContainer';
|
||||
import TableHead from '@mui/material/TableHead';
|
||||
import TableRow from '@mui/material/TableRow';
|
||||
import Paper from '@mui/material/Paper';
|
||||
|
||||
const OrderSummary = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 25px 15px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
mb: "10px",
|
||||
}}
|
||||
>
|
||||
Order Summary
|
||||
</Typography>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table aria-label="simple table" className='dark-table'>
|
||||
<TableBody>
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
Sub Total :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
$760.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
Discount :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
$60.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
Shipping Charge :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
$50.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
Estimated Tax :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500'
|
||||
}}
|
||||
>
|
||||
$00.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "14px",
|
||||
fontWeight: '500',
|
||||
color: "#000"
|
||||
}}
|
||||
>
|
||||
Total (USD) :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
fontWeight: '500',
|
||||
color: "#000"
|
||||
}}
|
||||
>
|
||||
$750.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Card>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default OrderSummary;
|
||||
@@ -0,0 +1,562 @@
|
||||
import * as React from 'react';
|
||||
import Card from "@mui/material/Card";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Table from '@mui/material/Table';
|
||||
import TableBody from '@mui/material/TableBody';
|
||||
import TableCell from '@mui/material/TableCell';
|
||||
import TableContainer from '@mui/material/TableContainer';
|
||||
import TableHead from '@mui/material/TableHead';
|
||||
import TableRow from '@mui/material/TableRow';
|
||||
import Paper from '@mui/material/Paper';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import DeleteIcon from '@mui/icons-material/Delete';
|
||||
import { TextareaAutosize } from '@mui/base/TextareaAutosize';
|
||||
import Button from '@mui/material/Button';
|
||||
import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
|
||||
import Tooltip from '@mui/material/Tooltip';
|
||||
import Link from 'next/link';
|
||||
|
||||
const ShoppingCart = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
mb: "20px",
|
||||
}}
|
||||
>
|
||||
Shopping Cart
|
||||
</Typography>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table
|
||||
sx={{ minWidth: 650 }}
|
||||
aria-label="simple table"
|
||||
className="dark-table"
|
||||
>
|
||||
<TableHead sx={{ background: "#F7FAFF" }}>
|
||||
<TableRow>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Product
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Price
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Quantity
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Total Amount
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Action
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
|
||||
<TableBody>
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product1.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Laptop Macos Pro
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$100.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
02
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$200</b>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="left" arrow>
|
||||
<IconButton>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product2.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Smart Camera XD6
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$200.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$200</b>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="left" arrow>
|
||||
<IconButton>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product3.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Pixi 8 Wireless Airphone
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="left" arrow>
|
||||
<IconButton>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product4.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Jebble Smart Watch
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="left" arrow>
|
||||
<IconButton>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product5.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Airpod
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="left" arrow>
|
||||
<IconButton>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
|
||||
<Box mt={2}>
|
||||
<Typography fontWeight="500" mb="5px">Add a Note:</Typography>
|
||||
<TextareaAutosize
|
||||
aria-label="minimum height"
|
||||
minRows={5}
|
||||
placeholder="Some demo text ... "
|
||||
style={{
|
||||
width: '100%',
|
||||
background: '#FFFFFF',
|
||||
border: '1px solid #E7EBF5',
|
||||
borderRadius: '10px',
|
||||
padding: '10px'
|
||||
}}
|
||||
className="dark-textarea"
|
||||
/>
|
||||
|
||||
<Box align="end">
|
||||
<Link href="/ecommerce/checkout" className="text-decoration-none">
|
||||
<Button
|
||||
variant="contained"
|
||||
startIcon={<ShoppingCartIcon sx={{ color: "#fff !important" }} />}
|
||||
sx={{
|
||||
p: "10px 25px",
|
||||
mt: '10px',
|
||||
textTransform: 'capitalize',
|
||||
color: "#fff !important",
|
||||
}}
|
||||
>
|
||||
Checkout
|
||||
</Button>
|
||||
</Link>
|
||||
</Box>
|
||||
</Box>
|
||||
</Card>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default ShoppingCart;
|
||||
@@ -0,0 +1,334 @@
|
||||
import * as React from "react";
|
||||
import { Box } from "@mui/material";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import { Typography } from "@mui/material";
|
||||
import Button from "@mui/material/Button";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import InputLabel from '@mui/material/InputLabel';
|
||||
import MenuItem from '@mui/material/MenuItem';
|
||||
import FormControl from '@mui/material/FormControl';
|
||||
import Select from '@mui/material/Select';
|
||||
|
||||
import dynamic from 'next/dynamic'
|
||||
const RichTextEditor = dynamic(() => import('@mantine/rte'), {
|
||||
ssr: false,
|
||||
})
|
||||
|
||||
const BillingInformation = () => {
|
||||
const handleSubmit = (event) => {
|
||||
event.preventDefault();
|
||||
const data = new FormData(event.currentTarget);
|
||||
console.log({
|
||||
email: data.get("email"),
|
||||
password: data.get("password"),
|
||||
});
|
||||
};
|
||||
|
||||
// Select dropdown
|
||||
const [countrySelect, setCountrySelect] = React.useState('');
|
||||
const handleChange = (event) => {
|
||||
setCountrySelect(event.target.value);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Box component="form" noValidate onSubmit={handleSubmit}>
|
||||
<Box
|
||||
sx={{
|
||||
background: "#fff",
|
||||
padding: "30px 20px",
|
||||
borderRadius: "8px",
|
||||
mb: "15px"
|
||||
}}
|
||||
className="card-dark-bg"
|
||||
>
|
||||
<Typography as="h4" fontWeight="500" fontSize="18px" mb="10px">
|
||||
Billing Information
|
||||
</Typography>
|
||||
|
||||
<Grid container alignItems="center" spacing={2}>
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
First Name
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="first-name"
|
||||
name="firstName"
|
||||
required
|
||||
fullWidth
|
||||
id="firstName"
|
||||
label="Enter name"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Last Name
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="last-name"
|
||||
name="lastName"
|
||||
required
|
||||
fullWidth
|
||||
id="LastName"
|
||||
label="Enter name"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Email Address
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="email-address"
|
||||
name="emailAddress"
|
||||
required
|
||||
fullWidth
|
||||
id="emailAddress"
|
||||
label="Enter email address"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Phone
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="phone"
|
||||
name="phone"
|
||||
required
|
||||
fullWidth
|
||||
id="phone"
|
||||
label="Enter phone number"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={12}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Address
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="address"
|
||||
name="address"
|
||||
required
|
||||
fullWidth
|
||||
id="address"
|
||||
label="Your location"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Country
|
||||
</Typography>
|
||||
|
||||
<FormControl fullWidth>
|
||||
<InputLabel id="demo-simple-select-label">Select</InputLabel>
|
||||
<Select
|
||||
labelId="demo-simple-select-label"
|
||||
id="demo-simple-select"
|
||||
value={countrySelect}
|
||||
label="Country"
|
||||
onChange={handleChange}
|
||||
>
|
||||
<MenuItem value={10}>USA</MenuItem>
|
||||
<MenuItem value={20}>Canada</MenuItem>
|
||||
<MenuItem value={30}>Australia</MenuItem>
|
||||
<MenuItem value={30}>UK</MenuItem>
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Town/City
|
||||
</Typography>
|
||||
|
||||
|
||||
<TextField
|
||||
autoComplete="town-city"
|
||||
name="townCity"
|
||||
required
|
||||
fullWidth
|
||||
id="townCity"
|
||||
label="Town/city"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
State
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="state"
|
||||
name="state"
|
||||
required
|
||||
fullWidth
|
||||
id="state"
|
||||
label="State"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Zip Code
|
||||
</Typography>
|
||||
|
||||
<TextField
|
||||
autoComplete="zip-code"
|
||||
name="zipCode"
|
||||
required
|
||||
fullWidth
|
||||
id="zipCode"
|
||||
label="Enter Zip Code"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Order Notes :
|
||||
</Typography>
|
||||
|
||||
<RichTextEditor
|
||||
id="rte"
|
||||
controls={[
|
||||
['bold', 'italic', 'underline', 'link', 'image'],
|
||||
['unorderedList', 'h1', 'h2', 'h3'],
|
||||
['sup', 'sub'],
|
||||
['alignLeft', 'alignCenter', 'alignRight'],
|
||||
]}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} textAlign="end">
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
sx={{
|
||||
textTransform: "capitalize",
|
||||
borderRadius: "8px",
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
padding: "12px 20px",
|
||||
color: "#fff !important"
|
||||
}}
|
||||
>
|
||||
Procced To Shipping
|
||||
</Button>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Box>
|
||||
</Box>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default BillingInformation;
|
||||
@@ -0,0 +1,440 @@
|
||||
import * as React from "react";
|
||||
import Card from "@mui/material/Card";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Table from "@mui/material/Table";
|
||||
import TableBody from "@mui/material/TableBody";
|
||||
import TableCell from "@mui/material/TableCell";
|
||||
import TableContainer from "@mui/material/TableContainer";
|
||||
import TableHead from "@mui/material/TableHead";
|
||||
import TableRow from "@mui/material/TableRow";
|
||||
import Paper from "@mui/material/Paper";
|
||||
|
||||
const ShoppingCart = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
mb: "10px",
|
||||
}}
|
||||
>
|
||||
Shopping Cart
|
||||
</Typography>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table aria-label="simple table" className="dark-table">
|
||||
<TableHead sx={{ background: "#F7FAFF" }}>
|
||||
<TableRow>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Product
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Price
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
|
||||
<TableBody>
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product1.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Laptop Macos Pro
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$100.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product2.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Smart Camera XD6
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$200.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product3.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Pixi 8 Wireless Airphone
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product4.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Jebble Smart Watch
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product5.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Airpod
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="left"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
Sub Total :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
$760.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
Discount :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
$60.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
Shipping Charge :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
$50.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
Estimated Tax :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
$00.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
color: "#000",
|
||||
}}
|
||||
>
|
||||
Total (USD) :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: "500",
|
||||
color: "#000",
|
||||
}}
|
||||
>
|
||||
$750.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default ShoppingCart;
|
||||
@@ -0,0 +1,965 @@
|
||||
import * as React from "react";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Card from "@mui/material/Card";
|
||||
import PropTypes from "prop-types";
|
||||
import { useTheme } from "@mui/material/styles";
|
||||
import Table from "@mui/material/Table";
|
||||
import TableHead from "@mui/material/TableHead";
|
||||
import TableBody from "@mui/material/TableBody";
|
||||
import TableCell from "@mui/material/TableCell";
|
||||
import TableContainer from "@mui/material/TableContainer";
|
||||
import TableFooter from "@mui/material/TableFooter";
|
||||
import TablePagination from "@mui/material/TablePagination";
|
||||
import TableRow from "@mui/material/TableRow";
|
||||
import Paper from "@mui/material/Paper";
|
||||
import IconButton from "@mui/material/IconButton";
|
||||
import FirstPageIcon from "@mui/icons-material/FirstPage";
|
||||
import KeyboardArrowLeft from "@mui/icons-material/KeyboardArrowLeft";
|
||||
import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight";
|
||||
import LastPageIcon from "@mui/icons-material/LastPage";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import Tooltip from "@mui/material/Tooltip";
|
||||
import DeleteIcon from "@mui/icons-material/Delete";
|
||||
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
|
||||
import Button from "@mui/material/Button";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import AddIcon from "@mui/icons-material/Add";
|
||||
import ClearIcon from "@mui/icons-material/Clear";
|
||||
import Checkbox from '@mui/material/Checkbox';
|
||||
import { styled } from '@mui/material/styles';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import CloseIcon from '@mui/icons-material/Close';
|
||||
|
||||
const label = { inputProps: { 'aria-label': 'Checkbox demo' } };
|
||||
|
||||
// Create new Modal
|
||||
const BootstrapDialog = styled(Dialog)(({ theme }) => ({
|
||||
'& .MuiDialogContent-root': {
|
||||
padding: theme.spacing(2),
|
||||
},
|
||||
'& .MuiDialogActions-root': {
|
||||
padding: theme.spacing(1),
|
||||
},
|
||||
}));
|
||||
|
||||
function BootstrapDialogTitle(props) {
|
||||
const { children, onClose, ...other } = props;
|
||||
|
||||
return (
|
||||
<DialogTitle sx={{ m: 0, p: 2 }} {...other}>
|
||||
{children}
|
||||
{onClose ? (
|
||||
<IconButton
|
||||
aria-label="close"
|
||||
onClick={onClose}
|
||||
sx={{
|
||||
position: 'absolute',
|
||||
right: 8,
|
||||
top: 8,
|
||||
color: (theme) => theme.palette.grey[500],
|
||||
}}
|
||||
>
|
||||
<CloseIcon />
|
||||
</IconButton>
|
||||
) : null}
|
||||
</DialogTitle>
|
||||
);
|
||||
}
|
||||
|
||||
BootstrapDialogTitle.propTypes = {
|
||||
children: PropTypes.node,
|
||||
onClose: PropTypes.func.isRequired,
|
||||
};
|
||||
// End Create new Modal
|
||||
|
||||
function CustomersList(props) {
|
||||
const theme = useTheme();
|
||||
const { count, page, rowsPerPage, onPageChange } = props;
|
||||
|
||||
const handleFirstPageButtonClick = (event) => {
|
||||
onPageChange(event, 0);
|
||||
};
|
||||
|
||||
const handleBackButtonClick = (event) => {
|
||||
onPageChange(event, page - 1);
|
||||
};
|
||||
|
||||
const handleNextButtonClick = (event) => {
|
||||
onPageChange(event, page + 1);
|
||||
};
|
||||
|
||||
const handleLastPageButtonClick = (event) => {
|
||||
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
||||
};
|
||||
|
||||
return (
|
||||
<Box sx={{ flexShrink: 0, ml: 2.5 }}>
|
||||
<IconButton
|
||||
onClick={handleFirstPageButtonClick}
|
||||
disabled={page === 0}
|
||||
aria-label="first page"
|
||||
>
|
||||
{theme.direction === "rtl" ? <LastPageIcon /> : <FirstPageIcon />}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleBackButtonClick}
|
||||
disabled={page === 0}
|
||||
aria-label="previous page"
|
||||
>
|
||||
{theme.direction === "rtl" ? (
|
||||
<KeyboardArrowRight />
|
||||
) : (
|
||||
<KeyboardArrowLeft />
|
||||
)}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleNextButtonClick}
|
||||
disabled={page >= Math.ceil(count / rowsPerPage) - 1}
|
||||
aria-label="next page"
|
||||
>
|
||||
{theme.direction === "rtl" ? (
|
||||
<KeyboardArrowLeft />
|
||||
) : (
|
||||
<KeyboardArrowRight />
|
||||
)}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleLastPageButtonClick}
|
||||
disabled={page >= Math.ceil(count / rowsPerPage) - 1}
|
||||
aria-label="last page"
|
||||
>
|
||||
{theme.direction === "rtl" ? <FirstPageIcon /> : <LastPageIcon />}
|
||||
</IconButton>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
CustomersList.propTypes = {
|
||||
count: PropTypes.number.isRequired,
|
||||
onPageChange: PropTypes.func.isRequired,
|
||||
page: PropTypes.number.isRequired,
|
||||
rowsPerPage: PropTypes.number.isRequired,
|
||||
};
|
||||
|
||||
function createData(name, image, userName, email, phone, balance, orders, status, badgeClass, joiningDate, projects) {
|
||||
return {
|
||||
name,
|
||||
image,
|
||||
userName,
|
||||
email,
|
||||
phone,
|
||||
balance,
|
||||
orders,
|
||||
status,
|
||||
badgeClass,
|
||||
joiningDate,
|
||||
projects,
|
||||
};
|
||||
}
|
||||
|
||||
const rows = [
|
||||
createData(
|
||||
"Evangelina Mcclain",
|
||||
"/images/user1.png",
|
||||
"@jstevenson5c",
|
||||
"jordansteve@gmail.com",
|
||||
"0018 5054 8877",
|
||||
"$3365.12",
|
||||
"165",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 1, 2023",
|
||||
),
|
||||
createData(
|
||||
"Candice Munoz",
|
||||
"/images/user2.png",
|
||||
"@candice3unoz",
|
||||
"candicemunoz@gmail.com",
|
||||
"0018 5054 7532",
|
||||
"$3550",
|
||||
"112",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 2, 2023",
|
||||
),
|
||||
createData(
|
||||
"Mike Mcclain",
|
||||
"/images/user3.png",
|
||||
"@mike4mcclain",
|
||||
"mikemcclain@gmail.com",
|
||||
"0018 3567 8422",
|
||||
"$3928",
|
||||
"240",
|
||||
"Deactivate",
|
||||
"dangerBadge",
|
||||
"Jan 3, 2023",
|
||||
),
|
||||
createData(
|
||||
"Bernard Langley",
|
||||
"/images/user4.png",
|
||||
"@bernardlangley",
|
||||
"bernardlangley@gmail.com",
|
||||
"0018 9382 4820",
|
||||
"$4932",
|
||||
"350",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 4, 2023",
|
||||
),
|
||||
createData(
|
||||
"Kristie Hall",
|
||||
"/images/user5.png",
|
||||
"@kristie7hall",
|
||||
"kristiehall@gmail.com",
|
||||
"0018 4663 5732",
|
||||
"$4922",
|
||||
"384",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 5, 2023",
|
||||
),
|
||||
createData(
|
||||
"Bolton Obrien",
|
||||
"/images/user6.png",
|
||||
"@bolton4obrien",
|
||||
"boltonobrien@gmail.com",
|
||||
"0018 5743 5657",
|
||||
"$4663.12",
|
||||
"145",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 6, 2023",
|
||||
),
|
||||
createData(
|
||||
"Dee Alvarado",
|
||||
"/images/user7.png",
|
||||
"@dee3alvarado",
|
||||
"deealvarado@gmail.com",
|
||||
"0018 4532 6666",
|
||||
"$2343.12",
|
||||
"435",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 7, 2023",
|
||||
),
|
||||
createData(
|
||||
"Cervantes Kramer",
|
||||
"/images/user8.png",
|
||||
"@cervantes4kramer",
|
||||
"cervantes4kramer@gmail.com",
|
||||
"0018 54545 7878",
|
||||
"$345",
|
||||
"24",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 8, 2023",
|
||||
),
|
||||
createData(
|
||||
"Dejesus Michael",
|
||||
"/images/user9.png",
|
||||
"@dejesus1michael",
|
||||
"dejesusmichael@gmail.com",
|
||||
"0018 3552 6678",
|
||||
"$3365.12",
|
||||
"56",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 9, 2023",
|
||||
),
|
||||
createData(
|
||||
"Alissa Nelson",
|
||||
"/images/user10.png",
|
||||
"@alissa1nelson",
|
||||
"alissa1nelson@gmail.com",
|
||||
"0018 3354 6822",
|
||||
"$3522.12",
|
||||
"165",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 10, 2023",
|
||||
),
|
||||
createData(
|
||||
"Milton",
|
||||
"/images/user11.png",
|
||||
"@milton",
|
||||
"milton@gmail.com",
|
||||
"0018 366 2232",
|
||||
"$3434",
|
||||
"222",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 11, 2023",
|
||||
),
|
||||
createData(
|
||||
"Claude",
|
||||
"/images/user12.png",
|
||||
"@claude",
|
||||
"claude@gmail.com",
|
||||
"0018 4614 23211",
|
||||
"$4554.12",
|
||||
"673",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 12, 2023",
|
||||
),
|
||||
createData(
|
||||
"Joshua",
|
||||
"/images/user13.png",
|
||||
"@joshua",
|
||||
"joshua@gmail.com",
|
||||
"0018 3354 2532",
|
||||
"$2434.12",
|
||||
"463",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 13, 2023",
|
||||
),
|
||||
createData(
|
||||
"Harvey",
|
||||
"/images/user14.png",
|
||||
"@harvey",
|
||||
"harvey@gmail.com",
|
||||
"0018 3331 2224",
|
||||
"$453.12",
|
||||
"445",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 14, 2023",
|
||||
),
|
||||
createData(
|
||||
"Antonio",
|
||||
"/images/user15.png",
|
||||
"@antonio",
|
||||
"antonio@gmail.com",
|
||||
"0018 3354 6822",
|
||||
"$3522.12",
|
||||
"165",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 15, 2023",
|
||||
),
|
||||
createData(
|
||||
"Julian",
|
||||
"/images/user16.png",
|
||||
"@julian",
|
||||
"julian@gmail.com",
|
||||
"0018 4322 1231",
|
||||
"$455.12",
|
||||
"165",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 16, 2023",
|
||||
),
|
||||
createData(
|
||||
"Harold",
|
||||
"/images/user17.png",
|
||||
"@harold",
|
||||
"harold@gmail.com",
|
||||
"0018 455 3323",
|
||||
"$3422.12",
|
||||
"564",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 17, 2023",
|
||||
),
|
||||
createData(
|
||||
"Kingston",
|
||||
"/images/user18.png",
|
||||
"@kingston",
|
||||
"kingston@info.com",
|
||||
"0018 3453 4325",
|
||||
"$442.12",
|
||||
"6776",
|
||||
"Active",
|
||||
"successBadge",
|
||||
"Jan 18, 2023",
|
||||
),
|
||||
].sort((a, b) => (a.name < b.name ? -1 : 1));
|
||||
|
||||
export default function CustomersLists() {
|
||||
// Table
|
||||
const [page, setPage] = React.useState(0);
|
||||
const [rowsPerPage, setRowsPerPage] = React.useState(10);
|
||||
|
||||
// Avoid a layout jump when reaching the last page with empty rows.
|
||||
const emptyRows =
|
||||
page > 0 ? Math.max(0, (1 + page) * rowsPerPage - rows.length) : 0;
|
||||
|
||||
const handleChangePage = (event, newPage) => {
|
||||
setPage(newPage);
|
||||
};
|
||||
|
||||
const handleChangeRowsPerPage = (event) => {
|
||||
setRowsPerPage(parseInt(event.target.value, 10));
|
||||
setPage(0);
|
||||
};
|
||||
|
||||
// Create new modal
|
||||
const [open, setOpen] = React.useState(false);
|
||||
|
||||
const handleClickOpen = () => {
|
||||
setOpen(true);
|
||||
};
|
||||
const handleClose = () => {
|
||||
setOpen(false);
|
||||
};
|
||||
|
||||
const handleSubmit = (event) => {
|
||||
event.preventDefault();
|
||||
const data = new FormData(event.currentTarget);
|
||||
console.log({
|
||||
email: data.get("email"),
|
||||
password: data.get("password"),
|
||||
});
|
||||
};
|
||||
// End Create new Modal
|
||||
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 20px 15px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center",
|
||||
borderBottom: "1px solid #EEF0F7",
|
||||
paddingBottom: "10px",
|
||||
mb: "20px",
|
||||
}}
|
||||
className="for-dark-bottom-border"
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
}}
|
||||
>
|
||||
Customers Lists
|
||||
</Typography>
|
||||
|
||||
<Button
|
||||
onClick={handleClickOpen}
|
||||
variant="contained"
|
||||
sx={{
|
||||
textTransform: "capitalize",
|
||||
borderRadius: "8px",
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
padding: "12px 20px",
|
||||
color: "#fff !important",
|
||||
}}
|
||||
>
|
||||
<AddIcon
|
||||
sx={{ position: "relative", top: "-1px" }}
|
||||
className='mr-5px'
|
||||
/>{" "}
|
||||
Create New
|
||||
</Button>
|
||||
</Box>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table
|
||||
sx={{ minWidth: 1100 }}
|
||||
aria-label="custom pagination table"
|
||||
className="dark-table"
|
||||
>
|
||||
<TableHead sx={{ background: "#F7FAFF" }}>
|
||||
<TableRow>
|
||||
<TableCell
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Name
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Email
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Phone
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Balance
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Orders
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Status
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Joining Date
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
|
||||
>
|
||||
Action
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
|
||||
<TableBody>
|
||||
{(rowsPerPage > 0
|
||||
? rows.slice(
|
||||
page * rowsPerPage,
|
||||
page * rowsPerPage + rowsPerPage
|
||||
)
|
||||
: rows
|
||||
).map((row) => (
|
||||
<TableRow key={row.name}>
|
||||
<TableCell
|
||||
style={{
|
||||
width: 250,
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<Checkbox {...label} size="small" />
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
ml: '10px'
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src={row.image}
|
||||
alt="User"
|
||||
width={40}
|
||||
height={40}
|
||||
className="borRadius100"
|
||||
/>
|
||||
<Box className='ml-10px'>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "13.5px",
|
||||
}}
|
||||
>
|
||||
{row.name}
|
||||
</Typography>
|
||||
|
||||
<Typography
|
||||
sx={{
|
||||
fontSize: "12px",
|
||||
color: "#A9A9C8",
|
||||
}}
|
||||
>
|
||||
{row.userName}
|
||||
</Typography>
|
||||
</Box>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
}}
|
||||
>
|
||||
{row.email}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.phone}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.balance}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.orders}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
<span className={row.badgeClass}>{row.status}</span>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
style={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
paddingTop: "13px",
|
||||
paddingBottom: "13px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.joiningDate}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{ borderBottom: "1px solid #F7FAFF" }}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "inline-block",
|
||||
}}
|
||||
>
|
||||
<Tooltip title="Remove" placement="top">
|
||||
<IconButton
|
||||
aria-label="remove"
|
||||
size="small"
|
||||
color="danger"
|
||||
className="danger"
|
||||
>
|
||||
<DeleteIcon fontSize="inherit" />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
|
||||
<Tooltip title="Rename" placement="top">
|
||||
<IconButton
|
||||
aria-label="rename"
|
||||
size="small"
|
||||
color="primary"
|
||||
className="primary"
|
||||
>
|
||||
<DriveFileRenameOutlineIcon fontSize="inherit" />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</Box>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
|
||||
{emptyRows > 0 && (
|
||||
<TableRow style={{ height: 53 * emptyRows }}>
|
||||
<TableCell
|
||||
colSpan={7}
|
||||
style={{ borderBottom: "1px solid #F7FAFF" }}
|
||||
/>
|
||||
</TableRow>
|
||||
)}
|
||||
</TableBody>
|
||||
|
||||
<TableFooter>
|
||||
<TableRow>
|
||||
<TablePagination
|
||||
rowsPerPageOptions={[5, 10, 25, { label: "All", value: -1 }]}
|
||||
colSpan={8}
|
||||
count={rows.length}
|
||||
rowsPerPage={rowsPerPage}
|
||||
page={page}
|
||||
SelectProps={{
|
||||
inputProps: {
|
||||
"aria-label": "rows per page",
|
||||
},
|
||||
native: true,
|
||||
}}
|
||||
onPageChange={handleChangePage}
|
||||
onRowsPerPageChange={handleChangeRowsPerPage}
|
||||
ActionsComponent={CustomersList}
|
||||
style={{ borderBottom: "none" }}
|
||||
/>
|
||||
</TableRow>
|
||||
</TableFooter>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Card>
|
||||
|
||||
{/* Create new modal */}
|
||||
<BootstrapDialog
|
||||
onClose={handleClose}
|
||||
aria-labelledby="customized-dialog-title"
|
||||
open={open}
|
||||
>
|
||||
<Box>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center",
|
||||
background: "#EDEFF5",
|
||||
borderRadius: "8px",
|
||||
padding: "20px 20px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
id="modal-modal-title"
|
||||
variant="h6"
|
||||
component="h2"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "18px",
|
||||
}}
|
||||
>
|
||||
Create New
|
||||
</Typography>
|
||||
|
||||
<IconButton
|
||||
aria-label="remove"
|
||||
size="small"
|
||||
onClick={handleClose}
|
||||
>
|
||||
<ClearIcon />
|
||||
</IconButton>
|
||||
</Box>
|
||||
|
||||
<Box component="form" noValidate onSubmit={handleSubmit}>
|
||||
<Box
|
||||
sx={{
|
||||
background: "#fff",
|
||||
padding: "20px 20px",
|
||||
borderRadius: "8px",
|
||||
}}
|
||||
>
|
||||
<Grid container alignItems="center" spacing={2}>
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Image
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="image"
|
||||
name="image"
|
||||
required
|
||||
fullWidth
|
||||
id="image"
|
||||
type="file"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Name
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="name"
|
||||
name="name"
|
||||
required
|
||||
fullWidth
|
||||
id="name"
|
||||
label="Name"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
User Name
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="user-name"
|
||||
name="userName"
|
||||
required
|
||||
fullWidth
|
||||
id="userName"
|
||||
label="User Name"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Email
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="email"
|
||||
name="email"
|
||||
required
|
||||
fullWidth
|
||||
id="email"
|
||||
label="example@info.com"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Phone Number
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="phone"
|
||||
name="phone"
|
||||
required
|
||||
fullWidth
|
||||
id="phone"
|
||||
label="0018 5054 8877"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={6}>
|
||||
<Typography
|
||||
as="h5"
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "14px",
|
||||
mb: "12px",
|
||||
}}
|
||||
>
|
||||
Balance
|
||||
</Typography>
|
||||
<TextField
|
||||
autoComplete="balance"
|
||||
name="balance"
|
||||
required
|
||||
fullWidth
|
||||
id="balance"
|
||||
label="Balance"
|
||||
autoFocus
|
||||
InputProps={{
|
||||
style: { borderRadius: 8 },
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} textAlign="end">
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
sx={{
|
||||
mt: 1,
|
||||
textTransform: "capitalize",
|
||||
borderRadius: "8px",
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
padding: "12px 20px",
|
||||
}}
|
||||
>
|
||||
<AddIcon
|
||||
sx={{
|
||||
position: "relative",
|
||||
top: "-2px",
|
||||
}}
|
||||
className='mr-5px'
|
||||
/>{" "}
|
||||
Create New
|
||||
</Button>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Box>
|
||||
</Box>
|
||||
</Box>
|
||||
</BootstrapDialog>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,612 @@
|
||||
import * as React from 'react';
|
||||
import Card from "@mui/material/Card";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Button from "@mui/material/Button";
|
||||
import AddIcon from "@mui/icons-material/Add";
|
||||
import Table from '@mui/material/Table';
|
||||
import TableBody from '@mui/material/TableBody';
|
||||
import TableCell from '@mui/material/TableCell';
|
||||
import TableContainer from '@mui/material/TableContainer';
|
||||
import TableHead from '@mui/material/TableHead';
|
||||
import TableRow from '@mui/material/TableRow';
|
||||
import Paper from '@mui/material/Paper';
|
||||
|
||||
const OrderTable = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 25px 20px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "end",
|
||||
mb: "20px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 600,
|
||||
}}
|
||||
>
|
||||
Order #VL2667
|
||||
</Typography>
|
||||
|
||||
<Button
|
||||
variant="contained"
|
||||
sx={{
|
||||
textTransform: "capitalize",
|
||||
borderRadius: "8px",
|
||||
fontWeight: "600",
|
||||
fontSize: "13px",
|
||||
padding: "10px 20px",
|
||||
color: "#fff !important",
|
||||
}}
|
||||
>
|
||||
<AddIcon
|
||||
sx={{ position: "relative", top: "-1px" }}
|
||||
className='mr-5px'
|
||||
/>{" "}
|
||||
Invoice
|
||||
</Button>
|
||||
</Box>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table
|
||||
sx={{ minWidth: 650 }}
|
||||
aria-label="simple table"
|
||||
className="dark-table"
|
||||
>
|
||||
<TableHead sx={{ background: "#F7FAFF" }}>
|
||||
<TableRow>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Product
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Price
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Quantity
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
Total Amount
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
|
||||
<TableBody>
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product1.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "600",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Laptop Macos Pro
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$100.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
02
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$200</b>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product2.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "600",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Smart Camera XD6
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$200.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$200</b>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product3.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "600",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Pixi 8 Wireless Airphone
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product4.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "600",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Jebble Smart Watch
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src="/images/product5.png"
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "600",
|
||||
fontSize: "12px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
Airpod
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
$120.00
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
01
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<b>$120</b>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
{/* For Total Amount */}
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="right"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
Sub Total :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
$760.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="right"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
Discount :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
$60.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="right"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
Shipping Charge :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
$50.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="right"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
Estimated Tax :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600'
|
||||
}}
|
||||
>
|
||||
$00.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
|
||||
>
|
||||
<TableCell
|
||||
align="right"
|
||||
colSpan={3}
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600',
|
||||
color: "#000"
|
||||
}}
|
||||
>
|
||||
Total (USD) :
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13px",
|
||||
padding: "8px 10px",
|
||||
fontWeight: '600',
|
||||
color: "#000"
|
||||
}}
|
||||
>
|
||||
$750.00
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Card>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default OrderTable;
|
||||
@@ -0,0 +1,73 @@
|
||||
.timelineList .tList {
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 16px;
|
||||
padding-bottom: 16px;
|
||||
border-bottom: 1px solid #F7FAFF;
|
||||
}
|
||||
.timelineList .tList:last-child {
|
||||
border: none;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.timelineList .tList::before {
|
||||
content: '';
|
||||
background: linear-gradient(149.1deg, #99B8F3 14.61%, #177FCB 130.18%);
|
||||
box-shadow: 0px 2.98686px 13.4409px rgba(126, 172, 235, 0.25);
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 100%;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 0;
|
||||
}
|
||||
.timelineList .tList::after {
|
||||
content: '';
|
||||
background: #F7FAFF;
|
||||
width: 3px;
|
||||
height: 75px;
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
left: 3px;
|
||||
}
|
||||
.timelineList .tList h4 {
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
.timelineList .tList .date {
|
||||
color: #A9A9C8;
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
}
|
||||
.timelineList .tList .text {
|
||||
margin: 10px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
/* For RTL Style */
|
||||
[dir="rtl"] .timelineList .tList {
|
||||
padding-left: 0;
|
||||
padding-right: 20px;
|
||||
}
|
||||
[dir="rtl"] .timelineList .tList::before {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
[dir="rtl"] .timelineList .tList::after {
|
||||
left: auto;
|
||||
right: 3px;
|
||||
}
|
||||
|
||||
/* For dark mode */
|
||||
[class="dark"] .timelineList .tList {
|
||||
border-bottom: 1px solid var(--borderColor);
|
||||
}
|
||||
[class="dark"] .timelineList .tList:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.timelineList .tList::after {
|
||||
background: var(--borderColor);
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
import React from "react";
|
||||
import { Box, Typography } from "@mui/material";
|
||||
import Card from "@mui/material/Card";
|
||||
import styles from "@/components/eCommerce/OrderDetails/TrackOrder/TrackOrder.module.css";
|
||||
|
||||
const ActivityTimelineData = [
|
||||
{
|
||||
id: "1",
|
||||
title: "Order Placed",
|
||||
date: "April 21 2019 07:22 AM",
|
||||
text: "There are many variations of passages of Lorem Ipsum available, but the majority have suffered.",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Packed",
|
||||
date: "April 22 2019 12:16 AM",
|
||||
text: "There are many variations of passages of Lorem Ipsum available, but the majority have suffered.",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Shipped",
|
||||
date: "April 22 2019 05:16 PM",
|
||||
text: "There are many variations of passages of Lorem Ipsum available, but the majority have suffered.",
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Delivered",
|
||||
date: "Estimated Delivery Within 3 Days",
|
||||
text: "There are many variations of passages of Lorem Ipsum available, but the majority have suffered.",
|
||||
},
|
||||
];
|
||||
|
||||
const TrackOrder = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 20px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 16,
|
||||
fontWeight: 500,
|
||||
mb: "20px",
|
||||
}}
|
||||
>
|
||||
Track Order
|
||||
</Typography>
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
mb: "20px"
|
||||
}}
|
||||
>
|
||||
<Box>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 14,
|
||||
fontWeight: 500,
|
||||
mb: "5px",
|
||||
}}
|
||||
>
|
||||
Order ID:
|
||||
</Typography>
|
||||
|
||||
<Typography
|
||||
sx={{
|
||||
fontSize: 13,
|
||||
fontWeight: 500,
|
||||
}}
|
||||
>
|
||||
#VL2667
|
||||
</Typography>
|
||||
</Box>
|
||||
|
||||
<Box>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 14,
|
||||
fontWeight: 500,
|
||||
mb: "5px",
|
||||
}}
|
||||
>
|
||||
Tracking ID:
|
||||
</Typography>
|
||||
|
||||
<Typography
|
||||
sx={{
|
||||
fontSize: 13,
|
||||
fontWeight: 500,
|
||||
}}
|
||||
>
|
||||
1004152012012
|
||||
</Typography>
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
<div className={styles.timelineList}>
|
||||
{ActivityTimelineData.slice(0, 4).map((timeline) => (
|
||||
<div className={styles.tList} key={timeline.id}>
|
||||
<h4>{timeline.title}</h4>
|
||||
<p className={styles.date}>{timeline.date}</p>
|
||||
<p className={styles.text}>
|
||||
{timeline.text}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default TrackOrder;
|
||||
@@ -0,0 +1,170 @@
|
||||
import React from "react";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import Box from "@mui/material/Box";
|
||||
import Card from "@mui/material/Card";
|
||||
import Typography from "@mui/material/Typography";
|
||||
|
||||
const featuresData = [
|
||||
{
|
||||
id: 1,
|
||||
iconName: "ri-money-dollar-circle-line",
|
||||
progress: "1.3%",
|
||||
title: "Up from past week",
|
||||
lists: [
|
||||
{
|
||||
id: 1,
|
||||
title: "All Orders",
|
||||
number: "18k",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Pending Orders",
|
||||
number: "5k",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Complited Orders",
|
||||
number: "13k",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
iconName: "ri-bar-chart-line",
|
||||
progress: "50%",
|
||||
title: "Up from past week",
|
||||
lists: [
|
||||
{
|
||||
id: 1,
|
||||
title: "Canceled",
|
||||
number: "2k",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Orders Returned",
|
||||
number: "3k",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Damaged",
|
||||
number: "1k",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
iconName: "ri-star-fill",
|
||||
progress: "70%",
|
||||
title: "Up from past week",
|
||||
lists: [
|
||||
{
|
||||
id: 1,
|
||||
title: "Abandoned Cart",
|
||||
number: "5k",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Customers",
|
||||
number: "10k",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "In Progress",
|
||||
number: "16k",
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
|
||||
const Features = () => {
|
||||
return (
|
||||
<>
|
||||
<Grid
|
||||
container
|
||||
justifyContent="center"
|
||||
rowSpacing={1}
|
||||
columnSpacing={{ xs: 1, sm: 2, md: 2 }}
|
||||
>
|
||||
{featuresData.map((feature) => (
|
||||
<Grid item xs={12} sm={6} md={6} lg={6} xl={4} key={feature.id}>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 20px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
width: "45px",
|
||||
height: "45px",
|
||||
lineHeight: "45px",
|
||||
background: "#757FEF",
|
||||
color: "#fff",
|
||||
fontSize: "25px",
|
||||
borderRadius: "100%",
|
||||
textAlign: "center",
|
||||
}}
|
||||
>
|
||||
<i className={feature.iconName}></i>
|
||||
</Box>
|
||||
|
||||
<Typography
|
||||
variant="h1"
|
||||
sx={{
|
||||
fontSize: 15,
|
||||
fontWeight: 500,
|
||||
}}
|
||||
className="ml-10px"
|
||||
>
|
||||
<span className="successColor">{feature.progress}</span> {feature.title}
|
||||
</Typography>
|
||||
</Box>
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "space-between",
|
||||
}}
|
||||
>
|
||||
{feature.lists.map((list) => (
|
||||
<Box key={list.id}>
|
||||
<Typography
|
||||
sx={{
|
||||
fontSize: "13px",
|
||||
mb: "5px"
|
||||
}}
|
||||
>
|
||||
{list.title}
|
||||
</Typography>
|
||||
|
||||
<Typography
|
||||
as="h4"
|
||||
sx={{
|
||||
fontSize: "18px",
|
||||
fontWeight: "500",
|
||||
}}
|
||||
>
|
||||
{list.number}
|
||||
</Typography>
|
||||
</Box>
|
||||
))}
|
||||
</Box>
|
||||
</Card>
|
||||
</Grid>
|
||||
))}
|
||||
</Grid>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Features;
|
||||
@@ -0,0 +1,679 @@
|
||||
import * as React from "react";
|
||||
import { Box } from "@mui/material";
|
||||
import Card from "@mui/material/Card";
|
||||
import { Typography } from "@mui/material";
|
||||
import InputLabel from "@mui/material/InputLabel";
|
||||
import MenuItem from "@mui/material/MenuItem";
|
||||
import FormControl from "@mui/material/FormControl";
|
||||
import Select from "@mui/material/Select";
|
||||
import PropTypes from "prop-types";
|
||||
import { useTheme } from "@mui/material/styles";
|
||||
import Table from "@mui/material/Table";
|
||||
import TableHead from "@mui/material/TableHead";
|
||||
import TableBody from "@mui/material/TableBody";
|
||||
import TableCell from "@mui/material/TableCell";
|
||||
import TableContainer from "@mui/material/TableContainer";
|
||||
import TableFooter from "@mui/material/TableFooter";
|
||||
import TablePagination from "@mui/material/TablePagination";
|
||||
import TableRow from "@mui/material/TableRow";
|
||||
import Paper from "@mui/material/Paper";
|
||||
import IconButton from "@mui/material/IconButton";
|
||||
import FirstPageIcon from "@mui/icons-material/FirstPage";
|
||||
import KeyboardArrowLeft from "@mui/icons-material/KeyboardArrowLeft";
|
||||
import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight";
|
||||
import LastPageIcon from "@mui/icons-material/LastPage";
|
||||
|
||||
function OrdersList(props) {
|
||||
const theme = useTheme();
|
||||
const { count, page, rowsPerPage, onPageChange } = props;
|
||||
|
||||
const handleFirstPageButtonClick = (event) => {
|
||||
onPageChange(event, 0);
|
||||
};
|
||||
|
||||
const handleBackButtonClick = (event) => {
|
||||
onPageChange(event, page - 1);
|
||||
};
|
||||
|
||||
const handleNextButtonClick = (event) => {
|
||||
onPageChange(event, page + 1);
|
||||
};
|
||||
|
||||
const handleLastPageButtonClick = (event) => {
|
||||
onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
|
||||
};
|
||||
|
||||
return (
|
||||
<Box sx={{ flexShrink: 0, ml: 2.5 }}>
|
||||
<IconButton
|
||||
onClick={handleFirstPageButtonClick}
|
||||
disabled={page === 0}
|
||||
aria-label="first page"
|
||||
>
|
||||
{theme.direction === "rtl" ? <LastPageIcon /> : <FirstPageIcon />}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleBackButtonClick}
|
||||
disabled={page === 0}
|
||||
aria-label="previous page"
|
||||
>
|
||||
{theme.direction === "rtl" ? (
|
||||
<KeyboardArrowRight />
|
||||
) : (
|
||||
<KeyboardArrowLeft />
|
||||
)}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleNextButtonClick}
|
||||
disabled={page >= Math.ceil(count / rowsPerPage) - 1}
|
||||
aria-label="next page"
|
||||
>
|
||||
{theme.direction === "rtl" ? (
|
||||
<KeyboardArrowLeft />
|
||||
) : (
|
||||
<KeyboardArrowRight />
|
||||
)}
|
||||
</IconButton>
|
||||
<IconButton
|
||||
onClick={handleLastPageButtonClick}
|
||||
disabled={page >= Math.ceil(count / rowsPerPage) - 1}
|
||||
aria-label="last page"
|
||||
>
|
||||
{theme.direction === "rtl" ? <FirstPageIcon /> : <LastPageIcon />}
|
||||
</IconButton>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
OrdersList.propTypes = {
|
||||
count: PropTypes.number.isRequired,
|
||||
onPageChange: PropTypes.func.isRequired,
|
||||
page: PropTypes.number.isRequired,
|
||||
rowsPerPage: PropTypes.number.isRequired,
|
||||
};
|
||||
|
||||
function createData(
|
||||
orderID,
|
||||
productImg,
|
||||
productTitle,
|
||||
customer,
|
||||
price,
|
||||
vendor,
|
||||
date,
|
||||
status,
|
||||
badgeClass,
|
||||
rating
|
||||
) {
|
||||
return {
|
||||
orderID,
|
||||
productImg,
|
||||
productTitle,
|
||||
customer,
|
||||
price,
|
||||
vendor,
|
||||
date,
|
||||
status,
|
||||
badgeClass,
|
||||
rating,
|
||||
};
|
||||
}
|
||||
|
||||
const rows = [
|
||||
createData(
|
||||
"#SK258",
|
||||
"/images/product1.png",
|
||||
"Laptop Macos Pro",
|
||||
"Colin Firth",
|
||||
"$289.50",
|
||||
"Boetic Fashion",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK259",
|
||||
"/images/product2.png",
|
||||
"Smart Camera XD6",
|
||||
"Wade Dave",
|
||||
"$189.50",
|
||||
"Aronic Conver",
|
||||
"2021-12-19",
|
||||
"Out of Stock",
|
||||
"dangerBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK260",
|
||||
"/images/product3.png",
|
||||
"Pixi 8 Wireless Airphone",
|
||||
"Seth Riley",
|
||||
"$250.50",
|
||||
"Lotu Arnich",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK261",
|
||||
"/images/product4.png",
|
||||
"Jebble Smart Watch",
|
||||
"Gilbert Dan",
|
||||
"$289.50",
|
||||
"Zoetic Fashion",
|
||||
"2021-12-19",
|
||||
"Pending",
|
||||
"primaryBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK262",
|
||||
"/images/product5.png",
|
||||
"Admas Airpod x-Zon",
|
||||
"Joshua Glen",
|
||||
"$289.50",
|
||||
"Airpod",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK263",
|
||||
"/images/product6.png",
|
||||
"Smart Satch F8 Pro",
|
||||
"Lewis Milton",
|
||||
"$289.50",
|
||||
"Smart Satch",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK264",
|
||||
"/images/product7.png",
|
||||
"Nord Fold ZL",
|
||||
"Liam Ethan",
|
||||
"$289.50",
|
||||
"Nord",
|
||||
"2021-12-19",
|
||||
"Pending",
|
||||
"primaryBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK265",
|
||||
"/images/product8.png",
|
||||
"Wall Clock Cimbina",
|
||||
"Ramon Miles",
|
||||
"$289.50",
|
||||
"Clock",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK266",
|
||||
"/images/product9.png",
|
||||
"Galaxo T6 Munsun",
|
||||
"Brian Roberto",
|
||||
"$289.50",
|
||||
"Smart Phone",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK267",
|
||||
"/images/product1.png",
|
||||
"Laptop Macos Pro",
|
||||
"Colin Firth",
|
||||
"$289.50",
|
||||
"Boetic Fashion",
|
||||
"2021-12-19",
|
||||
"Pending",
|
||||
"primaryBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK268",
|
||||
"/images/product2.png",
|
||||
"Smart Camera XD6",
|
||||
"Wade Dave",
|
||||
"$189.50",
|
||||
"Aronic Conver",
|
||||
"2021-12-19",
|
||||
"Out of Stock",
|
||||
"dangerBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK269",
|
||||
"/images/product3.png",
|
||||
"Pixi 8 Wireless Airphone",
|
||||
"Seth Riley",
|
||||
"$250.50",
|
||||
"Lotu Arnich",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK270",
|
||||
"/images/product4.png",
|
||||
"Jebble Smart Watch",
|
||||
"Gilbert Dan",
|
||||
"$289.50",
|
||||
"Zoetic Fashion",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK271",
|
||||
"/images/product5.png",
|
||||
"Admas Airpod x-Zon",
|
||||
"Joshua Glen",
|
||||
"$289.50",
|
||||
"Airpod",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK272",
|
||||
"/images/product6.png",
|
||||
"Smart Satch F8 Pro",
|
||||
"Lewis Milton",
|
||||
"$289.50",
|
||||
"Smart Satch",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK273",
|
||||
"/images/product7.png",
|
||||
"Nord Fold ZL",
|
||||
"Liam Ethan",
|
||||
"$289.50",
|
||||
"Nord",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK274",
|
||||
"/images/product8.png",
|
||||
"Wall Clock Cimbina",
|
||||
"Ramon Miles",
|
||||
"$289.50",
|
||||
"Clock",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
createData(
|
||||
"#SK275",
|
||||
"/images/product9.png",
|
||||
"Galaxo T6 Munsun",
|
||||
"Brian Roberto",
|
||||
"$289.50",
|
||||
"Smart Phone",
|
||||
"2021-12-19",
|
||||
"Delivered",
|
||||
"successBadge",
|
||||
"5.0 (61 votes)"
|
||||
),
|
||||
].sort((a, b) => (a.orderID < b.orderID ? -1 : 1));
|
||||
|
||||
export default function OrdersLists() {
|
||||
// Select
|
||||
const [select, setSelect] = React.useState("");
|
||||
const handleChange = (event) => {
|
||||
setSelect(event.target.value);
|
||||
};
|
||||
|
||||
// Table
|
||||
const [page, setPage] = React.useState(0);
|
||||
const [rowsPerPage, setRowsPerPage] = React.useState(10);
|
||||
|
||||
// Avoid a layout jump when reaching the last page with empty rows.
|
||||
const emptyRows =
|
||||
page > 0 ? Math.max(0, (1 + page) * rowsPerPage - rows.length) : 0;
|
||||
|
||||
const handleChangePage = (event, newPage) => {
|
||||
setPage(newPage);
|
||||
};
|
||||
|
||||
const handleChangeRowsPerPage = (event) => {
|
||||
setRowsPerPage(parseInt(event.target.value, 10));
|
||||
setPage(0);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px 25px 10px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "space-between",
|
||||
paddingBottom: "10px",
|
||||
}}
|
||||
>
|
||||
<Typography
|
||||
as="h3"
|
||||
sx={{
|
||||
fontSize: 18,
|
||||
fontWeight: 500,
|
||||
}}
|
||||
>
|
||||
Recent Orders
|
||||
</Typography>
|
||||
|
||||
<Box>
|
||||
<FormControl sx={{ minWidth: 120 }} size="small">
|
||||
<InputLabel id="demo-select-small" sx={{ fontSize: "14px" }}>
|
||||
Select
|
||||
</InputLabel>
|
||||
<Select
|
||||
labelId="demo-select-small"
|
||||
id="demo-select-small"
|
||||
value={select}
|
||||
label="Select"
|
||||
onChange={handleChange}
|
||||
sx={{ fontSize: "14px" }}
|
||||
>
|
||||
<MenuItem value={0} sx={{ fontSize: "14px" }}>
|
||||
Today
|
||||
</MenuItem>
|
||||
<MenuItem value={1} sx={{ fontSize: "14px" }}>
|
||||
Last 7 Days
|
||||
</MenuItem>
|
||||
<MenuItem value={2} sx={{ fontSize: "14px" }}>
|
||||
Last Month
|
||||
</MenuItem>
|
||||
<MenuItem value={3}>Last 12 Months</MenuItem>
|
||||
<MenuItem value={4} sx={{ fontSize: "14px" }}>
|
||||
All Time
|
||||
</MenuItem>
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
<TableContainer
|
||||
component={Paper}
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
}}
|
||||
>
|
||||
<Table
|
||||
sx={{ minWidth: 950 }}
|
||||
aria-label="custom pagination table"
|
||||
className="dark-table"
|
||||
>
|
||||
<TableHead sx={{ background: "#F7FAFF" }}>
|
||||
<TableRow>
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Order ID
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Product
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Customer
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Price
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Vendor
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Date
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Status
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "13.5px",
|
||||
padding: "16px 10px",
|
||||
}}
|
||||
>
|
||||
Rating
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
|
||||
<TableBody>
|
||||
{(rowsPerPage > 0
|
||||
? rows.slice(
|
||||
page * rowsPerPage,
|
||||
page * rowsPerPage + rowsPerPage
|
||||
)
|
||||
: rows
|
||||
).map((row) => (
|
||||
<TableRow key={row.orderID}>
|
||||
<TableCell
|
||||
sx={{
|
||||
width: 100,
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
{row.orderID}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
sx={{
|
||||
width: 250,
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src={row.productImg}
|
||||
alt="Product Img"
|
||||
width={50}
|
||||
className="borderRadius10"
|
||||
/>
|
||||
<Typography
|
||||
sx={{
|
||||
fontWeight: "500",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
className='ml-10px'
|
||||
>
|
||||
{row.productTitle}
|
||||
</Typography>
|
||||
</Box>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.customer}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.price}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.vendor}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.date}
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="center"
|
||||
sx={{
|
||||
fontWeight: 500,
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
fontSize: "12px",
|
||||
padding: "8px 10px",
|
||||
}}
|
||||
>
|
||||
<span className={row.badgeClass}>{row.status}</span>
|
||||
</TableCell>
|
||||
|
||||
<TableCell
|
||||
align="right"
|
||||
sx={{
|
||||
borderBottom: "1px solid #F7FAFF",
|
||||
padding: "8px 10px",
|
||||
fontSize: "13px",
|
||||
}}
|
||||
>
|
||||
{row.rating}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
|
||||
{emptyRows > 0 && (
|
||||
<TableRow style={{ height: 53 * emptyRows }}>
|
||||
<TableCell
|
||||
colSpan={8}
|
||||
style={{ borderBottom: "1px solid #F7FAFF" }}
|
||||
/>
|
||||
</TableRow>
|
||||
)}
|
||||
</TableBody>
|
||||
|
||||
<TableFooter>
|
||||
<TableRow>
|
||||
<TablePagination
|
||||
rowsPerPageOptions={[5, 10, 25, { label: "All", value: -1 }]}
|
||||
colSpan={8}
|
||||
count={rows.length}
|
||||
rowsPerPage={rowsPerPage}
|
||||
page={page}
|
||||
SelectProps={{
|
||||
inputProps: {
|
||||
"aria-label": "rows per page",
|
||||
},
|
||||
native: true,
|
||||
}}
|
||||
onPageChange={handleChangePage}
|
||||
onRowsPerPageChange={handleChangeRowsPerPage}
|
||||
ActionsComponent={OrdersList}
|
||||
style={{ borderBottom: "none" }}
|
||||
/>
|
||||
</TableRow>
|
||||
</TableFooter>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import React from 'react';
|
||||
|
||||
const ProductDescription = () => {
|
||||
return (
|
||||
<>
|
||||
<div className='product-description'>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
||||
|
||||
<ul>
|
||||
<li>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</li>
|
||||
|
||||
<li>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</li>
|
||||
</ul>
|
||||
|
||||
<p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio.</p>
|
||||
|
||||
<p>On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain.</p>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default ProductDescription;
|
||||
@@ -0,0 +1,177 @@
|
||||
import React from "react";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import Box from "@mui/material/Box";
|
||||
import Card from "@mui/material/Card";
|
||||
import Typography from "@mui/material/Typography";
|
||||
import StarIcon from "@mui/icons-material/Star";
|
||||
import Button from "@mui/material/Button";
|
||||
import ShoppingCartIcon from "@mui/icons-material/ShoppingCart";
|
||||
import { Swiper, SwiperSlide } from "swiper/react";
|
||||
import { Navigation } from "swiper";
|
||||
import { Tab, Tabs, TabList, TabPanel } from "react-tabs";
|
||||
import styles from "@/components/eCommerce/ProductDetails/ProductDetailsContent.module.css";
|
||||
import ProductDescription from "./ProductDescription";
|
||||
import ProductReviews from "./ProductReviews";
|
||||
|
||||
const ProductDetailsContent = () => {
|
||||
return (
|
||||
<>
|
||||
<Card
|
||||
sx={{
|
||||
boxShadow: "none",
|
||||
borderRadius: "10px",
|
||||
p: "25px",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<Grid
|
||||
container
|
||||
rowSpacing={2}
|
||||
alignItems="center"
|
||||
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 3, xl: 4 }}
|
||||
>
|
||||
<Grid item xs={12} md={12} lg={5} xl={5}>
|
||||
<Swiper
|
||||
navigation={true}
|
||||
modules={[Navigation]}
|
||||
className="product-img-slider"
|
||||
>
|
||||
<SwiperSlide>
|
||||
<img src="/images/product-preview.png" alt="product" />
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide>
|
||||
<img src="/images/product-preview.png" alt="product" />
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide>
|
||||
<img src="/images/product-preview.png" alt="product" />
|
||||
</SwiperSlide>
|
||||
</Swiper>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={7} xl={7}>
|
||||
<Box>
|
||||
<Typography as="h4" fontWeight="500" fontSize="18px" mb="10px">
|
||||
Black T-Shirt Sleeve
|
||||
</Typography>
|
||||
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
mb: "15px",
|
||||
}}
|
||||
>
|
||||
<StarIcon sx={{ color: "#FFBC2B", fontSize: 18 }} />
|
||||
<StarIcon sx={{ color: "#FFBC2B", fontSize: 18 }} />
|
||||
<StarIcon sx={{ color: "#FFBC2B", fontSize: 18 }} />
|
||||
<StarIcon sx={{ color: "#FFBC2B", fontSize: 18 }} />
|
||||
<StarIcon sx={{ color: "#FFBC2B", fontSize: 18 }} />
|
||||
|
||||
<Typography as="h4" fontSize="13px" className="ml-1">
|
||||
5.0 (61 votes)
|
||||
</Typography>
|
||||
</Box>
|
||||
|
||||
<Typography fontSize="15px" fontWeight="500" mb="15px">
|
||||
Price:{" "}
|
||||
<del
|
||||
style={{
|
||||
fontSize: "12px",
|
||||
color: "#95959d",
|
||||
}}
|
||||
className='mr-5px ml-5px'
|
||||
>
|
||||
$200
|
||||
</del>{" "}
|
||||
$150
|
||||
</Typography>
|
||||
|
||||
<Typography fontSize="14px" mb="15px">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
||||
enim adlino minim veniam, quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea commodo consequat.
|
||||
</Typography>
|
||||
|
||||
<ul className={styles.metaTagList}>
|
||||
<li>
|
||||
<span>Category :</span> T-Shirt
|
||||
</li>
|
||||
<li>
|
||||
<span>Availability :</span> In Stock 10 Items
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul className={styles.socialLink}>
|
||||
<li>
|
||||
<span>Share :</span>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://www.facebook.com/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<i className="ri-facebook-line"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://www.twitter.com/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<i className="ri-twitter-line"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://www.instagram.com/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<i className="ri-instagram-line"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<Button
|
||||
variant="contained"
|
||||
startIcon={<ShoppingCartIcon sx={{ color: "#fff !important" }} />}
|
||||
sx={{
|
||||
p: "10px 25px",
|
||||
color: "#fff !important"
|
||||
}}
|
||||
>
|
||||
Add To Cart
|
||||
</Button>
|
||||
</Box>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Box mt={2}>
|
||||
<Tabs className="product-details-tabs">
|
||||
<TabList>
|
||||
<Tab>Description</Tab>
|
||||
<Tab>Reviews (3)</Tab>
|
||||
</TabList>
|
||||
|
||||
<TabPanel>
|
||||
{/* ProductDescription */}
|
||||
<ProductDescription />
|
||||
</TabPanel>
|
||||
|
||||
<TabPanel>
|
||||
{/* ProductReviews */}
|
||||
<ProductReviews />
|
||||
</TabPanel>
|
||||
</Tabs>
|
||||
</Box>
|
||||
</Card>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProductDetailsContent;
|
||||
@@ -0,0 +1,57 @@
|
||||
.metaTagList {
|
||||
list-style-type: none;
|
||||
margin: 0 0 15px;
|
||||
padding: 0;
|
||||
}
|
||||
.metaTagList li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.metaTagList li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.metaTagList li span {
|
||||
font-weight: 500;
|
||||
width: 100px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.socialLink {
|
||||
list-style-type: none;
|
||||
margin: 0 0 25px;
|
||||
padding: 0;
|
||||
}
|
||||
.socialLink li {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.socialLink li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.socialLink li span {
|
||||
font-weight: 500;
|
||||
}
|
||||
.socialLink li a {
|
||||
text-decoration: none;
|
||||
background: #EDEFF5;
|
||||
border-radius: 10px;
|
||||
color: var(--primaryColor);
|
||||
display: inline-block;
|
||||
width: 33px;
|
||||
height: 33px;
|
||||
line-height: 33px;
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.socialLink li a:hover {
|
||||
background-color: var(--primaryColor);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* For RTL Style */
|
||||
[dir="rtl"] .socialLink li {
|
||||
margin-right: 0;
|
||||
margin-left: 10px;
|
||||
}
|
||||
[dir="rtl"] .socialLink li:last-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
import React from 'react';
|
||||
import Grid from "@mui/material/Grid";
|
||||
|
||||
const ProductReviews = () => {
|
||||
return (
|
||||
<>
|
||||
<Grid
|
||||
container
|
||||
rowSpacing={2}
|
||||
alignItems="center"
|
||||
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 3, xl: 4 }}
|
||||
>
|
||||
<Grid item xs={12} md={12} lg={4} xl={4}>
|
||||
<div className='review-card'>
|
||||
<div className='content'>
|
||||
<div className='reating'>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
</div>
|
||||
|
||||
<p>This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit.</p>
|
||||
|
||||
<img src="/images/down-arrow.png" alt="down-arrow" className='down-arrow' />
|
||||
</div>
|
||||
<div className='info'>
|
||||
<img src="/images/user1.png" alt="User" />
|
||||
<h4>Alvarado Turner</h4>
|
||||
</div>
|
||||
</div>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={4} xl={4}>
|
||||
<div className='review-card'>
|
||||
<div className='content'>
|
||||
<div className='reating'>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
</div>
|
||||
|
||||
<p>This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit.</p>
|
||||
|
||||
<img src="/images/down-arrow.png" alt="down-arrow" className='down-arrow' />
|
||||
</div>
|
||||
<div className='info'>
|
||||
<img src="/images/user2.png" alt="User" />
|
||||
<h4>Riley Dave</h4>
|
||||
</div>
|
||||
</div>
|
||||
</Grid>
|
||||
|
||||
<Grid item xs={12} md={12} lg={4} xl={4}>
|
||||
<div className='review-card'>
|
||||
<div className='content'>
|
||||
<div className='reating'>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
<i className="ri-star-fill"></i>
|
||||
</div>
|
||||
|
||||
<p>This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit.</p>
|
||||
|
||||
<img src="/images/down-arrow.png" alt="down-arrow" className='down-arrow' />
|
||||
</div>
|
||||
<div className='info'>
|
||||
<img src="/images/user3.png" alt="User" />
|
||||
<h4>Ivan Dan</h4>
|
||||
</div>
|
||||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default ProductReviews;
|
||||
Reference in New Issue
Block a user