2023-04-18 05:24:45 +00:00
|
|
|
// hooks
|
|
|
|
import useIntegrationPopup from "hooks/use-integration-popup";
|
2023-04-05 19:21:15 +00:00
|
|
|
// ui
|
2023-10-11 11:18:58 +00:00
|
|
|
import { Button } from "@plane/ui";
|
2023-04-18 05:24:45 +00:00
|
|
|
// types
|
|
|
|
import { IWorkspaceIntegration } from "types";
|
2023-04-05 19:21:15 +00:00
|
|
|
|
2023-03-23 17:57:11 +00:00
|
|
|
type Props = {
|
2023-04-18 05:24:45 +00:00
|
|
|
workspaceIntegration: false | IWorkspaceIntegration | undefined;
|
|
|
|
provider: string | undefined;
|
2023-03-23 17:57:11 +00:00
|
|
|
};
|
|
|
|
|
2023-04-18 05:24:45 +00:00
|
|
|
export const GithubAuth: React.FC<Props> = ({ workspaceIntegration, provider }) => {
|
|
|
|
const { startAuth, isConnecting } = useIntegrationPopup(provider);
|
2023-03-23 17:57:11 +00:00
|
|
|
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
{workspaceIntegration && workspaceIntegration?.id ? (
|
2023-10-11 11:18:58 +00:00
|
|
|
<Button variant="primary" disabled>
|
|
|
|
Successfully Connected
|
|
|
|
</Button>
|
2023-03-23 17:57:11 +00:00
|
|
|
) : (
|
2023-10-11 11:18:58 +00:00
|
|
|
<Button variant="primary" onClick={startAuth} loading={isConnecting}>
|
2023-04-18 05:24:45 +00:00
|
|
|
{isConnecting ? "Connecting..." : "Connect"}
|
2023-10-11 11:18:58 +00:00
|
|
|
</Button>
|
2023-03-23 17:57:11 +00:00
|
|
|
)}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|