mirror of
https://github.com/makeplane/plane.git
synced 2026-09-02 03:59:00 +02:00
Replace confirmed icon symbols in apps/admin with their audited @makeplane/propel/icons targets, merging into the imports the six already-migrated files declared. Unresolved symbols (Menu, BrainCog) and the LucideIcon type stay on lucide-react. Lucide size props become explicit width/height. Loader keeps its LoaderIcon alias so the call site is unchanged. apps/admin already declared @makeplane/propel, so no dependency change was needed.
67 lines
2.1 KiB
TypeScript
67 lines
2.1 KiB
TypeScript
/**
|
|
* Copyright (c) 2023-present Plane Software, Inc. and contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
* See the LICENSE file for details.
|
|
*/
|
|
|
|
import { observer } from "mobx-react";
|
|
import Link from "next/link";
|
|
// icons
|
|
import { SettingsOutline } from "@makeplane/propel/icons";
|
|
// plane internal packages
|
|
import { AnchorButton } from "@makeplane/propel/components/anchor-button";
|
|
import { Button } from "@makeplane/propel/components/button";
|
|
import { Switch } from "@makeplane/propel/components/switch";
|
|
import type { TInstanceAuthenticationMethodKeys } from "@plane/types";
|
|
// hooks
|
|
import { useInstance } from "@/hooks/store";
|
|
|
|
type Props = {
|
|
disabled: boolean;
|
|
updateConfig: (key: TInstanceAuthenticationMethodKeys, value: string) => void;
|
|
};
|
|
|
|
export const GithubConfiguration = observer(function GithubConfiguration(props: Props) {
|
|
const { disabled, updateConfig } = props;
|
|
// store
|
|
const { formattedConfig } = useInstance();
|
|
// derived values
|
|
const enableGithubConfig = formattedConfig?.IS_GITHUB_ENABLED ?? "";
|
|
const isGithubConfigured = !!formattedConfig?.GITHUB_CLIENT_ID && !!formattedConfig?.GITHUB_CLIENT_SECRET;
|
|
|
|
return (
|
|
<>
|
|
{isGithubConfigured ? (
|
|
<div className="flex items-center gap-4">
|
|
<AnchorButton
|
|
variant="primary"
|
|
size="sm"
|
|
nativeButton={false}
|
|
render={<Link href="/authentication/github" />}
|
|
label="Edit"
|
|
/>
|
|
<Switch
|
|
checked={Boolean(parseInt(enableGithubConfig))}
|
|
onCheckedChange={() => {
|
|
const newEnableGithubConfig = Boolean(parseInt(enableGithubConfig)) === true ? "0" : "1";
|
|
updateConfig("IS_GITHUB_ENABLED", newEnableGithubConfig);
|
|
}}
|
|
size="sm"
|
|
disabled={disabled}
|
|
/>
|
|
</div>
|
|
) : (
|
|
<Button
|
|
variant="secondary"
|
|
size="sm"
|
|
stretch="auto"
|
|
nativeButton={false}
|
|
render={<Link href="/authentication/github" />}
|
|
icon={<SettingsOutline className="h-4 w-4 p-0.5 text-tertiary" />}
|
|
label="Configure"
|
|
/>
|
|
)}
|
|
</>
|
|
);
|
|
});
|