@@ -4,19 +4,29 @@ import { CartContext } from "./CartContext";
44import OnRouteBCContext from "../../../common/authentication/OnRouteBCContext" ;
55import { useGetCartCount } from "../hooks/cart" ;
66import { getDefaultRequiredVal } from "../../../common/helpers/util" ;
7+ import { usePermissionMatrix } from "../../../common/authentication/PermissionMatrix" ;
78
89export const CartContextProvider = ( {
910 children,
1011} : {
1112 children ?: React . ReactNode ;
1213} ) => {
13- const { companyId, userDetails, idirUserDetails } = useContext ( OnRouteBCContext ) ;
14+ const { companyId, userDetails, idirUserDetails } =
15+ useContext ( OnRouteBCContext ) ;
1416 const doesUserDetailsExist = Boolean ( userDetails ) || Boolean ( idirUserDetails ) ;
17+ const canViewShoppingCart = usePermissionMatrix ( {
18+ permissionMatrixKeys : {
19+ permissionMatrixFeatureKey : "MISCELLANEOUS" ,
20+ permissionMatrixFunctionKey : "VIEW_SHOPPING_CART" ,
21+ } ,
22+ } ) ;
23+
24+ const shouldFetchCartCount = doesUserDetailsExist && canViewShoppingCart ;
1525
1626 // Set cart count for company
1727 const cartCountQuery = useGetCartCount (
1828 getDefaultRequiredVal ( 0 , companyId ) ,
19- doesUserDetailsExist ,
29+ shouldFetchCartCount ,
2030 ) ;
2131
2232 const { data : fetchedCartCount } = cartCountQuery ;
@@ -31,14 +41,11 @@ export const CartContextProvider = ({
3141 cartCount,
3242 refetchCartCount,
3343 } ;
34- } , [
35- cartCount ,
36- refetchCartCount ,
37- ] ) ;
44+ } , [ cartCount , refetchCartCount ] ) ;
3845
3946 return (
4047 < CartContext . Provider value = { contextValues } >
4148 { children }
4249 </ CartContext . Provider >
4350 ) ;
44- } ;
51+ } ;
0 commit comments