mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-25 02:41:21 +01:00
Add .oxfmtignore to skip generated bindings and wasm-pack output. Add npm format script, update DEVELOPMENT.md for Vite+ toolchain, and format all non-generated files with oxfmt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import type { WebsocketRequest } from "@yaakapp-internal/models";
|
|
import classNames from "classnames";
|
|
import { useAtomValue } from "jotai";
|
|
import type { CSSProperties } from "react";
|
|
|
|
import { workspaceLayoutAtom } from "../lib/atoms";
|
|
import { SplitLayout } from "./core/SplitLayout";
|
|
import { WebsocketRequestPane } from "./WebsocketRequestPane";
|
|
import { WebsocketResponsePane } from "./WebsocketResponsePane";
|
|
|
|
interface Props {
|
|
activeRequest: WebsocketRequest;
|
|
style: CSSProperties;
|
|
}
|
|
|
|
export function WebsocketRequestLayout({ activeRequest, style }: Props) {
|
|
const workspaceLayout = useAtomValue(workspaceLayoutAtom);
|
|
return (
|
|
<SplitLayout
|
|
name="websocket_layout"
|
|
className="p-3 gap-1.5"
|
|
layout={workspaceLayout}
|
|
style={style}
|
|
firstSlot={({ orientation, style }) => (
|
|
<WebsocketRequestPane
|
|
style={style}
|
|
activeRequest={activeRequest}
|
|
fullHeight={orientation === "horizontal"}
|
|
/>
|
|
)}
|
|
secondSlot={({ style }) => (
|
|
<div
|
|
style={style}
|
|
className={classNames(
|
|
"x-theme-responsePane",
|
|
"max-h-full h-full grid grid-rows-[minmax(0,1fr)] grid-cols-1",
|
|
"bg-surface rounded-md border border-border-subtle",
|
|
"shadow relative",
|
|
)}
|
|
>
|
|
<WebsocketResponsePane activeRequest={activeRequest} />
|
|
</div>
|
|
)}
|
|
/>
|
|
);
|
|
}
|