better performance

This commit is contained in:
Amirhossein Mahmoodi
2025-01-05 14:22:50 +03:30
parent 1559f98a01
commit 58cd380c64
4 changed files with 32 additions and 18 deletions

View File

@@ -2,16 +2,24 @@
import { Box, Typography } from "@mui/material";
import { usePermissions } from "@/lib/hooks/usePermissions";
import { useEffect, useState } from "react";
function WithPermission({ children, permission_name }) {
const { data, error, isLoading } = usePermissions();
const [cachedData, setCachedData] = useState(null);
if (error || isLoading || !data || !permission_name) {
useEffect(() => {
if (data) {
setCachedData(data);
}
}, [data]);
if (error || isLoading || !cachedData || !permission_name) {
return null;
}
const hasPermission =
permission_name.includes("all") || permission_name.some((permission) => data.includes(permission));
permission_name.includes("all") || permission_name.some((permission) => cachedData.includes(permission));
if (!hasPermission) {
return (