|
|
|
@ -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 } |
|
|
|
} |
|
|
|
) |
|
|
|
|
|
|
|
|