mirror of
https://github.com/hanzoai/sign.git
synced 2026-11-02 15:28:54 +00:00
Emails, the signing page's title, the sealed PDF's reason, the sign-in refusal and the dialogs still said Hanzo Sign. The catalogs change with the strings, message for message, so every translation keeps its id.
115 lines
3.7 KiB
TypeScript
115 lines
3.7 KiB
TypeScript
import { msg } from '@lingui/core/macro';
|
|
import { useLingui } from '@lingui/react';
|
|
import { Trans } from '@lingui/react/macro';
|
|
|
|
import {
|
|
Body,
|
|
Button,
|
|
Container,
|
|
Head,
|
|
Hr,
|
|
Html,
|
|
Img,
|
|
Preview,
|
|
Section,
|
|
Text,
|
|
} from '../components';
|
|
import { useBranding } from '../providers/branding';
|
|
import { TemplateFooter } from '../template-components/template-footer';
|
|
import TemplateImage from '../template-components/template-image';
|
|
|
|
export type OrganisationInviteEmailProps = {
|
|
assetBaseUrl: string;
|
|
baseUrl: string;
|
|
senderName: string;
|
|
organisationName: string;
|
|
token: string;
|
|
};
|
|
|
|
export const OrganisationInviteEmailTemplate = ({
|
|
assetBaseUrl = 'http://localhost:3002',
|
|
baseUrl = 'https://esign.hanzo.ai',
|
|
senderName = 'John Doe',
|
|
organisationName = 'Organisation Name',
|
|
token = '',
|
|
}: OrganisationInviteEmailProps) => {
|
|
const { _ } = useLingui();
|
|
const branding = useBranding();
|
|
|
|
const previewText = msg`Accept invitation to join an organisation on Hanzo eSign`;
|
|
|
|
return (
|
|
<Html>
|
|
<Head />
|
|
<Preview>{_(previewText)}</Preview>
|
|
|
|
<Body className="mx-auto my-auto font-sans">
|
|
<Section className="bg-white text-slate-500">
|
|
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-2 backdrop-blur-sm">
|
|
{branding.brandingEnabled && branding.brandingLogo ? (
|
|
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6 p-2" />
|
|
) : (
|
|
<TemplateImage
|
|
assetBaseUrl={assetBaseUrl}
|
|
className="mb-4 h-6 p-2"
|
|
staticAsset="logo.png"
|
|
/>
|
|
)}
|
|
|
|
<Section>
|
|
<TemplateImage
|
|
className="mx-auto"
|
|
assetBaseUrl={assetBaseUrl}
|
|
staticAsset="add-user.png"
|
|
/>
|
|
</Section>
|
|
|
|
<Section className="p-2 text-slate-500">
|
|
<Text className="text-center text-lg font-medium text-black">
|
|
<Trans>Join {organisationName} on Hanzo eSign</Trans>
|
|
</Text>
|
|
|
|
<Text className="my-1 text-center text-base">
|
|
<Trans>You have been invited to join the following organisation</Trans>
|
|
</Text>
|
|
|
|
<div className="mx-auto my-2 w-fit rounded-lg bg-gray-50 px-4 py-2 text-base font-medium text-slate-600">
|
|
{organisationName}
|
|
</div>
|
|
|
|
<Text className="my-1 text-center text-base">
|
|
<Trans>
|
|
by <span className="text-black">{senderName}</span>
|
|
</Trans>
|
|
</Text>
|
|
|
|
<Section className="mb-6 mt-6 text-center">
|
|
<Button
|
|
className="inline-flex items-center justify-center rounded-lg bg-sign-500 px-6 py-3 text-center text-sm font-medium text-black no-underline"
|
|
href={`${baseUrl}/organisation/invite/${token}`}
|
|
>
|
|
<Trans>Accept</Trans>
|
|
</Button>
|
|
<Button
|
|
className="ml-4 inline-flex items-center justify-center rounded-lg bg-gray-50 px-6 py-3 text-center text-sm font-medium text-slate-600 no-underline"
|
|
href={`${baseUrl}/organisation/decline/${token}`}
|
|
>
|
|
<Trans>Decline</Trans>
|
|
</Button>
|
|
</Section>
|
|
</Section>
|
|
</Container>
|
|
|
|
<Hr className="mx-auto mt-12 max-w-xl" />
|
|
|
|
<Container className="mx-auto max-w-xl">
|
|
<TemplateFooter isDocument={false} />
|
|
</Container>
|
|
</Section>
|
|
</Body>
|
|
</Html>
|
|
);
|
|
};
|
|
|
|
export default OrganisationInviteEmailTemplate;
|