2023-05-31 17:56:58 +02:00
|
|
|
//Dependencies
|
|
|
|
import { loadSettingsConfig } from './config.mjs'
|
|
|
|
// Components
|
2023-06-02 12:13:49 -05:00
|
|
|
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'
|
2023-06-02 13:07:43 -05:00
|
|
|
import { values } from './values.mjs'
|
2023-05-31 17:56:58 +02:00
|
|
|
|
|
|
|
export const ns = ['ui-settings']
|
|
|
|
|
2023-06-02 12:13:49 -05:00
|
|
|
const UiSetting = ({ name, control, ...rest }) => (
|
|
|
|
<MenuItem
|
|
|
|
{...rest}
|
|
|
|
name={name}
|
|
|
|
allowToggle={name !== 'control' && control > 3}
|
|
|
|
control={control}
|
|
|
|
/>
|
2023-05-31 17:56:58 +02:00
|
|
|
)
|
|
|
|
|
2023-06-07 14:12:51 -05:00
|
|
|
export const UiSettings = ({ update, ui, control, language, DynamicDocs }) => {
|
2023-06-02 12:13:49 -05:00
|
|
|
const settingsConfig = loadSettingsConfig(ui)
|
2023-05-31 17:56:58 +02:00
|
|
|
|
|
|
|
return (
|
2023-06-02 12:13:49 -05:00
|
|
|
<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,
|
|
|
|
}}
|
|
|
|
/>
|
2023-05-31 17:56:58 +02:00
|
|
|
)
|
|
|
|
}
|