1- import { onCleanup , Show , Match , Switch , createMemo , createEffect , on , onMount } from "solid-js"
1+ import type { UserMessage } from "@opencode-ai/sdk/v2"
2+ import { useDialog } from "@opencode-ai/ui/context/dialog"
3+ import { createAutoScroll } from "@opencode-ai/ui/hooks"
4+ import { Mark } from "@opencode-ai/ui/logo"
5+ import { ResizeHandle } from "@opencode-ai/ui/resize-handle"
6+ import { Select } from "@opencode-ai/ui/select"
7+ import { base64Encode , checksum } from "@opencode-ai/util/encode"
28import { createMediaQuery } from "@solid-primitives/media"
39import { createResizeObserver } from "@solid-primitives/resize-observer"
4- import { useLocal } from "@/context/local "
5- import { selectionFromLines , useFile , type FileSelection , type SelectedLineRange } from "@/context/file "
10+ import { useNavigate , useParams , useSearchParams } from "@solidjs/router "
11+ import { createEffect , createMemo , Match , on , onCleanup , onMount , Show , Switch , untrack } from "solid-js "
612import { createStore } from "solid-js/store"
7- import { ResizeHandle } from "@opencode-ai/ui/resize-handle"
8- import { Select } from "@opencode-ai/ui/select"
9- import { createAutoScroll } from "@opencode-ai/ui/hooks"
10- import { Mark } from "@opencode-ai/ui/logo"
11-
12- import { useSync } from "@/context/sync"
13- import { useLayout } from "@/context/layout"
14- import { checksum , base64Encode } from "@opencode-ai/util/encode"
15- import { useDialog } from "@opencode-ai/ui/context/dialog"
13+ import { NewSessionView , SessionHeader } from "@/components/session"
14+ import { useComments } from "@/context/comments"
15+ import { type FileSelection , type SelectedLineRange , selectionFromLines , useFile } from "@/context/file"
1616import { useLanguage } from "@/context/language"
17- import { useNavigate , useParams } from "@solidjs/router"
18- import { UserMessage } from "@opencode-ai/sdk/v2"
19- import { useSDK } from "@/context/sdk"
17+ import { useLayout } from "@/context/layout"
18+ import { useLocal } from "@/context/local"
2019import { usePrompt } from "@/context/prompt"
21- import { useComments } from "@/context/comments "
22- import { SessionHeader , NewSessionView } from "@/components/session "
23- import { same } from "@/utils/same "
20+ import { useSDK } from "@/context/sdk "
21+ import { useSync } from "@/context/sync "
22+ import { createSessionComposerState , SessionComposerRegion } from "@/pages/session/composer "
2423import { createOpenReviewFile } from "@/pages/session/helpers"
25- import { createScrollSpy } from "@/pages/session/scroll-spy"
26- import { SessionReviewTab , type DiffStyle , type SessionReviewTabProps } from "@/pages/session/review-tab"
27- import { TerminalPanel } from "@/pages/session/terminal-panel"
2824import { MessageTimeline } from "@/pages/session/message-timeline"
29- import { useSessionCommands } from "@/pages/session/use-session-commands "
30- import { SessionComposerRegion , createSessionComposerState } from "@/pages/session/composer "
25+ import { type DiffStyle , SessionReviewTab , type SessionReviewTabProps } from "@/pages/session/review-tab "
26+ import { createScrollSpy } from "@/pages/session/scroll-spy "
3127import { SessionMobileTabs } from "@/pages/session/session-mobile-tabs"
3228import { SessionSidePanel } from "@/pages/session/session-side-panel"
29+ import { TerminalPanel } from "@/pages/session/terminal-panel"
30+ import { useSessionCommands } from "@/pages/session/use-session-commands"
3331import { useSessionHashScroll } from "@/pages/session/use-session-hash-scroll"
32+ import { same } from "@/utils/same"
3433
3534export default function Page ( ) {
3635 const layout = useLayout ( )
@@ -44,6 +43,19 @@ export default function Page() {
4443 const sdk = useSDK ( )
4544 const prompt = usePrompt ( )
4645 const comments = useComments ( )
46+ const [ searchParams , setSearchParams ] = useSearchParams < { prompt ?: string } > ( )
47+
48+ createEffect ( ( ) => {
49+ if ( ! untrack ( ( ) => prompt . ready ( ) ) ) return
50+ prompt . ready ( )
51+ untrack ( ( ) => {
52+ if ( params . id || ! prompt . ready ( ) ) return
53+ const text = searchParams . prompt
54+ if ( ! text ) return
55+ prompt . set ( [ { type : "text" , content : text , start : 0 , end : text . length } ] , text . length )
56+ setSearchParams ( { ...searchParams , prompt : undefined } )
57+ } )
58+ } )
4759
4860 const [ ui , setUi ] = createStore ( {
4961 pendingMessage : undefined as string | undefined ,
@@ -478,7 +490,11 @@ export default function Page() {
478490 on (
479491 sessionKey ,
480492 ( ) => {
481- setTree ( { reviewScroll : undefined , pendingDiff : undefined , activeDiff : undefined } )
493+ setTree ( {
494+ reviewScroll : undefined ,
495+ pendingDiff : undefined ,
496+ activeDiff : undefined ,
497+ } )
482498 } ,
483499 { defer : true } ,
484500 ) ,
0 commit comments