snapshot of https://github.com/makeplane/plane.git @ d868349a55de79979eb8b98701bf1702c67ad634 (2026-09-15)
Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 16s
CodeQL / Analyze (python) (push) Failing after 3s
i18n sync check / check:sync (push) Failing after 3s
React Doctor / react-doctor (push) Failing after 16s
Branch Build CE / Build-Push Admin Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Admin Manifest (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Web Manifest (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Proxy Manifest (push) Has been cancelled
Branch Build CE / Merge Space Manifest (push) Has been cancelled
Branch Build CE / Prepare AIO Assets (push) Has been cancelled
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Live Collaboration Manifest (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge API Server Manifest (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge AIO Manifest (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 16s
CodeQL / Analyze (python) (push) Failing after 3s
i18n sync check / check:sync (push) Failing after 3s
React Doctor / react-doctor (push) Failing after 16s
Branch Build CE / Build-Push Admin Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Admin Manifest (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Web Manifest (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Proxy Manifest (push) Has been cancelled
Branch Build CE / Merge Space Manifest (push) Has been cancelled
Branch Build CE / Prepare AIO Assets (push) Has been cancelled
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Live Collaboration Manifest (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge API Server Manifest (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge AIO Manifest (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
This commit is contained in:
306
apps/api/templates/emails/auth/forgot_password.html
Normal file
306
apps/api/templates/emails/auth/forgot_password.html
Normal file
@@ -0,0 +1,306 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>Reset your Plane password</title>
|
||||
|
||||
<style>
|
||||
/* Basic resets for email clients */
|
||||
body,
|
||||
table,
|
||||
td,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
line-height: 100%;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Mobile adjustments */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
padding: 24px 20px !important;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
padding: 0 20px 16px 20px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body
|
||||
bgcolor="#f9f9f9"
|
||||
style="
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
||||
sans-serif;
|
||||
font-weight: 400;
|
||||
color: #474747;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
background-color: #f9f9f9;
|
||||
"
|
||||
>
|
||||
<!-- Preheader (hidden) -->
|
||||
<span
|
||||
class="preheader"
|
||||
style="
|
||||
display: none;
|
||||
font-size: 1px;
|
||||
color: transparent;
|
||||
line-height: 1px;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
mso-hide: all;
|
||||
visibility: hidden;
|
||||
"
|
||||
>
|
||||
Reset your Plane password with this secure link.
|
||||
</span>
|
||||
|
||||
<!-- Outer Wrapper -->
|
||||
<center
|
||||
class="email-body"
|
||||
style="width: 100%; background-color: #f9f9f9; padding: 40px 0;"
|
||||
>
|
||||
<!-- HEADER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
style="background-color: #000000;"
|
||||
>
|
||||
<tr>
|
||||
<td style="padding: 24px 40px; text-align: center;">
|
||||
<img
|
||||
src="https://media.docs.plane.so/logo/new-logo-dark.png"
|
||||
width="120"
|
||||
alt="Plane"
|
||||
style="height: auto; display: block; margin: 0 auto;"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BODY (card under header) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-content"
|
||||
style="background-color: #ffffff; padding: 32px 40px 32px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #474747;
|
||||
padding: 24px;
|
||||
"
|
||||
>
|
||||
<!-- ========================================= -->
|
||||
<!-- PLANE RESET PASSWORD EMAIL -->
|
||||
<!-- ========================================= -->
|
||||
|
||||
<!-- Heading -->
|
||||
<h1
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 22px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
Reset your Plane password
|
||||
</h1>
|
||||
|
||||
<!-- Intro copy -->
|
||||
<p style="margin: 0 0 16px;">
|
||||
We received a request to reset your Plane password. To reset
|
||||
your password, click the button below.
|
||||
</p>
|
||||
|
||||
<!-- Primary button -->
|
||||
<table
|
||||
role="presentation"
|
||||
cellspacing="0"
|
||||
cellpadding="0"
|
||||
border="0"
|
||||
style="margin: 0 0 24px;"
|
||||
>
|
||||
<tr>
|
||||
<td>
|
||||
<a
|
||||
href="{{forgot_password_url}}"
|
||||
target="_blank"
|
||||
style="
|
||||
background-color: #1080bc;
|
||||
border-radius: 6px;
|
||||
color: #ffffff;
|
||||
padding: 12px 24px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
white-space: nowrap;
|
||||
"
|
||||
>
|
||||
Reset password
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Fallback link -->
|
||||
<p
|
||||
style="
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
If the button doesn’t work, copy and paste this link into
|
||||
your browser:
|
||||
</p>
|
||||
|
||||
<p
|
||||
style="
|
||||
margin: 6px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
display: inline-block;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 4px 6px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
word-break: break-all;
|
||||
"
|
||||
>{{forgot_password_url}}</span
|
||||
>
|
||||
</p>
|
||||
|
||||
<!-- Note -->
|
||||
<p
|
||||
style="
|
||||
margin: 16px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
Note: This email was sent to
|
||||
<span
|
||||
style="
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
"
|
||||
>{{email}}</span
|
||||
>. If you weren’t expecting a password reset, you can safely
|
||||
ignore this email.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FOOTER (simple, aligned with body) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-footer"
|
||||
style="background-color: #ffffff; padding: 0 40px 16px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
border-top: 1px solid #e9e9e9;
|
||||
padding: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
color: #979797;
|
||||
text-align: left;
|
||||
"
|
||||
>
|
||||
<p style="margin: 0;">
|
||||
Plane Software, Inc.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<base target="_blank" />
|
||||
</body>
|
||||
</html>
|
||||
265
apps/api/templates/emails/auth/magic_signin.html
Normal file
265
apps/api/templates/emails/auth/magic_signin.html
Normal file
@@ -0,0 +1,265 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>Your Plane login code</title>
|
||||
|
||||
<style>
|
||||
/* Basic resets for email clients */
|
||||
body,
|
||||
table,
|
||||
td,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
line-height: 100%;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Mobile adjustments */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
padding: 24px 20px !important;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
padding: 0 20px 16px 20px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body
|
||||
bgcolor="#f9f9f9"
|
||||
style="
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
||||
sans-serif;
|
||||
font-weight: 400;
|
||||
color: #474747;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
background-color: #f9f9f9;
|
||||
"
|
||||
>
|
||||
<!-- Preheader (hidden) -->
|
||||
<span
|
||||
class="preheader"
|
||||
style="
|
||||
display: none;
|
||||
font-size: 1px;
|
||||
color: transparent;
|
||||
line-height: 1px;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
mso-hide: all;
|
||||
visibility: hidden;
|
||||
"
|
||||
>
|
||||
Your Plane login code {{code}} is valid for 10 minutes.
|
||||
</span>
|
||||
|
||||
<!-- Outer Wrapper -->
|
||||
<center
|
||||
class="email-body"
|
||||
style="width: 100%; background-color: #f9f9f9; padding: 40px 0;"
|
||||
>
|
||||
<!-- HEADER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
style="background-color: #000000;"
|
||||
>
|
||||
<tr>
|
||||
<td style="padding: 24px 40px; text-align: center;">
|
||||
<img
|
||||
src="https://media.docs.plane.so/logo/new-logo-dark.png"
|
||||
width="120"
|
||||
alt="Plane"
|
||||
style="height: auto; display: block; margin: 0 auto;"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BODY (card under header) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-content"
|
||||
style="background-color: #ffffff; padding: 32px 40px 32px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #474747;
|
||||
padding: 24px;
|
||||
"
|
||||
>
|
||||
<!-- ========================================= -->
|
||||
<!-- PLANE LOGIN CODE EMAIL -->
|
||||
<!-- ========================================= -->
|
||||
|
||||
<!-- Heading -->
|
||||
<h1
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 22px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
Your login code for Plane
|
||||
</h1>
|
||||
|
||||
<!-- Code chip -->
|
||||
<p style="margin: 12px 0 24px;">
|
||||
<span
|
||||
style="
|
||||
display: inline-block;
|
||||
padding: 8px 14px;
|
||||
background-color: #e4e5e7;
|
||||
border-radius: 6px;
|
||||
font-family: 'SF Mono', Menlo, Monaco, Consolas,
|
||||
'Liberation Mono', 'Courier New', monospace;
|
||||
font-size: 15px;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
{{code}}
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!-- Main info -->
|
||||
<p
|
||||
style="
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
This code is valid for the next 10 minutes. Enter it on the
|
||||
sign-in page to complete your login.
|
||||
</p>
|
||||
|
||||
<!-- Secondary info -->
|
||||
<p
|
||||
style="
|
||||
margin: 16px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
Note: This email was sent to
|
||||
<span
|
||||
style="
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
"
|
||||
>{{email}}</span
|
||||
>. If you were not expecting a sign-in code, you can safely
|
||||
ignore this message.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FOOTER (simple, aligned with body) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-footer"
|
||||
style="background-color: #ffffff; padding: 0 40px 16px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
border-top: 1px solid #e9e9e9;
|
||||
padding: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
color: #979797;
|
||||
text-align: left;
|
||||
"
|
||||
>
|
||||
<p style="margin: 0;">
|
||||
Plane Software, Inc.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<base target="_blank" />
|
||||
</body>
|
||||
</html>
|
||||
215
apps/api/templates/emails/exports/analytics.html
Normal file
215
apps/api/templates/emails/exports/analytics.html
Normal file
@@ -0,0 +1,215 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>Your Plane Analytics export is ready</title>
|
||||
|
||||
<style>
|
||||
/* Basic resets for email clients */
|
||||
body,
|
||||
table,
|
||||
td,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
line-height: 100%;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Mobile adjustments */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
padding: 24px 20px !important;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
padding: 0 20px 16px 20px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body
|
||||
bgcolor="#f9f9f9"
|
||||
style="
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
||||
sans-serif;
|
||||
font-weight: 400;
|
||||
color: #474747;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
background-color: #f9f9f9;
|
||||
"
|
||||
>
|
||||
<!-- Preheader (hidden) -->
|
||||
<span
|
||||
class="preheader"
|
||||
style="
|
||||
display: none;
|
||||
font-size: 1px;
|
||||
color: transparent;
|
||||
line-height: 1px;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
mso-hide: all;
|
||||
visibility: hidden;
|
||||
"
|
||||
>
|
||||
Your requested Plane Analytics data export is attached as a CSV file.
|
||||
</span>
|
||||
|
||||
<!-- Outer Wrapper -->
|
||||
<center
|
||||
class="email-body"
|
||||
style="width: 100%; background-color: #f9f9f9; padding: 40px 0;"
|
||||
>
|
||||
<!-- HEADER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table role="presentation" width="100%" style="background-color: #000000;">
|
||||
<tr>
|
||||
<td style="padding: 24px 40px; text-align: center;">
|
||||
<img
|
||||
src="https://media.docs.plane.so/logo/new-logo-dark.png"
|
||||
width="120"
|
||||
alt="Plane"
|
||||
style="height: auto; display: block; margin: 0 auto;"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BODY (card under header) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-content"
|
||||
style="background-color: #ffffff; padding: 32px 40px 32px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #474747;
|
||||
padding: 24px;
|
||||
"
|
||||
>
|
||||
<!-- ========================================= -->
|
||||
<!-- PLANE ANALYTICS DATA EXPORT EMAIL -->
|
||||
<!-- ========================================= -->
|
||||
|
||||
<!-- Heading -->
|
||||
<h1
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 22px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
Your Plane Analytics export is ready
|
||||
</h1>
|
||||
|
||||
<!-- Body copy -->
|
||||
<p style="margin: 0 0 16px;">
|
||||
Your requested data export from Plane Analytics is ready. We’ve attached it as a CSV file for your convenience.
|
||||
</p>
|
||||
|
||||
<!-- Small-note styled paragraphs -->
|
||||
<p
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
You can open the CSV in any spreadsheet or BI tool to analyze the data, build reports, or share insights with your team.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-footer"
|
||||
style="background-color: #ffffff; padding: 0 40px 16px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
border-top: 1px solid #e9e9e9;
|
||||
padding: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
color: #979797;
|
||||
text-align: left;
|
||||
"
|
||||
>
|
||||
<p style="margin: 0;">
|
||||
Plane Software, Inc.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<base target="_blank" />
|
||||
</body>
|
||||
</html>
|
||||
349
apps/api/templates/emails/invitations/project_invitation.html
Normal file
349
apps/api/templates/emails/invitations/project_invitation.html
Normal file
@@ -0,0 +1,349 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title> {{ first_name }} invited you to join {{ project_name }} on Plane </title>
|
||||
<style type="text/css" emogrify="no"> #outlook a { padding: 0; } .ExternalClass { width: 100%; } .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } table td { border-collapse: collapse; mso-line-height-rule: exactly; } .editable.image { font-size: 0 !important; line-height: 0 !important; } .nl2go_preheader { display: none !important; mso-hide: all !important; mso-line-height-rule: exactly; visibility: hidden !important; line-height: 0px !important; font-size: 0px !important; } body { width: 100% !important; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; margin: 0; padding: 0; } img { outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; } a img { border: none; } table { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } th { font-weight: normal; text-align: left; } *[class="gmail-fix"] { display: none !important; } </style>
|
||||
<style type="text/css" emogrify="no"> @media (max-width: 600px) { .gmx-killpill { content: " \03D1"; } } </style>
|
||||
<style type="text/css" emogrify="no"> @media (max-width: 600px) { .gmx-killpill { content: " \03D1"; } .r0-c { box-sizing: border-box !important; text-align: center !important; valign: top !important; width: 320px !important; } .r1-o { border-style: solid !important; margin: 0 auto 0 auto !important; width: 320px !important; } .r2-i { background-color: #ffffff !important; } .r3-c { box-sizing: border-box !important; text-align: center !important; valign: top !important; width: 100% !important; } .r4-o { border-style: solid !important; margin: 0 auto 0 auto !important; margin-top: 20px !important; width: 100% !important; } .r5-i { background-color: #f8f9fa !important; padding-bottom: 20px !important; padding-left: 10px !important; padding-right: 10px !important; padding-top: 20px !important; } .r6-c { box-sizing: border-box !important; display: block !important; valign: top !important; width: 100% !important; } .r7-o { border-style: solid !important; width: 100% !important; } .r8-i { padding-left: 0px !important; padding-right: 0px !important; } .r9-o { border-style: solid !important; margin: 0 auto 0 auto !important; width: 100% !important; } .r10-i { padding-bottom: 35px !important; padding-top: 15px !important; } .r11-c { box-sizing: border-box !important; text-align: left !important; valign: top !important; width: 100% !important; } .r12-o { border-style: solid !important; margin: 0 auto 0 0 !important; width: 100% !important; } .r13-i { padding-left: 20px !important; padding-right: 20px !important; padding-top: 0px !important; text-align: center !important; } .r14-o { border-style: solid !important; margin: 0 auto 0 auto !important; margin-bottom: 20px !important; margin-top: 20px !important; width: 100% !important; } .r15-i { text-align: center !important; } .r16-r { background-color: #ffffff !important; border-color: #006399 !important; border-radius: 4px !important; border-width: 1px !important; box-sizing: border-box; height: initial !important; padding-bottom: 7px !important; padding-left: 20px !important; padding-right: 20px !important; padding-top: 7px !important; text-align: center !important; width: 100% !important; } .r17-i { padding-bottom: 15px !important; padding-left: 20px !important; padding-right: 20px !important; padding-top: 15px !important; text-align: left !important; } .r18-i { background-color: #eff2f7 !important; padding-bottom: 20px !important; padding-left: 15px !important; padding-right: 15px !important; padding-top: 20px !important; } .r19-i { padding-bottom: 15px !important; padding-top: 15px !important; } .r20-i { color: #3b3f44 !important; padding-bottom: 0px !important; padding-top: 0px !important; text-align: center !important; } .r21-c { box-sizing: border-box !important; text-align: center !important; width: 100% !important; } .r22-c { box-sizing: border-box !important; width: 100% !important; } .r23-i { font-size: 0px !important; padding-bottom: 15px !important; padding-left: 65px !important; padding-right: 65px !important; padding-top: 15px !important; } .r24-c { box-sizing: border-box !important; width: 32px !important; } .r25-o { border-style: solid !important; margin-right: 8px !important; width: 32px !important; } .r26-i { padding-bottom: 5px !important; padding-top: 5px !important; } .r27-o { border-style: solid !important; margin-right: 0px !important; width: 32px !important; } .r28-i { color: #3b3f44 !important; padding-bottom: 15px !important; padding-top: 15px !important; text-align: center !important; } .r29-i { padding-bottom: 15px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; } .r30-c { box-sizing: border-box !important; text-align: center !important; valign: top !important; width: 129px !important; } .r31-o { border-style: solid !important; margin: 0 auto 0 auto !important; width: 129px !important; } body { -webkit-text-size-adjust: none; } .nl2go-responsive-hide { display: none; } .nl2go-body-table { min-width: unset !important; } .mobshow { height: auto !important; overflow: visible !important; max-height: unset !important; visibility: visible !important; border: none !important; } .resp-table { display: inline-table !important; } .magic-resp { display: table-cell !important; } } </style>
|
||||
<!--[if !mso]><!-->
|
||||
<style type="text/css" emogrify="no"> @import url("https://fonts.googleapis.com/css2?family=Bitter&family=Roboto"); </style>
|
||||
<!--<![endif]-->
|
||||
<style type="text/css"> p, h1, h2, h3, h4, ol, ul { margin: 0; } a, a:link { color: #0092ff; text-decoration: underline; } .nl2go-default-textstyle { color: #3b3f44; font-family: arial, helvetica, sans-serif; font-size: 16px; line-height: 1.5; } .default-button { border-radius: 4px; color: #ffffff; font-family: arial, helvetica, sans-serif; font-size: 16px; font-style: normal; font-weight: bold; line-height: 1.15; text-decoration: none; width: 50%; } .default-heading1 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 36px; } .default-heading2 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 32px; } .default-heading3 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 24px; } .default-heading4 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 18px; } a[x-apple-data-detectors] { color: inherit !important; text-decoration: inherit !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; } .no-show-for-you { border: none; display: none; float: none; font-size: 0; height: 0; line-height: 0; max-height: 0; mso-hide: all; overflow: hidden; table-layout: fixed; visibility: hidden; width: 0; } </style>
|
||||
<!--[if mso]>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG />
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<style type="text/css"> a:link { color: #0092ff; text-decoration: underline; } </style>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" text="#3b3f44" link="#0092ff" yahoo="fix" style="background-color: #ffffff; padding-bottom: 0px; padding-top: 0px" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" class="nl2go-body-table" width="100%" style="background-color: #ffffff; width: 100%" >
|
||||
<tr>
|
||||
<td align="center" class="r0-c">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="600" class="r1-o" style="table-layout: fixed; width: 600px" >
|
||||
<tr>
|
||||
<td valign="top" class="r2-i" style="background-color: #ffffff">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r3-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r4-o" style="table-layout: fixed; width: 100%" >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="20" style="font-size: 20px; line-height: 20px" > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; background-color: #f8f9fa; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r5-i" style="background-color: #f8f9fa">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r6-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r7-o" style="table-layout: fixed; width: 100%" >
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td valign="top" class="r8-i">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r3-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="120" class="r9-o" style=" table-layout: fixed; width: 120px; " >
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r10-i" style=" font-size: 0px; line-height: 0px; " > <img src="https://media.docs.plane.so/logo/new-logo-white.png" width="120" border="0" class="" style=" display: block; width: 100%; " /> </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="35" style=" font-size: 35px; line-height: 35px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r11-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r12-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td class="nl2go-responsive-hide" width="20" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
<td align="center" valign="top" class="r13-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: arial, helvetica, sans-serif; font-size: 16px; line-height: 1.5; text-align: center; " >
|
||||
<div>
|
||||
<p style="margin: 0"> <span style=" font-size: 26px; " ><strong >{{first_name}}</strong > has invited you to join the </span> </p>
|
||||
<p style="margin: 0"> <span style=" font-size: 26px; " ><strong >{{project_name}}</strong > project on Plane</span > </p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nl2go-responsive-hide" width="20" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r3-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="300" class="r14-o" style=" table-layout: fixed; width: 300px; " >
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="18" align="center" valign="top" class="r15-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: arial, helvetica, sans-serif; font-size: 16px; line-height: 1.5; " >
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{invitation_url}}" style=" v-text-anchor: middle; height: 33px; width: 301px; " arcsize="12%" fillcolor="#ffffff" strokecolor="#006399" strokeweight="1px" data-btn="1" >
|
||||
<w:anchorlock />
|
||||
<div style="display: none" >
|
||||
<center class="default-button" >
|
||||
<p> <span style=" color: #006399; " >Accept the invite</span > </p>
|
||||
</center>
|
||||
</div>
|
||||
</v:roundrect>
|
||||
<![endif]--> <!--[if !mso]><!-- -->
|
||||
<a href="{{invitation_url}}" class="r16-r default-button" target="_blank" rel="noopener noreferrer" data-btn="1" style=" font-style: normal; font-weight: bold; line-height: 1.15; text-decoration: none; border-style: solid; word-wrap: break-word; display: inline-block; -webkit-text-size-adjust: none; mso-hide: all; background-color: #ffffff; border-color: #006399; border-radius: 4px; border-width: 1px; color: #ffffff; font-family: arial, helvetica, sans-serif; font-size: 16px; height: 18px; padding-bottom: 7px; padding-left: 20px; padding-right: 20px; padding-top: 7px; width: 258px; " >
|
||||
<p style="margin: 0"> <span style="color: #006399" >Accept the invite</span > </p>
|
||||
</a>
|
||||
<!--<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r11-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r12-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" width="20" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" width="20" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nl2go-responsive-hide" width="20" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
<td align="left" valign="top" class="r17-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: arial, helvetica, sans-serif; font-size: 16px; line-height: 1.5; text-align: left; " >
|
||||
<div>
|
||||
<p style="margin: 0"> <span style=" font-size: 12px; " >Note: Plane is still in its early days, not everything will be perfect yet, and hiccups may happen. Please let us know of any suggestions, ideas, or bugs that you encounter on our </span ><a href="https://forum.plane.so" target="_blank" style=" color: #0092ff; text-decoration: underline; " ><span style=" font-size: 12px; " >Forum</span ></a ><span style=" font-size: 12px; " > or </span ><a href="https://github.com/makeplane/plane" target="_blank" style=" color: #0092ff; text-decoration: underline; " ><span style=" font-size: 12px; " >GitHub</span ></a ><span style=" font-size: 12px; " >, and we will use your feedback to improve on our upcoming releases.</span > </p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nl2go-responsive-hide" width="20" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" width="20" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" width="20" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; background-color: #f8f9fa; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r3-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r9-o" style="table-layout: fixed; width: 100%" >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; background-color: #eff2f7; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r18-i" style="background-color: #eff2f7">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r6-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r7-o" style="table-layout: fixed; width: 100%" >
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td class="nl2go-responsive-hide" width="15" style="font-size: 0px; line-height: 1px" > </td>
|
||||
<td valign="top" class="r8-i">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r3-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="57" class="r9-o" style=" table-layout: fixed; width: 57px; " >
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r19-i" style=" font-size: 0px; line-height: 0px; " > <img src="https://ik.imagekit.io/w2okwbtu2/115727700_n9t8rrnwT.png?ik-sdk-version=javascript-1.4.3&updatedAt=1670872429989" width="57" border="0" class="" style=" display: block; width: 100%; " /> </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r11-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r12-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td align="center" valign="top" class="r20-i nl2go-default-textstyle" style=" font-family: arial, helvetica, sans-serif; color: #3b3f44; font-size: 18px; line-height: 1.5; text-align: center; " >
|
||||
<div>
|
||||
<p style=" margin: 0; font-size: 14px; " > Proudly made on <strong >Planet Earth 🌍</strong >. </p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r21-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="570" class="r9-o" style=" table-layout: fixed; width: 570px; " >
|
||||
<!-- -->
|
||||
<tr>
|
||||
<td valign="top" class="">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r22-c" style=" display: inline-block; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="570" class="r7-o" style=" table-layout: fixed; width: 570px; " >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" width="209" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" width="209" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nl2go-responsive-hide" width="209" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
<td class="r23-i">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="40" valign="" class="r24-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r25-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r26-i" style=" font-size: 0px; line-height: 0px; " > <a href="https://github.com/makeplane/plane" target="_blank" style=" color: #0092ff; text-decoration: underline; " > <img src="{{ current_site }}/static/logos/github_32px.png" width="32" border="0" class="" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="40" valign="" class="r24-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r25-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r26-i" style=" font-size: 0px; line-height: 0px; " > <a href="https://forum.plane.so" target="_blank" style=" color: #0092ff; text-decoration: underline; " > <img src="{{ current_site }}/static/logos/website_32px.png" width="32" border="0" class="" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="40" valign="" class="r24-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r25-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r26-i" style=" font-size: 0px; line-height: 0px; " > <a href="https://x.com/planepowers" target="_blank" style=" color: #0092ff; text-decoration: underline; " > <img src="{{ current_site }}/static/logos/twitter_32px.png" width="32" border="0" class="" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
<td height="5" width="8" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="32" valign="" class="r24-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r27-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<!-- -->
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r26-i" style=" font-size: 0px; line-height: 0px; " > <a href="https://www.linkedin.com/company/planepowers/" target="_blank" style=" color: #0092ff; text-decoration: underline; " > <img src="{{ current_site }}/static/logos/linkedin_32px.png" width="32" border="0" class="" style=" display: block; width: 100%; " /></a> </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="5" style=" font-size: 5px; line-height: 5px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="nl2go-responsive-hide" width="209" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" width="209" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
<td height="15" width="209" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="r11-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r12-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" class="r28-i nl2go-default-textstyle" style=" font-family: arial, helvetica, sans-serif; color: #3b3f44; font-size: 18px; line-height: 1.5; text-align: center; " >
|
||||
<div>
|
||||
<p style=" margin: 0; font-size: 14px; " > <a href="{{ mirror }}" style=" color: #0092ff; text-decoration: underline; " >View in browser</a > | <a href="{{ unsubscribe }}" style=" color: #0092ff; text-decoration: underline; " >Unsubscribe</a > </p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide" >
|
||||
<td height="15" style=" font-size: 15px; line-height: 15px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="nl2go-responsive-hide" width="15" style="font-size: 0px; line-height: 1px" > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="20" style=" font-size: 20px; line-height: 20px; background-color: #eff2f7; " ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
306
apps/api/templates/emails/invitations/workspace_invitation.html
Normal file
306
apps/api/templates/emails/invitations/workspace_invitation.html
Normal file
@@ -0,0 +1,306 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>{{first_name}} invited you to {{workspace_name}} on Plane</title>
|
||||
|
||||
<style>
|
||||
/* Basic resets for email clients */
|
||||
body,
|
||||
table,
|
||||
td,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
line-height: 100%;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Mobile adjustments */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
padding: 24px 20px !important;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
padding: 0 20px 16px 20px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body
|
||||
bgcolor="#f9f9f9"
|
||||
style="
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
||||
sans-serif;
|
||||
font-weight: 400;
|
||||
color: #474747;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
background-color: #f9f9f9;
|
||||
"
|
||||
>
|
||||
<!-- Preheader (hidden) -->
|
||||
<span
|
||||
class="preheader"
|
||||
style="
|
||||
display: none;
|
||||
font-size: 1px;
|
||||
color: transparent;
|
||||
line-height: 1px;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
mso-hide: all;
|
||||
visibility: hidden;
|
||||
"
|
||||
>
|
||||
{{first_name}} has invited you to join {{workspace_name}} on Plane.
|
||||
</span>
|
||||
|
||||
<!-- Outer Wrapper -->
|
||||
<center
|
||||
class="email-body"
|
||||
style="width: 100%; background-color: #f9f9f9; padding: 40px 0;"
|
||||
>
|
||||
<!-- HEADER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
style="background-color: #000000;"
|
||||
>
|
||||
<tr>
|
||||
<td style="padding: 24px 40px; text-align: center;">
|
||||
<img
|
||||
src="https://media.docs.plane.so/logo/new-logo-dark.png"
|
||||
width="120"
|
||||
alt="Plane"
|
||||
style="height: auto; display: block; margin: 0 auto;"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BODY (card under header) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-content"
|
||||
style="background-color: #ffffff; padding: 32px 40px 32px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #474747;
|
||||
padding: 24px;
|
||||
"
|
||||
>
|
||||
<!-- ========================================= -->
|
||||
<!-- PLANE WORKSPACE INVITE EMAIL -->
|
||||
<!-- ========================================= -->
|
||||
|
||||
<!-- Heading -->
|
||||
<h1
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 22px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
Join {{workspace_name}} on Plane
|
||||
</h1>
|
||||
|
||||
<!-- Intro copy -->
|
||||
<p style="margin: 0 0 12px;">
|
||||
{{first_name}} has invited you to collaborate with them in
|
||||
<strong>{{workspace_name}}</strong> workspace on Plane.
|
||||
</p>
|
||||
|
||||
<!-- Primary button -->
|
||||
<table
|
||||
role="presentation"
|
||||
cellspacing="0"
|
||||
cellpadding="0"
|
||||
border="0"
|
||||
style="margin: 0 0 24px;"
|
||||
>
|
||||
<tr>
|
||||
<td>
|
||||
<a
|
||||
href="{{abs_url}}"
|
||||
target="_blank"
|
||||
style="
|
||||
background-color: #1080bc;
|
||||
border-radius: 6px;
|
||||
color: #ffffff;
|
||||
padding: 12px 24px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
white-space: nowrap;
|
||||
"
|
||||
>
|
||||
Accept invite
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Secondary info -->
|
||||
<p
|
||||
style="
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
If the button doesn’t work, copy and paste this link into
|
||||
your browser:
|
||||
</p>
|
||||
|
||||
<p
|
||||
style="
|
||||
margin: 6px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
display: inline-block;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 4px 6px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
word-break: break-all;
|
||||
"
|
||||
>{{abs_url}}</span
|
||||
>
|
||||
</p>
|
||||
|
||||
<!-- Note -->
|
||||
<p
|
||||
style="
|
||||
margin: 16px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
Note: This invitation was intended for
|
||||
<span
|
||||
style="
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
"
|
||||
>{{email}}</span
|
||||
>. If you were not expecting this invitation, you can ignore
|
||||
this email.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FOOTER (simple, aligned with body) -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-footer"
|
||||
style="background-color: #ffffff; padding: 0 40px 16px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
border-top: 1px solid #e9e9e9;
|
||||
padding: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
color: #979797;
|
||||
text-align: left;
|
||||
"
|
||||
>
|
||||
<p style="margin: 0;">
|
||||
Plane Software, Inc.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<base target="_blank" />
|
||||
</body>
|
||||
</html>
|
||||
243
apps/api/templates/emails/notifications/issue-updates.html
Normal file
243
apps/api/templates/emails/notifications/issue-updates.html
Normal file
@@ -0,0 +1,243 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Updates on {{entity_type}}</title>
|
||||
<style type="text/css" emogrify="no"> html { font-family: system-ui; } p, h1, h2, h3, h4, ol, ul { margin: 0; } h-full { height: 100%; } a:hover { color: #3358d4 !important; } </style>
|
||||
<style> *[class="gmail-fix"] { display: none !important; } </style>
|
||||
<style type="text/css" emogrify="no"> @media (max-width: 600px) { .gmx-killpill { content: " \03D1"; } } </style>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" text="#3b3f44" link="#006399" yahoo="fix" style="background-color: #f7f9ff; margin: 20px" >
|
||||
<div style=" width: 600px; table-layout: fixed; height: 100%; margin-left: auto; margin-right: auto; " >
|
||||
<!-- Header -->
|
||||
<div>
|
||||
<table style="width: 600px" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<div style="margin-left: 30px; margin-bottom: 20px; margin-top: 20px" > <img src="https://media.docs.plane.so/logo/new-logo-white.png" width="150" border="0" /> </div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Body -->
|
||||
<div style=" color: #1f2d5c; padding: 30px; border-radius: 4px; background-color: #fcfcfd; max-width: 100%; " >
|
||||
<div>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>
|
||||
<p style="font-size: 1rem; color: #1f2d5c; font-weight: 600"> {{ issue.issue_identifier }} updates </p>
|
||||
<p style="font-size: 1rem; font-weight: 500; color: #1f2d5c; line-height: 28px"> {{workspace}}/<a target="_blank" style="color: #1f2d5c; text-decoration: none;" href="{{project_url}}">{{project}}</a>/<a style="color: #1f2d5c; text-decoration: none;" target="_blank" href="{{issue_url}}">{{issue.issue_identifier}}</a>: {{ issue.name }} </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr style=" background-color: #f0f0f3; height: 1px; border: 0; margin-top: 15px; margin-bottom: 15px; " />
|
||||
{% if actors_involved == 1 %}
|
||||
<p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> {{summary}} <span style="font-size: 1rem; font-weight: 700; line-height: 28px"> {% if data|length > 0 %} {{ data.0.actor_detail.first_name}} {{data.0.actor_detail.last_name}} {% else %} {{ comments.0.actor_detail.first_name}} {{comments.0.actor_detail.last_name}} {% endif %} </span>. </p>
|
||||
{% else %}
|
||||
<p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> {{summary}} <span style="font-size: 1rem; font-weight: 700; line-height: 28px"> {% if data|length > 0 %} {{ data.0.actor_detail.first_name}} {{data.0.actor_detail.last_name}} {% else %} {{ comments.0.actor_detail.first_name}} {{comments.0.actor_detail.last_name}} {% endif %} </span>and others. </p>
|
||||
{% endif %} <!-- {% if actors_involved == 1 %} {% if data|length > 0 and comments|length == 0 %} <p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> <span style="font-size: 1rem; font-weight: 700; line-height: 28px"> {{ data.0.actor_detail.first_name}} {{data.0.actor_detail.last_name }} </span> made {{total_updates}} {% if total_updates > 1 %}updates{% else %}update{% endif %} to the issue. </p> {% elif data|length == 0 and comments|length > 0 %} <p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> <span style="font-size: 1rem; font-weight: 700; line-height: 28px"> {{ comments.0.actor_detail.first_name}} {{comments.0.actor_detail.last_name }} </span> added {{total_comments}} new {% if total_comments > 1 %}comments{% else %}comment{% endif %}. </p> {% elif data|length > 0 and comments|length > 0 %} <p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> <span style="font-size: 1rem; font-weight: 700; line-height: 28px"> {{ data.0.actor_detail.first_name}} {{data.0.actor_detail.last_name }} </span> made {{total_updates}} {% if total_updates > 1 %}updates{% else %}update{% endif %} and added {{total_comments}} new {% if total_comments > 1 %}comments{% else %}comment{% endif %} on the issue. </p> {% endif %} {% else %} <p style="font-size: 1rem;color: #1f2d5c; line-height: 28px"> There are {{ total_updates }} new updates and {{total_comments}} new comments on the issue. </p> {% endif %} --> {% for update in data %} {% if update.changes.name %} <!-- Issue title updated -->
|
||||
<p style="font-size: 1rem; line-height: 28px; color: #1f2d5c"> The {{entity_type}} title has been updated to {{ issue.name}} </p>
|
||||
{% endif %} <!-- Outer update Box start --> {% if data %}
|
||||
<div style=" background-color: #f7f9ff; border-radius: 8px; border-style: solid; border-width: 1px; border-color: #c1d0ff; padding: 20px; margin-top: 15px; max-width: 100%; " >
|
||||
<!-- Block Heading -->
|
||||
<div style="padding-bottom: 20px">
|
||||
<p style="font-size: 0.8rem; font-weight: 600; color: #121a26"> Updates </p>
|
||||
</div>
|
||||
<!-- Property Updates -->
|
||||
<div style=" background-color: white; max-width: 100%; overflow: hidden; overflow-wrap: break-word; word-wrap: break-word; padding-left: 15px; padding-bottom: 15px; border-radius: 8px; " >
|
||||
<!-- action performer -->
|
||||
<table role="presentation" cellspacing="0" cellpadding="0" style="max-width: 100%" >
|
||||
<tr style="border-radius: 8px; margin-top: 20px">
|
||||
<td style="width: 30px">
|
||||
{% if update.actor_detail.avatar_url %} <img src="{{ update.actor_detail.avatar_url }}" width="25" height="25" border="0" /> {% else %}
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style=" width: 25px; height: 25px; background-color: #4f3422; border-radius: 50%; text-align: center; " > <span style=" color: white; font-weight: 500; font-size: 13px; line-height: 25px; display: inline-block; " > {{ update.actor_detail.first_name.0 }} </span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td style="padding-top: 20px; padding-bottom: 20px">
|
||||
<p style=" font-weight: 500; font-size: 0.8rem; color: #1c2024; width: fit-content; margin-left: 5px; " > {{ update.actor_detail.first_name }} {{ update.actor_detail.last_name }} </p>
|
||||
</td>
|
||||
<td>
|
||||
<p style=" font-weight: 500; font-size: 0.6rem; color: #80838d; margin-left: 10px; " > {{ update.activity_time }} </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% if update.changes.target_date %} <!-- due date changed -->
|
||||
<table role="presentation" style="max-width: 100%; padding-bottom: 15px" >
|
||||
<tr>
|
||||
<td> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/due-date.png" width="12" height="12" border="0" style="display: block" /> </td>
|
||||
<td style="padding: 0px; text-align: center">
|
||||
<div>
|
||||
<p style=" padding: 0px; margin: 0px; font-size: 0.8rem; font-weight: 500; color: #525252; " > Due Date: </p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{% if update.changes.target_date.new_value.0 %}
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #171717; margin-left: 5px; padding: 0px; " > {{ update.changes.target_date.new_value.0 }} </p>
|
||||
{% else %}
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #171717; margin-left: 5px; padding: 0px; text-decoration: line-through; " > {{ update.changes.target_date.old_value.0 }} </p>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} {% if update.changes.duplicate %} <!-- duplicate changed -->
|
||||
<table role="presentation" style="max-width: 100%; padding-bottom: 15px" >
|
||||
<tr>
|
||||
<td> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/duplicate.png" width="12" height="12" border="0" style="display: inline-block" /> <span style=" font-size: 0.8rem; font-weight: 500; color: #525252; " > Duplicate: </span> </td>
|
||||
{% if update.changes.duplicate.new_value.0 %}
|
||||
<td style="padding-left: 5px;overflow-wrap: break-word;"> {% for duplicate in update.changes.duplicate.new_value|slice:":2" %} <span style=" font-size: 0.8rem; font-weight: 500; color: #3a5bc7; margin-right: 3px; padding-top: 0px; " > {{ duplicate }} </span> {% endfor %} </td>
|
||||
{% endif %} {% if update.changes.duplicate.new_value.2 %}
|
||||
<td> <span style=" font-size: 0.8rem; font-weight: 500; color: #3a5bc7; margin-right: 3px; padding-top: 0px; " > +{{ update.changes.duplicate.new_value|length|add:"-2" }} more </span> </td>
|
||||
{% endif %} {% if update.changes.duplicate.old_value.0 %}
|
||||
<td style="padding-left: 8px;"> {% for duplicate in update.changes.duplicate.old_value|slice:":2" %} <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-right: 3px; padding-top: 0px; text-decoration: line-through; " > {{ duplicate }} </span> {% endfor %} </td>
|
||||
{% endif %} {% if update.changes.duplicate.old_value.2 %}
|
||||
<td> <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-right: 3px; padding-top: 0px; " > +{{ update.changes.duplicate.old_value|length|add:"-2" }} more </span> </td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} <!-- Assignee changed--> {% if update.changes.assignees %}
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%; padding-right: 10px;" >
|
||||
<tr>
|
||||
<td valign="top" style="white-space: nowrap; padding: 0px;"> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/assignee.png" width="12" height="12" border="0" style="display: inline-block" /> <span style=" font-size: 0.8rem; font-weight: 500; color: #525252; padding-right: 5px; " > Assignee: </span> </td>
|
||||
<td style="overflow-wrap: anywhere;word-break: break-all; padding: 0px;"> {% if update.changes.assignees.new_value.0 %} <span style=" font-size: 0.8rem; color: #0d74ce; background-color: #e6f4fe; margin-right: 5px; padding-left: 4px; padding-right: 4px; padding-bottom: 2px; padding-top: 2px; font-weight: 500; border-radius: 2px; max-lines: 1; " > {{update.changes.assignees.new_value.0}} </span> {% endif %} {% if update.changes.assignees.new_value.1 %} <span style=" font-size: 0.8rem; font-weight: 500; color: #0d74ce; margin-left: 2px; margin-right: 5px; white-space: nowrap; padding: 0px; " > +{{ update.changes.assignees.new_value|length|add:"-1"}} more </span> {% endif %} {% if update.changes.assignees.old_value.0 %} <span style=" font-size: 0.8rem; padding-left: 4px; padding-right: 4px; padding-bottom: 2px; padding-top: 2px; font-weight: 500; text-decoration: line-through; color: #641723; background-color: #feebec; margin-right: 5px; border-radius: 2px; " > {{update.changes.assignees.old_value.0}} </span> {% endif %} {% if update.changes.assignees.old_value.1 %} <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-left: 2px; white-space: nowrap; " > +{{ update.changes.assignees.old_value|length|add:"-1"}} more </span> {% endif %} </td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} {% if update.changes.labels %} <!-- Labels -->
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%; padding-right: 10px;" >
|
||||
<tr>
|
||||
<td valign="top" style="white-space: nowrap; padding: 0px;"> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/labels.png" width="12" height="12" border="0" style="display: inline-block;" /> <span style=" font-size: 0.8rem; font-weight: 500; color: #525252; padding-right: 5px; " > Labels: </span> </td>
|
||||
<td style="overflow-wrap: anywhere;word-break: break-all; padding: 0px;"> {% if update.changes.labels.new_value.0 %} <span style=" font-size: 0.8rem; line-height: 1px; color: #0d74ce; background-color: #e6f4fe; margin-right: 5px; padding-left: 4px; padding-right: 4px; padding-bottom: 2px; padding-top: 2px; font-weight: 500; border-radius: 2px; max-lines: 1; " > {{update.changes.labels.new_value.0}} </span> {% endif %} {% if update.changes.labels.new_value.1 %} <span style=" font-size: 0.8rem; font-weight: 500; color: #0d74ce; margin-left: 2px; margin-right: 5px; white-space: nowrap; " > +{{ update.changes.labels.new_value|length|add:"-1"}} more </span> {% endif %} {% if update.changes.labels.old_value.0 %} <span style=" font-size: 0.8rem; padding-left: 4px; padding-right: 4px; padding-bottom: 2px; padding-top: 2px; font-weight: 500; text-decoration: line-through; color: #641723; background-color: #feebec; margin-right: 5px; border-radius: 2px; " > {{update.changes.labels.old_value.0}} </span> {% endif %} {% if update.changes.labels.old_value.1 %} <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-left: 2px; white-space: nowrap; " > +{{ update.changes.labels.old_value|length|add:"-1"}} more </span> {% endif %} </td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} <!-- State changed --> {% if update.changes.state %}
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%" >
|
||||
<tr>
|
||||
<td> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/state.png" width="12" height="12" border="0" style="display: block" /> </td>
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #525252; " > State: </p>
|
||||
</td>
|
||||
{% if update.changes.state.old_value.0 == 'Backlog' or update.changes.state.old_value.0 == 'In Progress' or update.changes.state.old_value.0 == 'Done' or update.changes.state.old_value.0 == 'Cancelled' %}
|
||||
<td> <img src="{% if update.changes.state.old_value.0 == 'Backlog' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/backlog.png{% endif %}{% if update.changes.state.old_value.0 == 'In Progress' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/in-progress.png{% endif %}{% if update.changes.state.old_value.0 == 'Done' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/done.png{% endif %}{% if update.changes.state.old_value.0 == 'Cancelled' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/cancelled.png{% endif %}" width="12" height="12" border="0" style="display: block; margin-left: 5px;" /> </td>
|
||||
{% endif %}
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #60646C; " > {{ update.changes.state.old_value.0 }} </p>
|
||||
</td>
|
||||
<td style="padding-left: 10px; padding-right: 10px;"> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/forward-arrow.png" width="16" height="16" border="0" style="display: block;" /> </td>
|
||||
{% if update.changes.state.new_value|last == 'Backlog' or update.changes.state.new_value|last == 'In Progress' or update.changes.state.new_value|last == 'Done' or update.changes.state.new_value|last == 'Cancelled' %}
|
||||
<td> <img src="{% if update.changes.state.new_value|last == 'Backlog' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/backlog.png{% elif update.changes.state.new_value|last == 'In Progress' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/in-progress.png{% elif update.changes.state.new_value|last == 'Todo' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/todo.png{% elif update.changes.state.new_value|last == 'Done' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/done.png{% elif update.changes.state.new_value|last == 'Cancelled' %}https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/cancelled.png{% endif %}" width="12" height="12" border="0" style="display: block;" /> </td>
|
||||
{% endif %}
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #60646c; " > {{update.changes.state.new_value|last }} </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} {% if update.changes.link %} <!-- Link Added -->
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%" >
|
||||
<tr>
|
||||
<td valign="top"> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/link.png" width="12" height="12" border="0" style="display: block; margin-top: 3px;" /> </td>
|
||||
<td valign="top">
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #525252; margin-right: 5px; " > Links: </p>
|
||||
</td>
|
||||
<td>
|
||||
{% for link in update.changes.link.new_value %} <a href="{{link}}" style=" font-size: 0.8rem; font-weight: 600; color: #3a5bc7; display: block; padding-bottom: 5px; " > {{ link }} </a> {% endfor %} {% if update.changes.link.old_value|length > 0 %} {% if update.changes.link.old_value.0 != "None" %}
|
||||
<p href="" style=" font-size: 0.8rem; font-weight: 500; color: #60646c; " > 2 Links were removed </p>
|
||||
{% endif %} {% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} {% if update.changes.priority %} <!-- Priority changed -->
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%" >
|
||||
<tr>
|
||||
<td> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/priority.png" width="12" height="12" border="0" style="display: block; margin: 0px; padding: 0px" /> </td>
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; font-weight: 500; color: #525252; margin-right: 5px; " > Priority: </p>
|
||||
</td>
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; padding-left: 4px; padding-right: 4px; padding-bottom: 0px; font-weight: 500; border-radius: 2px; text-transform: capitalize; {% if update.changes.priority.old_value.0 == 'urgent' %}background-color: #FFDBDC; color: #CE2C31;{% endif %} {% if update.changes.priority.old_value.0 == 'high' %}background-color: #FFE2C7; color: #F04610;{% endif %} {% if update.changes.priority.old_value.0 == 'medium' %}background-color: #FEFBE9; color: #E2A336;{% endif %} {% if update.changes.priority.old_value.0 == 'low' %}background-color: #E9F6E9; color: #2A7E3B;{% endif %} " > {{ update.changes.priority.old_value.0 }} </p>
|
||||
</td>
|
||||
<td style="padding-left: 10px; padding-right: 10px;"> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/forward-arrow.png" width="16" height="16" border="0" style="display: block;" /> </td>
|
||||
<td>
|
||||
<p style=" font-size: 0.8rem; padding-left: 4px; padding-right: 4px; padding-bottom: 0px; font-weight: 500; border-radius: 2px; text-transform: capitalize; {% if update.changes.priority.new_value|last == 'urgent' %}background-color: #FFDBDC; color: #CE2C31;{% endif %} {% if update.changes.priority.new_value|last == 'high' %}background-color: #FEEBEC; color: #CE2C31;{% endif %} {% if update.changes.priority.new_value|last == 'medium' %}background-color: #FEFBE9; color: #E2A336;{% endif %} {% if update.changes.priority.new_value|last == 'low' %}background-color: #E9F6E9; color: #2A7E3B;{% endif %} " > {{ update.changes.priority.new_value|last }} </p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %} {% if update.changes.blocking.new_value %} <!-- Blocking changed -->
|
||||
<table role="presentation" style="padding-bottom: 15px; max-width: 100%" >
|
||||
<tr style="overflow-wrap: break-word;">
|
||||
<td> <img src="https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/emails/blocking.png" width="12" height="12" border="0" style="display: inline-block;" /> <span style=" font-size: 0.8rem; font-weight: 500; color: #525252; margin-right: 5px; " > Blocking: </span> </td>
|
||||
{% if update.changes.blocking.new_value.0 %}
|
||||
<td style="padding-left: 5px;overflow-wrap: break-word;"> {% for blocking in update.changes.blocking.new_value|slice:":2" %} <span style=" font-size: 0.8rem; font-weight: 500; color: #3a5bc7; margin-right: 3px; padding-top: 0px; " > {{ blocking }} </span> {% endfor %} </td>
|
||||
{% endif %} {% if update.changes.blocking.new_value.2 %}
|
||||
<td> <span style=" font-size: 0.8rem; font-weight: 500; color: #3a5bc7; margin-right: 3px; padding-top: 0px; " > +{{ update.changes.blocking.new_value|length|add:"-2" }} more </span> </td>
|
||||
{% endif %} {% if update.changes.blocking.old_value.0 %}
|
||||
<td style="padding-left: 8px;"> {% for blocking in update.changes.blocking.old_value|slice:":2" %} <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-right: 3px; padding-top: 0px; text-decoration: line-through; " > {{ blocking }} </span> {% endfor %} </td>
|
||||
{% endif %} {% if update.changes.blocking.old_value.2 %}
|
||||
<td> <span style=" font-size: 0.8rem; font-weight: 500; color: #641723; margin-right: 3px; padding-top: 0px; " > +{{ update.changes.blocking.old_value|length|add:"-2" }} more </span> </td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %} <!-- Outer update Box end --> {% endfor %} {% if comments.0 %} <!-- Comments outer update Box -->
|
||||
<div style=" max-width: 100%; background-color: #f7f9ff; border-radius: 8px; border-style: solid; border-width: 1px; border-color: #c1d0ff; padding: 20px; margin-top: 15px; " >
|
||||
<!-- Block Heading -->
|
||||
<p style="font-size: 0.8rem; font-weight: 600; color: #121a26; padding-bottom: 20px;"> Comments </p>
|
||||
<!-- Comments --> {% for comment in comments %}
|
||||
<table cellspacing="0">
|
||||
<tr style="border-radius: 8px">
|
||||
<td valign="top">
|
||||
{% if comment.actor_detail.avatar_url %} <img src="{{ comment.actor_detail.avatar_url }}" width="25" height="25" border="0" /> {% else %}
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style=" width: 25px; height: 25px; background-color: #4f3422; border-radius: 50%; text-align: center; " > <span style=" color: white; font-weight: 500; font-size: 13px; line-height: 25px; display: inline-block; " > {{ comment.actor_detail.first_name.0 }} </span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td style="padding-bottom: 15px">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<p style=" font-weight: 500; font-size: 0.8rem; color: #1c2024; margin-left: 8px; " > {{ comment.actor_detail.first_name }} {{ comment.actor_detail.last_name }} </p>
|
||||
</td>
|
||||
</tr>
|
||||
{% for actor_comment in comment.actor_comments.new_value %}
|
||||
<tr>
|
||||
<td>
|
||||
<div style=" padding: 6px 10px; margin-left: 10px; background-color: white; font-size: 0.8rem; color: #525252; margin-top: 5px; border-radius: 4px; overflow-x: scroll; max-width: 430px;" >
|
||||
<p> {{ actor_comment|safe }} </p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<a href="{{ issue_url }}" style="text-decoration: none;">
|
||||
<div style=" max-width: min-content; white-space: nowrap; background-color: #3e63dd; padding: 10px 15px; border: 1px solid #2f4ba8; border-radius: 4px; margin-top: 15px; cursor: pointer; font-size: 0.8rem; color: white; " > View {{entity_type}} </div>
|
||||
</a>
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<table style="width: 100%; padding: 20px; justify-content: center">
|
||||
<tr>
|
||||
<td>
|
||||
<div style="font-size: 0.8rem; color: #1c2024">
|
||||
This email was sent to <a href="mailto:{{receiver.email}}" style="color: #3a5bc7; font-weight: 500; text-decoration: none" >{{ receiver.email }}.</a > If you'd rather not receive this kind of email, <a href="{{ issue_url }}" style="color: #3a5bc7; text-decoration: none" >you can unsubscribe to the {{entity_type}}</a > or <a href="{{ user_preference }}" style="color: #3a5bc7; text-decoration: none" >manage your email preferences</a >. <!-- Github | LinkedIn | Twitter -->
|
||||
<div style="margin-top: 60px; float: right"> <a href="https://github.com/makeplane" target="_blank" style="margin-left: 10px; text-decoration: none" > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/github_32px.png" width="25" height="25" border="0" style="display: inline-block" /> </a> <a href="https://www.linkedin.com/company/planepowers/" target="_blank" style="margin-left: 10px; text-decoration: none" > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/linkedin_32px.png" width="25" height="25" border="0" style="display: inline-block" /> </a> <a href="https://x.com/planepowers" target="_blank" style="margin-left: 10px; text-decoration: none" > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/twitter_32px.png" width="25" height="25" border="0" style="display: inline-block" /> </a> </div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
307
apps/api/templates/emails/notifications/project_addition.html
Normal file
307
apps/api/templates/emails/notifications/project_addition.html
Normal file
@@ -0,0 +1,307 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>{{inviter_first_name}} invited you to {{project_name}} on Plane</title>
|
||||
|
||||
<style>
|
||||
/* Basic resets for email clients */
|
||||
body,
|
||||
table,
|
||||
td,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
line-height: 100%;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Mobile adjustments */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
padding: 24px 20px !important;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
padding: 0 20px 16px 20px !important;
|
||||
}
|
||||
}
|
||||
|
||||
*[class="gmail-fix"] {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body
|
||||
bgcolor="#f9f9f9"
|
||||
style="
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
||||
sans-serif;
|
||||
font-weight: 400;
|
||||
color: #474747;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-text-size-adjust: none;
|
||||
background-color: #f9f9f9;
|
||||
"
|
||||
>
|
||||
<!-- Preheader (hidden) -->
|
||||
<span
|
||||
class="preheader"
|
||||
style="
|
||||
display: none;
|
||||
font-size: 1px;
|
||||
color: transparent;
|
||||
line-height: 1px;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
mso-hide: all;
|
||||
visibility: hidden;
|
||||
"
|
||||
>
|
||||
{{inviter_first_name}} has invited you to the {{project_name}} project in
|
||||
{{workspace_name}} on Plane.
|
||||
</span>
|
||||
|
||||
<!-- Outer Wrapper -->
|
||||
<center
|
||||
class="email-body"
|
||||
style="width: 100%; background-color: #f9f9f9; padding: 40px 0;"
|
||||
>
|
||||
<!-- HEADER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
style="background-color: #000000;"
|
||||
>
|
||||
<tr>
|
||||
<td style="padding: 24px 40px; text-align: center;">
|
||||
<img
|
||||
src="https://media.docs.plane.so/logo/new-logo-dark.png"
|
||||
width="120"
|
||||
alt="Plane"
|
||||
style="height: auto; display: block; margin: 0 auto;"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BODY -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-content"
|
||||
style="background-color: #ffffff; padding: 32px 40px 32px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
padding: 24px;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #474747;
|
||||
"
|
||||
>
|
||||
<!-- ========================================= -->
|
||||
<!-- PLANE PROJECT INVITE – MAIN COPY -->
|
||||
<!-- ========================================= -->
|
||||
|
||||
<!-- Heading -->
|
||||
<h1
|
||||
style="
|
||||
margin: 0 0 12px;
|
||||
font-size: 22px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
color: #111111;
|
||||
"
|
||||
>
|
||||
You've been invited to the {{project_name}} project on Plane
|
||||
</h1>
|
||||
|
||||
<!-- Intro text -->
|
||||
<p style="margin: 0 0 12px;">
|
||||
{{inviter_first_name}} has invited you to work with them in
|
||||
<strong>{{project_name}}</strong> in the workspace
|
||||
<strong>{{workspace_name}}</strong> on Plane.
|
||||
</p>
|
||||
|
||||
<!-- CTA button -->
|
||||
<table
|
||||
role="presentation"
|
||||
cellspacing="0"
|
||||
cellpadding="0"
|
||||
border="0"
|
||||
style="margin: 16px 0 24px;"
|
||||
>
|
||||
<tr>
|
||||
<td>
|
||||
<a
|
||||
href="{{project_url}}"
|
||||
target="_blank"
|
||||
style="
|
||||
background-color: #1080bc;
|
||||
border-radius: 6px;
|
||||
color: #ffffff;
|
||||
padding: 12px 24px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
white-space: nowrap;
|
||||
"
|
||||
>
|
||||
Go to project
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Fallback link -->
|
||||
<p
|
||||
style="
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
If the button doesn’t work, copy and paste this link into
|
||||
your browser:
|
||||
</p>
|
||||
|
||||
<p
|
||||
style="
|
||||
margin: 6px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
<span
|
||||
style="
|
||||
display: inline-block;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 4px 6px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
word-break: break-all;
|
||||
"
|
||||
>
|
||||
{{project_url}}
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!-- Note -->
|
||||
<p
|
||||
style="
|
||||
margin: 16px 0 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
color: #5f5e5e;
|
||||
"
|
||||
>
|
||||
Note: This email was sent to
|
||||
<span
|
||||
style="
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 12px;
|
||||
background-color: #f3f3f3;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #e9e9e9;
|
||||
"
|
||||
>
|
||||
{{email}}
|
||||
</span>.
|
||||
If you weren’t expecting this invitation, you can safely
|
||||
ignore this email.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<table role="presentation" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
class="email-container"
|
||||
width="620"
|
||||
style="width: 620px; max-width: 620px; margin: 0 auto;"
|
||||
>
|
||||
<table
|
||||
role="presentation"
|
||||
width="100%"
|
||||
class="email-footer"
|
||||
style="background-color: #ffffff; padding: 0 40px 16px 40px;"
|
||||
>
|
||||
<tr>
|
||||
<td
|
||||
style="
|
||||
border-top: 1px solid #e9e9e9;
|
||||
padding: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
color: #979797;
|
||||
text-align: left;
|
||||
"
|
||||
>
|
||||
<p style="margin: 0;">Plane Software, Inc.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<base target="_blank" />
|
||||
</body>
|
||||
</html>
|
||||
298
apps/api/templates/emails/notifications/webhook-deactivate.html
Normal file
298
apps/api/templates/emails/notifications/webhook-deactivate.html
Normal file
@@ -0,0 +1,298 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="format-detection" content="telephone=no" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>{{ message }}</title>
|
||||
<style type="text/css" emogrify="no"> #outlook a { padding: 0; } .ExternalClass { width: 100%; } .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } table td { border-collapse: collapse; mso-line-height-rule: exactly; } .editable.image { font-size: 0 !important; line-height: 0 !important; } .nl2go_preheader { display: none !important; mso-hide: all !important; mso-line-height-rule: exactly; visibility: hidden !important; line-height: 0px !important; font-size: 0px !important; } body { width: 100% !important; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; margin: 0; padding: 0; } img { outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; } a img { border: none; } table { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } th { font-weight: normal; text-align: left; } *[class="gmail-fix"] { display: none !important; } </style>
|
||||
<style type="text/css" emogrify="no"> @media (max-width: 600px) { .gmx-killpill { content: " \03D1"; } } </style>
|
||||
<style type="text/css" emogrify="no"> @media (max-width: 600px) { .gmx-killpill { content: " \03D1"; } .r0-o { border-style: solid !important; margin: 0 auto 0 auto !important; width: 320px !important; } .r1-i { background-color: #ffffff !important; } .r2-c { box-sizing: border-box !important; text-align: center !important; valign: top !important; width: 100% !important; } .r3-o { border-style: solid !important; margin: 0 auto 0 auto !important; width: 100% !important; } .r4-i { padding-bottom: 20px !important; padding-left: 15px !important; padding-right: 15px !important; padding-top: 20px !important; } .r5-c { box-sizing: border-box !important; display: block !important; valign: top !important; width: 100% !important; } .r6-o { border-style: solid !important; width: 100% !important; } .r7-i { padding-left: 0px !important; padding-right: 0px !important; } .r8-c { box-sizing: border-box !important; text-align: left !important; valign: top !important; width: 100% !important; } .r9-o { border-style: solid !important; margin: 0 auto 0 0 !important; width: 100% !important; } .r10-i { padding-bottom: 10px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 10px !important; } .r11-i { padding-bottom: 15px !important; padding-top: 15px !important; text-align: left !important; } .r12-c { box-sizing: border-box !important; padding: 0 !important; text-align: center !important; valign: top !important; width: 100% !important; } .r13-o { border-style: solid !important; margin: 0 auto 0 auto !important; margin-bottom: 15px !important; margin-top: 15px !important; width: 100% !important; } .r14-i { padding: 0 !important; text-align: center !important; } .r15-r { background-color: #006399 !important; border-radius: 4px !important; border-width: 0px !important; box-sizing: border-box; height: initial !important; padding: 0 !important; padding-bottom: 12px !important; padding-top: 12px !important; text-align: center !important; width: 100% !important; } .r16-i { padding-bottom: 0px !important; padding-left: 15px !important; padding-right: 15px !important; padding-top: 0px !important; } .r17-c { box-sizing: border-box !important; text-align: center !important; width: 100% !important; } .r18-i { padding-bottom: 5px !important; padding-top: 5px !important; } .r19-i { padding-bottom: 15px !important; padding-left: 15px !important; padding-right: 15px !important; padding-top: 15px !important; } .r20-o { border-bottom-color: #efefef !important; border-bottom-width: 2px !important; border-left-color: #efefef !important; border-left-width: 2px !important; border-right-color: #efefef !important; border-right-width: 2px !important; border-style: solid !important; border-top-color: #efefef !important; border-top-width: 2px !important; margin: 0 auto 0 0 !important; width: 100% !important; } .r21-i { padding-bottom: 5px !important; padding-left: 5px !important; padding-right: 5px !important; padding-top: 5px !important; text-align: left !important; } .r22-i { padding-bottom: 5px !important; padding-left: 15px !important; padding-right: 15px !important; padding-top: 5px !important; } .r23-c { box-sizing: border-box !important; width: 100% !important; } .r24-i { font-size: 0px !important; padding-bottom: 10px !important; padding-left: 65px !important; padding-right: 65px !important; padding-top: 10px !important; } .r25-c { box-sizing: border-box !important; width: 32px !important; } .r26-o { border-style: solid !important; margin-right: 8px !important; width: 32px !important; } .r27-o { border-style: solid !important; margin-right: 0px !important; width: 32px !important; } .r28-i { padding-bottom: 0px !important; padding-top: 5px !important; text-align: center !important; } body { -webkit-text-size-adjust: none; } .nl2go-responsive-hide { display: none; } .nl2go-body-table { min-width: unset !important; } .mobshow { height: auto !important; overflow: visible !important; max-height: unset !important; visibility: visible !important; border: none !important; } .resp-table { display: inline-table !important; } .magic-resp { display: table-cell !important; } } </style>
|
||||
<style type="text/css"> p, h1, h2, h3, h4, ol, ul { margin: 0; } a, a:link { color: #006399; text-decoration: underline; } .nl2go-default-textstyle { color: #3b3f44; font-family: georgia, serif; font-size: 16px; line-height: 1.5; word-break: break-word; } .default-button { color: #ffffff; font-family: georgia, serif; font-size: 16px; font-style: normal; font-weight: normal; line-height: 1.15; text-decoration: none; word-break: break-word; } .default-heading1 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 36px; word-break: break-word; } .default-heading2 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 32px; word-break: break-word; } .default-heading3 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 24px; word-break: break-word; } .default-heading4 { color: #1f2d3d; font-family: arial, helvetica, sans-serif; font-size: 18px; word-break: break-word; } a[x-apple-data-detectors] { color: inherit !important; text-decoration: inherit !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; } .no-show-for-you { border: none; display: none; float: none; font-size: 0; height: 0; line-height: 0; max-height: 0; mso-hide: all; overflow: hidden; table-layout: fixed; visibility: hidden; width: 0; } </style>
|
||||
<!--[if mso ]>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG />
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
<! [endif]-->
|
||||
<style type="text/css"> a:link { color: #006399; text-decoration: underline; } </style>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" text="#3b3f44" link="#006399" yahoo="fix" style="background-color: #ffffff" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" class="nl2go-body-table" width="100%" style="background-color: #ffffff; width: 100%" >
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="600" align="center" class="r0-o" style="table-layout: fixed; width: 600px" >
|
||||
<tr>
|
||||
<td valign="top" class="r1-i" style="background-color: #ffffff">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r4-i" style="padding-bottom: 20px; padding-top: 20px" >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 10px; padding-right: 10px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r8-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="150" class="r9-o" style=" table-layout: fixed; width: 150px; " >
|
||||
<tr>
|
||||
<td style=" font-size: 0px; line-height: 0px; " > <img src="https://media.docs.plane.so/logo/new-logo-white.png" width="150" border="0" style=" display: block; width: 100%; " /> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r10-i" style="padding-bottom: 10px; padding-top: 10px" >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 15px; padding-right: 15px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r8-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r9-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td align="left" valign="top" class="r11-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: georgia, serif; font-size: 16px; line-height: 1.5; word-break: break-word; padding-bottom: 15px; padding-top: 15px; text-align: left; " >
|
||||
<div>
|
||||
<p style=" -webkit-text-stroke-width: 0px; font-style: normal; letter-spacing: normal; margin: 0px; orphans: 2; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-break: break-word; word-spacing: 0px; " > {{ message }} </p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style=" display: flex; align-items: center; width: 100%; justify-content: center; " >
|
||||
<td style=" display: flex; align-items: center; width: 100%; justify-content: center; " > <a href="{{ webhook_url }}" style=" text-decoration: none; display: flex; align-items: center; width: 100%; justify-content: center; " > <span style=" max-width: min-content; white-space: nowrap; background-color: #006399; padding: 10px 15px; border: 1px solid #2f4ba8; border-radius: 4px; margin-top: 15px; cursor: pointer; font-size: 0.8rem; color: #ffffff; display: flex; align-items: center; justify-content: center; " > View webhook </span> </a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r16-i">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 15px; padding-right: 15px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r17-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="570" class="r3-o" style="table-layout: fixed" >
|
||||
<tr>
|
||||
<td class="r18-i" style=" padding-bottom: 5px; padding-top: 5px; height: 1px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td>
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" valign="" class="r18-i" height="1" style=" border-top-style: solid; background-clip: border-box; border-top-color: #efefef; border-top-width: 1px; font-size: 1px; line-height: 1px; " >
|
||||
<tr>
|
||||
<td height="0" style=" font-size: 0px; line-height: 0px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r19-i" style="padding-bottom: 15px; padding-top: 15px" >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 15px; padding-right: 15px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r8-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r20-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="2" width="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
<td height="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
<td height="2" width="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nl2go-responsive-hide" width="2" style=" font-size: 0px; line-height: 1px; background-color: #efefef; " > </td>
|
||||
<td align="left" valign="top" class="r21-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: georgia, serif; font-size: 16px; word-break: break-word; line-height: 1.5; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; " >
|
||||
<div>
|
||||
<p style="margin: 0"> <span style="font-size: 13px" >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 </span ><a href="https://forum.plane.so" title="Plane Forum" target="_blank" style=" color: #006399; text-decoration: underline; " ><span style="font-size: 13px" >message</span ></a ><span style="font-size: 13px" >, </span ><a href="https://x.com/planepowers" title="@planepowers" target="_blank" style=" color: #006399; text-decoration: underline; " ><span style="font-size: 13px" >tweet</span ></a ><span style="font-size: 13px" >, and </span ><a href="https://github.com/makeplane/plane/issues" title="Plane's GitHub conversations" target="_blank" style=" color: #006399; text-decoration: underline; " ><span style="font-size: 13px" >conversation</span ></a ><span style="font-size: 13px" > and update </span ><a href="https://plane.sh/plane/0b170a1c-0e55-47cb-9307-ea49a05672b5?board=kanban" title="Plane's roadmap" target="_blank" style=" color: #006399; text-decoration: underline; " ><span style="font-size: 13px" >our public roadmap</span ></a ><span style="font-size: 13px" >.</span > </p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="nl2go-responsive-hide" width="2" style=" font-size: 0px; line-height: 1px; background-color: #efefef; " > </td>
|
||||
</tr>
|
||||
<tr class="nl2go-responsive-hide">
|
||||
<td height="2" width="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
<td height="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
<td height="2" width="2" style=" font-size: 2px; line-height: 2px; background-color: #efefef; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r22-i" style="padding-bottom: 5px; padding-top: 5px" >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 15px; padding-right: 15px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r17-c" align="center">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="570" align="center" class="r3-o" style=" table-layout: fixed; width: 570px; " >
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r23-c" style=" display: inline-block; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="570" class="r6-o" style=" table-layout: fixed; width: 570px; " >
|
||||
<tr>
|
||||
<td class="r24-i" style=" padding-bottom: 10px; padding-left: 209px; padding-right: 209px; padding-top: 10px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="40" class="r25-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r26-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td class="r18-i" style=" font-size: 0px; line-height: 0px; padding-bottom: 5px; padding-top: 5px; " > <a href="https://github.com/makeplane" target="_blank" style=" color: #006399; text-decoration: underline; " > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/github_32px.png" width="32" border="0" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="40" class="r25-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r26-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td class="r18-i" style=" font-size: 0px; line-height: 0px; padding-bottom: 5px; padding-top: 5px; " > <a href="https://www.linkedin.com/company/planepowers/" target="_blank" style=" color: #006399; text-decoration: underline; " > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/linkedin_32px.png" width="32" border="0" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="40" class="r25-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r26-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td class="r18-i" style=" font-size: 0px; line-height: 0px; padding-bottom: 5px; padding-top: 5px; " > <a href="https://x.com/planepowers" target="_blank" style=" color: #006399; text-decoration: underline; " > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/twitter_32px.png" width="32" border="0" style=" display: block; width: 100%; " /></a> </td>
|
||||
<td class="nl2go-responsive-hide" width="8" style=" font-size: 0px; line-height: 1px; " > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
<th width="32" class="r25-c mobshow resp-table" style=" font-weight: normal; " >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r27-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td class="r18-i" style=" font-size: 0px; line-height: 0px; padding-bottom: 5px; padding-top: 5px; " > <a href="https://plane.so/" target="_blank" style=" color: #006399; text-decoration: underline; " > <img src="https://creative-assets.mailinblue.com/editor/social-icons/rounded_colored/website_32px.png" width="32" border="0" style=" display: block; width: 100%; " /></a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" align="center" class="r3-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td class="r22-i" style="padding-bottom: 5px; padding-top: 5px" >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<th width="100%" valign="top" class="r5-c" style="font-weight: normal" >
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r6-o" style="table-layout: fixed; width: 100%" >
|
||||
<tr>
|
||||
<td valign="top" class="r7-i" style=" padding-left: 15px; padding-right: 15px; " >
|
||||
<table width="100%" cellspacing="0" cellpadding="0" border="0" role="presentation" >
|
||||
<tr>
|
||||
<td class="r8-c" align="left">
|
||||
<table cellspacing="0" cellpadding="0" border="0" role="presentation" width="100%" class="r9-o" style=" table-layout: fixed; width: 100%; " >
|
||||
<tr>
|
||||
<td align="center" valign="top" class="r28-i nl2go-default-textstyle" style=" color: #3b3f44; font-family: georgia, serif; word-break: break-word; font-size: 18px; line-height: 1.5; padding-top: 5px; text-align: center; " >
|
||||
<div>
|
||||
<p style=" margin: 0; font-size: 14px; " > <span style="font-size: 12px" >This email was sent to {{email}}. Please delete if you aren't the intended recipient.</span > </p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
6
apps/api/templates/emails/test_email.html
Normal file
6
apps/api/templates/emails/test_email.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<p>This is a test email sent to verify if email configuration is working as expected in your Plane instance.</p>
|
||||
|
||||
<p>Regards,</br> Team Plane </p>
|
||||
</html>
|
||||
1058
apps/api/templates/emails/user/email_updated.html
Normal file
1058
apps/api/templates/emails/user/email_updated.html
Normal file
File diff suppressed because it is too large
Load Diff
1570
apps/api/templates/emails/user/user_activation.html
Normal file
1570
apps/api/templates/emails/user/user_activation.html
Normal file
File diff suppressed because it is too large
Load Diff
1571
apps/api/templates/emails/user/user_deactivation.html
Normal file
1571
apps/api/templates/emails/user/user_deactivation.html
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user