diff --git a/package-lock.json b/package-lock.json index bb37436..88889af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.3.1", "react-loader-spinner": "^6.1.6", + "react-multi-switch-toggle": "^1.0.12", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.24.0", "react-scripts": "5.0.1", @@ -16052,6 +16053,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, + "node_modules/react-multi-switch-toggle": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/react-multi-switch-toggle/-/react-multi-switch-toggle-1.0.12.tgz", + "integrity": "sha512-SW/g2InMjQOZSUZvq8uPnblpWpHgL/uox/xGKEoRSPZNhyHbHJEb902W+R/oS5bu2udhc7OrWi8M+G7NHzMKAw==", + "peerDependencies": { + "react": "^16.3.0", + "react-dom": "^16.3.0" + } + }, "node_modules/react-qr-reader": { "version": "3.0.0-beta-1", "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-3.0.0-beta-1.tgz", diff --git a/package.json b/package.json index 4c2457d..a5eb987 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "react-bootstrap": "^2.10.4", "react-dom": "^18.3.1", "react-loader-spinner": "^6.1.6", + "react-multi-switch-toggle": "^1.0.12", "react-qr-reader": "^3.0.0-beta-1", "react-router-dom": "^6.24.0", "react-scripts": "5.0.1", diff --git a/src/pages/Reports.js b/src/pages/Reports.js index ba51624..4df9fb1 100644 --- a/src/pages/Reports.js +++ b/src/pages/Reports.js @@ -7,6 +7,9 @@ import { } from "../helpers/transactionHelpers.js"; import CircularDiagram from "./CircularDiagram"; import styles from "./Transactions.module.css"; +import "./Switch.css"; + +import MultiSwitch from "react-multi-switch-toggle"; const RoundedRectangle = ({ onClick, @@ -14,7 +17,8 @@ const RoundedRectangle = ({ title, value, percentage, - fontSize = "20px", + fontSize = "15px", + loading = false, }) => { const containerStyle = { display: "flex", @@ -30,12 +34,15 @@ const RoundedRectangle = ({ textAlign: "left", fontFamily: "Arial, sans-serif", boxSizing: "border-box", + backgroundColor: loading ? "rgb(127 127 127)" : bgColor, }; const titleStyle = { fontWeight: "bold", marginBottom: "10px", width: "100%", + backgroundColor: loading ? "rgb(85 85 85)" : "inherit", + color: loading ? "transparent" : "inherit", }; const valueAndPercentageContainerStyle = { @@ -47,10 +54,15 @@ const RoundedRectangle = ({ }; const valueStyle = { - fontSize: fontSize, + fontSize: loading ? "15px" : fontSize, fontWeight: "bold", flex: "1", textAlign: "left", + color: loading ? "transparent" : "inherit", + backgroundColor: loading ? "rgb(85 85 85)" : "transparent", + overflow: "hidden", + textOverflow: "ellipsis", // Add ellipsis for overflow text + whiteSpace: "nowrap", // Prevent text from wrapping }; const percentageStyle = { @@ -58,6 +70,7 @@ const RoundedRectangle = ({ display: "flex", alignItems: "center", textAlign: "right", + color: loading ? "black" : percentage > 0 ? "#007bff" : "red", }; const arrowStyle = { @@ -65,25 +78,18 @@ const RoundedRectangle = ({ }; return ( -