-
+
@@ -131,7 +131,7 @@
- |
+ |
|
@@ -139,7 +139,7 @@
|
- |
+ |
|
@@ -147,7 +147,7 @@
|
- |
+ |
|
@@ -155,7 +155,7 @@
|
- |
+ |
|
diff --git a/apps/api/templates/emails/notifications/issue-updates.html b/apps/api/templates/emails/notifications/issue-updates.html
index 8ba91c6fe..c6fe3b278 100644
--- a/apps/api/templates/emails/notifications/issue-updates.html
+++ b/apps/api/templates/emails/notifications/issue-updates.html
@@ -8,14 +8,14 @@
-
+
diff --git a/apps/api/templates/emails/notifications/project_addition.html b/apps/api/templates/emails/notifications/project_addition.html
index ccf0f7a95..59c7e0e4d 100644
--- a/apps/api/templates/emails/notifications/project_addition.html
+++ b/apps/api/templates/emails/notifications/project_addition.html
@@ -164,7 +164,7 @@
text-align: center !important;
}
.r15-r {
- background-color: #3f76ff !important;
+ background-color: #006399 !important;
border-radius: 4px !important;
border-width: 0px !important;
box-sizing: border-box;
@@ -296,7 +296,7 @@
}
a,
a:link {
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
}
.nl2go-default-textstyle {
@@ -372,7 +372,7 @@
[endif]-->
@@ -380,7 +380,7 @@
@@ -483,7 +483,7 @@
"
>
@@ -1308,7 +1308,7 @@
href="https://www.linkedin.com/company/planepowers/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1368,7 +1368,7 @@
href="https://twitter.com/planepowers"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1428,7 +1428,7 @@
href="https://plane.so/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
diff --git a/apps/api/templates/emails/notifications/webhook-deactivate.html b/apps/api/templates/emails/notifications/webhook-deactivate.html
index 0755eb498..272271f96 100644
--- a/apps/api/templates/emails/notifications/webhook-deactivate.html
+++ b/apps/api/templates/emails/notifications/webhook-deactivate.html
@@ -8,8 +8,8 @@
{{ message }}
-
-
+
+
-
+
-
+
|
@@ -41,7 +41,7 @@
|
- |
+ |
|
@@ -80,7 +80,7 @@
- | View webhook |
+ View webhook |
@@ -155,7 +155,7 @@
|
- Despite our popularity, we are humbly early-stage. We are shipping fast, so please reach out to us with feature requests, major and minor nits, and anything else you find missing. We read every message, tweet, and conversation and update our public roadmap.
+ Despite our popularity, we are humbly early-stage. We are shipping fast, so please reach out to us with feature requests, major and minor nits, and anything else you find missing. We read every message, tweet, and conversation and update our public roadmap.
|
|
@@ -204,7 +204,7 @@
- |
+ |
|
@@ -212,7 +212,7 @@
|
- |
+ |
|
@@ -220,7 +220,7 @@
|
- |
+ |
|
@@ -228,7 +228,7 @@
|
- |
+ |
|
diff --git a/apps/api/templates/emails/user/user_activation.html b/apps/api/templates/emails/user/user_activation.html
index 1ec60e955..a454d0a3c 100644
--- a/apps/api/templates/emails/user/user_activation.html
+++ b/apps/api/templates/emails/user/user_activation.html
@@ -173,7 +173,7 @@
text-align: center !important;
}
.r16-r {
- background-color: #3f76ff !important;
+ background-color: #006399 !important;
border-radius: 4px !important;
border-width: 0px !important;
box-sizing: border-box;
@@ -305,7 +305,7 @@
}
a,
a:link {
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
}
.nl2go-default-textstyle {
@@ -382,7 +382,7 @@
@@ -390,7 +390,7 @@
@@ -493,7 +493,7 @@
"
>
@@ -1287,7 +1287,7 @@
href="https://www.linkedin.com/company/planepowers/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1347,7 +1347,7 @@
href="https://twitter.com/planepowers"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1407,7 +1407,7 @@
href="https://plane.so/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
diff --git a/apps/api/templates/emails/user/user_deactivation.html b/apps/api/templates/emails/user/user_deactivation.html
index b6bc7b768..8a0c097a7 100644
--- a/apps/api/templates/emails/user/user_deactivation.html
+++ b/apps/api/templates/emails/user/user_deactivation.html
@@ -173,7 +173,7 @@
text-align: center !important;
}
.r16-r {
- background-color: #3f76ff !important;
+ background-color: #006399 !important;
border-radius: 4px !important;
border-width: 0px !important;
box-sizing: border-box;
@@ -305,7 +305,7 @@
}
a,
a:link {
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
}
.nl2go-default-textstyle {
@@ -382,7 +382,7 @@
@@ -390,7 +390,7 @@
@@ -493,7 +493,7 @@
"
>
@@ -1288,7 +1288,7 @@
href="https://www.linkedin.com/company/planepowers/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1348,7 +1348,7 @@
href="https://twitter.com/planepowers"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
@@ -1408,7 +1408,7 @@
href="https://plane.so/"
target="_blank"
style="
- color: #3f76ff;
+ color: #006399;
text-decoration: underline;
"
>
diff --git a/apps/space/app/issues/[anchor]/client-layout.tsx b/apps/space/app/issues/[anchor]/client-layout.tsx
index 0e24ab551..3fc4902ff 100644
--- a/apps/space/app/issues/[anchor]/client-layout.tsx
+++ b/apps/space/app/issues/[anchor]/client-layout.tsx
@@ -39,7 +39,13 @@ export const IssuesClientLayout = observer((props: Props) => {
: null
);
- if (!publishSettings && !error) return ;
+ if (!publishSettings && !error) {
+ return (
+
+
+
+ );
+ }
if (error) return ;
diff --git a/apps/space/app/page.tsx b/apps/space/app/page.tsx
index a905f71b7..7ffff361f 100644
--- a/apps/space/app/page.tsx
+++ b/apps/space/app/page.tsx
@@ -11,7 +11,13 @@ import { useUser } from "@/hooks/store";
const HomePage = observer(() => {
const { data: currentUser, isAuthenticated, isLoading } = useUser();
- if (isLoading) return ;
+
+ if (isLoading)
+ return (
+
+
+
+ );
if (currentUser && isAuthenticated) return ;
diff --git a/apps/space/app/views/[anchor]/layout.tsx b/apps/space/app/views/[anchor]/layout.tsx
index 57b2971c4..05e113a08 100644
--- a/apps/space/app/views/[anchor]/layout.tsx
+++ b/apps/space/app/views/[anchor]/layout.tsx
@@ -42,7 +42,13 @@ const IssuesLayout = observer((props: Props) => {
if (error) return ;
- if (!publishSettings || !viewData) return ;
+ if (!publishSettings || !viewData) {
+ return (
+
+
+
+ );
+ }
return (
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 95a539ddf..f75dccecf 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 2ce944a25..653c97cc7 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: ,
+ 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: (
+
+ ),
+ 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: ,
+ 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/space/core/components/account/auth-forms/email.tsx b/apps/space/core/components/account/auth-forms/email.tsx
index 4815fef6a..6fb08ff7a 100644
--- a/apps/space/core/components/account/auth-forms/email.tsx
+++ b/apps/space/core/components/account/auth-forms/email.tsx
@@ -46,13 +46,13 @@ export const AuthEmailForm: FC = observer((props) => {
return (
|