Răsfoiți Sursa

wip(desktop): progress

Adam 4 luni în urmă
părinte
comite
e694d4d880

+ 2 - 2
bun.lock

@@ -462,7 +462,7 @@
     "@hono/zod-validator": "0.4.2",
     "@hono/zod-validator": "0.4.2",
     "@kobalte/core": "0.13.11",
     "@kobalte/core": "0.13.11",
     "@openauthjs/openauth": "0.0.0-20250322224806",
     "@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/meta": "0.29.4",
     "@solidjs/router": "0.15.4",
     "@solidjs/router": "0.15.4",
     "@solidjs/start": "https://pkg.pr.new/@solidjs/start@dfb2020",
     "@solidjs/start": "https://pkg.pr.new/@solidjs/start@dfb2020",
@@ -1277,7 +1277,7 @@
 
 
     "@petamoriken/float16": ["@petamoriken/[email protected]", "", {}, "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g=="],
     "@petamoriken/float16": ["@petamoriken/[email protected]", "", {}, "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g=="],
 
 
-    "@pierre/precision-diffs": ["@pierre/[email protected].0-beta.10", "", { "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=="],
     "@pkgjs/parseargs": ["@pkgjs/[email protected]", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
 
 

+ 1 - 1
package.json

@@ -30,7 +30,7 @@
       "@tsconfig/bun": "1.0.9",
       "@tsconfig/bun": "1.0.9",
       "@cloudflare/workers-types": "4.20251008.0",
       "@cloudflare/workers-types": "4.20251008.0",
       "@openauthjs/openauth": "0.0.0-20250322224806",
       "@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",
       "@tailwindcss/vite": "4.1.11",
       "diff": "8.0.2",
       "diff": "8.0.2",
       "ai": "5.0.97",
       "ai": "5.0.97",

+ 5 - 0
packages/desktop/src/pages/layout.tsx

@@ -94,6 +94,11 @@ export default function Layout(props: ParentProps) {
     setStore("lastSession", directory, params.id)
     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 {
   function getDraggableId(event: unknown): string | undefined {
     if (typeof event !== "object" || event === null) return undefined
     if (typeof event !== "object" || event === null) return undefined
     if (!("draggable" in event)) return undefined
     if (!("draggable" in event)) return undefined

+ 2 - 1
packages/ui/src/components/dialog.css

@@ -16,6 +16,7 @@
 [data-component="dialog"] {
 [data-component="dialog"] {
   position: fixed;
   position: fixed;
   inset: 0;
   inset: 0;
+  margin-left: var(--dialog-left-margin);
   z-index: 50;
   z-index: 50;
   display: flex;
   display: flex;
   align-items: center;
   align-items: center;
@@ -24,7 +25,7 @@
   [data-slot="dialog-container"] {
   [data-slot="dialog-container"] {
     position: relative;
     position: relative;
     z-index: 50;
     z-index: 50;
-    width: min(calc(100vw - 16px), 624px);
+    width: min(calc(100vw - 16px), 480px);
     height: min(calc(100vh - 16px), 512px);
     height: min(calc(100vh - 16px), 512px);
     display: flex;
     display: flex;
     flex-direction: column;
     flex-direction: column;

+ 8 - 1
packages/ui/src/components/select-dialog.css

@@ -121,12 +121,19 @@
         line-height: var(--line-height-large); /* 142.857% */
         line-height: var(--line-height-large); /* 142.857% */
         letter-spacing: var(--letter-spacing-normal);
         letter-spacing: var(--letter-spacing-normal);
 
 
+        [data-slot="select-dialog-item-selected-icon"] {
+          display: none;
+          color: var(--icon-strong-base);
+        }
+
         &[data-active="true"] {
         &[data-active="true"] {
           border-radius: var(--radius-md);
           border-radius: var(--radius-md);
           background: var(--surface-raised-base-hover);
           background: var(--surface-raised-base-hover);
         }
         }
         &[data-selected="true"] {
         &[data-selected="true"] {
-          background: var(--surface-raised-base-hover);
+          [data-slot="select-dialog-item-selected-icon"] {
+            display: block;
+          }
         }
         }
       }
       }
     }
     }

+ 1 - 1
packages/ui/src/components/select-dialog.tsx

@@ -153,7 +153,7 @@ export function SelectDialog<T>(props: SelectDialogProps<T>) {
                           }}
                           }}
                         >
                         >
                           {others.children(item)}
                           {others.children(item)}
-                          <Icon name="check-small" size="small" />
+                          <Icon data-slot="select-dialog-item-selected-icon" name="check-small" />
                         </button>
                         </button>
                       )}
                       )}
                     </For>
                     </For>