diff --git a/client/src/Components/ArrowLeft/index.jsx b/client/src/Components/ArrowLeft/index.jsx
new file mode 100644
index 000000000..cc7e0b078
--- /dev/null
+++ b/client/src/Components/ArrowLeft/index.jsx
@@ -0,0 +1,36 @@
+import LeftArrow from "../../assets/icons/left-arrow.svg?react";
+import LeftArrowDouble from "../../assets/icons/left-arrow-double.svg?react";
+import LeftArrowLong from "../../assets/icons/left-arrow-long.svg?react";
+import PropTypes from "prop-types";
+
+const ArrowLeft = ({ type, color = "#667085", ...props }) => {
+ console.log(color);
+ if (type === "double") {
+ return (
+
+ );
+ } else if (type === "long") {
+ return (
+
+ );
+ } else {
+ return (
+
+ );
+ }
+};
+
+ArrowLeft.propTypes = {
+ color: PropTypes.string,
+ type: PropTypes.oneOf(["double", "long", "default"]),
+};
+export default ArrowLeft;
diff --git a/client/src/Components/ArrowRight/index.jsx b/client/src/Components/ArrowRight/index.jsx
new file mode 100644
index 000000000..335bc19f2
--- /dev/null
+++ b/client/src/Components/ArrowRight/index.jsx
@@ -0,0 +1,28 @@
+import RightArrow from "../../assets/icons/right-arrow.svg?react";
+import RightArrowDouble from "../../assets/icons/right-arrow-double.svg?react";
+import PropTypes from "prop-types";
+
+const ArrowRight = ({ type, color = "#667085", ...props }) => {
+ if (type === "double") {
+ return (
+
+ );
+ } else {
+ return (
+
+ );
+ }
+};
+
+ArrowRight.propTypes = {
+ type: PropTypes.oneOf(["double", "default"]),
+ color: PropTypes.string,
+};
+
+export default ArrowRight;
diff --git a/client/src/Components/Breadcrumbs/index.jsx b/client/src/Components/Breadcrumbs/index.jsx
index bf04afa2e..f1af89790 100644
--- a/client/src/Components/Breadcrumbs/index.jsx
+++ b/client/src/Components/Breadcrumbs/index.jsx
@@ -2,8 +2,7 @@ import PropTypes from "prop-types";
import { Box, Breadcrumbs as MUIBreadcrumbs } from "@mui/material";
import { useTheme } from "@emotion/react";
import { useNavigate } from "react-router-dom";
-import ArrowRight from "../../assets/icons/right-arrow.svg?react";
-
+import ArrowRight from "../ArrowRight";
import "./index.css";
/**
diff --git a/client/src/Components/Sidebar/collapseButton.jsx b/client/src/Components/Sidebar/collapseButton.jsx
index b8f088669..1cd9fc618 100644
--- a/client/src/Components/Sidebar/collapseButton.jsx
+++ b/client/src/Components/Sidebar/collapseButton.jsx
@@ -1,13 +1,27 @@
import IconButton from "@mui/material/IconButton";
-import ArrowRight from "../../assets/icons/right-arrow.svg?react";
-import ArrowLeft from "../../assets/icons/left-arrow.svg?react";
+import ArrowRight from "../ArrowRight";
+import ArrowLeft from "../ArrowLeft";
import { useTheme } from "@mui/material/styles";
import { useDispatch } from "react-redux";
import { toggleSidebar } from "../../Features/UI/uiSlice";
+import PropTypes from "prop-types";
const CollapseButton = ({ collapsed }) => {
const theme = useTheme();
const dispatch = useDispatch();
+ const arrowIcon = collapsed ? (
+
+ ) : (
+
+ );
return (
{
right: 0,
transform: `translate(50%, 0)`,
backgroundColor: theme.palette.tertiary.main,
- border: 1,
- borderColor: theme.palette.primary.lowContrast,
+ border: `1px solid ${theme.palette.primary.lowContrast}`,
p: theme.spacing(2.5),
- "& svg": {
- width: theme.spacing(8),
- height: theme.spacing(8),
- "& path": {
- stroke: theme.palette.primary.contrastTextSecondary,
- },
- },
+
"&:focus": { outline: "none" },
"&:hover": {
backgroundColor: theme.palette.primary.lowContrast,
@@ -37,9 +44,12 @@ const CollapseButton = ({ collapsed }) => {
dispatch(toggleSidebar());
}}
>
- {collapsed ? : }
+ {arrowIcon}
);
};
+CollapseButton.propTypes = {
+ collapsed: PropTypes.bool.isRequired,
+};
export default CollapseButton;
diff --git a/client/src/Components/Sidebar/components/collapseButton.jsx b/client/src/Components/Sidebar/components/collapseButton.jsx
new file mode 100644
index 000000000..bcae710f0
--- /dev/null
+++ b/client/src/Components/Sidebar/components/collapseButton.jsx
@@ -0,0 +1,59 @@
+import IconButton from "@mui/material/IconButton";
+import ArrowRight from "../../ArrowRight";
+import ArrowLeft from "../../ArrowLeft";
+import { useTheme } from "@mui/material/styles";
+import { useDispatch } from "react-redux";
+import { toggleSidebar } from "../../../Features/UI/uiSlice";
+
+import PropTypes from "prop-types";
+
+const CollapseButton = ({ collapsed }) => {
+ const theme = useTheme();
+ const dispatch = useDispatch();
+
+ const arrowIcon = collapsed ? (
+
+ ) : (
+
+ );
+
+ return (
+ {
+ dispatch(toggleSidebar());
+ }}
+ >
+ {arrowIcon}
+
+ );
+};
+
+CollapseButton.propTypes = {
+ collapsed: PropTypes.bool,
+};
+
+export default CollapseButton;
diff --git a/client/src/Components/Sidebar/components/logo.jsx b/client/src/Components/Sidebar/components/logo.jsx
new file mode 100644
index 000000000..e6aa660fb
--- /dev/null
+++ b/client/src/Components/Sidebar/components/logo.jsx
@@ -0,0 +1,62 @@
+import Stack from "@mui/material/Stack";
+import Box from "@mui/material/Box";
+import Typography from "@mui/material/Typography";
+import { useTheme } from "@mui/material/styles";
+import { useNavigate } from "react-router";
+import { useTranslation } from "react-i18next";
+
+const Logo = ({ collapsed }) => {
+ const { t } = useTranslation();
+ const theme = useTheme();
+ const navigate = useNavigate();
+
+ return (
+ navigate("/")}
+ sx={{ cursor: "pointer" }}
+ >
+
+ C
+
+
+ {" "}
+
+ {t("common.appName")}
+
+
+
+ );
+};
+
+export default Logo;
diff --git a/client/src/Components/Table/TablePagination/Actions/index.jsx b/client/src/Components/Table/TablePagination/Actions/index.jsx
index 1b654fe9b..dec72446b 100644
--- a/client/src/Components/Table/TablePagination/Actions/index.jsx
+++ b/client/src/Components/Table/TablePagination/Actions/index.jsx
@@ -1,9 +1,7 @@
import PropTypes from "prop-types";
import { Box, Button } from "@mui/material";
-import LeftArrowDouble from "../../../../assets/icons/left-arrow-double.svg?react";
-import RightArrowDouble from "../../../../assets/icons/right-arrow-double.svg?react";
-import LeftArrow from "../../../../assets/icons/left-arrow.svg?react";
-import RightArrow from "../../../../assets/icons/right-arrow.svg?react";
+import LeftArrow from "../../../ArrowLeft";
+import RightArrow from "../../../ArrowRight";
import { useTheme } from "@emotion/react";
TablePaginationActions.propTypes = {
@@ -50,7 +48,7 @@ function TablePaginationActions({ count, page, rowsPerPage, onPageChange }) {
disabled={page === 0}
aria-label="first page"
>
-
+
);
diff --git a/client/src/assets/icons/left-arrow-double.svg b/client/src/assets/icons/left-arrow-double.svg
index 6001a3ead..4cb2a5186 100644
--- a/client/src/assets/icons/left-arrow-double.svg
+++ b/client/src/assets/icons/left-arrow-double.svg
@@ -1,3 +1,4 @@
+
+
\ No newline at end of file
diff --git a/client/src/assets/icons/left-arrow-long.svg b/client/src/assets/icons/left-arrow-long.svg
index db9b827ed..56a774730 100644
--- a/client/src/assets/icons/left-arrow-long.svg
+++ b/client/src/assets/icons/left-arrow-long.svg
@@ -1,3 +1,4 @@
+
+
\ No newline at end of file
diff --git a/client/src/assets/icons/left-arrow.svg b/client/src/assets/icons/left-arrow.svg
index 8b38c408a..649d1681c 100644
--- a/client/src/assets/icons/left-arrow.svg
+++ b/client/src/assets/icons/left-arrow.svg
@@ -1,3 +1,4 @@
+
+
\ No newline at end of file
diff --git a/client/src/assets/icons/right-arrow-double.svg b/client/src/assets/icons/right-arrow-double.svg
index 4235134d7..6ad4882ad 100644
--- a/client/src/assets/icons/right-arrow-double.svg
+++ b/client/src/assets/icons/right-arrow-double.svg
@@ -1,3 +1,4 @@
+
+
\ No newline at end of file
diff --git a/client/src/assets/icons/right-arrow.svg b/client/src/assets/icons/right-arrow.svg
index 6b02062f2..77d022798 100644
--- a/client/src/assets/icons/right-arrow.svg
+++ b/client/src/assets/icons/right-arrow.svg
@@ -1,3 +1,4 @@
+
+
\ No newline at end of file