From 6295934754d6e48be44a4514390660402bf86204 Mon Sep 17 00:00:00 2001 From: joseph izang Date: Tue, 24 Aug 2021 15:19:39 +0100 Subject: [PATCH] fix regression in permissions modal where permissions are not displayed properly --- .../lib/components/permissionsSettings.tsx | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/libs/remix-ui/plugin-manager/src/lib/components/permissionsSettings.tsx b/libs/remix-ui/plugin-manager/src/lib/components/permissionsSettings.tsx index 52cd3b1d22..cf6b99cd97 100644 --- a/libs/remix-ui/plugin-manager/src/lib/components/permissionsSettings.tsx +++ b/libs/remix-ui/plugin-manager/src/lib/components/permissionsSettings.tsx @@ -17,6 +17,11 @@ function PermisssionsSettings ({ pluginSettings }: PermissionSettingsProps) { const [modalVisibility, setModalVisibility] = useState(true) const [permissions, setPermissions] = useLocalStorage('plugins/permissions', {} as PluginPermissions) const closeModal = () => setModalVisibility(true) + const openModal = () => { + const currentValue = JSON.parse(window.localStorage.getItem('plugins/permissions')) + setPermissions(currentValue) + setModalVisibility(!modalVisibility) + } function ShowPluginHeading ({ headingName }) { return ( @@ -43,10 +48,9 @@ function PermisssionsSettings ({ pluginSettings }: PermissionSettingsProps) { const [checkBoxState, setCheckBoxState] = useState(allow) const [showPermissions, setShowPermissions] = useLocalStorage('plugins/permissions', {} as PluginPermissions) - useEffect(() => { - window.addEventListener('storage', () => setPermissions(showPermissions)) - return () => window.removeEventListener('storage', () => setPermissions(showPermissions)) - }, [checkBoxState]) + // useEffect(() => { + // console.log({ permissions }) + // }, [checkBoxState, permissions]) const handleCheckboxClick = () => { const copyPermissions = showPermissions @@ -54,7 +58,6 @@ function PermisssionsSettings ({ pluginSettings }: PermissionSettingsProps) { setCheckBoxState(!checkBoxState) setShowPermissions(copyPermissions) } - console.log('showPermissions', showPermissions) return (
{ showPermissions && Object.keys(showPermissions).length > 0 @@ -87,6 +90,9 @@ function PermisssionsSettings ({ pluginSettings }: PermissionSettingsProps) { ) } + useEffect(() => { + console.log({ permissions }) + }, [Object.keys(permissions).length]) function clearAllPersmissions (pluginName: string, topLevelPluginName: string, funcName: string) { const permissionsCopy = permissions // don't mutate state if (permissionsCopy[topLevelPluginName] && permissionsCopy[topLevelPluginName][funcName]) { @@ -130,7 +136,7 @@ function PermisssionsSettings ({ pluginSettings }: PermissionSettingsProps) { )) } { - Object.keys(permissions).map(topName => { + permissions && Object.keys(permissions).length > 0 ? Object.keys(permissions).map(topName => { return Object.keys(permissions[topName]).map(funcName => { return Object.keys(permissions[topName][funcName]).map(pluginName => ( )) }) - }) + }) : null }