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:
Shantur Rathore
2025-10-24 15:41:59 +01:00
parent a1a5c4b396
commit 6f31ffc467
8 changed files with 571 additions and 54 deletions

View File

@@ -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
}