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, });