diff --git a/apps/space/core/components/account/auth-forms/auth-header.tsx b/apps/space/core/components/account/auth-forms/auth-header.tsx index 95a539ddfc2..f75dccecf5f 100644 --- a/apps/space/core/components/account/auth-forms/auth-header.tsx +++ b/apps/space/core/components/account/auth-forms/auth-header.tsx @@ -1,12 +1,11 @@ "use client"; -import { FC, ReactNode } from "react"; +import { FC } from "react"; // helpers import { EAuthModes } from "@/types/auth"; type TAuthHeader = { authMode: EAuthModes; - children: ReactNode; }; type TAuthHeaderContent = { @@ -30,7 +29,7 @@ const Titles: TAuthHeaderDetails = { }; export const AuthHeader: FC = (props) => { - const { authMode, children } = props; + const { authMode } = props; const getHeaderSubHeader = (mode: EAuthModes | null): TAuthHeaderContent => { if (mode) { @@ -38,7 +37,7 @@ export const AuthHeader: FC = (props) => { } return { - header: "Comment or react to work itemss", + header: "Comment or react to work items", subHeader: "Use plane to add your valuable inputs to features.", }; }; @@ -47,11 +46,10 @@ export const AuthHeader: FC = (props) => { return ( <> -
-

{header}

-

{subHeader}

+
+ {header} + {subHeader}
- {children} ); }; diff --git a/apps/space/core/components/account/auth-forms/auth-root.tsx b/apps/space/core/components/account/auth-forms/auth-root.tsx index 2ce944a2589..653c97cc73a 100644 --- a/apps/space/core/components/account/auth-forms/auth-root.tsx +++ b/apps/space/core/components/account/auth-forms/auth-root.tsx @@ -2,10 +2,14 @@ import React, { FC, useEffect, useState } from "react"; import { observer } from "mobx-react"; +import Image from "next/image"; import { useSearchParams } from "next/navigation"; +import { useTheme } from "next-themes"; // plane imports +import { API_BASE_URL } from "@plane/constants"; import { SitesAuthService } from "@plane/services"; import { IEmailCheckData } from "@plane/types"; +import { OAuthOptions } from "@plane/ui"; // components import { AuthHeader, @@ -13,7 +17,6 @@ import { AuthEmailForm, AuthUniqueCodeForm, AuthPasswordForm, - OAuthOptions, TermsAndConditions, } from "@/components/account"; // helpers @@ -27,6 +30,11 @@ import { import { useInstance } from "@/hooks/store"; // types import { EAuthModes, EAuthSteps } from "@/types/auth"; +// assets +import GithubLightLogo from "/public/logos/github-black.png"; +import GithubDarkLogo from "/public/logos/github-dark.svg"; +import GitlabLogo from "/public/logos/gitlab-logo.svg"; +import GoogleLogo from "/public/logos/google-logo.svg"; const authService = new SitesAuthService(); @@ -36,6 +44,7 @@ export const AuthRoot: FC = observer(() => { const emailParam = searchParams.get("email") || undefined; const error_code = searchParams.get("error_code") || undefined; const nextPath = searchParams.get("next_path") || undefined; + const next_path = searchParams.get("next_path"); // states const [authMode, setAuthMode] = useState(EAuthModes.SIGN_UP); const [authStep, setAuthStep] = useState(EAuthSteps.EMAIL); @@ -43,6 +52,7 @@ export const AuthRoot: FC = observer(() => { const [errorInfo, setErrorInfo] = useState(undefined); const [isPasswordAutoset, setIsPasswordAutoset] = useState(true); // hooks + const { resolvedTheme } = useTheme(); const { config } = useInstance(); useEffect(() => { @@ -146,12 +156,54 @@ export const AuthRoot: FC = observer(() => { }); }; + const content = authMode === EAuthModes.SIGN_UP ? "Sign up" : "Sign in"; + + const OAuthConfig = [ + { + id: "google", + text: `${content} with Google`, + icon: Google Logo, + onClick: () => { + window.location.assign(`${API_BASE_URL}/auth/google/${next_path ? `?next_path=${next_path}` : ``}`); + }, + enabled: config?.is_google_enabled, + }, + { + id: "github", + text: `${content} with GitHub`, + icon: ( + GitHub Logo + ), + onClick: () => { + window.location.assign(`${API_BASE_URL}/auth/github/${next_path ? `?next_path=${next_path}` : ``}`); + }, + enabled: config?.is_github_enabled, + }, + { + id: "gitlab", + text: `${content} with GitLab`, + icon: GitLab Logo, + onClick: () => { + window.location.assign(`${API_BASE_URL}/auth/gitlab/${next_path ? `?next_path=${next_path}` : ``}`); + }, + enabled: config?.is_gitlab_enabled, + }, + ]; + return ( -
- +
+
{errorInfo && errorInfo?.type === EErrorAlertType.BANNER_ALERT && ( setErrorInfo(value)} /> )} + + {isOAuthEnabled && } + {authStep === EAuthSteps.EMAIL && } {authStep === EAuthSteps.UNIQUE_CODE && ( { }} /> )} - {isOAuthEnabled && } - +
); }); diff --git a/apps/web/ce/components/global/product-updates-header.tsx b/apps/web/ce/components/global/product-updates-header.tsx index 776d9667dd7..418a940a7e3 100644 --- a/apps/web/ce/components/global/product-updates-header.tsx +++ b/apps/web/ce/components/global/product-updates-header.tsx @@ -1,10 +1,8 @@ import { observer } from "mobx-react"; -import Image from "next/image"; import { useTranslation } from "@plane/i18n"; +import { PlaneLogo } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; -// assets -import PlaneLogo from "@/public/plane-logos/blue-without-text.png"; // package.json import packageJson from "package.json"; @@ -23,7 +21,7 @@ export const ProductUpdatesHeader = observer(() => {
- Plane +
); diff --git a/apps/web/core/components/global/product-updates/footer.tsx b/apps/web/core/components/global/product-updates/footer.tsx index 6bc52e2bd2c..7e361b2515f 100644 --- a/apps/web/core/components/global/product-updates/footer.tsx +++ b/apps/web/core/components/global/product-updates/footer.tsx @@ -1,12 +1,9 @@ -import Image from "next/image"; import { USER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui -import { getButtonStyling } from "@plane/ui"; +import { getButtonStyling, PlaneLogo } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; -// assets -import PlaneLogo from "@/public/plane-logos/blue-without-text.png"; export const ProductUpdatesFooter = () => { const { t } = useTranslation(); @@ -60,7 +57,7 @@ export const ProductUpdatesFooter = () => { "flex gap-1.5 items-center text-center font-medium hover:underline underline-offset-2 outline-none" )} > - Plane + {t("powered_by_plane_pages")} diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx index 577f5acd0b1..da3dbe3d13f 100644 --- a/apps/web/core/components/workspace/settings/workspace-details.tsx +++ b/apps/web/core/components/workspace/settings/workspace-details.tsx @@ -167,7 +167,7 @@ export const WorkspaceDetails: FC = observer(() => { /> ) : ( -
+
{currentWorkspace?.name?.charAt(0) ?? "N"}
)} diff --git a/apps/web/core/components/workspace/sidebar/dropdown-item.tsx b/apps/web/core/components/workspace/sidebar/dropdown-item.tsx index 97d22630736..f15c0b3e493 100644 --- a/apps/web/core/components/workspace/sidebar/dropdown-item.tsx +++ b/apps/web/core/components/workspace/sidebar/dropdown-item.tsx @@ -49,7 +49,7 @@ const SidebarDropdownItem = observer((props: TProps) => {
{workspace?.logo_url && workspace.logo_url !== "" ? ( diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index c711870d4d7..42d7d465485 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -11,7 +11,7 @@ import useSWRImmutable from "swr/immutable"; // ui import { LogOut } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { Button, getButtonStyling, setToast, TOAST_TYPE, Tooltip } from "@plane/ui"; +import { Button, getButtonStyling, PlaneLogo, setToast, TOAST_TYPE, Tooltip } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { LogoSpinner } from "@/components/common"; @@ -150,7 +150,7 @@ export const WorkspaceAuthWrapper: FC = observer((props)
- Plane logo +
{currentUser?.email}
diff --git a/apps/web/public/empty-state/pages/navigation-pane/assets-dark.webp b/apps/web/public/empty-state/pages/navigation-pane/assets-dark.webp index e454d6dc17d..c6bc05e2371 100644 Binary files a/apps/web/public/empty-state/pages/navigation-pane/assets-dark.webp and b/apps/web/public/empty-state/pages/navigation-pane/assets-dark.webp differ diff --git a/apps/web/public/empty-state/pages/navigation-pane/assets-light.webp b/apps/web/public/empty-state/pages/navigation-pane/assets-light.webp index c3c4585d061..1e3982924cb 100644 Binary files a/apps/web/public/empty-state/pages/navigation-pane/assets-light.webp and b/apps/web/public/empty-state/pages/navigation-pane/assets-light.webp differ diff --git a/apps/web/public/empty-state/pages/navigation-pane/outline-dark.webp b/apps/web/public/empty-state/pages/navigation-pane/outline-dark.webp index dcd26c3950b..fca82f16b31 100644 Binary files a/apps/web/public/empty-state/pages/navigation-pane/outline-dark.webp and b/apps/web/public/empty-state/pages/navigation-pane/outline-dark.webp differ diff --git a/apps/web/public/empty-state/pages/navigation-pane/outline-light.webp b/apps/web/public/empty-state/pages/navigation-pane/outline-light.webp index e92cc6ae7bb..6870e6ccfe4 100644 Binary files a/apps/web/public/empty-state/pages/navigation-pane/outline-light.webp and b/apps/web/public/empty-state/pages/navigation-pane/outline-light.webp differ diff --git a/apps/web/public/empty-state/project/name-filter.svg b/apps/web/public/empty-state/project/name-filter.svg index a1e89c9a045..ec632283702 100644 --- a/apps/web/public/empty-state/project/name-filter.svg +++ b/apps/web/public/empty-state/project/name-filter.svg @@ -1,39 +1,39 @@ - - - - - - - - + + + + + + + + - + - + - + - + - + - + - - + + - +