first commit

This commit is contained in:
DESKTOP-GBA0BK8\Admin
2023-03-25 20:44:56 -04:00
commit 97cc85c49d
711 changed files with 109164 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
const events = [
{ title: "All Day Event", start: getDate("YEAR-MONTH-01") },
{
title: "Rendezvous",
start: getDate("YEAR-MONTH-07"),
end: getDate("YEAR-MONTH-10")
},
{
groupId: "999",
title: "Repeating Event",
start: getDate("YEAR-MONTH-09T16:00:00+00:00")
},
{
groupId: "999",
title: "Repeating Event",
start: getDate("YEAR-MONTH-16T16:00:00+00:00")
},
{
title: "Dontiste",
start: "YEAR-MONTH-17",
end: getDate("YEAR-MONTH-19")
},
{
title: "Consultation",
start: getDate("YEAR-MONTH-18T10:30:00+00:00"),
end: getDate("YEAR-MONTH-18T12:30:00+00:00")
},
{ title: "Visit", start: getDate("YEAR-MONTH-18T12:00:00+00:00") },
{ title: "maladie", start: getDate("YEAR-MONTH-19T07:00:00+00:00") },
{ title: "Meeting", start: getDate("YEAR-MONTH-18T14:30:00+00:00") },
{ title: "controlle", start: getDate("YEAR-MONTH-18T17:30:00+00:00") },
{ title: "finish", start: getDate("YEAR-MONTH-18T20:00:00+00:00") }
];
function getDate(dayString) {
const today = new Date();
const year = today.getFullYear().toString();
let month = (today.getMonth() + 1).toString();
if (month.length === 1) {
month = "0" + month;
}
return dayString.replace("YEAR", year).replace("MONTH", month);
}
export default events;
+599
View File
@@ -0,0 +1,599 @@
import Typography from "@mui/material/Typography";
import Box from "@mui/material/Box";
import IconButton from "@mui/material/IconButton";
import VideocamIcon from "@mui/icons-material/Videocam";
import CallIcon from "@mui/icons-material/Call";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import List from "@mui/material/List";
import ListItem from "@mui/material/ListItem";
import ListItemButton from "@mui/material/ListItemButton";
import ListItemText from "@mui/material/ListItemText";
import ReplyIcon from "@mui/icons-material/Reply";
import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline";
import TextField from "@mui/material/TextField";
import Button from "@mui/material/Button";
import SendIcon from "@mui/icons-material/Send";
const ChatBox = () => {
const handleSubmit = (event) => {
event.preventDefault();
const data = new FormData(event.currentTarget);
console.log({
email: data.get("email"),
password: data.get("password"),
});
};
return (
<>
<Box
sx={{
border: "1px solid #F5F4F6",
borderRadius: "14px",
}}
className="for-dark-chat-box"
>
{/* Header */}
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
borderBottom: "1px solid #F5F4F6",
borderRadius: "10px",
p: "15px",
}}
className="for-dark-chat-header"
>
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
}}
>
<img
src="/images/user1.png"
alt="user"
width="40px"
height="40px"
className="borRadius100"
/>
<Box className="ml-1">
<Typography as="h5" fontWeight="500">
Laurent Perrier
</Typography>
<Typography fontSize="12px" position="relative">
<span className="active-status2 successBgColor"></span> Active
Now
</Typography>
</Box>
</Box>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className="ml-5px for-dark-button"
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className="ml-5px for-dark-button"
>
<CallIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className="ml-5px for-dark-button"
>
<MoreVertIcon />
</IconButton>
</Box>
</Box>
{/* Chat List */}
<div className="chat-list-box">
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user1.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pharetra ligula non varius curabitur etiam malesuada. Congue
eget luctus aliquet consectetur.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user2.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user1.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet 🔥! Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem
ipsum dolor sit
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user2.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user1.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
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.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
</div>
{/* Footer */}
<Box
sx={{
background: "#F5F6FA",
borderRadius: "15px",
display: "flex",
alignItems: "center",
p: "15px",
position: "relative",
}}
className="dark-BG-101010"
>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<CallIcon />
</IconButton>
</Box>
<Box
component="form"
noValidate
onSubmit={handleSubmit}
sx={{
flex: "auto",
}}
className="pr-60px"
>
<TextField
fullWidth
id="typeSomething"
label="Type Something..."
name="typeSomething"
autoComplete="typeSomething"
InputProps={{
style: {
borderRadius: 100,
background: "#fff",
},
}}
/>
<Button
type="submit"
variant="contained"
sx={{
textTransform: "capitalize",
borderRadius: "100%",
fontWeight: "500",
fontSize: "16px",
padding: "0",
minWidth: "44px",
minHeight: "44px",
position: "absolute",
top: "22px",
color: "#fff !important"
}}
className="right-20px"
>
<SendIcon />
</Button>
</Box>
</Box>
</Box>
</>
);
};
export default ChatBox;
+599
View File
@@ -0,0 +1,599 @@
import Typography from "@mui/material/Typography";
import Box from "@mui/material/Box";
import IconButton from "@mui/material/IconButton";
import VideocamIcon from "@mui/icons-material/Videocam";
import CallIcon from "@mui/icons-material/Call";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import List from "@mui/material/List";
import ListItem from "@mui/material/ListItem";
import ListItemButton from "@mui/material/ListItemButton";
import ListItemText from "@mui/material/ListItemText";
import ReplyIcon from "@mui/icons-material/Reply";
import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline";
import TextField from "@mui/material/TextField";
import Button from "@mui/material/Button";
import SendIcon from "@mui/icons-material/Send";
const ChatBoxThree = () => {
const handleSubmit = (event) => {
event.preventDefault();
const data = new FormData(event.currentTarget);
console.log({
email: data.get("email"),
password: data.get("password"),
});
};
return (
<>
<Box
sx={{
border: "1px solid #F5F4F6",
borderRadius: "14px",
}}
className="for-dark-chat-box"
>
{/* Header */}
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
borderBottom: "1px solid #F5F4F6",
borderRadius: "10px",
p: "15px",
}}
className="for-dark-chat-header"
>
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
}}
>
<img
src="/images/user3.png"
alt="user"
width="40px"
height="40px"
className="borRadius100"
/>
<Box className="ml-1">
<Typography as="h5" fontWeight="500">
Bernard Langley
</Typography>
<Typography fontSize="12px" position="relative">
<span className="active-status2 successBgColor"></span> Active
Now
</Typography>
</Box>
</Box>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<CallIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<MoreVertIcon />
</IconButton>
</Box>
</Box>
{/* Chat List */}
<div className="chat-list-box">
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user3.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pharetra ligula non varius curabitur etiam malesuada. Congue
eget luctus aliquet consectetur.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user5.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user3.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet 🔥! Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem
ipsum dolor sit
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user5.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user3.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
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.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
</div>
{/* Footer */}
<Box
sx={{
background: "#F5F6FA",
borderRadius: "15px",
display: "flex",
alignItems: "center",
p: "15px",
position: "relative",
}}
className="dark-BG-101010"
>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<CallIcon />
</IconButton>
</Box>
<Box
component="form"
noValidate
onSubmit={handleSubmit}
sx={{
flex: "auto",
}}
className="pr-60px"
>
<TextField
fullWidth
id="typeSomething"
label="Type Something..."
name="typeSomething"
autoComplete="typeSomething"
InputProps={{
style: {
borderRadius: 100,
background: "#fff",
},
}}
/>
<Button
type="submit"
variant="contained"
sx={{
textTransform: "capitalize",
borderRadius: "100%",
fontWeight: "500",
fontSize: "16px",
padding: "0",
minWidth: "44px",
minHeight: "44px",
position: "absolute",
top: "22px",
color: "#fff !important"
}}
className="right-20px"
>
<SendIcon />
</Button>
</Box>
</Box>
</Box>
</>
);
};
export default ChatBoxThree;
+599
View File
@@ -0,0 +1,599 @@
import Typography from "@mui/material/Typography";
import Box from "@mui/material/Box";
import IconButton from "@mui/material/IconButton";
import VideocamIcon from "@mui/icons-material/Videocam";
import CallIcon from "@mui/icons-material/Call";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import List from "@mui/material/List";
import ListItem from "@mui/material/ListItem";
import ListItemButton from "@mui/material/ListItemButton";
import ListItemText from "@mui/material/ListItemText";
import ReplyIcon from "@mui/icons-material/Reply";
import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline";
import TextField from "@mui/material/TextField";
import Button from "@mui/material/Button";
import SendIcon from "@mui/icons-material/Send";
const ChatBoxTwo = () => {
const handleSubmit = (event) => {
event.preventDefault();
const data = new FormData(event.currentTarget);
console.log({
email: data.get("email"),
password: data.get("password"),
});
};
return (
<>
<Box
sx={{
border: "1px solid #F5F4F6",
borderRadius: "14px",
}}
className="for-dark-chat-box"
>
{/* Header */}
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
borderBottom: "1px solid #F5F4F6",
borderRadius: "10px",
p: "15px",
}}
className="for-dark-chat-header"
>
<Box
sx={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
}}
>
<img
src="/images/user2.png"
alt="user"
width="40px"
height="40px"
className="borRadius100"
/>
<Box className="ml-1">
<Typography as="h5" fontWeight="500">
Nunez Faulkner
</Typography>
<Typography fontSize="12px" position="relative">
<span className="active-status2 successBgColor"></span> Active
Now
</Typography>
</Box>
</Box>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<CallIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='ml-5px for-dark-button'
>
<MoreVertIcon />
</IconButton>
</Box>
</Box>
{/* Chat List */}
<div className="chat-list-box">
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user2.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pharetra ligula non varius curabitur etiam malesuada. Congue
eget luctus aliquet consectetur.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user4.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user2.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
Lorem ipsum dolor sit amet 🔥! Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
{/* Right Chat */}
<Box
sx={{
display: "flex",
justifyContent: "end",
maxWidth: "730px",
mb: "20px",
}}
className="ml-auto"
>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
{/* Replay Dropdown */}
<Box>
<div className="left-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
<Box className="mr-1">
<Typography
sx={{
background: "#757FEF",
color: "#fff !important",
borderRadius: "15px 0 15px 15px",
p: "14px 20px",
mb: "10px",
}}
>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem
ipsum dolor sit
</Typography>
<Typography fontSize="12px" textAlign="end">
19:04
</Typography>
</Box>
</Box>
<img
src="/images/user4.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
</Box>
{/* Left Chat */}
<Box
sx={{
display: "flex",
maxWidth: "730px",
mb: "20px",
}}
>
<img
src="/images/user2.png"
alt="user"
width="35px"
height="35px"
className="borRadius100"
/>
<Box
sx={{
display: "flex",
}}
className="ml-1"
>
<Box>
<Typography
sx={{
background: "#F5F6FA",
borderRadius: "0px 15px 15px 15px",
p: "14px 20px",
mb: "10px",
}}
className="dark-BG-101010"
>
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.
</Typography>
<Typography fontSize="12px">19:04</Typography>
</Box>
{/* Replay Dropdown */}
<Box className="ml-1">
<div className="right-replay-box">
<IconButton size="small">
<MoreVertIcon fontSize="small" />
</IconButton>
<div className="hover-caption">
<List sx={{ display: "inline" }}>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<ReplyIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Reply"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
<ListItem disablePadding>
<ListItemButton sx={{ padding: "1px 15px" }}>
<DeleteOutlineIcon
fontSize="small"
sx={{ mt: "-4px" }}
className="mr-5px"
/>
<ListItemText
primary="Delete"
primaryTypographyProps={{ fontSize: "12px" }}
/>
</ListItemButton>
</ListItem>
</List>
</div>
</div>
</Box>
</Box>
</Box>
</div>
{/* Footer */}
<Box
sx={{
background: "#F5F6FA",
borderRadius: "15px",
display: "flex",
alignItems: "center",
p: "15px",
position: "relative",
}}
className="dark-BG-101010"
>
<Box>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<VideocamIcon />
</IconButton>
<IconButton
size="small"
sx={{ background: "#F2F6F8" }}
className='mr-5px for-dark-button'
>
<CallIcon />
</IconButton>
</Box>
<Box
component="form"
noValidate
onSubmit={handleSubmit}
sx={{
flex: "auto",
}}
className="pr-60px"
>
<TextField
fullWidth
id="typeSomething"
label="Type Something..."
name="typeSomething"
autoComplete="typeSomething"
InputProps={{
style: {
borderRadius: 100,
background: "#fff",
},
}}
/>
<Button
type="submit"
variant="contained"
sx={{
textTransform: "capitalize",
borderRadius: "100%",
fontWeight: "500",
fontSize: "16px",
padding: "0",
minWidth: "44px",
minHeight: "44px",
position: "absolute",
top: "22px",
color: "#fff !important"
}}
className="right-20px"
>
<SendIcon />
</Button>
</Box>
</Box>
</Box>
</>
);
};
export default ChatBoxTwo;
+218
View File
@@ -0,0 +1,218 @@
import React from "react";
import Grid from "@mui/material/Grid";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
import Menu from "@mui/material/Menu";
import MenuItem from "@mui/material/MenuItem";
import IconButton from "@mui/material/IconButton";
import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
const AssetsData = [
{
id: "1",
icon: "/images/folder.png",
title: "Projects",
totalFiles: "387 Files",
filesSize: "4.5 GB",
},
{
id: "2",
icon: "/images/folder.png",
title: "Documents",
totalFiles: "1572 Files",
filesSize: "7.5 GB",
},
{
id: "3",
icon: "/images/folder.png",
title: "Media",
totalFiles: "1241 Files",
filesSize: "2.8 GB",
},
{
id: "4",
icon: "/images/folder.png",
title: "Applications",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
{
id: "5",
icon: "/images/folder.png",
title: "ET Template",
totalFiles: "60 Files",
filesSize: "8 GB",
},
{
id: "6",
icon: "/images/folder.png",
title: "React Template",
totalFiles: "120 Files",
filesSize: "6.5 GB",
},
{
id: "7",
icon: "/images/folder.png",
title: "Material UI",
totalFiles: "40 Files",
filesSize: "5.5 GB",
},
{
id: "8",
icon: "/images/folder.png",
title: "WP Themes",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
{
id: "9",
icon: "/images/folder.png",
title: "Personal Photos",
totalFiles: "2587 Files",
filesSize: "14 GB",
},
{
id: "10",
icon: "/images/folder.png",
title: "Mobile Apps",
totalFiles: "55 Files",
filesSize: "4.5 GB",
},
{
id: "11",
icon: "/images/folder.png",
title: "Important Files",
totalFiles: "200 Files",
filesSize: "6.5 GB",
},
{
id: "12",
icon: "/images/folder.png",
title: "Angular Template",
totalFiles: "340 Files",
filesSize: "7.5 GB",
},
];
const AllAssets = () => {
const [anchorEl, setAnchorEl] = React.useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
>
{AssetsData.map((asset) => (
<Grid item xs={12} sm={6} md={6} lg={6} xl={3} key={asset.id}>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "15px 20px 20px",
mb: "15px",
}}
>
<Box
sx={{
display: "flex",
justifyContent: "end",
}}
>
<Box>
<IconButton
onClick={handleClick}
size="small"
aria-controls={open ? "account-menu" : undefined}
aria-haspopup="true"
aria-expanded={open ? "true" : undefined}
>
<MoreHorizIcon />
</IconButton>
</Box>
<Menu
anchorEl={anchorEl}
id="account-menu"
open={open}
onClose={handleClose}
onClick={handleClose}
PaperProps={{
elevation: 0,
sx: {
overflow: "visible",
filter: "drop-shadow(0px 2px 8px rgba(229,229,229,0.32))",
mt: 1.5,
"& .MuiAvatar-root": {
width: 32,
height: 32,
ml: -0.5,
mr: 1,
},
"&:before": {
content: '""',
display: "block",
position: "absolute",
top: 0,
right: 14,
width: 10,
height: 10,
bgcolor: "background.paper",
transform: "translateY(-50%) rotate(45deg)",
zIndex: 0,
},
},
}}
transformOrigin={{ horizontal: "right", vertical: "top" }}
anchorOrigin={{ horizontal: "right", vertical: "bottom" }}
>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-edit-2-line mr-5px"></i> Rename
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-download-cloud-line mr-5px"></i> Download
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-delete-bin-line mr-5px"></i> Remove
</MenuItem>
</Menu>
</Box>
<Box
sx={{
textAlign: "center",
padding: "30px 0",
}}
>
<img src={asset.icon} alt="folder" />
<Typography as="h3" fontWeight="500" fontSize="14px" mt="10px">
{asset.title}
</Typography>
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
}}
>
<Typography>{asset.totalFiles}</Typography>
<Typography>{asset.filesSize}</Typography>
</Box>
</Card>
</Grid>
))}
</Grid>
</>
);
};
export default AllAssets;
+218
View File
@@ -0,0 +1,218 @@
import React from "react";
import Grid from "@mui/material/Grid";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
import Menu from "@mui/material/Menu";
import MenuItem from "@mui/material/MenuItem";
import IconButton from "@mui/material/IconButton";
import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
const ProjectsData = [
{
id: "1",
icon: "/images/folder.png",
title: "ET Template",
totalFiles: "60 Files",
filesSize: "8 GB",
},
{
id: "2",
icon: "/images/folder.png",
title: "React Template",
totalFiles: "120 Files",
filesSize: "6.5 GB",
},
{
id: "3",
icon: "/images/folder.png",
title: "Material UI",
totalFiles: "40 Files",
filesSize: "5.5 GB",
},
{
id: "4",
icon: "/images/folder.png",
title: "WP Themes",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
{
id: "5",
icon: "/images/folder.png",
title: "Personal Photos",
totalFiles: "2587 Files",
filesSize: "14 GB",
},
{
id: "6",
icon: "/images/folder.png",
title: "Mobile Apps",
totalFiles: "55 Files",
filesSize: "4.5 GB",
},
{
id: "7",
icon: "/images/folder.png",
title: "Important Files",
totalFiles: "200 Files",
filesSize: "6.5 GB",
},
{
id: "8",
icon: "/images/folder.png",
title: "Angular Template",
totalFiles: "340 Files",
filesSize: "7.5 GB",
},
{
id: "9",
icon: "/images/folder.png",
title: "Projects",
totalFiles: "387 Files",
filesSize: "4.5 GB",
},
{
id: "10",
icon: "/images/folder.png",
title: "Documents",
totalFiles: "1572 Files",
filesSize: "7.5 GB",
},
{
id: "11",
icon: "/images/folder.png",
title: "Media",
totalFiles: "1241 Files",
filesSize: "2.8 GB",
},
{
id: "12",
icon: "/images/folder.png",
title: "Applications",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
];
const AllProjects = () => {
const [anchorEl, setAnchorEl] = React.useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
>
{ProjectsData.map((project) => (
<Grid item xs={12} sm={6} md={6} lg={6} xl={3} key={project.id}>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "15px 20px 20px",
mb: "15px",
}}
>
<Box
sx={{
display: "flex",
justifyContent: "end",
}}
>
<Box>
<IconButton
onClick={handleClick}
size="small"
aria-controls={open ? "account-menu" : undefined}
aria-haspopup="true"
aria-expanded={open ? "true" : undefined}
>
<MoreHorizIcon />
</IconButton>
</Box>
<Menu
anchorEl={anchorEl}
id="account-menu"
open={open}
onClose={handleClose}
onClick={handleClose}
PaperProps={{
elevation: 0,
sx: {
overflow: "visible",
filter: "drop-shadow(0px 2px 8px rgba(229,229,229,0.32))",
mt: 1.5,
"& .MuiAvatar-root": {
width: 32,
height: 32,
ml: -0.5,
mr: 1,
},
"&:before": {
content: '""',
display: "block",
position: "absolute",
top: 0,
right: 14,
width: 10,
height: 10,
bgcolor: "background.paper",
transform: "translateY(-50%) rotate(45deg)",
zIndex: 0,
},
},
}}
transformOrigin={{ horizontal: "right", vertical: "top" }}
anchorOrigin={{ horizontal: "right", vertical: "bottom" }}
>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-edit-2-line mr-5px"></i> Rename
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-download-cloud-line mr-5px"></i> Download
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-delete-bin-line mr-5px"></i> Remove
</MenuItem>
</Menu>
</Box>
<Box
sx={{
textAlign: "center",
padding: "30px 0",
}}
>
<img src={project.icon} alt="folder" />
<Typography as="h3" fontWeight="500" fontSize="14px" mt="10px">
{project.title}
</Typography>
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
}}
>
<Typography>{project.totalFiles}</Typography>
<Typography>{project.filesSize}</Typography>
</Box>
</Card>
</Grid>
))}
</Grid>
</>
);
};
export default AllProjects;
@@ -0,0 +1,469 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Grid from "@mui/material/Grid";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
import Backdrop from "@mui/material/Backdrop";
import Button from "@mui/material/Button";
import Fade from "@mui/material/Fade";
import Modal from "@mui/material/Modal";
import TextField from "@mui/material/TextField";
import AddIcon from "@mui/icons-material/Add";
import ClearIcon from "@mui/icons-material/Clear";
// Create Folder Modal Style
const style = {
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: 500,
width: "100%",
bgcolor: "background.paper",
boxShadow: 24,
borderRadius: "8px",
};
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/folder.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/folder.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/folder.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
createData(
"App Design",
"/images/folder.png",
"ET Agency",
"5 GB",
"Jan 08, 2022",
"15"
),
createData(
"Web Design & Development",
"/images/folder.png",
"ET Templates",
"13 GB",
"Jan 13, 2022",
"90"
),
createData(
"React Template",
"/images/folder.png",
"ET Company",
"100 GB",
"Dec 18, 2021",
"120"
),
createData(
"Material Template",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Angular Template",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const AllRecentFiles = () => {
// Create Folder Modal
const [open, setOpen] = React.useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
// Form
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",
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: 600,
}}
>
Recent Files
</Typography>
<Button
onClick={handleOpen}
variant="contained"
sx={{
textTransform: "capitalize",
borderRadius: "8px",
fontWeight: "600",
fontSize: "13px",
padding: "12px 20px",
color: "#fff !important",
}}
>
<AddIcon
sx={{ position: "relative", top: "-1px" }}
className="mr-5px"
/>{" "}
Create Folder
</Button>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "650px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="22px" />
<Typography
as="h5"
fontWeight="600"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</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="Download" placement="top">
<IconButton
aria-label="download"
size="small"
color="success"
className="success"
>
<CloudDownloadIcon 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>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
{/* Create Folder Modal */}
<Modal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={open}
onClose={handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={open}>
<Box sx={style} className="dark-BG-101010">
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
background: "#EDEFF5",
borderRadius: "8px",
padding: "25px 20px",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "600",
fontSize: "20px",
}}
>
Create Folder
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "30px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={1}>
<Grid item xs={12}>
<Typography
as="h5"
sx={{
fontWeight: "600",
fontSize: "14px",
mb: "12px",
}}
>
Folder Name
</Typography>
<TextField
autoComplete="given-name"
name="folderName"
required
fullWidth
id="folderName"
label="Folder Name"
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: "600",
fontSize: "13px",
padding: "12px 20px",
color: "#fff !important",
}}
>
<AddIcon
sx={{
position: "relative",
top: "-2px",
}}
className="mr-5px"
/>{" "}
Add Folder
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</Fade>
</Modal>
</>
);
};
export default AllRecentFiles;
@@ -0,0 +1,362 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Grid from "@mui/material/Grid";
import Card from "@mui/material/Card";
import IconButton from "@mui/material/IconButton";
import Backdrop from "@mui/material/Backdrop";
import Button from "@mui/material/Button";
import Fade from "@mui/material/Fade";
import Modal from "@mui/material/Modal";
import TextField from "@mui/material/TextField";
import AddIcon from "@mui/icons-material/Add";
import ClearIcon from "@mui/icons-material/Clear";
// Create Files Modal Style
const style = {
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: 500,
width: "100%",
bgcolor: "background.paper",
boxShadow: 24,
borderRadius: "8px",
};
const FilesData = [
{
id: "1",
icon: "/images/file1.png",
title: "sketch-design.zip",
},
{
id: "2",
icon: "/images/file2.png",
title: "Compile.png",
},
{
id: "3",
icon: "/images/file3.png",
title: "Integrations.pdf",
},
{
id: "4",
icon: "/images/file4.png",
title: "contact @32",
},
{
id: "5",
icon: "/images/file5.png",
title: "app-Design.doc",
},
{
id: "6",
icon: "/images/file6.png",
title: "image02.png",
},
{
id: "7",
icon: "/images/file7.png",
title: "Ubold-sketch.doc",
},
{
id: "8",
icon: "/images/file8.png",
title: "Annualreport.txt",
},
{
id: "9",
icon: "/images/file9.png",
title: "Wireframes.xl4",
},
{
id: "10",
icon: "/images/file10.png",
title: "contact @32.jpg",
},
{
id: "11",
icon: "/images/file1.png",
title: "sketch-design.zip",
},
{
id: "12",
icon: "/images/file2.png",
title: "Compile.png",
},
{
id: "13",
icon: "/images/file3.png",
title: "Integrations.pdf",
},
{
id: "14",
icon: "/images/file4.png",
title: "contact @32",
},
{
id: "15",
icon: "/images/file5.png",
title: "app-Design.doc",
},
{
id: "16",
icon: "/images/file6.png",
title: "image02.png",
},
{
id: "17",
icon: "/images/file7.png",
title: "Ubold-sketch.doc",
},
{
id: "18",
icon: "/images/file8.png",
title: "Annualreport.txt",
},
{
id: "19",
icon: "/images/file9.png",
title: "Wireframes.xl4",
},
{
id: "20",
icon: "/images/file10.png",
title: "contact @32.jpg",
},
{
id: "21",
icon: "/images/file5.png",
title: "app-Design.doc",
},
{
id: "22",
icon: "/images/file6.png",
title: "image02.png",
},
{
id: "23",
icon: "/images/file7.png",
title: "Ubold-sketch.doc",
},
{
id: "24",
icon: "/images/file8.png",
title: "Annualreport.txt",
},
];
const DocumentsFiles = () => {
// Create Files Modal
const [open, setOpen] = React.useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
// Form
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",
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,
}}
>
Documents
</Typography>
<Button
onClick={handleOpen}
variant="contained"
sx={{
mt: 1,
textTransform: "capitalize",
borderRadius: "8px",
fontWeight: "500",
fontSize: "13px",
padding: "12px 20px",
color: "#fff !important",
}}
>
<AddIcon
sx={{ position: "relative", top: "-1px" }}
className="mr-5px"
/>{" "}
Create Files
</Button>
</Box>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
justifyContent="center"
>
{FilesData.map((file) => (
<Grid item xs={12} sm={6} md={6} lg={4} xl={2} key={file.id}>
<Box
sx={{
background: "#F3F6F9",
borderRadius: "10px",
padding: "40px 5px",
textAlign: "center",
}}
className="dark-BG-101010"
>
<img src={file.icon} alt="Icon" width="56px" height="56px" />
<Typography mt={1} fontWeight="500" fontSize="13px">
{file.title}
</Typography>
</Box>
</Grid>
))}
</Grid>
</Card>
{/* Create Files Modal */}
<Modal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={open}
onClose={handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={open}>
<Box sx={style} className="dark-BG-101010">
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
background: "#EDEFF5",
borderRadius: "8px",
padding: "25px 20px",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "500",
fontSize: "20px",
}}
>
Create Folder
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "30px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={1}>
<Grid item xs={12}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Files Name
</Typography>
<TextField
autoComplete="given-name"
name="filesName"
required
fullWidth
id="filesName"
label="Files Name"
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",
color: "#fff !important",
}}
>
<AddIcon
sx={{
position: "relative",
top: "-2px",
}}
className="mr-5px"
/>{" "}
Add Files
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</Fade>
</Modal>
</>
);
};
export default DocumentsFiles;
+291
View File
@@ -0,0 +1,291 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Grid from "@mui/material/Grid";
import Card from "@mui/material/Card";
import IconButton from "@mui/material/IconButton";
import Backdrop from "@mui/material/Backdrop";
import Button from "@mui/material/Button";
import Fade from "@mui/material/Fade";
import Modal from "@mui/material/Modal";
import TextField from "@mui/material/TextField";
import AddIcon from "@mui/icons-material/Add";
import ClearIcon from "@mui/icons-material/Clear";
// Create Files Modal Style
const style = {
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: 500,
width: "100%",
bgcolor: "background.paper",
boxShadow: 24,
borderRadius: "8px",
};
const FilesData = [
{
id: "1",
icon: "/images/file1.png",
title: "sketch-design.zip",
},
{
id: "2",
icon: "/images/file2.png",
title: "Compile.png",
},
{
id: "3",
icon: "/images/file3.png",
title: "Integrations.pdf",
},
{
id: "4",
icon: "/images/file4.png",
title: "contact @32",
},
{
id: "5",
icon: "/images/file5.png",
title: "app-Design.doc",
},
{
id: "6",
icon: "/images/file6.png",
title: "image02.png",
},
{
id: "7",
icon: "/images/file7.png",
title: "Ubold-sketch.doc",
},
{
id: "8",
icon: "/images/file8.png",
title: "Annualreport.txt",
},
{
id: "9",
icon: "/images/file9.png",
title: "Wireframes.xl4",
},
{
id: "10",
icon: "/images/file10.png",
title: "contact @32.jpg",
},
];
const Files = () => {
// Create Files Modal
const [open, setOpen] = React.useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
// Form
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",
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,
}}
>
Files
</Typography>
<Button
onClick={handleOpen}
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 Files
</Button>
</Box>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
justifyContent="center"
>
{FilesData.map((file) => (
<Grid item xs={12} sm={6} md={4} lg={4} xl={2} key={file.id}>
<Box
sx={{
background: "#F3F6F9",
borderRadius: "10px",
padding: "40px 5px",
textAlign: "center",
}}
className="dark-BG-101010"
>
<img src={file.icon} alt="Icon" width="56px" height="56px" />
<Typography mt={1} fontWeight="500" fontSize="13px">
{file.title}
</Typography>
</Box>
</Grid>
))}
</Grid>
</Card>
{/* Create Files Modal */}
<Modal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={open}
onClose={handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={open}>
<Box sx={style} className="dark-BG-101010">
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
background: "#EDEFF5",
borderRadius: "8px",
padding: "25px 20px",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "500",
fontSize: "20px",
}}
>
Create Folder
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "30px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={1}>
<Grid item xs={12}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Files Name
</Typography>
<TextField
autoComplete="given-name"
name="filesName"
required
fullWidth
id="filesName"
label="Files Name"
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",
color: "#fff !important",
}}
>
<AddIcon
sx={{
position: "relative",
top: "-2px",
}}
className="mr-5px"
/>{" "}
Add Files
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</Fade>
</Modal>
</>
);
};
export default Files;
@@ -0,0 +1,470 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Grid from "@mui/material/Grid";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
import Backdrop from "@mui/material/Backdrop";
import Button from "@mui/material/Button";
import Fade from "@mui/material/Fade";
import Modal from "@mui/material/Modal";
import TextField from "@mui/material/TextField";
import AddIcon from "@mui/icons-material/Add";
import ClearIcon from "@mui/icons-material/Clear";
// Create Folder Modal Style
const style = {
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: 500,
width: "100%",
bgcolor: "background.paper",
boxShadow: 24,
borderRadius: "8px",
};
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/folder.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/folder.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/folder.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
createData(
"App Design",
"/images/folder.png",
"ET Agency",
"5 GB",
"Jan 08, 2022",
"15"
),
createData(
"Web Design & Development",
"/images/folder.png",
"ET Templates",
"13 GB",
"Jan 13, 2022",
"90"
),
createData(
"React Template",
"/images/folder.png",
"ET Company",
"100 GB",
"Dec 18, 2021",
"120"
),
createData(
"Material Template",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Angular Template",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const ImportantFiles = () => {
// Create Folder Modal
const [open, setOpen] = React.useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
// Form
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",
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,
}}
>
Important Files
</Typography>
<Button
onClick={handleOpen}
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 Folder
</Button>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "650px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="22px" />
<Typography
as="h5"
fontWeight="500"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
<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="Download" placement="top">
<IconButton
aria-label="download"
size="small"
color="success"
className="success"
>
<CloudDownloadIcon 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>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
{/* Create Folder Modal */}
<Modal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={open}
onClose={handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={open}>
<Box sx={style} className="dark-BG-101010">
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
background: "#EDEFF5",
borderRadius: "8px",
padding: "25px 20px",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "500",
fontSize: "20px",
}}
>
Create Folder
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "30px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={1}>
<Grid item xs={12}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Folder Name
</Typography>
<TextField
autoComplete="given-name"
name="folderName"
required
fullWidth
id="folderName"
label="Folder Name"
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",
color: "#fff !important",
}}
>
<AddIcon
sx={{
position: "relative",
top: "-2px",
}}
className="mr-5px"
/>{" "}
Add Folder
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</Fade>
</Modal>
</>
);
};
export default ImportantFiles;
+236
View File
@@ -0,0 +1,236 @@
import React from "react";
import { useRouter } from "next/router";
import Link from "next/link";
import Box from "@mui/material/Box";
import Card from "@mui/material/Card";
import Typography from "@mui/material/Typography";
import { styled, alpha } from "@mui/material/styles";
import InputBase from "@mui/material/InputBase";
import SearchIcon from "@mui/icons-material/Search";
import LinearProgress, {
linearProgressClasses,
} from "@mui/material/LinearProgress";
import styles from "@/components/Apps/FileManager/LeftSidebar.module.css";
// Search field style
const Search = styled("div")(({ theme }) => ({
position: "relative",
borderRadius: 100,
backgroundColor: alpha(theme.palette.common.white, 0.15),
"&:hover": {
backgroundColor: alpha(theme.palette.common.white, 0.25),
},
marginRight: 0,
marginLeft: 0,
marginBottom: 15,
width: "100%",
[theme.breakpoints.up("xs")]: {
marginRight: theme.spacing(1),
width: "auto",
},
}));
const SearchIconWrapper = styled("div")(({ theme }) => ({
color: "#757FEF",
padding: theme.spacing(0, 2),
height: "100%",
position: "absolute",
right: "0",
pointerEvents: "none",
display: "flex",
alignItems: "center",
justifyContent: "center",
zIndex: "5",
}));
const StyledInputBase = styled(InputBase)(({ theme }) => ({
color: "inherit",
width: "100%",
"& .MuiInputBase-input": {
backgroundColor: "#F5F7FA",
borderRadius: "30px",
padding: theme.spacing(1.4, 0, 1.4, 2),
},
}));
// Storage Status Progress
const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
height: 5,
borderRadius: 5,
[`&.${linearProgressClasses.colorPrimary}`]: {
backgroundColor:
theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
},
[`& .${linearProgressClasses.bar}`]: {
borderRadius: 5,
backgroundColor: theme.palette.mode === "light" ? "#757FEF" : "#308fe8",
},
}));
const LeftSidebar = () => {
const router = useRouter();
return (
<>
<Card
sx={{
boxShadow: "none",
p: "25px 20px",
mb: "15px",
}}
>
<Typography
as="h1"
sx={{
fontSize: 17,
fontWeight: 500,
mb: 1,
}}
>
My Drive
</Typography>
{/* Search */}
<Search className="ls-search-form">
<SearchIconWrapper className="search-btn">
<SearchIcon />
</SearchIconWrapper>
<StyledInputBase
placeholder="Search here.."
inputProps={{ "aria-label": "search" }}
/>
</Search>
{/* Nav */}
<ul className={styles.leftNav}>
<li
className={
router.pathname == "/apps/file-manager" ? "activeFMLink" : ""
}
>
<Link href="/apps/file-manager">
<i className="ri-folder-line"></i> My Drive
</Link>
<ul>
<li
className={
router.pathname == "/apps/file-manager/assets"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/assets">Assets</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/projects"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/projects">Projects</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/personal"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/personal">Personal</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/templates"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/templates">Templates</Link>
</li>
</ul>
</li>
<li
className={
router.pathname == "/apps/file-manager/documents"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/documents">
<i className="ri-file-text-line"></i> Documents
</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/media"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/media">
<i className="ri-image-line"></i> Media
</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/recents"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/recents">
<i className="ri-time-line"></i> Recents
</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/important"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/important">
<i className="ri-star-fill"></i> Important
</Link>
</li>
<li
className={
router.pathname == "/apps/file-manager/trash"
? "activeFMLink"
: ""
}
>
<Link href="/apps/file-manager/trash">
<i className="ri-delete-bin-line"></i> Trash
</Link>
</li>
</ul>
{/* Storage status */}
<Box>
<Typography fontSize="14px" fontWeight="500" mb="5px">
Storage Status
</Typography>
<BorderLinearProgress variant="determinate" value={60} />
<Typography fontSize="12px" mt="5px" color="#A9A9C8">
186.5 GB Used of 120 GB
</Typography>
</Box>
</Card>
</>
);
};
export default LeftSidebar;
@@ -0,0 +1,73 @@
.leftNav {
padding: 0;
margin: 0 0 30px;
list-style-type: none;
}
.leftNav li {
margin-bottom: 15px;
}
.leftNav li:last-child {
margin-bottom: 0;
}
.leftNav li a {
text-decoration: none;
color: #260944;
font-size: 14px;
font-weight: 500;
}
.leftNav li a:hover, .leftNav li a:hover i {
color: var(--primaryColor);
}
.leftNav li a i {
color: #818093;
font-size: 18px;
position: relative;
top: 3px;
margin-right: 5px;
}
.leftNav li ul {
padding: 0;
margin: 15px 0 0;
list-style-type: none;
}
.leftNav li ul li {
position: relative;
padding-left: 45px;
}
.leftNav li ul li::before {
content: "";
background-color: #818093;
width: 6px;
height: 6px;
border-radius: 100%;
position: absolute;
left: 30px;
top: 6px;
}
.leftNav li ul li a {
color: #5B5B98;
font-size: 13.5px;
}
/* For RTL Style */
[dir="rtl"] .leftNav li a i {
margin-right: 0;
margin-left: 5px;
}
[dir="rtl"] .leftNav li ul li {
padding-left: 0;
padding-right: 45px;
}
[dir="rtl"] .leftNav li ul li::before {
left: auto;
right: 25px;
}
/* For dark mode */
[class="dark"] .leftNav li a {
color: var(--darkHeadingTextColor);
}
[class="dark"] .leftNav li ul li a {
color: var(--darkBodyTextColor);
}
+294
View File
@@ -0,0 +1,294 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/media.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/media.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/media.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/media.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/media.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
createData(
"App Design",
"/images/media.png",
"ET Agency",
"5 GB",
"Jan 08, 2022",
"15"
),
createData(
"Web Design & Development",
"/images/media.png",
"ET Templates",
"13 GB",
"Jan 13, 2022",
"90"
),
createData(
"React Template",
"/images/media.png",
"ET Company",
"100 GB",
"Dec 18, 2021",
"120"
),
createData(
"Material Template",
"/images/media.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Angular Template",
"/images/media.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const MediaFiles = () => {
return (
<>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "25px",
mb: "15px",
}}
>
<Box
sx={{
borderBottom: "1px solid #EEF0F7",
paddingBottom: "10px",
mb: "20px",
}}
className="for-dark-bottom-border"
>
<Typography
as="h3"
sx={{
fontSize: 18,
fontWeight: 500,
}}
>
Media
</Typography>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "800px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="18px" />
<Typography
as="h5"
fontWeight="500"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</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="Download" placement="top">
<IconButton
aria-label="download"
size="small"
color="success"
className="success"
>
<CloudDownloadIcon 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>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
</>
);
};
export default MediaFiles;
+162
View File
@@ -0,0 +1,162 @@
import React from "react";
import Grid from "@mui/material/Grid";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
import Menu from "@mui/material/Menu";
import MenuItem from "@mui/material/MenuItem";
import IconButton from "@mui/material/IconButton";
import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
const MyDriveData = [
{
id: "1",
icon: "/images/folder.png",
title: "Projects",
totalFiles: "387 Files",
filesSize: "4.5 GB",
},
{
id: "2",
icon: "/images/folder.png",
title: "Documents",
totalFiles: "1572 Files",
filesSize: "7.5 GB",
},
{
id: "3",
icon: "/images/folder.png",
title: "Media",
totalFiles: "1241 Files",
filesSize: "2.8 GB",
},
{
id: "4",
icon: "/images/folder.png",
title: "Applications",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
];
const MyDrive = () => {
const [anchorEl, setAnchorEl] = React.useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
>
{MyDriveData.map((dInfo) => (
<Grid item xs={12} sm={6} md={6} lg={6} xl={3} key={dInfo.id}>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "15px 20px 20px",
mb: "15px",
}}
>
<Box
sx={{
display: "flex",
justifyContent: "end",
}}
>
<Box>
<IconButton
onClick={handleClick}
size="small"
aria-controls={open ? "account-menu" : undefined}
aria-haspopup="true"
aria-expanded={open ? "true" : undefined}
>
<MoreHorizIcon />
</IconButton>
</Box>
<Menu
anchorEl={anchorEl}
id="account-menu"
open={open}
onClose={handleClose}
onClick={handleClose}
PaperProps={{
elevation: 0,
sx: {
overflow: "visible",
filter: "drop-shadow(0px 2px 8px rgba(229,229,229,0.32))",
mt: 1.5,
"& .MuiAvatar-root": {
width: 32,
height: 32,
ml: -0.5,
mr: 1,
},
"&:before": {
content: '""',
display: "block",
position: "absolute",
top: 0,
right: 14,
width: 10,
height: 10,
bgcolor: "background.paper",
transform: "translateY(-50%) rotate(45deg)",
zIndex: 0,
},
},
}}
transformOrigin={{ horizontal: "right", vertical: "top" }}
anchorOrigin={{ horizontal: "right", vertical: "bottom" }}
>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-edit-2-line mr-5px"></i> Rename
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-download-cloud-line mr-5px"></i> Download
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-delete-bin-line mr-5px"></i> Remove
</MenuItem>
</Menu>
</Box>
<Box
sx={{
textAlign: "center",
padding: "30px 0",
}}
>
<img src={dInfo.icon} alt="folder" />
<Typography as="h3" fontWeight="500" fontSize="14px" mt="10px">
{dInfo.title}
</Typography>
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
}}
>
<Typography>{dInfo.totalFiles}</Typography>
<Typography>{dInfo.filesSize}</Typography>
</Box>
</Card>
</Grid>
))}
</Grid>
</>
);
};
export default MyDrive;
@@ -0,0 +1,218 @@
import React from "react";
import Grid from "@mui/material/Grid";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
import Menu from "@mui/material/Menu";
import MenuItem from "@mui/material/MenuItem";
import IconButton from "@mui/material/IconButton";
import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
const PersonalFilesData = [
{
id: "1",
icon: "/images/folder.png",
title: "Mobile Apps",
totalFiles: "55 Files",
filesSize: "4.5 GB",
},
{
id: "2",
icon: "/images/folder.png",
title: "Important Files",
totalFiles: "200 Files",
filesSize: "6.5 GB",
},
{
id: "3",
icon: "/images/folder.png",
title: "Angular Template",
totalFiles: "340 Files",
filesSize: "7.5 GB",
},
{
id: "4",
icon: "/images/folder.png",
title: "Projects",
totalFiles: "387 Files",
filesSize: "4.5 GB",
},
{
id: "5",
icon: "/images/folder.png",
title: "Documents",
totalFiles: "1572 Files",
filesSize: "7.5 GB",
},
{
id: "6",
icon: "/images/folder.png",
title: "ET Template",
totalFiles: "60 Files",
filesSize: "8 GB",
},
{
id: "7",
icon: "/images/folder.png",
title: "React Template",
totalFiles: "120 Files",
filesSize: "6.5 GB",
},
{
id: "8",
icon: "/images/folder.png",
title: "Material UI",
totalFiles: "40 Files",
filesSize: "5.5 GB",
},
{
id: "9",
icon: "/images/folder.png",
title: "WP Themes",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
{
id: "10",
icon: "/images/folder.png",
title: "Personal Photos",
totalFiles: "2587 Files",
filesSize: "14 GB",
},
{
id: "11",
icon: "/images/folder.png",
title: "Media",
totalFiles: "1241 Files",
filesSize: "2.8 GB",
},
{
id: "12",
icon: "/images/folder.png",
title: "Applications",
totalFiles: "2487 Files",
filesSize: "4.5 GB",
},
];
const PersonalFiles = () => {
const [anchorEl, setAnchorEl] = React.useState(null);
const open = Boolean(anchorEl);
const handleClick = (event) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<>
<Grid
container
rowSpacing={1}
columnSpacing={{ xs: 1, sm: 1, md: 1, lg: 1, xl: 2 }}
>
{PersonalFilesData.map((file) => (
<Grid item xs={12} sm={6} md={6} lg={6} xl={3} key={file.id}>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "15px 20px 20px",
mb: "15px",
}}
>
<Box
sx={{
display: "flex",
justifyContent: "end",
}}
>
<Box>
<IconButton
onClick={handleClick}
size="small"
aria-controls={open ? "account-menu" : undefined}
aria-haspopup="true"
aria-expanded={open ? "true" : undefined}
>
<MoreHorizIcon />
</IconButton>
</Box>
<Menu
anchorEl={anchorEl}
id="account-menu"
open={open}
onClose={handleClose}
onClick={handleClose}
PaperProps={{
elevation: 0,
sx: {
overflow: "visible",
filter: "drop-shadow(0px 2px 8px rgba(229,229,229,0.32))",
mt: 1.5,
"& .MuiAvatar-root": {
width: 32,
height: 32,
ml: -0.5,
mr: 1,
},
"&:before": {
content: '""',
display: "block",
position: "absolute",
top: 0,
right: 14,
width: 10,
height: 10,
bgcolor: "background.paper",
transform: "translateY(-50%) rotate(45deg)",
zIndex: 0,
},
},
}}
transformOrigin={{ horizontal: "right", vertical: "top" }}
anchorOrigin={{ horizontal: "right", vertical: "bottom" }}
>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-edit-2-line mr-5px"></i> Rename
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-download-cloud-line mr-5px"></i> Download
</MenuItem>
<MenuItem sx={{ fontSize: "13px" }}>
<i className="ri-delete-bin-line mr-5px"></i> Remove
</MenuItem>
</Menu>
</Box>
<Box
sx={{
textAlign: "center",
padding: "30px 0",
}}
>
<img src={file.icon} alt="folder" />
<Typography as="h3" fontWeight="500" fontSize="14px" mt="10px">
{file.title}
</Typography>
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
}}
>
<Typography>{file.totalFiles}</Typography>
<Typography>{file.filesSize}</Typography>
</Box>
</Card>
</Grid>
))}
</Grid>
</>
);
};
export default PersonalFiles;
+433
View File
@@ -0,0 +1,433 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Grid from "@mui/material/Grid";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
import Backdrop from "@mui/material/Backdrop";
import Button from "@mui/material/Button";
import Fade from "@mui/material/Fade";
import Modal from "@mui/material/Modal";
import TextField from "@mui/material/TextField";
import AddIcon from "@mui/icons-material/Add";
import ClearIcon from "@mui/icons-material/Clear";
// Create Folder Modal Style
const style = {
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: 500,
width: "100%",
bgcolor: "background.paper",
boxShadow: 24,
borderRadius: "8px",
};
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/folder.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/folder.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/folder.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const RecentFiles = () => {
// Create Folder Modal
const [open, setOpen] = React.useState(false);
const handleOpen = () => setOpen(true);
const handleClose = () => setOpen(false);
// Form
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",
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,
}}
>
Recent Files
</Typography>
<Button
onClick={handleOpen}
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 Folder
</Button>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "355px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="22px" />
<Typography
as="h5"
fontWeight="500"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</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="Download" placement="top">
<IconButton
aria-label="download"
size="small"
color="success"
className="success"
>
<CloudDownloadIcon 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>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
{/* Create Folder Modal */}
<Modal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={open}
onClose={handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={open}>
<Box
sx={style}
className="dark-BG-101010"
>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
background: "#EDEFF5",
borderRadius: "8px",
padding: "25px 20px",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "500",
fontSize: "20px",
}}
>
Create Folder
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "30px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={1}>
<Grid item xs={12}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Folder Name
</Typography>
<TextField
autoComplete="given-name"
name="folderName"
required
fullWidth
id="folderName"
label="Folder Name"
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",
color: "#fff !important",
}}
>
<AddIcon
sx={{
position: "relative",
top: "-2px",
}}
className="mr-5px"
/>{" "}
Add Folder
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</Fade>
</Modal>
</>
);
};
export default RecentFiles;
@@ -0,0 +1,298 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
import CloudDownloadIcon from "@mui/icons-material/CloudDownload";
import DriveFileRenameOutlineIcon from "@mui/icons-material/DriveFileRenameOutline";
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/folder.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/folder.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/folder.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
createData(
"App Design",
"/images/folder.png",
"ET Agency",
"5 GB",
"Jan 08, 2022",
"15"
),
createData(
"Web Design & Development",
"/images/folder.png",
"ET Templates",
"13 GB",
"Jan 13, 2022",
"90"
),
createData(
"React Template",
"/images/folder.png",
"ET Company",
"100 GB",
"Dec 18, 2021",
"120"
),
createData(
"Material Template",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Angular Template",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const TemplateFiles = () => {
return (
<>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "25px",
mb: "15px",
}}
>
<Box
sx={{
borderBottom: "1px solid #EEF0F7",
paddingBottom: "10px",
mb: "20px",
}}
className="for-dark-bottom-border"
>
<Typography
as="h3"
sx={{
fontSize: 18,
fontWeight: 500,
}}
>
Templates
</Typography>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "650px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="22px" />
<Typography
as="h5"
fontWeight="500"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</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="Download" placement="top">
<IconButton
aria-label="download"
size="small"
color="success"
className="success"
>
<CloudDownloadIcon 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>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
</>
);
};
export default TemplateFiles;
+274
View File
@@ -0,0 +1,274 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
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 Tooltip from "@mui/material/Tooltip";
import IconButton from "@mui/material/IconButton";
import DeleteIcon from "@mui/icons-material/Delete";
function createData(name, icon, owner, fileSize, listedDate, fileItem) {
return { name, icon, owner, fileSize, listedDate, fileItem };
}
const rows = [
createData(
"Product UI/UX Design",
"/images/folder.png",
"Danielle Thompson",
"0.7 GB",
"Mar 08, 2021",
"02"
),
createData(
"App Design & Development",
"/images/folder.png",
"ET Themes",
"521 MB",
"Feb 13, 2021",
"01"
),
createData(
"Ubold Sketch Design",
"/images/folder.png",
"Gary Coley",
"64.2 MB",
"Dec 18, 2020",
"02"
),
createData(
"Annualreport.pdf",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Wireframes",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
createData(
"App Design",
"/images/folder.png",
"ET Agency",
"5 GB",
"Jan 08, 2022",
"15"
),
createData(
"Web Design & Development",
"/images/folder.png",
"ET Templates",
"13 GB",
"Jan 13, 2022",
"90"
),
createData(
"React Template",
"/images/folder.png",
"ET Company",
"100 GB",
"Dec 18, 2021",
"120"
),
createData(
"Material Template",
"/images/folder.png",
"Cooper Sharwood",
"12.5 GB",
"Nov 25, 2020",
"05"
),
createData(
"Angular Template",
"/images/folder.png",
"Jasper Rigg",
"8.3 MB",
"Nov 25, 2019",
"03"
),
];
const TrashFiles = () => {
return (
<>
<Card
sx={{
boxShadow: "none",
borderRadius: "10px",
p: "25px",
mb: "15px",
}}
>
<Box
sx={{
borderBottom: "1px solid #EEF0F7",
paddingBottom: "10px",
mb: "20px",
}}
className="for-dark-bottom-border"
>
<Typography
as="h3"
sx={{
fontSize: 18,
fontWeight: 500,
}}
>
Trash Files
</Typography>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
maxHeight: "650px",
overflowY: "auto",
}}
>
<Table
sx={{ minWidth: 800 }}
aria-label="simple table"
className="dark-table"
>
<TableHead sx={{ background: "#F7FAFF" }}>
<TableRow>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Name
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Owner
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Size
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Listed Date
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
File Item
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13.5px" }}
>
Actions
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow
key={row.name}
sx={{ "&:last-child td, &:last-child th": { border: 0 } }}
>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "flex",
alignItems: "center",
}}
>
<img src={row.icon} alt="Image" width="22px" />
<Typography
as="h5"
fontWeight="500"
fontSize="13px"
className="ml-1"
>
{row.name}
</Typography>
</Box>
</TableCell>
<TableCell
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.owner}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileSize}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.listedDate}
</TableCell>
<TableCell
align="center"
sx={{ borderBottom: "1px solid #F7FAFF", fontSize: "13px" }}
>
{row.fileItem}
</TableCell>
<TableCell
align="right"
sx={{ borderBottom: "1px solid #F7FAFF" }}
>
<Box
sx={{
display: "inline-block",
}}
>
<Tooltip title="Remove Permanently" placement="top">
<IconButton
aria-label="Remove Permanently"
size="small"
color="danger"
className="danger"
>
<DeleteIcon fontSize="inherit" />
</IconButton>
</Tooltip>
</Box>
</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</Card>
</>
);
};
export default TrashFiles;
+926
View File
@@ -0,0 +1,926 @@
import React from "react";
import { Box, Typography } from "@mui/material";
import Card from "@mui/material/Card";
import IconButton from "@mui/material/IconButton";
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 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 Tooltip from "@mui/material/Tooltip";
import Grid from "@mui/material/Grid";
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 Avatar from "@mui/material/Avatar";
import Checkbox from "@mui/material/Checkbox";
const label = { inputProps: { "aria-label": "Checkbox demo" } };
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";
// Add Task 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 Add Task Modal
function ToDoList(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>
);
}
ToDoList.propTypes = {
count: PropTypes.number.isRequired,
onPageChange: PropTypes.func.isRequired,
page: PropTypes.number.isRequired,
rowsPerPage: PropTypes.number.isRequired,
};
function createData(
name,
url,
startDate,
endDate,
status,
badgeClass,
completion,
priority
) {
return {
name,
url,
startDate,
endDate,
status,
badgeClass,
completion,
priority,
};
}
const rows = [
createData(
"Public Beta Release",
"/images/user1.png",
"1 Jan 2022",
"1 Apr 2022",
"Completed",
"successBadge",
"10/10",
"High"
),
createData(
"Fix Platform Errors",
"/images/user2.png",
"1 Mar 2022",
"1 May 2022",
"Completed",
"successBadge",
"10/10",
"High"
),
createData(
"Launch our Mobile App",
"/images/user3.png",
"15 Apr 2022",
"15 Jun 2022",
"On Going",
"primaryBadge",
"7/10",
"Medium"
),
createData(
"Add the New Pricing Page",
"/images/user4.png",
"15 May 2022",
"15 Jun 2022",
"Pending",
"dangerBadge",
"1/10",
"Low"
),
createData(
"Redesign New Online Shop",
"/images/user5.png",
"15 Jun 2022",
"15 Aug 2022",
"On Going",
"primaryBadge",
"0/10",
"Low"
),
createData(
"Material Ui Design",
"/images/user6.png",
"15 Jul 2022",
"15 Sep 2022",
"On Going",
"primaryBadge",
"7/10",
"Medium"
),
createData(
"Add Progress Track",
"/images/user7.png",
"15 Mar 2022",
"15 May 2022",
"Completed",
"successBadge",
"10/10",
"High"
),
createData(
"Web Design",
"/images/user8.png",
"15 Aug 2022",
"15 Dec 2022",
"On Going",
"primaryBadge",
"9/10",
"High"
),
createData(
"Web Development",
"/images/user9.png",
"15 Nov 2022",
"15 Jan 2023",
"On Going",
"primaryBadge",
"8/10",
"High"
),
createData(
"React App Development",
"/images/user10.png",
"15 Jan 2022",
"15 Mar 2022",
"Completed",
"successBadge",
"10/10",
"High"
),
createData(
"eCommerce Development",
"/images/user11.png",
"15 Mar 2022",
"15 May 2022",
"On Going",
"primaryBadge",
"8/10",
"Medium"
),
createData(
"App Development",
"/images/user12.png",
"15 May 2022",
"15 Jul 2022",
"On Going",
"primaryBadge",
"5/10",
"Medium"
),
].sort((a, b) => (a.name < b.name ? -1 : 1));
const ToDoLists = () => {
const [page, setPage] = React.useState(0);
const [rowsPerPage, setRowsPerPage] = React.useState(8);
// 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);
};
// Add task 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 Add Task 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,
}}
>
My Tasks
</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"
/>{" "}
Add Task
</Button>
</Box>
<TableContainer
component={Paper}
sx={{
boxShadow: "none",
}}
>
<Table
sx={{ minWidth: 930 }}
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
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13.5px",
}}
>
Assigned
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13.5px",
}}
>
Start Date
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13.5px",
}}
>
End Date
</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",
}}
>
Completion
</TableCell>
<TableCell
align="center"
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13.5px",
}}
>
Priority
</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
sx={{
fontWeight: "500",
fontSize: "13px",
borderBottom: "1px solid #F7FAFF",
color: "#260944",
pt: "16px",
pb: "16px",
}}
>
<Checkbox {...label} size="small" />
{row.name}
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
pt: "16px",
pb: "16px",
}}
>
<Avatar
alt="User"
src={row.url}
sx={{ width: 35, height: 35 }}
/>
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13px",
pt: "16px",
pb: "16px",
}}
>
{row.startDate}
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13px",
pt: "16px",
pb: "16px",
}}
>
{row.endDate}
</TableCell>
<TableCell
align="center"
sx={{
fontWeight: 500,
borderBottom: "1px solid #F7FAFF",
fontSize: "11px",
pt: "16px",
pb: "16px",
}}
>
<span className={row.badgeClass}>{row.status}</span>
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13px",
pt: "16px",
pb: "16px",
}}
align="center"
>
{row.completion}
</TableCell>
<TableCell
sx={{
borderBottom: "1px solid #F7FAFF",
fontSize: "13px",
pt: "16px",
pb: "16px",
}}
align="center"
>
{row.priority}
</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={4}
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={ToDoList}
style={{ borderBottom: "none" }}
/>
</TableRow>
</TableFooter>
</Table>
</TableContainer>
</Card>
{/* Add task 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",
}}
className="bg-black"
>
<Typography
id="modal-modal-title"
variant="h6"
component="h2"
sx={{
fontWeight: "500",
fontSize: "20px",
}}
>
Add Task
</Typography>
<IconButton
aria-label="remove"
size="small"
onClick={handleClose}
className="modal-close"
>
<ClearIcon />
</IconButton>
</Box>
<Box component="form" noValidate onSubmit={handleSubmit}>
<Box
sx={{
background: "#fff",
padding: "20px 20px",
borderRadius: "8px",
}}
className="dark-BG-101010"
>
<Grid container alignItems="center" spacing={2}>
<Grid item xs={12} md={12} lg={12}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Task
</Typography>
<TextField
autoComplete="task"
name="task"
required
fullWidth
id="task"
label="Task"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
className="for-dark-input"
/>
</Grid>
<Grid item xs={12} md={12} lg={6}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Member
</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",
}}
>
Start Date
</Typography>
<TextField
autoComplete="start-date"
name="startDate"
required
fullWidth
id="startDate"
type="date"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
/>
</Grid>
<Grid item xs={12} md={12} lg={6}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
End Date
</Typography>
<TextField
autoComplete="end-date"
name="endDate"
required
fullWidth
id="endDate"
type="date"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
/>
</Grid>
<Grid item xs={12} md={12} lg={6}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Status
</Typography>
<TextField
autoComplete="status"
name="status"
required
fullWidth
id="status"
label="Status"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
/>
</Grid>
<Grid item xs={12} md={12} lg={6}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Completion
</Typography>
<TextField
autoComplete="completion"
name="completion"
required
fullWidth
id="completion"
label="0/10"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
/>
</Grid>
<Grid item xs={12} md={12} lg={6}>
<Typography
as="h5"
sx={{
fontWeight: "500",
fontSize: "14px",
mb: "12px",
}}
>
Priority
</Typography>
<TextField
autoComplete="priority"
name="priority"
required
fullWidth
id="priority"
label="High/medium/low"
autoFocus
InputProps={{
style: { borderRadius: 8 },
}}
/>
</Grid>
<Grid item xs={12} textAlign="end">
<Button
variant="contained"
color="secondary"
sx={{
mt: 1,
textTransform: "capitalize",
borderRadius: "8px",
fontWeight: "500",
fontSize: "13px",
padding: "12px 20px",
color: "#fff !important"
}}
onClick={handleClose}
className="mr-15px"
>
<ClearIcon
sx={{
position: "relative",
top: "-1px",
}}
className="mr-5px"
/>{" "}
Cancel
</Button>
<Button
type="submit"
variant="contained"
sx={{
mt: 1,
textTransform: "capitalize",
borderRadius: "8px",
fontWeight: "500",
fontSize: "13px",
padding: "12px 20px",
color: "#fff !important"
}}
>
<AddIcon
sx={{
position: "relative",
top: "-1px",
}}
className="mr-5px"
/>{" "}
Add Task
</Button>
</Grid>
</Grid>
</Box>
</Box>
</Box>
</BootstrapDialog>
</>
);
};
export default ToDoLists;