Skip to content

Commit f6c19b0

Browse files
authored
ORV2-4059 - FE: EO Act as Company (#1940)
Co-authored-by: GlenAOT <160973940+GlenAOT@users.noreply.github.com>
1 parent f181eea commit f6c19b0

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

frontend/src/common/components/header/components/UserSection.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,19 @@ import { ShoppingCartButton } from "./ShoppingCartButton";
77
import { getDefaultRequiredVal } from "../../../helpers/util";
88
import { CartContext } from "../../../../features/permits/context/CartContext";
99
import OnRouteBCContext from "../../../authentication/OnRouteBCContext";
10+
import { usePermissionMatrix } from "../../../authentication/PermissionMatrix";
1011

1112
export const UserSection = ({ username }: { username: string }) => {
1213
const { companyId } = useContext(OnRouteBCContext);
1314
const { cartCount } = useContext(CartContext);
1415
const cartItemCount = getDefaultRequiredVal(0, cartCount);
15-
const showShoppingCart = Boolean(companyId);
16+
const showShoppingCart =
17+
usePermissionMatrix({
18+
permissionMatrixKeys: {
19+
permissionMatrixFeatureKey: "MISCELLANEOUS",
20+
permissionMatrixFunctionKey: "VIEW_SHOPPING_CART",
21+
},
22+
}) && Boolean(companyId);
1623

1724
return (
1825
<div className="user-section">

frontend/src/features/permits/context/CartContextProvider.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,29 @@ import { CartContext } from "./CartContext";
44
import OnRouteBCContext from "../../../common/authentication/OnRouteBCContext";
55
import { useGetCartCount } from "../hooks/cart";
66
import { getDefaultRequiredVal } from "../../../common/helpers/util";
7+
import { usePermissionMatrix } from "../../../common/authentication/PermissionMatrix";
78

89
export 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

Comments
 (0)