Files
claude-code/src/replLauncher.tsx
2026-04-07 16:17:48 +08:00

29 lines
820 B
TypeScript

import React from 'react'
import type { StatsStore } from './context/stats.js'
import type { Root } from '@anthropic/ink'
import type { Props as REPLProps } from './screens/REPL.js'
import type { AppState } from './state/AppStateStore.js'
import type { FpsMetrics } from './utils/fpsTracker.js'
type AppWrapperProps = {
getFpsMetrics: () => FpsMetrics | undefined
stats?: StatsStore
initialState: AppState
}
export async function launchRepl(
root: Root,
appProps: AppWrapperProps,
replProps: REPLProps,
renderAndRun: (root: Root, element: React.ReactNode) => Promise<void>,
): Promise<void> {
const { App } = await import('./components/App.js')
const { REPL } = await import('./screens/REPL.js')
await renderAndRun(
root,
<App {...appProps}>
<REPL {...replProps} />
</App>,
)
}