Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120import { For, Show } from "solid-js"import type { LookupResult, WorkspaceSection } from "~/lib/lookup"
export function Result(props: { data: LookupResult }) { return ( <> <Show when={props.data.auth}> {(auth) => ( <section data-component="section"> <h2>Auth</h2> <DataTable rows={auth()} /> </section> )} </Show>
<Show when={props.data.accountWorkspaces}> {(workspaces) => ( <section data-component="section"> <h2>Workspaces</h2> <DataTable rows={workspaces()} /> </section> )} </Show>
<For each={props.data.workspaces}>{(ws) => <WorkspaceView section={ws} />}</For> </> )}
function WorkspaceView(props: { section: WorkspaceSection }) { return ( <section data-component="section" id={`workspace-${props.section.workspaceID}`}> <h2>{props.section.title}</h2>
<h3>Users</h3> <DataTable rows={props.section.users} />
<h3>Billing</h3> <DataTable rows={props.section.billing ? [props.section.billing] : []} />
<h3>GO</h3> <DataTable rows={props.section.go} />
<h3>Payments</h3> <DataTable rows={props.section.payments} />
<h3>28-Day Usage</h3> <DataTable rows={props.section.usage} />
<h3>Disabled Models</h3> <DataTable rows={props.section.disabledModels} /> </section> )}
function DataTable(props: { rows: Record<string, unknown>[] }) { const columns = () => { const cols = new Set<string>() for (const row of props.rows) { for (const key of Object.keys(row)) cols.add(key) } return [...cols] }
return ( <Show when={props.rows.length > 0} fallback={<div data-empty>(no data)</div>}> <table> <thead> <tr> <For each={columns()}>{(col) => <th>{col}</th>}</For> </tr> </thead> <tbody> <For each={props.rows}> {(row) => ( <tr> <For each={columns()}>{(col) => <td>{renderCell(row[col])}</td>}</For> </tr> )} </For> </tbody> </table> </Show> )}
function renderCell(value: unknown) { if (value === null || value === undefined) return "" if (typeof value === "string" && value.startsWith("https://")) { return ( <a href={value} target="_blank" rel="noopener noreferrer"> {value} </a> ) } if (isLinkCell(value)) { const external = value.__link.startsWith("http") return ( <a href={value.__link} target={external ? "_blank" : undefined} rel={external ? "noopener noreferrer" : undefined} > {value.label} </a> ) } if (typeof value === "object") return JSON.stringify(value) return String(value)}
function isLinkCell(value: unknown): value is { __link: string; label: string } { return ( typeof value === "object" && value !== null && "__link" in value && typeof (value as { __link: unknown }).__link === "string" )}