bb-plane-fork/web/components/integration/github/auth.tsx
Anmol Singh Bhatia d3556f457b
chore: web app use client directive (#4747)
* chore: use client directive

* chore: use client directive
2024-06-10 15:13:10 +05:30

40 lines
1.1 KiB
TypeScript

"use client";
import { observer } from "mobx-react-lite";
// types
import { IWorkspaceIntegration } from "@plane/types";
// ui
import { Button } from "@plane/ui";
// hooks
import { useInstance } from "@/hooks/store";
import useIntegrationPopup from "@/hooks/use-integration-popup";
type Props = {
workspaceIntegration: false | IWorkspaceIntegration | undefined;
provider: string | undefined;
};
export const GithubAuth: React.FC<Props> = observer(({ workspaceIntegration, provider }) => {
// store hooks
const { config } = useInstance();
// hooks
const { startAuth, isConnecting } = useIntegrationPopup({
provider,
github_app_name: config?.github_app_name || "",
slack_client_id: config?.slack_client_id || "",
});
return (
<div>
{workspaceIntegration && workspaceIntegration?.id ? (
<Button variant="primary" disabled>
Successfully Connected
</Button>
) : (
<Button variant="primary" onClick={startAuth} loading={isConnecting}>
{isConnecting ? "Connecting..." : "Connect"}
</Button>
)}
</div>
);
});