From 13aaf6d3633ce4c2ec32fc6085157b6d024c10ad Mon Sep 17 00:00:00 2001 From: sjcode99 <52974372+sjcode99@users.noreply.github.com> Date: Mon, 23 Oct 2023 14:15:25 +0530 Subject: [PATCH] =?UTF-8?q?Convert=20./components/permissions=5Fgates/any?= =?UTF-8?q?=5Fteam=5Fpermission=5Fgate/any=5Ft=E2=80=A6=20(#24970)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Convert ./components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx * React memo added * linting issue resolved --------- Co-authored-by: sjcode99 --- .../any_team_permission_gate.test.tsx.snap | 75 ++++++++++--------- .../any_team_permission_gate.tsx | 23 +++--- 2 files changed, 48 insertions(+), 50 deletions(-) diff --git a/webapp/channels/src/components/permissions_gates/any_team_permission_gate/__snapshots__/any_team_permission_gate.test.tsx.snap b/webapp/channels/src/components/permissions_gates/any_team_permission_gate/__snapshots__/any_team_permission_gate.test.tsx.snap index b2e12f0060..ca7f6a145d 100644 --- a/webapp/channels/src/components/permissions_gates/any_team_permission_gate/__snapshots__/any_team_permission_gate.test.tsx.snap +++ b/webapp/channels/src/components/permissions_gates/any_team_permission_gate/__snapshots__/any_team_permission_gate.test.tsx.snap @@ -13,24 +13,25 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - - + > +

+ + `; @@ -47,7 +48,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - Valid permission (shown)

- - + + `; @@ -87,17 +87,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - Valid permission (shown)

-
-
+ + `; @@ -125,7 +124,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - - + > +

+ + `; @@ -160,17 +161,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - Valid permission (shown)

- - + + `; @@ -198,17 +198,16 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - Valid permission (shown)

-
-
+ + `; @@ -236,7 +235,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - - + > +

+ + `; @@ -271,7 +272,7 @@ exports[`components/permissions_gates TeamPermissionGate should match snapshot w } } > - - Invalid permission but inverted (shown)

- - + + `; diff --git a/webapp/channels/src/components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx b/webapp/channels/src/components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx index 309890e06b..43095bd953 100644 --- a/webapp/channels/src/components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx +++ b/webapp/channels/src/components/permissions_gates/any_team_permission_gate/any_team_permission_gate.tsx @@ -18,23 +18,20 @@ export type Props = { /** * Invert the permission (used for else) */ - invert: boolean; + invert?: boolean; /** * Content protected by the permissions gate */ children: React.ReactNode; -} +}; -export default class AnyTeamPermissionGate extends React.PureComponent { - static defaultProps = { - invert: false, - }; +const AnyTeamPermissionGate = ({hasPermission, children, invert = false}: Props) => { + return ( + <> + {hasPermission === invert ? null : children} + + ); +}; - render() { - if (this.props.hasPermission !== this.props.invert) { - return this.props.children; - } - return null; - } -} +export default React.memo(AnyTeamPermissionGate);