2023-04-05 19:21:15 +00:00
|
|
|
// components
|
|
|
|
import { GithubAuth, TIntegrationSteps } from "components/integration";
|
|
|
|
// ui
|
|
|
|
import { PrimaryButton } from "components/ui";
|
|
|
|
// types
|
2023-04-18 05:24:45 +00:00
|
|
|
import { IAppIntegration, IWorkspaceIntegration } from "types";
|
2023-04-05 19:21:15 +00:00
|
|
|
|
|
|
|
type Props = {
|
|
|
|
provider: string | undefined;
|
|
|
|
handleStepChange: (value: TIntegrationSteps) => void;
|
2023-04-18 05:24:45 +00:00
|
|
|
appIntegrations: IAppIntegration[] | undefined;
|
|
|
|
workspaceIntegrations: IWorkspaceIntegration[] | undefined;
|
2023-04-05 19:21:15 +00:00
|
|
|
};
|
|
|
|
|
2023-04-18 05:24:45 +00:00
|
|
|
export const GithubImportConfigure: React.FC<Props> = ({
|
2023-04-05 19:21:15 +00:00
|
|
|
handleStepChange,
|
|
|
|
provider,
|
|
|
|
appIntegrations,
|
|
|
|
workspaceIntegrations,
|
|
|
|
}) => {
|
|
|
|
// current integration from all the integrations available
|
|
|
|
const integration =
|
|
|
|
appIntegrations &&
|
|
|
|
appIntegrations.length > 0 &&
|
|
|
|
appIntegrations.find((i) => i.provider === provider);
|
|
|
|
|
|
|
|
// current integration from workspace integrations
|
|
|
|
const workspaceIntegration =
|
|
|
|
integration &&
|
|
|
|
workspaceIntegrations &&
|
|
|
|
workspaceIntegrations.length > 0 &&
|
|
|
|
workspaceIntegrations.find((i: any) => i.integration_detail.id === integration.id);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div className="space-y-6">
|
|
|
|
<div className="flex items-center gap-2 py-5">
|
|
|
|
<div className="w-full">
|
|
|
|
<div className="font-medium">Configure</div>
|
2023-04-24 07:50:41 +00:00
|
|
|
<div className="text-sm text-brand-secondary">Set up your GitHub import.</div>
|
2023-04-05 19:21:15 +00:00
|
|
|
</div>
|
|
|
|
<div className="flex-shrink-0">
|
2023-04-18 05:24:45 +00:00
|
|
|
<GithubAuth workspaceIntegration={workspaceIntegration} provider={provider} />
|
2023-04-05 19:21:15 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div className="flex items-center justify-end">
|
|
|
|
<PrimaryButton
|
|
|
|
onClick={() => handleStepChange("import-data")}
|
|
|
|
disabled={workspaceIntegration && workspaceIntegration?.id ? false : true}
|
|
|
|
>
|
|
|
|
Next
|
|
|
|
</PrimaryButton>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|