mirror of
https://github.com/aljazceru/opencode.git
synced 2026-01-08 18:34:59 +01:00
fix(desktop): type issue
This commit is contained in:
@@ -99,13 +99,13 @@ export function Code(props: Props) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const onSelectionChange = () => {
|
const onSelectionChange = async () => {
|
||||||
if (!container) return
|
if (!container) return
|
||||||
if (isProgrammaticSelection) return
|
if (isProgrammaticSelection) return
|
||||||
// if (ctx.file.active()?.path !== local.path) return
|
// if (ctx.file.active()?.path !== local.path) return
|
||||||
const d = getSelectionInContainer(container)
|
const d = getSelectionInContainer(container)
|
||||||
if (!d) return
|
if (!d) return
|
||||||
const p = ctx.file.node(local.path)?.selection
|
const p = (await ctx.file.node(local.path))?.selection
|
||||||
if (p && p.startLine === d.sl && p.endLine === d.el && p.startChar === d.sch && p.endChar === d.ech) return
|
if (p && p.startLine === d.sl && p.endLine === d.el && p.startChar === d.sch && p.endChar === d.ech) return
|
||||||
ctx.file.select(local.path, { startLine: d.sl, startChar: d.sch, endLine: d.el, endChar: d.ech })
|
ctx.file.select(local.path, { startLine: d.sl, startChar: d.sch, endLine: d.el, endChar: d.ech })
|
||||||
}
|
}
|
||||||
@@ -144,21 +144,21 @@ export function Code(props: Props) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Restore scroll position from store when content is ready
|
// Restore scroll position from store when content is ready
|
||||||
createEffect(() => {
|
createEffect(async () => {
|
||||||
const content = html()
|
const content = html()
|
||||||
if (!container || !content) return
|
if (!container || !content) return
|
||||||
const top = ctx.file.node(local.path)?.scrollTop
|
const top = (await ctx.file.node(local.path))?.scrollTop
|
||||||
if (top !== undefined && container.scrollTop !== top) container.scrollTop = top
|
if (top !== undefined && container.scrollTop !== top) container.scrollTop = top
|
||||||
})
|
})
|
||||||
|
|
||||||
// Sync selection from store -> DOM
|
// Sync selection from store -> DOM
|
||||||
createEffect(() => {
|
createEffect(async () => {
|
||||||
const content = html()
|
const content = html()
|
||||||
if (!container || !content) return
|
if (!container || !content) return
|
||||||
// if (ctx.file.active()?.path !== local.path) return
|
// if (ctx.file.active()?.path !== local.path) return
|
||||||
const codeEl = container.querySelector("code") as HTMLElement | undefined
|
const codeEl = container.querySelector("code") as HTMLElement | undefined
|
||||||
if (!codeEl) return
|
if (!codeEl) return
|
||||||
const target = ctx.file.node(local.path)?.selection
|
const target = (await ctx.file.node(local.path))?.selection
|
||||||
const current = getSelectionInContainer(container)
|
const current = getSelectionInContainer(container)
|
||||||
const sel = window.getSelection()
|
const sel = window.getSelection()
|
||||||
if (!sel) return
|
if (!sel) return
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export default function FileTree(props: {
|
|||||||
<Collapsible
|
<Collapsible
|
||||||
class="w-full"
|
class="w-full"
|
||||||
forceMount={false}
|
forceMount={false}
|
||||||
open={local.file.node(node.path)?.expanded}
|
// open={local.file.node(node.path)?.expanded}
|
||||||
onOpenChange={(open) => (open ? local.file.expand(node.path) : local.file.collapse(node.path))}
|
onOpenChange={(open) => (open ? local.file.expand(node.path) : local.file.collapse(node.path))}
|
||||||
>
|
>
|
||||||
<Collapsible.Trigger>
|
<Collapsible.Trigger>
|
||||||
@@ -85,7 +85,7 @@ export default function FileTree(props: {
|
|||||||
<Collapsible.Arrow class="text-text-muted/60 ml-1" />
|
<Collapsible.Arrow class="text-text-muted/60 ml-1" />
|
||||||
<FileIcon
|
<FileIcon
|
||||||
node={node}
|
node={node}
|
||||||
expanded={local.file.node(node.path).expanded}
|
// expanded={local.file.node(node.path).expanded}
|
||||||
class="text-text-muted/60 -ml-1"
|
class="text-text-muted/60 -ml-1"
|
||||||
/>
|
/>
|
||||||
</Node>
|
</Node>
|
||||||
|
|||||||
Reference in New Issue
Block a user