feat(web): add input display
This commit is contained in:
parent
0dec0015a5
commit
63f9706afa
@ -1,3 +1,4 @@
|
|||||||
|
import { RunInputs } from "@/components/RunInputs";
|
||||||
import { LiveStatus } from "./LiveStatus";
|
import { LiveStatus } from "./LiveStatus";
|
||||||
import { RunOutputs } from "@/components/RunOutputs";
|
import { RunOutputs } from "@/components/RunOutputs";
|
||||||
import {
|
import {
|
||||||
@ -18,17 +19,11 @@ export async function RunDisplay({
|
|||||||
}: {
|
}: {
|
||||||
run: Awaited<ReturnType<typeof findAllRuns>>[0];
|
run: Awaited<ReturnType<typeof findAllRuns>>[0];
|
||||||
}) {
|
}) {
|
||||||
// const [view, setView] = useState<any>();
|
|
||||||
return (
|
return (
|
||||||
<Dialog>
|
<Dialog>
|
||||||
<DialogTrigger
|
<DialogTrigger
|
||||||
asChild
|
asChild
|
||||||
className="appearance-none hover:cursor-pointer"
|
className="appearance-none hover:cursor-pointer"
|
||||||
// onClick={async () => {
|
|
||||||
// if (view) return;
|
|
||||||
// const _view = await callServerPromise(getRunsOutputDisplay(run.id));
|
|
||||||
// setView(_view);
|
|
||||||
// }}
|
|
||||||
>
|
>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell>{run.version?.version}</TableCell>
|
<TableCell>{run.version?.version}</TableCell>
|
||||||
@ -45,6 +40,7 @@ export async function RunDisplay({
|
|||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<div className="max-h-96 overflow-y-scroll">
|
<div className="max-h-96 overflow-y-scroll">
|
||||||
|
<RunInputs run={run}/>
|
||||||
<Suspense>
|
<Suspense>
|
||||||
<RunOutputs run_id={run.id} />
|
<RunOutputs run_id={run.id} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
|
51
web/src/components/RunInputs.tsx
Normal file
51
web/src/components/RunInputs.tsx
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
import { OutputRender } from "./RunDisplay";
|
||||||
|
import { CodeBlock } from "@/components/CodeBlock";
|
||||||
|
import {
|
||||||
|
Table,
|
||||||
|
TableBody,
|
||||||
|
TableCell,
|
||||||
|
TableHead,
|
||||||
|
TableHeader,
|
||||||
|
TableRow,
|
||||||
|
} from "@/components/ui/table";
|
||||||
|
import { findAllRuns } from "@/server/findAllRuns";
|
||||||
|
import { getRunsOutput } from "@/server/getRunsOutput";
|
||||||
|
|
||||||
|
export async function RunInputs({
|
||||||
|
run,
|
||||||
|
}: {
|
||||||
|
run: Awaited<ReturnType<typeof findAllRuns>>[0];
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{run.workflow_inputs && (
|
||||||
|
<Table className="table-fixed">
|
||||||
|
<TableHeader className="bg-background top-0 sticky">
|
||||||
|
<TableRow>
|
||||||
|
<TableHead className="w-[200px]">File</TableHead>
|
||||||
|
<TableHead className="">Input</TableHead>
|
||||||
|
</TableRow>
|
||||||
|
</TableHeader>
|
||||||
|
<TableBody>
|
||||||
|
{Object.entries(run.workflow_inputs).map(([key, data]) => {
|
||||||
|
let imageUrl;
|
||||||
|
try {
|
||||||
|
const url = new URL(data);
|
||||||
|
if (url.pathname.endsWith('.png')) {
|
||||||
|
imageUrl = data;
|
||||||
|
}
|
||||||
|
} catch (_) {
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<TableRow key={key}>
|
||||||
|
<TableCell>{key}</TableCell>
|
||||||
|
{imageUrl ? <TableCell><img className="w-[200px] aspect-square" src={imageUrl}></img></TableCell> : <TableCell>{data}</TableCell>}
|
||||||
|
</TableRow>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
@ -12,22 +12,8 @@ import { getRunsOutput } from "@/server/getRunsOutput";
|
|||||||
|
|
||||||
export async function RunOutputs({ run_id }: { run_id: string }) {
|
export async function RunOutputs({ run_id }: { run_id: string }) {
|
||||||
const outputs = await getRunsOutput(run_id);
|
const outputs = await getRunsOutput(run_id);
|
||||||
// console.log("Getting runs out put");
|
|
||||||
|
|
||||||
// const [outputs, setOutputs] =
|
|
||||||
// useState<Awaited<ReturnType<typeof getRunsOutput>>>();
|
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// if (!run_id) return;
|
|
||||||
// // fetch(`/api/run?run_id=${run_id}`)
|
|
||||||
// // .then((x) => x.json())
|
|
||||||
// // .then((x) => setOutputs(x));
|
|
||||||
// callServerPromise(getRunsOutput(run_id).then((x) => setOutputs(x)));
|
|
||||||
// }, [run_id]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Table className="table-fixed">
|
<Table className="table-fixed">
|
||||||
{/* <TableCaption>A list of your recent runs.</TableCaption> */}
|
|
||||||
<TableHeader className="bg-background top-0 sticky">
|
<TableHeader className="bg-background top-0 sticky">
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableHead className="w-[200px]">File</TableHead>
|
<TableHead className="w-[200px]">File</TableHead>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user