summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-10 07:23:07 -0600
committerAdam <[email protected]>2025-12-10 15:17:02 -0600
commite694d4d8806857fa5035c2953027ffee03e843dc (patch)
tree0f4d7b7b038fd3063597d7203cfac919f5fc9a20
parentada40decd14fc18901486382a10b1ec1d0d21f7e (diff)
downloadopencode-e694d4d8806857fa5035c2953027ffee03e843dc.tar.gz
opencode-e694d4d8806857fa5035c2953027ffee03e843dc.zip
wip(desktop): progress
-rw-r--r--bun.lock4
-rw-r--r--package.json2
-rw-r--r--packages/desktop/src/pages/layout.tsx5
-rw-r--r--packages/ui/src/components/dialog.css3
-rw-r--r--packages/ui/src/components/select-dialog.css9
-rw-r--r--packages/ui/src/components/select-dialog.tsx2
6 files changed, 19 insertions, 6 deletions
diff --git a/bun.lock b/bun.lock
index 1652adb3e..bb83e7682 100644
--- a/bun.lock
+++ b/bun.lock
@@ -462,7 +462,7 @@
"@hono/zod-validator": "0.4.2",
"@kobalte/core": "0.13.11",
"@openauthjs/openauth": "0.0.0-20250322224806",
- "@pierre/precision-diffs": "0.6.0-beta.10",
+ "@pierre/precision-diffs": "0.6.1",
"@solidjs/meta": "0.29.4",
"@solidjs/router": "0.15.4",
"@solidjs/start": "https://pkg.pr.new/@solidjs/start@dfb2020",
@@ -1277,7 +1277,7 @@
"@petamoriken/float16": ["@petamoriken/[email protected]", "", {}, "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g=="],
- "@pierre/precision-diffs": ["@pierre/[email protected]", "", { "dependencies": { "@shikijs/core": "3.15.0", "@shikijs/transformers": "3.15.0", "diff": "8.0.2", "fast-deep-equal": "3.1.3", "hast-util-to-html": "9.0.5", "lru_map": "0.4.1", "shiki": "3.15.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-2rdd1Q1xJbB0Z4oUbm0Ybrr2gLFEdvNetZLadJboZSFL7Q4gFujdQZfXfV3vB9X+esjt++v0nzb3mioW25BOTA=="],
+ "@pierre/precision-diffs": ["@pierre/[email protected]", "", { "dependencies": { "@shikijs/core": "3.15.0", "@shikijs/transformers": "3.15.0", "diff": "8.0.2", "fast-deep-equal": "3.1.3", "hast-util-to-html": "9.0.5", "lru_map": "0.4.1", "shiki": "3.15.0" }, "peerDependencies": { "react": "^18.3.1 || ^19.0.0", "react-dom": "^18.3.1 || ^19.0.0" } }, "sha512-HXafRSOly6B0rRt6fuP0yy1MimHJMQ2NNnBGcIHhHwsgK4WWs+SBWRWt1usdgz0NIuSgXdIyQn8HY3F1jKyDBQ=="],
"@pkgjs/parseargs": ["@pkgjs/[email protected]", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
diff --git a/package.json b/package.json
index 65c8b5a81..4579a06f3 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
"@tsconfig/bun": "1.0.9",
"@cloudflare/workers-types": "4.20251008.0",
"@openauthjs/openauth": "0.0.0-20250322224806",
- "@pierre/precision-diffs": "0.6.0-beta.10",
+ "@pierre/precision-diffs": "0.6.1",
"@tailwindcss/vite": "4.1.11",
"diff": "8.0.2",
"ai": "5.0.97",
diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx
index 0c8fdf6d7..4a17d01bd 100644
--- a/packages/desktop/src/pages/layout.tsx
+++ b/packages/desktop/src/pages/layout.tsx
@@ -94,6 +94,11 @@ export default function Layout(props: ParentProps) {
setStore("lastSession", directory, params.id)
})
+ createEffect(() => {
+ const sidebarWidth = layout.sidebar.opened() ? layout.sidebar.width() : 48
+ document.documentElement.style.setProperty("--dialog-left-margin", `${sidebarWidth}px`)
+ })
+
function getDraggableId(event: unknown): string | undefined {
if (typeof event !== "object" || event === null) return undefined
if (!("draggable" in event)) return undefined
diff --git a/packages/ui/src/components/dialog.css b/packages/ui/src/components/dialog.css
index 267c891f3..1c7cd4f41 100644
--- a/packages/ui/src/components/dialog.css
+++ b/packages/ui/src/components/dialog.css
@@ -16,6 +16,7 @@
[data-component="dialog"] {
position: fixed;
inset: 0;
+ margin-left: var(--dialog-left-margin);
z-index: 50;
display: flex;
align-items: center;
@@ -24,7 +25,7 @@
[data-slot="dialog-container"] {
position: relative;
z-index: 50;
- width: min(calc(100vw - 16px), 624px);
+ width: min(calc(100vw - 16px), 480px);
height: min(calc(100vh - 16px), 512px);
display: flex;
flex-direction: column;
diff --git a/packages/ui/src/components/select-dialog.css b/packages/ui/src/components/select-dialog.css
index 696f68bf9..83085e082 100644
--- a/packages/ui/src/components/select-dialog.css
+++ b/packages/ui/src/components/select-dialog.css
@@ -121,12 +121,19 @@
line-height: var(--line-height-large); /* 142.857% */
letter-spacing: var(--letter-spacing-normal);
+ [data-slot="select-dialog-item-selected-icon"] {
+ display: none;
+ color: var(--icon-strong-base);
+ }
+
&[data-active="true"] {
border-radius: var(--radius-md);
background: var(--surface-raised-base-hover);
}
&[data-selected="true"] {
- background: var(--surface-raised-base-hover);
+ [data-slot="select-dialog-item-selected-icon"] {
+ display: block;
+ }
}
}
}
diff --git a/packages/ui/src/components/select-dialog.tsx b/packages/ui/src/components/select-dialog.tsx
index 381c5f6fc..90c269eea 100644
--- a/packages/ui/src/components/select-dialog.tsx
+++ b/packages/ui/src/components/select-dialog.tsx
@@ -153,7 +153,7 @@ export function SelectDialog<T>(props: SelectDialogProps<T>) {
}}
>
{others.children(item)}
- <Icon name="check-small" size="small" />
+ <Icon data-slot="select-dialog-item-selected-icon" name="check-small" />
</button>
)}
</For>