diff --git a/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/index.jsx b/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/index.jsx
index 1046a8ca3..c818d04a3 100644
--- a/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/index.jsx
+++ b/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/index.jsx
@@ -1,13 +1,20 @@
import ChartBox from "../../../../../Components/Charts/ChartBox";
import AreaChart from "../Charts/AreaChart";
import AreaChartLegend from "../Charts/AreaChartLegend";
+import SkeletonLayout from "./skeleton";
import ScoreIcon from "../../../../../assets/icons/monitor-graph-line.svg?react";
import { Stack } from "@mui/material";
+import PropTypes from "prop-types";
import { useTheme } from "@emotion/react";
const PageSpeedAreaChart = ({ shouldRender, monitor, metrics, handleMetrics }) => {
const theme = useTheme();
+
+ if (!shouldRender) {
+ return ;
+ }
+
if (typeof monitor === "undefined") {
return null;
}
@@ -42,4 +49,11 @@ const PageSpeedAreaChart = ({ shouldRender, monitor, metrics, handleMetrics }) =
);
};
+PageSpeedAreaChart.propTypes = {
+ shouldRender: PropTypes.bool,
+ monitor: PropTypes.object,
+ metrics: PropTypes.object,
+ handleMetrics: PropTypes.func,
+};
+
export default PageSpeedAreaChart;
diff --git a/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/skeleton.jsx b/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/skeleton.jsx
new file mode 100644
index 000000000..b793908d4
--- /dev/null
+++ b/Client/src/Pages/PageSpeed/Details/Components/PageSpeedAreaChart/skeleton.jsx
@@ -0,0 +1,17 @@
+import { Box, Skeleton } from "@mui/material";
+
+const SkeletonLayout = () => {
+ return (
+
+
+
+ );
+};
+
+export default SkeletonLayout;
diff --git a/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/index.jsx b/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/index.jsx
index 8f34dbf19..2db40e126 100644
--- a/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/index.jsx
+++ b/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/index.jsx
@@ -4,9 +4,19 @@ import PieChart from "../Charts/PieChart";
import { Typography } from "@mui/material";
import { useTheme } from "@emotion/react";
import PieChartLegend from "../Charts/PieChartLegend";
-
-const PerformanceReport = ({ audits }) => {
+import SkeletonLayout from "./skeleton";
+const PerformanceReport = ({ shouldRender, audits }) => {
+ console.log("shouldRender", shouldRender);
const theme = useTheme();
+
+ if (!shouldRender) {
+ return ;
+ }
+
+ if (typeof audits === "undefined") {
+ return null;
+ }
+
return (
}
diff --git a/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/skeleton.jsx b/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/skeleton.jsx
new file mode 100644
index 000000000..b793908d4
--- /dev/null
+++ b/Client/src/Pages/PageSpeed/Details/Components/PerformanceReport/skeleton.jsx
@@ -0,0 +1,17 @@
+import { Box, Skeleton } from "@mui/material";
+
+const SkeletonLayout = () => {
+ return (
+
+
+
+ );
+};
+
+export default SkeletonLayout;
diff --git a/Client/src/Pages/PageSpeed/Details/index.jsx b/Client/src/Pages/PageSpeed/Details/index.jsx
index 1a4cbc7e4..43eb0ed7b 100644
--- a/Client/src/Pages/PageSpeed/Details/index.jsx
+++ b/Client/src/Pages/PageSpeed/Details/index.jsx
@@ -44,14 +44,6 @@ const PageSpeedDetails = () => {
setMetrics((prev) => ({ ...prev, [id]: !prev[id] }));
};
- if (isLoading) {
- return "funk";
- }
-
- if (typeof audits === "undefined") {
- return "No Data";
- }
-
return (
@@ -76,7 +68,10 @@ const PageSpeedDetails = () => {
metrics={metrics}
handleMetrics={handleMetrics}
/>
-
+
);
};