mirror of
https://github.com/aljazceru/opencode.git
synced 2026-01-10 11:24:59 +01:00
wip: desktop work
This commit is contained in:
@@ -159,6 +159,20 @@ export default function Page() {
|
|||||||
setActiveItem(undefined)
|
setActiveItem(undefined)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const scrollDiffItem = (element: HTMLElement) => {
|
||||||
|
element.scrollIntoView({ block: "start", behavior: "instant" })
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDiffTriggerClick = (event: MouseEvent) => {
|
||||||
|
const target = event.currentTarget as HTMLElement
|
||||||
|
queueMicrotask(() => {
|
||||||
|
if (target.getAttribute("aria-expanded") !== "true") return
|
||||||
|
const item = target.closest('[data-slot="accordion-item"]') as HTMLElement | null
|
||||||
|
if (!item) return
|
||||||
|
scrollDiffItem(item)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const handlePromptSubmit = async (parts: ContentPart[]) => {
|
const handlePromptSubmit = async (parts: ContentPart[]) => {
|
||||||
const existingSession = local.session.active()
|
const existingSession = local.session.active()
|
||||||
let session = existingSession
|
let session = existingSession
|
||||||
@@ -564,10 +578,7 @@ export default function Page() {
|
|||||||
</For>
|
</For>
|
||||||
</ul>
|
</ul>
|
||||||
</Show>
|
</Show>
|
||||||
<div
|
<div ref={messageScrollElement} class="grow min-w-0 h-full overflow-y-auto no-scrollbar">
|
||||||
ref={messageScrollElement}
|
|
||||||
class="grow min-w-0 h-full overflow-y-auto no-scrollbar snap-y"
|
|
||||||
>
|
|
||||||
<div class="flex flex-col items-start gap-50 pb-[800px]">
|
<div class="flex flex-col items-start gap-50 pb-[800px]">
|
||||||
<For each={local.session.userMessages()}>
|
<For each={local.session.userMessages()}>
|
||||||
{(message) => {
|
{(message) => {
|
||||||
@@ -578,7 +589,7 @@ export default function Page() {
|
|||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
data-message={message.id}
|
data-message={message.id}
|
||||||
class="flex flex-col items-start self-stretch gap-14 pt-1.5 snap-start"
|
class="flex flex-col items-start self-stretch gap-14 pt-1.5"
|
||||||
>
|
>
|
||||||
{/* Title */}
|
{/* Title */}
|
||||||
<div class="flex flex-col items-start gap-2 self-stretch">
|
<div class="flex flex-col items-start gap-2 self-stretch">
|
||||||
@@ -603,7 +614,7 @@ export default function Page() {
|
|||||||
{(diff) => (
|
{(diff) => (
|
||||||
<Accordion.Item value={diff.file}>
|
<Accordion.Item value={diff.file}>
|
||||||
<Accordion.Header>
|
<Accordion.Header>
|
||||||
<Accordion.Trigger>
|
<Accordion.Trigger onClick={handleDiffTriggerClick}>
|
||||||
<div class="flex items-center justify-between w-full">
|
<div class="flex items-center justify-between w-full">
|
||||||
<div class="flex items-center gap-5">
|
<div class="flex items-center gap-5">
|
||||||
<FileIcon
|
<FileIcon
|
||||||
|
|||||||
Reference in New Issue
Block a user