Expose the screens and layouts from the screen store in the client library

This commit is contained in:
Andrew Kingston 2021-07-07 11:28:53 +01:00
parent bdf7b6257a
commit ee8033e88f
1 changed files with 7 additions and 4 deletions

View File

@ -11,17 +11,20 @@ const createScreenStore = () => {
const store = derived(
[config, routeStore, builderStore],
([$config, $routeStore, $builderStore]) => {
let activeLayout
let activeScreen
let activeLayout, activeScreen
let layouts, screens
if ($builderStore.inBuilder) {
// Use builder defined definitions if inside the builder preview
activeLayout = $builderStore.layout
activeScreen = $builderStore.screen
layouts = [activeLayout]
screens = [activeScreen]
} else {
activeLayout = { props: { _component: "screenslot" } }
// Find the correct screen by matching the current route
const { screens, layouts } = $config
screens = $config.screens
layouts = $config.layouts
if ($routeStore.activeRoute) {
activeScreen = screens.find(
screen => screen._id === $routeStore.activeRoute.screenId
@ -33,7 +36,7 @@ const createScreenStore = () => {
)
}
}
return { activeLayout, activeScreen }
return { layouts, screens, activeLayout, activeScreen }
}
)