mirror of
https://github.com/docmost/docmost.git
synced 2026-05-07 06:23:06 +08:00
fix email button (#2017)
This commit is contained in:
+1
-1
Submodule apps/server/src/ee updated: 8b7ae8cf1b...62a8a7e548
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
actorName: string;
|
actorName: string;
|
||||||
@@ -23,19 +23,7 @@ export const CommentCreateEmail = ({
|
|||||||
<strong>{pageTitle}</strong>.
|
<strong>{pageTitle}</strong>.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={pageUrl}>View</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={pageUrl} style={button}>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
actorName: string;
|
actorName: string;
|
||||||
@@ -23,19 +23,7 @@ export const CommentMentionEmail = ({
|
|||||||
<strong>{pageTitle}</strong>.
|
<strong>{pageTitle}</strong>.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={pageUrl}>View</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={pageUrl} style={button}>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
actorName: string;
|
actorName: string;
|
||||||
@@ -23,19 +23,7 @@ export const CommentResolvedEmail = ({
|
|||||||
<strong>{pageTitle}</strong>.
|
<strong>{pageTitle}</strong>.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={pageUrl}>View</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={pageUrl} style={button}>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
inviteLink: string;
|
inviteLink: string;
|
||||||
@@ -17,19 +17,7 @@ export const InvitationEmail = ({ inviteLink }: Props) => {
|
|||||||
Please click the button below to accept this invitation.
|
Please click the button below to accept this invitation.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={inviteLink}>Accept Invite</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={inviteLink} style={button}>
|
|
||||||
Accept Invite
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
actorName: string;
|
actorName: string;
|
||||||
@@ -19,19 +19,7 @@ export const PageMentionEmail = ({ actorName, pageTitle, pageUrl }: Props) => {
|
|||||||
<strong>{pageTitle}</strong>.
|
<strong>{pageTitle}</strong>.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={pageUrl}>View</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={pageUrl} style={button}>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Section, Text, Button } from '@react-email/components';
|
import { Section, Text } from '@react-email/components';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { button, content, paragraph } from '../css/styles';
|
import { content, paragraph } from '../css/styles';
|
||||||
import { MailBody } from '../partials/partials';
|
import { EmailButton, MailBody } from '../partials/partials';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
actorName: string;
|
actorName: string;
|
||||||
@@ -25,19 +25,7 @@ export const PermissionGrantedEmail = ({
|
|||||||
<strong>{pageTitle}</strong>.
|
<strong>{pageTitle}</strong>.
|
||||||
</Text>
|
</Text>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<EmailButton href={pageUrl}>View</EmailButton>
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'center',
|
|
||||||
alignItems: 'center',
|
|
||||||
paddingLeft: '15px',
|
|
||||||
paddingBottom: '15px',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Button href={pageUrl} style={button}>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</Section>
|
|
||||||
</MailBody>
|
</MailBody>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { container, footer, h1, logo, main } from '../css/styles';
|
import { button as buttonStyle, container, footer, h1, logo, main } from '../css/styles';
|
||||||
import {
|
import {
|
||||||
Body,
|
Body,
|
||||||
Container,
|
Container,
|
||||||
@@ -35,6 +35,47 @@ export function MailHeader() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface EmailButtonProps {
|
||||||
|
href: string;
|
||||||
|
children: React.ReactNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function EmailButton({ href, children }: EmailButtonProps) {
|
||||||
|
return (
|
||||||
|
<table
|
||||||
|
role="presentation"
|
||||||
|
cellPadding="0"
|
||||||
|
cellSpacing="0"
|
||||||
|
style={{ margin: '0 0 15px 15px' }}
|
||||||
|
>
|
||||||
|
<tr>
|
||||||
|
<td
|
||||||
|
style={{
|
||||||
|
backgroundColor: buttonStyle.backgroundColor,
|
||||||
|
borderRadius: buttonStyle.borderRadius,
|
||||||
|
textAlign: 'center' as const,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
href={href}
|
||||||
|
target="_blank"
|
||||||
|
style={{
|
||||||
|
color: buttonStyle.color,
|
||||||
|
fontFamily: buttonStyle.fontFamily,
|
||||||
|
fontSize: buttonStyle.fontSize,
|
||||||
|
textDecoration: 'none',
|
||||||
|
display: 'inline-block',
|
||||||
|
padding: '8px 16px',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export function MailFooter() {
|
export function MailFooter() {
|
||||||
return (
|
return (
|
||||||
<Section style={footer}>
|
<Section style={footer}>
|
||||||
|
|||||||
Reference in New Issue
Block a user