Files
CHIEFSOFT\ameye 5f95d857d4 first commit
2023-10-14 22:02:57 -04:00

237 lines
6.2 KiB
JavaScript

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;