initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import { useDynamicVhCssProperty } from './composable/useDynamicVhCssProperty'
|
||||
import { config } from './config'
|
||||
import { ContentWidth } from './enums'
|
||||
import { useLayouts } from '@layouts'
|
||||
|
||||
const { _setAppDir } = useLayouts()
|
||||
|
||||
// 🔌 Plugin
|
||||
export const createLayouts = userConfig => {
|
||||
const localStorageIsRtl = localStorage.getItem(`${userConfig.app.title}-isRtl`)
|
||||
const localStorageIsVerticalNavCollapsed = localStorage.getItem(`${userConfig.app.title}-isVerticalNavCollapsed`)
|
||||
|
||||
const localStorageContentWidth = (() => {
|
||||
const storageValue = localStorage.getItem(`${userConfig.app.title}-contentWidth`)
|
||||
|
||||
return Object.values(ContentWidth).find(v => v === storageValue)
|
||||
})()
|
||||
|
||||
const localStorageNavbarBlur = localStorage.getItem(`${userConfig.app.title}-navbarBlur`)
|
||||
|
||||
config.app.title = userConfig.app.title
|
||||
config.app.logo = userConfig.app.logo
|
||||
config.app.contentWidth.value = localStorageContentWidth || userConfig.app.contentWidth
|
||||
config.app.contentLayoutNav.value = userConfig.app.contentLayoutNav
|
||||
config.app.overlayNavFromBreakpoint = userConfig.app.overlayNavFromBreakpoint
|
||||
config.app.enableI18n = userConfig.app.enableI18n
|
||||
config.app.isRtl.value = localStorageIsRtl ? JSON.parse(localStorageIsRtl) : userConfig.app.isRtl
|
||||
config.app.iconRenderer = userConfig.app.iconRenderer
|
||||
config.navbar.type.value = userConfig.navbar.type
|
||||
config.navbar.navbarBlur.value = localStorageNavbarBlur ? JSON.parse(localStorageNavbarBlur) : userConfig.navbar.navbarBlur
|
||||
config.footer.type.value = userConfig.footer.type
|
||||
config.verticalNav.isVerticalNavCollapsed.value
|
||||
= localStorageIsVerticalNavCollapsed
|
||||
? JSON.parse(localStorageIsVerticalNavCollapsed)
|
||||
: userConfig.verticalNav.isVerticalNavCollapsed
|
||||
config.verticalNav.defaultNavItemIconProps = userConfig.verticalNav.defaultNavItemIconProps
|
||||
config.horizontalNav.type.value = userConfig.horizontalNav.type
|
||||
config.icons.chevronDown = userConfig.icons.chevronDown
|
||||
config.icons.chevronRight = userConfig.icons.chevronRight
|
||||
config.icons.close = userConfig.icons.close
|
||||
config.icons.verticalNavPinned = userConfig.icons.verticalNavPinned
|
||||
config.icons.verticalNavUnPinned = userConfig.icons.verticalNavUnPinned
|
||||
config.icons.sectionTitlePlaceholder = userConfig.icons.sectionTitlePlaceholder
|
||||
|
||||
return () => {
|
||||
useDynamicVhCssProperty()
|
||||
_setAppDir(config.app.isRtl.value ? 'rtl' : 'ltr')
|
||||
}
|
||||
}
|
||||
export const injectionKeyIsVerticalNavHovered = Symbol('isVerticalNavHovered')
|
||||
export * from './components'
|
||||
export { useLayouts } from './composable/useLayouts'
|
||||
Reference in New Issue
Block a user