diff --git a/src/components/agent-selector.tsx b/src/components/agent-selector.tsx index 398451d2..181b735f 100644 --- a/src/components/agent-selector.tsx +++ b/src/components/agent-selector.tsx @@ -64,19 +64,17 @@ export default function AgentSelector(props: AgentSelectorProps) { itemComponent={(itemProps) => ( -
- +
+ {itemProps.item.rawValue.name} - - subagent - + subagent - + {itemProps.item.rawValue.description.length > 50 ? itemProps.item.rawValue.description.slice(0, 50) + "..." : itemProps.item.rawValue.description} @@ -92,11 +90,15 @@ export default function AgentSelector(props: AgentSelectorProps) { > > {(state) => ( - Agent: {state.selectedOption()?.name ?? "None"} +
+ + Agent: {state.selectedOption()?.name ?? "None"} + +
)} - - + + @@ -106,7 +108,7 @@ export default function AgentSelector(props: AgentSelectorProps) { - +
diff --git a/src/components/empty-state.tsx b/src/components/empty-state.tsx index 1bf1ccf3..a765ddeb 100644 --- a/src/components/empty-state.tsx +++ b/src/components/empty-state.tsx @@ -8,21 +8,20 @@ interface EmptyStateProps { const EmptyState: Component = (props) => { return ( -
+
- +
-

Welcome to OpenCode Client

+

Welcome to OpenCode Client

-

Select a folder to start coding with AI

+

Select a folder to start coding with AI

-

+

Keyboard shortcut: {navigator.platform.includes("Mac") ? "Cmd" : "Ctrl"}+N

-
+

Examples: ~/projects/my-app

You can have multiple instances of the same folder

diff --git a/src/components/environment-variables-editor.tsx b/src/components/environment-variables-editor.tsx index 725f4710..78d8e5e8 100644 --- a/src/components/environment-variables-editor.tsx +++ b/src/components/environment-variables-editor.tsx @@ -52,9 +52,9 @@ const EnvironmentVariablesEditor: Component = ( return (
- - Environment Variables - + + Environment Variables + ({entries().length} variable{entries().length !== 1 ? "s" : ""})
@@ -66,12 +66,12 @@ const EnvironmentVariablesEditor: Component = ( {([key, value]) => (
- + @@ -80,14 +80,14 @@ const EnvironmentVariablesEditor: Component = ( value={value} disabled={props.disabled} onInput={(e) => handleUpdateVariable(key, e.currentTarget.value)} - class="flex-1 px-2.5 py-1.5 text-sm bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed" + class="flex-1 px-2.5 py-1.5 text-sm bg-surface-base border border-base rounded text-primary focus-ring-accent disabled:opacity-50 disabled:cursor-not-allowed" placeholder="Variable value" />
-
+
No environment variables configured. Add variables above to customize the OpenCode environment.
-
+
These variables will be available in the OpenCode environment when starting instances.
diff --git a/src/components/hint-row.tsx b/src/components/hint-row.tsx index 47844ee5..40d3745c 100644 --- a/src/components/hint-row.tsx +++ b/src/components/hint-row.tsx @@ -6,7 +6,7 @@ interface HintRowProps { } const HintRow: Component = (props) => { - return {props.children} + return {props.children} } export default HintRow diff --git a/src/components/instance-info.tsx b/src/components/instance-info.tsx index 25de750c..41bc38fc 100644 --- a/src/components/instance-info.tsx +++ b/src/components/instance-info.tsx @@ -81,8 +81,8 @@ const InstanceInfo: Component = (props) => {
-
Folder
-
+
Folder
+
{props.instance.folder}
@@ -91,22 +91,23 @@ const InstanceInfo: Component = (props) => { {(project) => ( <>
-
+
Project
-
+
{project().id}
-
+
Version Control
-
+
@@ -122,10 +123,10 @@ const InstanceInfo: Component = (props) => {
-
+
OpenCode Version
-
+
v{metadata()?.version}
@@ -133,10 +134,10 @@ const InstanceInfo: Component = (props) => {
-
+
Binary Path
-
+
{props.instance.binaryPath}
@@ -144,17 +145,17 @@ const InstanceInfo: Component = (props) => { 0}>
-
+
Environment Variables ({Object.keys(props.instance.environmentVariables!).length})
{([key, value]) => ( -
- +
+ {key} - + {value}
@@ -166,27 +167,23 @@ const InstanceInfo: Component = (props) => { 0}>
-
+
MCP Servers
{(server) => ( -
- {server.name} +
+ {server.name}
- } - > -
- - } - > -
+ +
+ + +
+ + +
@@ -197,9 +194,9 @@ const InstanceInfo: Component = (props) => {
-
+
- + = (props) => {
-
Server
+
Server
- Port: - {props.instance.port} + Port: + {props.instance.port}
- PID: - {props.instance.pid} + PID: + {props.instance.pid}
- Status: + Status:
{props.instance.status} diff --git a/src/components/instance-welcome-view.tsx b/src/components/instance-welcome-view.tsx index 6d8b9365..3119c136 100644 --- a/src/components/instance-welcome-view.tsx +++ b/src/components/instance-welcome-view.tsx @@ -3,6 +3,7 @@ import type { Instance } from "../types/instance" import { getParentSessions, createSession, setActiveParentSession, agents } from "../stores/sessions" import InstanceInfo from "./instance-info" + interface InstanceWelcomeViewProps { instance: Instance } @@ -146,14 +147,14 @@ const InstanceWelcomeView: Component = (props) => { } return ( -
+
0} fallback={ -
-
+
+
= (props) => { />
-

No Previous Sessions

-

Create a new session below to get started

+

No Previous Sessions

+

Create a new session below to get started

} > -
-
-

Resume Session

-

+

+
+

Resume Session

+

{parentSessions().length} {parentSessions().length === 1 ? "session" : "sessions"} available

-
+
{(session, index) => ( -
- + +
)}
-
-
-

Start New Session

-

- Create a fresh conversation with your chosen agent -

+
+
+

Start New Session

+

Create a fresh conversation with your chosen agent

-
+
0} - fallback={
Loading agents...
} + fallback={
Loading agents...
} >
- + setSelectedAgent(e.currentTarget.value)} > @@ -130,7 +129,7 @@ const SessionPicker: Component = (props) => {