summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-19 15:11:42 -0600
committerAdam <[email protected]>2025-12-20 04:25:17 -0600
commit26cf5e003ebd402b3343504dd6726a4c8cc9ffe3 (patch)
tree39553711b6f21da32918272181416515575ad987
parent742cf10deeffb31292cdbf8a5ca7afb07698d9dc (diff)
downloadopencode-26cf5e003ebd402b3343504dd6726a4c8cc9ffe3.tar.gz
opencode-26cf5e003ebd402b3343504dd6726a4c8cc9ffe3.zip
fix(desktop): perf stuff
-rw-r--r--packages/ui/src/components/basic-tool.tsx9
-rw-r--r--packages/ui/src/components/checkbox.tsx7
-rw-r--r--packages/ui/src/components/code.css1
-rw-r--r--packages/ui/src/components/diff.css2
-rw-r--r--packages/ui/src/components/switch.tsx7
5 files changed, 12 insertions, 14 deletions
diff --git a/packages/ui/src/components/basic-tool.tsx b/packages/ui/src/components/basic-tool.tsx
index 8fae33694..28320eeb3 100644
--- a/packages/ui/src/components/basic-tool.tsx
+++ b/packages/ui/src/components/basic-tool.tsx
@@ -1,4 +1,4 @@
-import { children, For, Match, Show, Switch, type JSX } from "solid-js"
+import { For, Match, Show, Switch, type JSX } from "solid-js"
import { Collapsible } from "./collapsible"
import { Icon, IconProps } from "./icon"
@@ -27,7 +27,6 @@ export interface BasicToolProps {
}
export function BasicTool(props: BasicToolProps) {
- const resolved = children(() => props.children)
return (
<Collapsible defaultOpen={props.defaultOpen}>
<Collapsible.Trigger>
@@ -81,13 +80,13 @@ export function BasicTool(props: BasicToolProps) {
</Switch>
</div>
</div>
- <Show when={resolved() && !props.hideDetails}>
+ <Show when={props.children && !props.hideDetails}>
<Collapsible.Arrow />
</Show>
</div>
</Collapsible.Trigger>
- <Show when={resolved() && !props.hideDetails}>
- <Collapsible.Content>{resolved()}</Collapsible.Content>
+ <Show when={props.children && !props.hideDetails}>
+ <Collapsible.Content>{props.children}</Collapsible.Content>
</Show>
</Collapsible>
)
diff --git a/packages/ui/src/components/checkbox.tsx b/packages/ui/src/components/checkbox.tsx
index b98639758..7187e4ac3 100644
--- a/packages/ui/src/components/checkbox.tsx
+++ b/packages/ui/src/components/checkbox.tsx
@@ -1,5 +1,5 @@
import { Checkbox as Kobalte } from "@kobalte/core/checkbox"
-import { children, Show, splitProps } from "solid-js"
+import { Show, splitProps } from "solid-js"
import type { ComponentProps, JSX, ParentProps } from "solid-js"
export interface CheckboxProps extends ParentProps<ComponentProps<typeof Kobalte>> {
@@ -10,7 +10,6 @@ export interface CheckboxProps extends ParentProps<ComponentProps<typeof Kobalte
export function Checkbox(props: CheckboxProps) {
const [local, others] = splitProps(props, ["children", "class", "label", "hideLabel", "description", "icon"])
- const resolved = children(() => local.children)
return (
<Kobalte {...others} data-component="checkbox">
<Kobalte.Input data-slot="checkbox-checkbox-input" />
@@ -29,9 +28,9 @@ export function Checkbox(props: CheckboxProps) {
</Kobalte.Indicator>
</Kobalte.Control>
<div data-slot="checkbox-checkbox-content">
- <Show when={resolved()}>
+ <Show when={props.children}>
<Kobalte.Label data-slot="checkbox-checkbox-label" classList={{ "sr-only": local.hideLabel }}>
- {resolved()}
+ {props.children}
</Kobalte.Label>
</Show>
<Show when={local.description}>
diff --git a/packages/ui/src/components/code.css b/packages/ui/src/components/code.css
index 1c890deaa..671b40512 100644
--- a/packages/ui/src/components/code.css
+++ b/packages/ui/src/components/code.css
@@ -1,3 +1,4 @@
[data-component="code"] {
+ content-visibility: auto;
overflow: hidden;
}
diff --git a/packages/ui/src/components/diff.css b/packages/ui/src/components/diff.css
index 3251eb4c6..1d94e417a 100644
--- a/packages/ui/src/components/diff.css
+++ b/packages/ui/src/components/diff.css
@@ -1,5 +1,5 @@
[data-component="diff"] {
- contain: content;
+ content-visibility: auto;
[data-slot="diff-hunk-separator-line-number"] {
position: sticky;
diff --git a/packages/ui/src/components/switch.tsx b/packages/ui/src/components/switch.tsx
index af70dfb5c..a8600aef4 100644
--- a/packages/ui/src/components/switch.tsx
+++ b/packages/ui/src/components/switch.tsx
@@ -1,5 +1,5 @@
import { Switch as Kobalte } from "@kobalte/core/switch"
-import { children, Show, splitProps } from "solid-js"
+import { Show, splitProps } from "solid-js"
import type { ComponentProps, ParentProps } from "solid-js"
export interface SwitchProps extends ParentProps<ComponentProps<typeof Kobalte>> {
@@ -9,13 +9,12 @@ export interface SwitchProps extends ParentProps<ComponentProps<typeof Kobalte>>
export function Switch(props: SwitchProps) {
const [local, others] = splitProps(props, ["children", "class", "hideLabel", "description"])
- const resolved = children(() => local.children)
return (
<Kobalte {...others} data-component="switch">
<Kobalte.Input data-slot="switch-input" />
- <Show when={resolved()}>
+ <Show when={local.children}>
<Kobalte.Label data-slot="switch-label" classList={{ "sr-only": local.hideLabel }}>
- {resolved()}
+ {local.children}
</Kobalte.Label>
</Show>
<Show when={local.description}>