1
0
Fork 0
freesewing/sites/shared/components/workbench/menus/ui-settings/index.mjs
2023-06-17 13:29:37 +02:00

44 lines
1.1 KiB
JavaScript

//Dependencies
import { loadSettingsConfig } from './config.mjs'
// Components
import { WorkbenchMenu } from '../shared/index.mjs'
import { MenuItem } from '../shared/menu-item.mjs'
import { DesktopIcon } from 'shared/components/icons.mjs'
import { inputs } from './inputs.mjs'
import { values } from './values.mjs'
export const ns = ['ui-settings']
const UiSetting = ({ name, control, ...rest }) => (
<MenuItem
{...rest}
name={name}
allowToggle={!['control', 'view'].includes(name) && control > 3}
control={control}
/>
)
export const UiSettings = ({ update, ui, control, language, DynamicDocs, view, setView }) => {
const settingsConfig = loadSettingsConfig()
return (
<WorkbenchMenu
{...{
config: settingsConfig,
control,
currentValues: ui,
DynamicDocs,
getDocsPath: (setting) => `site/draft/ui-settings${setting ? `/${setting}` : ''}`,
Icon: DesktopIcon,
inputs,
Item: UiSetting,
values,
language,
name: 'uiSettings',
ns,
updateFunc: update.ui,
passProps: { view, setView },
}}
/>
)
}