Files
outline/plugins/github/client/components/GitHubButton.tsx
T
Tom Moor f50bb00b29 Refactor of OAuth account linking flows (#12246)
* Refactor of OAuth account linking flows

* PR feedback
2026-05-02 18:54:38 -04:00

24 lines
820 B
TypeScript

import * as React from "react";
import { useTranslation } from "react-i18next";
import Button, { type Props } from "~/components/Button";
import useCurrentTeam from "~/hooks/useCurrentTeam";
import { generateOAuthStateNonce } from "~/utils/oauth";
import { redirectTo } from "~/utils/urls";
import { GitHubOAuthNonceCookie, GitHubUtils } from "../../shared/GitHubUtils";
export function GitHubConnectButton(props: Props<HTMLButtonElement>) {
const { t } = useTranslation();
const team = useCurrentTeam();
const handleConnect = React.useCallback(() => {
const nonce = generateOAuthStateNonce(GitHubOAuthNonceCookie);
redirectTo(GitHubUtils.authUrl({ teamId: team.id, nonce }));
}, [team.id]);
return (
<Button onClick={handleConnect} neutral {...props}>
{t("Connect")}
</Button>
);
}