-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeskStructure.js
39 lines (32 loc) · 1.23 KB
/
deskStructure.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// /deskStructure.js
import {settings as displaySettings} from './schemas/settings/settings'
import {categories as displayCategories} from './schemas/categories/categories'
import {domains as displayDomains} from './schemas/domains/domains'
// icons
import {FiTag as categoriesIcon} from 'react-icons/fi'
import {VscSettingsGear as settingsIcon} from 'react-icons/vsc'
import {parentList, singleChildItem, multiChildItem} from './deskUtils'
export default (S) => {
const structuredSettings = displaySettings.map((s) => singleChildItem(S, s))
const structuredCategories = displayCategories.map((c) =>
multiChildItem(S, {...c, icon: c.icon || categoriesIcon}),
)
const domains = displayDomains.map((d) => multiChildItem(S, d))
const categories = parentList(S, {
parentTitle: 'Categories',
icon: categoriesIcon,
childTitle: 'Project Structure',
showChildIcons: true,
childItems: structuredCategories,
})
const settings = parentList(S, {
parentTitle: 'Settings',
icon: () => settingsIcon({size: '1.3rem'}),
childTitle: 'Website Settings',
showChildIcons: false,
childItems: structuredSettings,
})
return S.list()
.title('Base')
.items([...domains, S.divider(), categories, settings])
}