chore: fix build
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
"export": "email export"
|
"export": "email export"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-email/components": "0.0.12",
|
"@react-email/components": "^0.0.25",
|
||||||
"react-email": "^1.10.0"
|
"react-email": "^3.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
import {
|
import { Body } from "@react-email/body";
|
||||||
Body,
|
import { Button } from "@react-email/button";
|
||||||
Button,
|
import { Container } from "@react-email/container";
|
||||||
Container,
|
import { Head } from "@react-email/head";
|
||||||
Head,
|
import { Heading } from "@react-email/heading";
|
||||||
Heading,
|
import { Html } from "@react-email/html";
|
||||||
Html,
|
import { Hr } from "@react-email/hr";
|
||||||
Hr,
|
import { Link } from "@react-email/link";
|
||||||
Link,
|
import { Preview } from "@react-email/preview";
|
||||||
Preview,
|
import { Text } from "@react-email/text";
|
||||||
Tailwind,
|
|
||||||
Text,
|
|
||||||
} from "@react-email/components";
|
|
||||||
|
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
|
|
||||||
@@ -19,82 +16,92 @@ export const JoinWorkspaceTemplate = ({
|
|||||||
}: {
|
}: {
|
||||||
magicLoginUrl?: string;
|
magicLoginUrl?: string;
|
||||||
}) => (
|
}) => (
|
||||||
<Tailwind
|
<Html>
|
||||||
config={{
|
<Head />
|
||||||
theme: {
|
<Preview>Log in with this magic link</Preview>
|
||||||
extend: {
|
<Body style={{ backgroundColor: "white" }}>
|
||||||
fontFamily: {
|
<Container
|
||||||
body: [
|
style={{
|
||||||
"-apple-system",
|
fontFamily:
|
||||||
"BlinkMacSystemFont",
|
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
|
||||||
"Segoe UI",
|
margin: "auto",
|
||||||
"Roboto",
|
paddingLeft: "0.75rem",
|
||||||
"Oxygen",
|
paddingRight: "0.75rem",
|
||||||
"Ubuntu",
|
}}
|
||||||
"Cantarell",
|
>
|
||||||
"Fira Sans",
|
<Heading
|
||||||
"Droid Sans",
|
style={{
|
||||||
"Helvetica Neue",
|
marginTop: "2.5rem",
|
||||||
"sans-serif",
|
marginBottom: "2.5rem",
|
||||||
],
|
fontSize: "24px",
|
||||||
},
|
fontWeight: "bold",
|
||||||
colors: {
|
color: "#232323",
|
||||||
"dark-50": "#161616",
|
}}
|
||||||
"dark-100": "#1c1c1c",
|
>
|
||||||
"dark-200": "#232323",
|
kan.bn
|
||||||
"dark-300": "#282828",
|
</Heading>
|
||||||
"dark-400": "#2e2e2e",
|
<Heading
|
||||||
"dark-500": "#343434",
|
style={{ fontSize: "24px", fontWeight: "bold", color: "#232323" }}
|
||||||
"dark-600": "#3e3e3e",
|
>
|
||||||
"dark-700": "#505050",
|
Login to your Kan account
|
||||||
"dark-800": "#707070",
|
</Heading>
|
||||||
"dark-900": "#7e7e7e",
|
<Text
|
||||||
"dark-950": "#bbb",
|
style={{
|
||||||
"dark-1000": "#ededed",
|
fontSize: "0.875rem",
|
||||||
},
|
marginBottom: "2rem",
|
||||||
},
|
color: "#232323",
|
||||||
},
|
}}
|
||||||
}}
|
>
|
||||||
>
|
Click the button below to instantly login to your account.
|
||||||
<Html>
|
</Text>
|
||||||
<Head />
|
<Button
|
||||||
<Preview>Log in with this magic link</Preview>
|
target="_blank"
|
||||||
<Body className="bg-white">
|
href={loginUrl}
|
||||||
<Container className="font-body m-auto px-3">
|
style={{
|
||||||
<Heading className="my-10 text-[24px] font-bold text-dark-200">
|
marginBottom: "2rem",
|
||||||
kan.bn
|
borderRadius: "0.375rem",
|
||||||
</Heading>
|
backgroundColor: "#282828",
|
||||||
<Heading className="text-[24px] font-bold text-dark-200">
|
paddingLeft: "1.5rem",
|
||||||
Login to your Kan account
|
paddingRight: "1.5rem",
|
||||||
</Heading>
|
paddingTop: "1rem",
|
||||||
<Text className="font-sm mb-8 text-dark-200">
|
paddingBottom: "1rem",
|
||||||
Click the button below to instantly login to your account.
|
fontSize: "0.875rem",
|
||||||
</Text>
|
fontWeight: "500",
|
||||||
<Button
|
lineHeight: "1",
|
||||||
|
color: "white",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Login to your account
|
||||||
|
</Button>
|
||||||
|
<Text
|
||||||
|
style={{
|
||||||
|
marginBottom: "1rem",
|
||||||
|
fontSize: "0.875rem",
|
||||||
|
color: "#7e7e7e",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
If you didn't try to login, you can safely ignore this email.
|
||||||
|
</Text>
|
||||||
|
<Hr
|
||||||
|
style={{
|
||||||
|
marginTop: "2.5rem",
|
||||||
|
marginBottom: "2rem",
|
||||||
|
borderWidth: "1px",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Text style={{ color: "#7e7e7e" }}>
|
||||||
|
<Link
|
||||||
|
href={process.env.WEBSITE_URL}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={magicLoginUrl}
|
style={{ color: "#7e7e7e", textDecoration: "underline" }}
|
||||||
className="mb-8 rounded-md bg-dark-300 px-6 py-4 text-sm font-medium leading-4 text-white"
|
|
||||||
>
|
>
|
||||||
Login to your account
|
Kan
|
||||||
</Button>
|
</Link>
|
||||||
<Text className="mb-4 text-sm text-dark-900">
|
, the open source Trello alternative.
|
||||||
If you didn't try to login, you can safely ignore this email.
|
</Text>
|
||||||
</Text>
|
</Container>
|
||||||
<Hr className="mb-8 mt-10 border" />
|
</Body>
|
||||||
<Text className="text-dark-900">
|
</Html>
|
||||||
<Link
|
|
||||||
href={process.env.WEBSITE_URL}
|
|
||||||
target="_blank"
|
|
||||||
className="text-dark-900 underline"
|
|
||||||
>
|
|
||||||
Kan
|
|
||||||
</Link>
|
|
||||||
, the open source Trello alternative.
|
|
||||||
</Text>
|
|
||||||
</Container>
|
|
||||||
</Body>
|
|
||||||
</Html>
|
|
||||||
</Tailwind>
|
|
||||||
);
|
);
|
||||||
|
|
||||||
export default JoinWorkspaceTemplate;
|
export default JoinWorkspaceTemplate;
|
||||||
|
|||||||
@@ -1,100 +1,107 @@
|
|||||||
import {
|
import { Body } from "@react-email/body";
|
||||||
Body,
|
import { Button } from "@react-email/button";
|
||||||
Button,
|
import { Container } from "@react-email/container";
|
||||||
Container,
|
import { Head } from "@react-email/head";
|
||||||
Head,
|
import { Heading } from "@react-email/heading";
|
||||||
Heading,
|
import { Html } from "@react-email/html";
|
||||||
Html,
|
import { Hr } from "@react-email/hr";
|
||||||
Hr,
|
import { Link } from "@react-email/link";
|
||||||
Link,
|
import { Preview } from "@react-email/preview";
|
||||||
Preview,
|
import { Text } from "@react-email/text";
|
||||||
Tailwind,
|
|
||||||
Text,
|
|
||||||
} from "@react-email/components";
|
|
||||||
|
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
|
|
||||||
interface MagicLinkEmailProps {
|
export const MagicLinkTemplate = ({
|
||||||
loginUrl?: string;
|
magicLoginUrl,
|
||||||
}
|
}: {
|
||||||
|
magicLoginUrl?: string;
|
||||||
export const MagicLinkTemplate = ({ loginUrl }: MagicLinkEmailProps) => (
|
}) => (
|
||||||
<Tailwind
|
<Html>
|
||||||
config={{
|
<Head />
|
||||||
theme: {
|
<Preview>Log in with this magic link</Preview>
|
||||||
extend: {
|
<Body style={{ backgroundColor: "white" }}>
|
||||||
fontFamily: {
|
<Container
|
||||||
body: [
|
style={{
|
||||||
"-apple-system",
|
fontFamily:
|
||||||
"BlinkMacSystemFont",
|
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
|
||||||
"Segoe UI",
|
margin: "auto",
|
||||||
"Roboto",
|
paddingLeft: "0.75rem",
|
||||||
"Oxygen",
|
paddingRight: "0.75rem",
|
||||||
"Ubuntu",
|
}}
|
||||||
"Cantarell",
|
>
|
||||||
"Fira Sans",
|
<Heading
|
||||||
"Droid Sans",
|
style={{
|
||||||
"Helvetica Neue",
|
marginTop: "2.5rem",
|
||||||
"sans-serif",
|
marginBottom: "2.5rem",
|
||||||
],
|
fontSize: "24px",
|
||||||
},
|
fontWeight: "bold",
|
||||||
colors: {
|
color: "#232323",
|
||||||
"dark-50": "#161616",
|
}}
|
||||||
"dark-100": "#1c1c1c",
|
>
|
||||||
"dark-200": "#232323",
|
kan.bn
|
||||||
"dark-300": "#282828",
|
</Heading>
|
||||||
"dark-400": "#2e2e2e",
|
<Heading
|
||||||
"dark-500": "#343434",
|
style={{ fontSize: "24px", fontWeight: "bold", color: "#232323" }}
|
||||||
"dark-600": "#3e3e3e",
|
>
|
||||||
"dark-700": "#505050",
|
Login to your Kan account
|
||||||
"dark-800": "#707070",
|
</Heading>
|
||||||
"dark-900": "#7e7e7e",
|
<Text
|
||||||
"dark-950": "#bbb",
|
style={{
|
||||||
"dark-1000": "#ededed",
|
fontSize: "0.875rem",
|
||||||
},
|
marginBottom: "2rem",
|
||||||
},
|
color: "#232323",
|
||||||
},
|
}}
|
||||||
}}
|
>
|
||||||
>
|
Click the button below to instantly login to your account.
|
||||||
<Html>
|
</Text>
|
||||||
<Head />
|
<Button
|
||||||
<Preview>Log in with this magic link</Preview>
|
target="_blank"
|
||||||
<Body className="bg-white">
|
href={loginUrl}
|
||||||
<Container className="font-body m-auto px-3">
|
style={{
|
||||||
<Heading className="my-10 text-[24px] font-bold text-dark-200">
|
marginBottom: "2rem",
|
||||||
kan.bn
|
borderRadius: "0.375rem",
|
||||||
</Heading>
|
backgroundColor: "#282828",
|
||||||
<Heading className="text-[24px] font-bold text-dark-200">
|
paddingLeft: "1.5rem",
|
||||||
Login to your Kan account
|
paddingRight: "1.5rem",
|
||||||
</Heading>
|
paddingTop: "1rem",
|
||||||
<Text className="font-sm mb-8 text-dark-200">
|
paddingBottom: "1rem",
|
||||||
Click the button below to instantly login to your account.
|
fontSize: "0.875rem",
|
||||||
</Text>
|
fontWeight: "500",
|
||||||
<Button
|
lineHeight: "1",
|
||||||
|
color: "white",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Login to your account
|
||||||
|
</Button>
|
||||||
|
<Text
|
||||||
|
style={{
|
||||||
|
marginBottom: "1rem",
|
||||||
|
fontSize: "0.875rem",
|
||||||
|
color: "#7e7e7e",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
If you didn't try to login, you can safely ignore this email.
|
||||||
|
</Text>
|
||||||
|
<Hr
|
||||||
|
style={{
|
||||||
|
marginTop: "2.5rem",
|
||||||
|
marginBottom: "2rem",
|
||||||
|
borderWidth: "1px",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<Text style={{ color: "#7e7e7e" }}>
|
||||||
|
<Link
|
||||||
|
href={process.env.WEBSITE_URL}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
href={loginUrl}
|
style={{ color: "#7e7e7e", textDecoration: "underline" }}
|
||||||
className="mb-8 rounded-md bg-dark-300 px-6 py-4 text-sm font-medium leading-4 text-white"
|
|
||||||
>
|
>
|
||||||
Login to your account
|
Kan
|
||||||
</Button>
|
</Link>
|
||||||
<Text className="mb-4 text-sm text-dark-900">
|
, the open source Trello alternative.
|
||||||
If you didn't try to login, you can safely ignore this email.
|
</Text>
|
||||||
</Text>
|
</Container>
|
||||||
<Hr className="mb-8 mt-10 border" />
|
</Body>
|
||||||
<Text className="text-dark-900">
|
</Html>
|
||||||
<Link
|
|
||||||
href={process.env.WEBSITE_URL}
|
|
||||||
target="_blank"
|
|
||||||
className="text-dark-900 underline"
|
|
||||||
>
|
|
||||||
Kan
|
|
||||||
</Link>
|
|
||||||
, the open source Trello alternative.
|
|
||||||
</Text>
|
|
||||||
</Container>
|
|
||||||
</Body>
|
|
||||||
</Html>
|
|
||||||
</Tailwind>
|
|
||||||
);
|
);
|
||||||
|
|
||||||
export default MagicLinkTemplate;
|
export default MagicLinkTemplate;
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ export const cardRouter = createTRPCRouter({
|
|||||||
input.cardPublicId,
|
input.cardPublicId,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!card ?? !card?.list?.id)
|
if (!card?.list?.id)
|
||||||
throw new TRPCError({
|
throw new TRPCError({
|
||||||
message: `Card with public ID ${input.cardPublicId} not found`,
|
message: `Card with public ID ${input.cardPublicId} not found`,
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
|
|||||||
Reference in New Issue
Block a user