Replace session picker modal with instance welcome view
Transform the session picker from a modal into a comprehensive welcome screen that displays instance metadata, session history, and creation options. The new view provides full keyboard navigation, shows MCP server status, OpenCode binary path, and project information in a compact, space-efficient layout. Key features: - Instance metadata sidebar showing folder, project, VCS, version, binary path, MCP status, and server info - Session list with keyboard navigation (↑↓, PgUp/PgDn, Home/End, Enter) - Cmd+Enter shortcut to create new session from anywhere - Compact design with efficient space usage - Visual MCP server status indicators (running/stopped/error) - Scrollable layout that keeps "New Session" section accessible
This commit is contained in:
@@ -6,6 +6,27 @@ export interface LogEntry {
|
||||
message: string
|
||||
}
|
||||
|
||||
export interface ProjectInfo {
|
||||
id: string
|
||||
worktree: string
|
||||
vcs?: "git"
|
||||
time: {
|
||||
created: number
|
||||
initialized?: number
|
||||
}
|
||||
}
|
||||
|
||||
export interface McpServerStatus {
|
||||
name: string
|
||||
status: "running" | "stopped" | "error"
|
||||
}
|
||||
|
||||
export interface InstanceMetadata {
|
||||
project?: ProjectInfo
|
||||
mcpStatus?: unknown
|
||||
version?: string
|
||||
}
|
||||
|
||||
export interface Instance {
|
||||
id: string
|
||||
folder: string
|
||||
@@ -15,4 +36,6 @@ export interface Instance {
|
||||
error?: string
|
||||
client: OpencodeClient | null
|
||||
logs: LogEntry[]
|
||||
metadata?: InstanceMetadata
|
||||
binaryPath?: string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user