diff --git a/src/modules/access-control/table/AccessControlPortsCell.tsx b/src/modules/access-control/table/AccessControlPortsCell.tsx
index 39fd8b8..20e464e 100644
--- a/src/modules/access-control/table/AccessControlPortsCell.tsx
+++ b/src/modules/access-control/table/AccessControlPortsCell.tsx
@@ -5,7 +5,7 @@ import {
TooltipProvider,
TooltipTrigger,
} from "@components/Tooltip";
-import React, { useMemo, useState } from "react";
+import React, { useMemo } from "react";
import { Policy } from "@/interfaces/Policy";
type Props = {
@@ -19,15 +19,15 @@ export default function AccessControlPortsCell({ policy }: Props) {
const hasPorts = firstRule?.ports && firstRule?.ports.length > 0;
- const [firstTwoPorts] = useState(() => {
+ const firstTwoPorts = useMemo(() => {
if (!hasPorts) return [];
return firstRule?.ports.slice(0, 2) ?? [];
- });
+ }, [hasPorts, firstRule]);
- const [otherPorts] = useState(() => {
+ const otherPorts = useMemo(() => {
if (!hasPorts) return [];
return firstRule?.ports.slice(2) ?? [];
- });
+ }, [hasPorts, firstRule]);
return (
diff --git a/src/modules/common-table-rows/GroupsRow.tsx b/src/modules/common-table-rows/GroupsRow.tsx
index 0a8fc8f..1c2e2d1 100644
--- a/src/modules/common-table-rows/GroupsRow.tsx
+++ b/src/modules/common-table-rows/GroupsRow.tsx
@@ -30,6 +30,7 @@ type Props = {
description?: string;
peer?: Peer;
showAddGroupButton?: boolean;
+ hideAllGroup?: boolean;
};
export default function GroupsRow({
@@ -41,6 +42,7 @@ export default function GroupsRow({
description = "Use groups to control what this peer can access",
peer,
showAddGroupButton = false,
+ hideAllGroup = false,
}: Props) {
const { groups: allGroups } = useGroups();
const { isUser } = useLoggedInUser();
@@ -78,6 +80,7 @@ export default function GroupsRow({
label={label}
description={description}
peer={peer}
+ hideAllGroup={hideAllGroup}
/>
);
@@ -89,6 +92,7 @@ type EditGroupsModalProps = {
label?: string;
description?: string;
peer?: Peer;
+ hideAllGroup?: boolean;
};
export function EditGroupsModal({
@@ -97,6 +101,7 @@ export function EditGroupsModal({
label,
description,
peer,
+ hideAllGroup = false,
}: EditGroupsModalProps) {
const [selectedGroups, setSelectedGroups, { getAllGroupCalls }] =
useGroupHelper({
@@ -125,6 +130,7 @@ export function EditGroupsModal({
onChange={setSelectedGroups}
values={selectedGroups}
peer={peer}
+ hideAllGroup={hideAllGroup}
/>
diff --git a/src/modules/groups/GroupSelector.tsx b/src/modules/groups/GroupSelector.tsx
index bd1ac24..c3b77d8 100644
--- a/src/modules/groups/GroupSelector.tsx
+++ b/src/modules/groups/GroupSelector.tsx
@@ -174,7 +174,7 @@ export function GroupSelector({
"flex items-center gap-2 whitespace-nowrap text-sm"
}
>
-