|
|
@@ -1,3 +1,5 @@
|
|
|
+import type { UserMessage } from "@opencode-ai/sdk/v2"
|
|
|
+import { useDialog } from "@opencode-ai/ui/context/dialog"
|
|
|
import {
|
|
|
onCleanup,
|
|
|
Show,
|
|
|
@@ -9,7 +11,6 @@ import {
|
|
|
on,
|
|
|
onMount,
|
|
|
untrack,
|
|
|
- createSignal,
|
|
|
} from "solid-js"
|
|
|
import { createMediaQuery } from "@solid-primitives/media"
|
|
|
import { createResizeObserver } from "@solid-primitives/resize-observer"
|
|
|
@@ -20,29 +21,26 @@ import { ResizeHandle } from "@opencode-ai/ui/resize-handle"
|
|
|
import { Select } from "@opencode-ai/ui/select"
|
|
|
import { createAutoScroll } from "@opencode-ai/ui/hooks"
|
|
|
import { Mark } from "@opencode-ai/ui/logo"
|
|
|
-
|
|
|
-import { useSync } from "@/context/sync"
|
|
|
-import { useLayout } from "@/context/layout"
|
|
|
-import { checksum, base64Encode } from "@opencode-ai/util/encode"
|
|
|
-import { useDialog } from "@opencode-ai/ui/context/dialog"
|
|
|
+import { base64Encode, checksum } from "@opencode-ai/util/encode"
|
|
|
+import { useNavigate, useParams, useSearchParams } from "@solidjs/router"
|
|
|
+import { NewSessionView, SessionHeader } from "@/components/session"
|
|
|
+import { useComments } from "@/context/comments"
|
|
|
import { useLanguage } from "@/context/language"
|
|
|
-import { useNavigate, useParams } from "@solidjs/router"
|
|
|
-import { UserMessage } from "@opencode-ai/sdk/v2"
|
|
|
-import { useSDK } from "@/context/sdk"
|
|
|
+import { useLayout } from "@/context/layout"
|
|
|
import { usePrompt } from "@/context/prompt"
|
|
|
-import { useComments } from "@/context/comments"
|
|
|
-import { SessionHeader, NewSessionView } from "@/components/session"
|
|
|
-import { same } from "@/utils/same"
|
|
|
+import { useSDK } from "@/context/sdk"
|
|
|
+import { useSync } from "@/context/sync"
|
|
|
+import { createSessionComposerState, SessionComposerRegion } from "@/pages/session/composer"
|
|
|
import { createOpenReviewFile } from "@/pages/session/helpers"
|
|
|
-import { createScrollSpy } from "@/pages/session/scroll-spy"
|
|
|
-import { SessionReviewTab, type DiffStyle, type SessionReviewTabProps } from "@/pages/session/review-tab"
|
|
|
-import { TerminalPanel } from "@/pages/session/terminal-panel"
|
|
|
import { MessageTimeline } from "@/pages/session/message-timeline"
|
|
|
-import { useSessionCommands } from "@/pages/session/use-session-commands"
|
|
|
-import { SessionComposerRegion, createSessionComposerState } from "@/pages/session/composer"
|
|
|
+import { type DiffStyle, SessionReviewTab, type SessionReviewTabProps } from "@/pages/session/review-tab"
|
|
|
+import { createScrollSpy } from "@/pages/session/scroll-spy"
|
|
|
import { SessionMobileTabs } from "@/pages/session/session-mobile-tabs"
|
|
|
import { SessionSidePanel } from "@/pages/session/session-side-panel"
|
|
|
+import { TerminalPanel } from "@/pages/session/terminal-panel"
|
|
|
+import { useSessionCommands } from "@/pages/session/use-session-commands"
|
|
|
import { useSessionHashScroll } from "@/pages/session/use-session-hash-scroll"
|
|
|
+import { same } from "@/utils/same"
|
|
|
|
|
|
const emptyUserMessages: UserMessage[] = []
|
|
|
|
|
|
@@ -265,6 +263,19 @@ export default function Page() {
|
|
|
const sdk = useSDK()
|
|
|
const prompt = usePrompt()
|
|
|
const comments = useComments()
|
|
|
+ const [searchParams, setSearchParams] = useSearchParams<{ prompt?: string }>()
|
|
|
+
|
|
|
+ createEffect(() => {
|
|
|
+ if (!untrack(() => prompt.ready())) return
|
|
|
+ prompt.ready()
|
|
|
+ untrack(() => {
|
|
|
+ if (params.id || !prompt.ready()) return
|
|
|
+ const text = searchParams.prompt
|
|
|
+ if (!text) return
|
|
|
+ prompt.set([{ type: "text", content: text, start: 0, end: text.length }], text.length)
|
|
|
+ setSearchParams({ ...searchParams, prompt: undefined })
|
|
|
+ })
|
|
|
+ })
|
|
|
|
|
|
const [ui, setUi] = createStore({
|
|
|
pendingMessage: undefined as string | undefined,
|
|
|
@@ -679,7 +690,11 @@ export default function Page() {
|
|
|
on(
|
|
|
sessionKey,
|
|
|
() => {
|
|
|
- setTree({ reviewScroll: undefined, pendingDiff: undefined, activeDiff: undefined })
|
|
|
+ setTree({
|
|
|
+ reviewScroll: undefined,
|
|
|
+ pendingDiff: undefined,
|
|
|
+ activeDiff: undefined,
|
|
|
+ })
|
|
|
},
|
|
|
{ defer: true },
|
|
|
),
|