Skip to content

Commit 9bd734a

Browse files
Sidebar item visibility from wellKnown
1 parent 1152024 commit 9bd734a

4 files changed

Lines changed: 9 additions & 16 deletions

File tree

src/common/hooks/useWellKnownConfiguration.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@ export type WellKnownConfigType = {
5252
version: string
5353
}
5454
ui: {
55-
menu: {
56-
[key: string]: MenuItemVisibilityType
55+
visibility: {
56+
mainSidebar: {
57+
[key: string]: MenuItemVisibilityType
58+
}
5759
}
5860
}
5961
} & BuildInformationType

src/components/Layout/LeftPanel/LeftPanel.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@ import * as styles from './LeftPanel.styles'
1010
import { Close, Arrow, Feature } from './components'
1111
import img from './assets/line.png'
1212
import { convertSize, Icon, IconCollapse } from '../../Atomic/Icon'
13-
import { itemVisibility } from './constants'
1413

15-
const { ENABLED, HIDDEN } = itemVisibility
16-
17-
const isGroupVisible = (group: any) => !group.items.every((i: any) => i.visibility === HIDDEN)
14+
const isGroupVisible = (group: any) => !group.items.every((i: any) => i.visibility === false)
1815

1916
const LeftPanelItem = (props: LeftPanelItemType) => {
2017
const { active, item, collapsed, handleItemClick } = props
@@ -26,7 +23,7 @@ const LeftPanelItem = (props: LeftPanelItemType) => {
2623

2724
const isItemActive = (item: MenuItem) => item.id === active || item?.children?.some((subItem) => subItem.id === active)
2825
const isActive = isItemActive(item)
29-
const isDisabled = item?.visibility !== ENABLED
26+
const isDisabled = item?.visibility !== true
3027
const isExternal = item.link?.startsWith('//') || item.link?.startsWith('http')
3128

3229
return (
@@ -201,7 +198,7 @@ const LeftPanel: FC<Props> = (props) => {
201198
<div css={[styles.groupTitle, collapsed && styles.groupTitleCollapsed]}>{group.title}</div>
202199
<ul css={styles.menuList}>
203200
{group.items
204-
?.filter((i) => i.visibility !== HIDDEN)
201+
?.filter((i) => i.visibility !== false)
205202
.map((item, key) => (
206203
<LeftPanelItem active={active} collapsed={collapsed} handleItemClick={handleItemClick} item={item} key={key} />
207204
))}

src/components/Layout/LeftPanel/LeftPanel.types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { tagVariants, itemVisibility } from './constants'
1+
import { tagVariants } from './constants'
22
import { ReactNode, SyntheticEvent } from 'react'
33
import { Strategy } from '@floating-ui/core/src/types'
44

55
export type MenuTagVariantType = (typeof tagVariants)[keyof typeof tagVariants]
6-
export type MenuItemVisibilityType = (typeof itemVisibility)[keyof typeof itemVisibility]
6+
export type MenuItemVisibilityType = boolean | 'disabled'
77

88
type MenuItemTag = {
99
text: string

src/components/Layout/LeftPanel/constants.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,3 @@ export const tagVariants = {
77
SUCCESS: 'success',
88
INFO: 'info',
99
} as const
10-
11-
export const itemVisibility = {
12-
ENABLED: 'ENABLED',
13-
DISABLED: 'DISABLED',
14-
HIDDEN: 'HIDDEN',
15-
} as const

0 commit comments

Comments
 (0)