Files
outline/plugins/figma/client/components/FigmaButton.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
825 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 { FigmaOAuthNonceCookie, FigmaUtils } from "../../shared/FigmaUtils";
export function FigmaConnectButton(props: Props<HTMLButtonElement>) {
const { t } = useTranslation();
const team = useCurrentTeam();
const handleConnect = React.useCallback(() => {
const nonce = generateOAuthStateNonce(FigmaOAuthNonceCookie);
redirectTo(FigmaUtils.authUrl({ state: { teamId: team.id, nonce } }));
}, [team.id]);
return (
<Button onClick={handleConnect} neutral {...props}>
{t("Connect")}
</Button>
);
}