Split codebase (#455)

This commit is contained in:
Gregory Schier
2026-05-07 15:50:10 -07:00
committed by GitHub
parent d2dc719cc6
commit 10559c8f4f
742 changed files with 7686 additions and 3249 deletions

View File

@@ -0,0 +1,29 @@
import type { HttpResponse } from "@yaakapp-internal/models";
import { httpResponsesAtom } from "@yaakapp-internal/models";
import { useAtomValue } from "jotai";
import { useKeyValue } from "./useKeyValue";
import { useLatestHttpResponse } from "./useLatestHttpResponse";
export function usePinnedHttpResponse(activeRequestId: string) {
const latestResponse = useLatestHttpResponse(activeRequestId);
const { set, value: pinnedResponseId } = useKeyValue<string | null>({
// Key on the latest response instead of activeRequest because responses change out of band of active request
key: ["pinned_http_response_id", latestResponse?.id ?? "n/a"],
fallback: null,
namespace: "global",
});
const allResponses = useAtomValue(httpResponsesAtom);
const responses = allResponses.filter((r) => r.requestId === activeRequestId);
const activeResponse: HttpResponse | null =
responses.find((r) => r.id === pinnedResponseId) ?? latestResponse;
const setPinnedResponseId = async (id: string) => {
if (pinnedResponseId === id) {
await set(null);
} else {
await set(id);
}
};
return { activeResponse, setPinnedResponseId, pinnedResponseId, responses } as const;
}