"use client"; import React from "react"; import { observer } from "mobx-react"; import Link from "next/link"; // icons import { Settings2 } from "lucide-react"; // plane internal packages import { getButtonStyling } from "@plane/propel/button"; import type { TInstanceAuthenticationMethodKeys } from "@plane/types"; import { ToggleSwitch } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useInstance } from "@/hooks/store"; type Props = { disabled: boolean; updateConfig: (key: TInstanceAuthenticationMethodKeys, value: string) => void; }; export const GitlabConfiguration: React.FC = observer((props) => { const { disabled, updateConfig } = props; // store const { formattedConfig } = useInstance(); // derived values const enableGitlabConfig = formattedConfig?.IS_GITLAB_ENABLED ?? ""; const isGitlabConfigured = !!formattedConfig?.GITLAB_CLIENT_ID && !!formattedConfig?.GITLAB_CLIENT_SECRET; return ( <> {isGitlabConfigured ? (
Edit { const newEnableGitlabConfig = Boolean(parseInt(enableGitlabConfig)) === true ? "0" : "1"; updateConfig("IS_GITLAB_ENABLED", newEnableGitlabConfig); }} size="sm" disabled={disabled} />
) : ( Configure )} ); });