-
+
@@ -187,7 +187,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.
|
|
@@ -236,7 +236,7 @@
- |
+ |
|
@@ -244,7 +244,7 @@
|
- |
+ |
|
@@ -252,7 +252,7 @@
|
- |
+ |
|
@@ -260,7 +260,7 @@
|
- |
+ |
|
diff --git a/apps/api/templates/emails/auth/magic_signin.html b/apps/api/templates/emails/auth/magic_signin.html
index a7a86a94c99..c32b399fbc0 100644
--- a/apps/api/templates/emails/auth/magic_signin.html
+++ b/apps/api/templates/emails/auth/magic_signin.html
@@ -9,7 +9,7 @@
-
+
-
+
-
+
|
@@ -41,7 +41,7 @@
|
- |
+ |
|
@@ -80,7 +80,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.
|
|
@@ -194,7 +194,7 @@
- |
+ |
|
@@ -202,7 +202,7 @@
- |
+ |
|
@@ -210,7 +210,7 @@
- |
+ |
|
@@ -218,7 +218,7 @@
- |
+ |
diff --git a/apps/api/templates/emails/invitations/project_invitation.html b/apps/api/templates/emails/invitations/project_invitation.html
index 0a40d42bf84..254408ac573 100644
--- a/apps/api/templates/emails/invitations/project_invitation.html
+++ b/apps/api/templates/emails/invitations/project_invitation.html
@@ -8,7 +8,7 @@
{{ first_name }} invited you to join {{ project_name }} on Plane
-
+
@@ -58,7 +58,7 @@
|
- |
+ |
| |
@@ -91,17 +91,17 @@
|
-
- Accept the invite
+
+ Accept the invite
|
diff --git a/apps/api/templates/emails/invitations/workspace_invitation.html b/apps/api/templates/emails/invitations/workspace_invitation.html
index a9474538311..619f03992a7 100644
--- a/apps/api/templates/emails/invitations/workspace_invitation.html
+++ b/apps/api/templates/emails/invitations/workspace_invitation.html
@@ -8,8 +8,8 @@
{{first_name}} has invited you to join them in {{workspace_name}} on Plane.
-
-
+
+
-
+
-
+
|
@@ -41,7 +41,7 @@
|
-  |
+  |
|
@@ -88,9 +88,9 @@
-
+
@@ -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 8ba91c6feaa..c6fe3b2786c 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 ccf0f7a9538..59c7e0e4dd7 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 0755eb49834..272271f9608 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 1ec60e95552..a454d0a3c16 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 b6bc7b76826..8a0c097a7ac 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 0e24ab55163..3fc4902ff9f 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 a905f71b731..7ffff361f0f 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 57b2971c4c3..05e113a08d9 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 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: ,
+ 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 4815fef6aee..6fb08ff7a68 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 (
|