diff --git a/admin/app/authentication/oidc/form.tsx b/admin/app/authentication/oidc/form.tsx index 5ed9cc078e..c33e20eab3 100644 --- a/admin/app/authentication/oidc/form.tsx +++ b/admin/app/authentication/oidc/form.tsx @@ -6,14 +6,10 @@ import { IFormattedInstanceConfiguration, TInstanceOIDCAuthenticationConfigurati import { Button, TOAST_TYPE, getButtonStyling, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components -import { - ConfirmDiscardModal, - ControllerInput, - TControllerInputFormField, - CopyField, - TCopyField, - CodeBlock, -} from "@/components/common"; +import { CodeBlock } from "@/components/common/code-block"; +import { ConfirmDiscardModal } from "@/components/common/confirm-discard-modal"; +import { ControllerInput, TControllerInputFormField } from "@/components/common/controller-input"; +import { TCopyField, CopyField } from "@/components/common/copy-field"; // hooks import { useInstance } from "@/hooks/store"; diff --git a/admin/app/authentication/oidc/page.tsx b/admin/app/authentication/oidc/page.tsx index ea16d881e1..fcb6e372a6 100644 --- a/admin/app/authentication/oidc/page.tsx +++ b/admin/app/authentication/oidc/page.tsx @@ -7,8 +7,8 @@ import useSWR from "swr"; // ui import { Loader, ToggleSwitch, setPromiseToast } from "@plane/ui"; // components -import { AuthenticationMethodCard } from "@/components/authentication"; -import { PageHeader } from "@/components/common"; +import { AuthenticationMethodCard } from "@/components/authentication/authentication-method-card"; +import { PageHeader } from "@/components/common/page-header"; // hooks import { useInstance } from "@/hooks/store"; // icons diff --git a/admin/app/authentication/saml/form.tsx b/admin/app/authentication/saml/form.tsx index 3c560a1cdd..dedc18c03b 100644 --- a/admin/app/authentication/saml/form.tsx +++ b/admin/app/authentication/saml/form.tsx @@ -6,14 +6,10 @@ import { IFormattedInstanceConfiguration, TInstanceSAMLAuthenticationConfigurati import { Button, TOAST_TYPE, TextArea, getButtonStyling, setToast } from "@plane/ui"; import { cn } from "@plane/utils"; // components -import { - ConfirmDiscardModal, - ControllerInput, - TControllerInputFormField, - CopyField, - TCopyField, - CodeBlock, -} from "@/components/common"; +import { CodeBlock } from "@/components/common/code-block"; +import { ConfirmDiscardModal } from "@/components/common/confirm-discard-modal"; +import { ControllerInput, TControllerInputFormField } from "@/components/common/controller-input"; +import { CopyField, TCopyField } from "@/components/common/copy-field"; // hooks import { useInstance } from "@/hooks/store"; import { SAMLAttributeMappingTable } from "@/plane-admin/components/authentication"; diff --git a/admin/app/authentication/saml/page.tsx b/admin/app/authentication/saml/page.tsx index fbedeb6bd7..cdbf517b45 100644 --- a/admin/app/authentication/saml/page.tsx +++ b/admin/app/authentication/saml/page.tsx @@ -7,8 +7,8 @@ import useSWR from "swr"; // ui import { Loader, ToggleSwitch, setPromiseToast } from "@plane/ui"; // components -import { AuthenticationMethodCard } from "@/components/authentication"; -import { PageHeader } from "@/components/common"; +import { AuthenticationMethodCard } from "@/components/authentication/authentication-method-card"; +import { PageHeader } from "@/components/common/page-header"; // hooks import { useInstance } from "@/hooks/store"; // icons diff --git a/admin/ee/components/authentication/authentication-modes.tsx b/admin/ee/components/authentication/authentication-modes.tsx index bf7f7380ec..2fe100616d 100644 --- a/admin/ee/components/authentication/authentication-modes.tsx +++ b/admin/ee/components/authentication/authentication-modes.tsx @@ -1,24 +1,32 @@ import { observer } from "mobx-react"; import Image from "next/image"; import { useTheme } from "next-themes"; +import { Mails, KeyRound } from "lucide-react"; import { TInstanceAuthenticationMethodKeys as TBaseAuthenticationMethods, TInstanceAuthenticationModes, TInstanceEnterpriseAuthenticationMethodKeys, } from "@plane/types"; +import { resolveGeneralTheme } from "@plane/utils"; +// plane ce components import { getAuthenticationModes as getCEAuthenticationModes } from "@/ce/components/authentication/authentication-modes"; -// types // components -import { AuthenticationMethodCard } from "@/components/authentication"; -// helpers -import { getBaseAuthenticationModes } from "@/lib/auth-helpers"; +import { AuthenticationMethodCard } from "@/components/authentication/authentication-method-card"; +import { EmailCodesConfiguration } from "@/components/authentication/email-config-switch"; +import { GithubConfiguration } from "@/components/authentication/github-config"; +import { GitlabConfiguration } from "@/components/authentication/gitlab-config"; +import { GoogleConfiguration } from "@/components/authentication/google-config"; +import { PasswordLoginConfiguration } from "@/components/authentication/password-config-switch"; // plane admin components import { OIDCConfiguration, SAMLConfiguration } from "@/plane-admin/components/authentication"; // images import { useInstanceFlag } from "@/plane-admin/hooks/store/use-instance-flag"; +import githubLightModeImage from "@/public/logos/github-black.png"; +import githubDarkModeImage from "@/public/logos/github-white.png"; +import GitlabLogo from "@/public/logos/gitlab-logo.svg"; +import GoogleLogo from "@/public/logos/google-logo.svg"; import OIDCLogo from "@/public/logos/oidc-logo.svg"; import SAMLLogo from "@/public/logos/saml-logo.svg"; -// plane admin hooks type TInstanceAuthenticationMethodKeys = TBaseAuthenticationMethods | TInstanceEnterpriseAuthenticationMethodKeys; @@ -39,7 +47,49 @@ export const getAuthenticationModes: (props: TGetAuthenticationModeProps) => TIn updateConfig, resolvedTheme, }) => [ - ...getBaseAuthenticationModes({ disabled, updateConfig, resolvedTheme }), + { + key: "unique-codes", + name: "Unique codes", + description: + "Log in or sign up for Plane using codes sent via email. You need to have set up SMTP to use this method.", + icon: , + config: , + }, + { + key: "passwords-login", + name: "Passwords", + description: "Allow members to create accounts with passwords and use it with their email addresses to sign in.", + icon: , + config: , + }, + { + key: "google", + name: "Google", + description: "Allow members to log in or sign up for Plane with their Google accounts.", + icon: Google Logo, + config: , + }, + { + key: "github", + name: "GitHub", + description: "Allow members to log in or sign up for Plane with their GitHub accounts.", + icon: ( + GitHub Logo + ), + config: , + }, + { + key: "gitlab", + name: "GitLab", + description: "Allow members to log in or sign up to plane with their GitLab accounts.", + icon: GitLab Logo, + config: , + }, { key: "oidc", name: "OIDC", diff --git a/admin/ee/hooks/store/use-instance-feature-flag.ts b/admin/ee/hooks/store/use-instance-feature-flag.ts index 1359fb071e..ff32e7183e 100644 --- a/admin/ee/hooks/store/use-instance-feature-flag.ts +++ b/admin/ee/hooks/store/use-instance-feature-flag.ts @@ -1,6 +1,6 @@ import { useContext } from "react"; // context -import { StoreContext } from "@/lib/store-provider"; +import { StoreContext } from "@/app/(all)/store.provider"; // plane admin stores import { IInstanceFeatureFlagsStore } from "@/plane-admin/store/instance-feature-flags.store"; diff --git a/admin/ee/hooks/store/use-instance-flag.ts b/admin/ee/hooks/store/use-instance-flag.ts index 51b3ddf13b..c6cee44772 100644 --- a/admin/ee/hooks/store/use-instance-flag.ts +++ b/admin/ee/hooks/store/use-instance-flag.ts @@ -1,6 +1,6 @@ import { useContext } from "react"; // context -import { StoreContext } from "@/lib/store-provider"; +import { StoreContext } from "@/app/(all)/store.provider"; export enum E_FEATURE_FLAGS { OIDC_SAML_AUTH = "OIDC_SAML_AUTH",