summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/context
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-17 13:10:57 -0600
committerAdam <[email protected]>2025-12-17 13:11:02 -0600
commit4a3ba58f65d12b4f7c7a97b42a5bb3bc0eb5f88b (patch)
treeabae119fe310b1c73fc0d70d9d0d81985c5def42 /packages/ui/src/context
parent2a3a8a1ec2d71ae27730226cfac37830c7a5dfd7 (diff)
downloadopencode-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.tsx11
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>
)