import { Component, For, Show, createMemo } from "solid-js" import type { Instance } from "../types/instance" import { useOptionalInstanceMetadataContext } from "../lib/contexts/instance-metadata-context" import InstanceServiceStatus from "./instance-service-status" interface InstanceInfoProps { instance: Instance compact?: boolean } const InstanceInfo: Component = (props) => { const metadataContext = useOptionalInstanceMetadataContext() const isLoadingMetadata = metadataContext?.isLoading ?? (() => false) const instanceAccessor = metadataContext?.instance ?? (() => props.instance) const metadataAccessor = metadataContext?.metadata ?? (() => props.instance.metadata) const currentInstance = () => instanceAccessor() const metadata = () => metadataAccessor() const binaryVersion = () => currentInstance().binaryVersion || metadata()?.version const environmentVariables = () => currentInstance().environmentVariables const environmentEntries = createMemo(() => { const env = environmentVariables() return env ? Object.entries(env) : [] }) return (

Instance Information

Folder
{currentInstance().folder}
{(project) => ( <>
Project
{project().id}
Version Control
{project().vcs}
)}
OpenCode Version
v{binaryVersion()}
Binary Path
{currentInstance().binaryPath}
0}>
Environment Variables ({environmentEntries().length})
{([key, value]) => (
{key} {value}
)}
Loading...
Server
Port: {currentInstance().port}
PID: {currentInstance().pid}
Status:
{currentInstance().status}
) } export default InstanceInfo