fix: toolbar context reactivity
This commit is contained in:
parent
2b04837327
commit
295d9d16fc
1 changed files with 15 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { createMemo, Show, type ParentProps } from "solid-js"
|
||||
import { createMemo, createSignal, onMount, Show, type ParentProps } from "solid-js"
|
||||
import { Portal } from "solid-js/web"
|
||||
import { useNavigate, useParams } from "@solidjs/router"
|
||||
import { SDKProvider, useSDK } from "@/context/sdk"
|
||||
|
|
@ -34,14 +34,23 @@ export default function Layout(props: ParentProps) {
|
|||
navigate(`/${params.dir}/session/${sessionID}`)
|
||||
}
|
||||
|
||||
const portalMount = document.getElementById(TOOLBAR_PORTAL_ID)
|
||||
const [portalMount, setPortalMount] = createSignal<HTMLElement | null>(null)
|
||||
onMount(() => {
|
||||
setPortalMount(document.getElementById(TOOLBAR_PORTAL_ID))
|
||||
})
|
||||
|
||||
const toolbarKey = createMemo(() => params.id ?? "new")
|
||||
|
||||
return (
|
||||
<>
|
||||
<Show when={portalMount}>
|
||||
<Portal mount={portalMount!}>
|
||||
<ToolbarSession />
|
||||
</Portal>
|
||||
<Show when={portalMount()}>
|
||||
{(mount) => (
|
||||
<Portal mount={mount()}>
|
||||
<Show when={toolbarKey()} keyed>
|
||||
<ToolbarSession />
|
||||
</Show>
|
||||
</Portal>
|
||||
)}
|
||||
</Show>
|
||||
<DataProvider
|
||||
data={sync.data}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue