2020-11-14 04:42:32 +13:00
|
|
|
<script>
|
2020-11-25 22:50:51 +13:00
|
|
|
import { writable } from "svelte/store"
|
2020-11-20 07:39:22 +13:00
|
|
|
import { setContext, onMount } from "svelte"
|
2020-11-14 04:42:32 +13:00
|
|
|
import Component from "./Component.svelte"
|
2020-11-19 08:18:18 +13:00
|
|
|
import SDK from "../sdk"
|
2020-11-25 22:50:51 +13:00
|
|
|
import { createDataStore, routeStore, screenStore } from "../store"
|
2020-11-14 04:42:32 +13:00
|
|
|
|
2020-11-20 22:50:10 +13:00
|
|
|
// Provide contexts
|
|
|
|
setContext("sdk", SDK)
|
2020-11-25 22:50:51 +13:00
|
|
|
setContext("component", writable({}))
|
2020-11-25 00:02:10 +13:00
|
|
|
setContext("data", createDataStore())
|
2020-11-14 04:42:32 +13:00
|
|
|
|
2020-11-20 07:39:22 +13:00
|
|
|
let loaded = false
|
|
|
|
|
|
|
|
// Load app config
|
|
|
|
onMount(async () => {
|
|
|
|
await routeStore.actions.fetchRoutes()
|
|
|
|
await screenStore.actions.fetchScreens()
|
|
|
|
loaded = true
|
|
|
|
})
|
2020-11-14 04:42:32 +13:00
|
|
|
</script>
|
|
|
|
|
2020-11-20 07:39:22 +13:00
|
|
|
{#if loaded}
|
2020-11-28 05:36:31 +13:00
|
|
|
// TODO: need to get the active screen as well
|
|
|
|
<Component definition={$screenStore.activeLayout.props} />
|
2020-11-20 07:39:22 +13:00
|
|
|
{/if}
|