import { useRetainedPullRequestData } from "./pull-request/data";
import {
pullRequestPanelPresentation,
usePullRequestPanelDescriptor,
} from "./pull-request/descriptor";
import { Text, View } from "react-native";
import { useTranslation } from "react-i18next";
import invariant from "tiny-invariant";
import { usePaneContext } from "@/panels/pane-context";
import { definePanel } from "@/panels/panel-registry";
import { PullRequestContent } from "@/panels/pull-request";
import { useWorkspaceDirectory } from "@/stores/session-store-hooks";
const CENTERED_PADDED_STYLE = {
flex: 1,
alignItems: "center",
justifyContent: "center",
padding: 16,
} as const;
function PullRequestPanel() {
const { t } = useTranslation();
const { serverId, workspaceId, target } = usePaneContext();
const cwd = useWorkspaceDirectory(serverId, workspaceId) ?? "";
invariant(target.kind === "pull_request", "PullRequestPanel requires pull_request target");
const prPane = useRetainedPullRequestData({ serverId, cwd }, "content");
if (!cwd) {
return (
{t("panels.file.directoryMissing")}
);
}
return (
);
}
export const pullRequestPanelRegistration = definePanel("pull_request", {
component: PullRequestPanel,
presentation: pullRequestPanelPresentation,
useDescriptor: usePullRequestPanelDescriptor,
});