diff options
| author | Adam <[email protected]> | 2025-12-17 13:10:57 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-17 13:11:02 -0600 |
| commit | 4a3ba58f65d12b4f7c7a97b42a5bb3bc0eb5f88b (patch) | |
| tree | abae119fe310b1c73fc0d70d9d0d81985c5def42 /packages/ui/src/context | |
| parent | 2a3a8a1ec2d71ae27730226cfac37830c7a5dfd7 (diff) | |
| download | opencode-4a3ba58f65d12b4f7c7a97b42a5bb3bc0eb5f88b.tar.gz opencode-4a3ba58f65d12b4f7c7a97b42a5bb3bc0eb5f88b.zip | |
chore: localStorage -> tauri store
Diffstat (limited to 'packages/ui/src/context')
| -rw-r--r-- | packages/ui/src/context/helper.tsx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/packages/ui/src/context/helper.tsx b/packages/ui/src/context/helper.tsx index 6be88e775..53f987945 100644 --- a/packages/ui/src/context/helper.tsx +++ b/packages/ui/src/context/helper.tsx @@ -1,4 +1,4 @@ -import { createContext, Show, useContext, type ParentProps } from "solid-js" +import { createContext, createMemo, Show, useContext, type ParentProps, type Accessor } from "solid-js" export function createSimpleContext<T, Props extends Record<string, any>>(input: { name: string @@ -9,9 +9,14 @@ export function createSimpleContext<T, Props extends Record<string, any>>(input: return { provider: (props: ParentProps<Props>) => { const init = input.init(props) - return ( + // Access init.ready inside the memo to make it reactive for getter properties + const isReady = createMemo(() => { // @ts-expect-error - <Show when={init.ready === undefined || init.ready === true}> + const ready = init.ready as Accessor<boolean> | boolean | undefined + return ready === undefined || (typeof ready === "function" ? ready() : ready) + }) + return ( + <Show when={isReady()}> <ctx.Provider value={init}>{props.children}</ctx.Provider> </Show> ) |
