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: ,
+ config: ,
+ },
+ {
+ key: "github",
+ name: "GitHub",
+ description: "Allow members to log in or sign up for Plane with their GitHub accounts.",
+ icon: (
+
+ ),
+ config: ,
+ },
+ {
+ key: "gitlab",
+ name: "GitLab",
+ description: "Allow members to log in or sign up to plane with their GitLab accounts.",
+ icon: ,
+ 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",