File tree Expand file tree Collapse file tree 2 files changed +28
-19
lines changed
common/components/navigation/workspacesDropdown Expand file tree Collapse file tree 2 files changed +28
-19
lines changed Original file line number Diff line number Diff line change 1- import { useEffect , useState } from 'react' ;
2- import { useAppSelector } from 'src/app/hooks' ;
31import { appTheme } from 'src/app/theme' ;
4- import { selectWorkspaces } from 'src/features/workspaces/selectors' ;
5- import { useActiveWorkspace } from 'src/hooks/useActiveWorkspace' ;
2+ import { useCanAccessToActiveWorkspace } from 'src/hooks/useCanAccessToActiveWorkspace' ;
63import { WorkspaceSettings } from '../../inviteUsers/workspaceSettings' ;
74
85export const PermissionItem = ( ) => {
9- const { activeWorkspace } = useActiveWorkspace ( ) ;
10- const workspaces = useAppSelector ( selectWorkspaces ) ;
11-
12- const [ canManageUsers , setCanManageUsers ] = useState ( false ) ;
13-
14- useEffect ( ( ) => {
15- if ( activeWorkspace ) {
16- const personalWorkspaces = workspaces . filter ( ( ws ) => ! ws . isShared ) ;
17- const activeWorkspaceInPersonal = ! ! personalWorkspaces . find (
18- ( ws ) => ws . id === activeWorkspace ?. id
19- ) ;
20-
21- setCanManageUsers ( activeWorkspaceInPersonal ) ;
22- }
23- } , [ activeWorkspace ] ) ;
6+ const canManageUsers = useCanAccessToActiveWorkspace ( ) ;
247
258 return canManageUsers ? (
269 < div style = { { marginLeft : appTheme . space . sm } } >
Original file line number Diff line number Diff line change 1+ import { useEffect , useState } from 'react' ;
2+ import { useAppSelector } from 'src/app/hooks' ;
3+ import { selectWorkspaces } from 'src/features/workspaces/selectors' ;
4+ import { useActiveWorkspace } from './useActiveWorkspace' ;
5+
6+ const useCanAccessToActiveWorkspace = ( ) => {
7+ const { activeWorkspace } = useActiveWorkspace ( ) ;
8+ const workspaces = useAppSelector ( selectWorkspaces ) ;
9+
10+ const [ hasAccess , setHasAccess ] = useState ( false ) ;
11+
12+ useEffect ( ( ) => {
13+ if ( activeWorkspace ) {
14+ const personalWorkspaces = workspaces . filter ( ( ws ) => ! ws . isShared ) ;
15+ const activeWorkspaceInPersonal = ! ! personalWorkspaces . find (
16+ ( ws ) => ws . id === activeWorkspace ?. id
17+ ) ;
18+
19+ setHasAccess ( activeWorkspaceInPersonal ) ;
20+ }
21+ } , [ activeWorkspace ] ) ;
22+
23+ return hasAccess ;
24+ } ;
25+
26+ export { useCanAccessToActiveWorkspace } ;
You can’t perform that action at this time.
0 commit comments