chore: update biome format

This commit is contained in:
Mauricio Siu
2024-07-20 02:55:17 -06:00
parent fd092f1248
commit 9230178005
4 changed files with 365 additions and 365 deletions

View File

@@ -1,158 +1,158 @@
import { import {
Body, Body,
Container, Container,
Head, Head,
Heading, Heading,
Html, Html,
Img, Img,
Link, Link,
Section, Section,
Text, Text,
} from "@react-email/components"; } from "@react-email/components";
import * as React from "react"; import * as React from "react";
interface PlaidVerifyIdentityEmailProps { interface PlaidVerifyIdentityEmailProps {
validationCode?: string; validationCode?: string;
} }
const baseUrl = process.env.VERCEL_URL const baseUrl = process.env.VERCEL_URL
? `https://${process.env.VERCEL_URL}` ? `https://${process.env.VERCEL_URL}`
: ""; : "";
export const PlaidVerifyIdentityEmail = ({ export const PlaidVerifyIdentityEmail = ({
validationCode, validationCode,
}: PlaidVerifyIdentityEmailProps) => ( }: PlaidVerifyIdentityEmailProps) => (
<Html> <Html>
<Head /> <Head />
<Body style={main}> <Body style={main}>
<Container style={container}> <Container style={container}>
<Img <Img
src={`${baseUrl}/static/plaid-logo.png`} src={`${baseUrl}/static/plaid-logo.png`}
width="212" width="212"
height="88" height="88"
alt="Plaid" alt="Plaid"
style={logo} style={logo}
/> />
<Text style={tertiary}>Verify Your Identity</Text> <Text style={tertiary}>Verify Your Identity</Text>
<Heading style={secondary}> <Heading style={secondary}>
Enter the following code to finish linking Venmo. Enter the following code to finish linking Venmo.
</Heading> </Heading>
<Section style={codeContainer}> <Section style={codeContainer}>
<Text style={code}>{validationCode}</Text> <Text style={code}>{validationCode}</Text>
</Section> </Section>
<Text style={paragraph}>Not expecting this email?</Text> <Text style={paragraph}>Not expecting this email?</Text>
<Text style={paragraph}> <Text style={paragraph}>
Contact{" "} Contact{" "}
<Link href="mailto:login@plaid.com" style={link}> <Link href="mailto:login@plaid.com" style={link}>
login@plaid.com login@plaid.com
</Link>{" "} </Link>{" "}
if you did not request this code. if you did not request this code.
</Text> </Text>
</Container> </Container>
<Text style={footer}>Securely powered by Plaid.</Text> <Text style={footer}>Securely powered by Plaid.</Text>
</Body> </Body>
</Html> </Html>
); );
PlaidVerifyIdentityEmail.PreviewProps = { PlaidVerifyIdentityEmail.PreviewProps = {
validationCode: "144833", validationCode: "144833",
} as PlaidVerifyIdentityEmailProps; } as PlaidVerifyIdentityEmailProps;
export default PlaidVerifyIdentityEmail; export default PlaidVerifyIdentityEmail;
const main = { const main = {
backgroundColor: "#ffffff", backgroundColor: "#ffffff",
fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif", fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif",
}; };
const container = { const container = {
backgroundColor: "#ffffff", backgroundColor: "#ffffff",
border: "1px solid #eee", border: "1px solid #eee",
borderRadius: "5px", borderRadius: "5px",
boxShadow: "0 5px 10px rgba(20,50,70,.2)", boxShadow: "0 5px 10px rgba(20,50,70,.2)",
marginTop: "20px", marginTop: "20px",
maxWidth: "360px", maxWidth: "360px",
margin: "0 auto", margin: "0 auto",
padding: "68px 0 130px", padding: "68px 0 130px",
}; };
const logo = { const logo = {
margin: "0 auto", margin: "0 auto",
}; };
const tertiary = { const tertiary = {
color: "#0a85ea", color: "#0a85ea",
fontSize: "11px", fontSize: "11px",
fontWeight: 700, fontWeight: 700,
fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif", fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif",
height: "16px", height: "16px",
letterSpacing: "0", letterSpacing: "0",
lineHeight: "16px", lineHeight: "16px",
margin: "16px 8px 8px 8px", margin: "16px 8px 8px 8px",
textTransform: "uppercase" as const, textTransform: "uppercase" as const,
textAlign: "center" as const, textAlign: "center" as const,
}; };
const secondary = { const secondary = {
color: "#000", color: "#000",
display: "inline-block", display: "inline-block",
fontFamily: "HelveticaNeue-Medium,Helvetica,Arial,sans-serif", fontFamily: "HelveticaNeue-Medium,Helvetica,Arial,sans-serif",
fontSize: "20px", fontSize: "20px",
fontWeight: 500, fontWeight: 500,
lineHeight: "24px", lineHeight: "24px",
marginBottom: "0", marginBottom: "0",
marginTop: "0", marginTop: "0",
textAlign: "center" as const, textAlign: "center" as const,
}; };
const codeContainer = { const codeContainer = {
background: "rgba(0,0,0,.05)", background: "rgba(0,0,0,.05)",
borderRadius: "4px", borderRadius: "4px",
margin: "16px auto 14px", margin: "16px auto 14px",
verticalAlign: "middle", verticalAlign: "middle",
width: "280px", width: "280px",
}; };
const code = { const code = {
color: "#000", color: "#000",
display: "inline-block", display: "inline-block",
fontFamily: "HelveticaNeue-Bold", fontFamily: "HelveticaNeue-Bold",
fontSize: "32px", fontSize: "32px",
fontWeight: 700, fontWeight: 700,
letterSpacing: "6px", letterSpacing: "6px",
lineHeight: "40px", lineHeight: "40px",
paddingBottom: "8px", paddingBottom: "8px",
paddingTop: "8px", paddingTop: "8px",
margin: "0 auto", margin: "0 auto",
width: "100%", width: "100%",
textAlign: "center" as const, textAlign: "center" as const,
}; };
const paragraph = { const paragraph = {
color: "#444", color: "#444",
fontSize: "15px", fontSize: "15px",
fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif", fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif",
letterSpacing: "0", letterSpacing: "0",
lineHeight: "23px", lineHeight: "23px",
padding: "0 40px", padding: "0 40px",
margin: "0", margin: "0",
textAlign: "center" as const, textAlign: "center" as const,
}; };
const link = { const link = {
color: "#444", color: "#444",
textDecoration: "underline", textDecoration: "underline",
}; };
const footer = { const footer = {
color: "#000", color: "#000",
fontSize: "12px", fontSize: "12px",
fontWeight: 800, fontWeight: 800,
letterSpacing: "0", letterSpacing: "0",
lineHeight: "23px", lineHeight: "23px",
margin: "0", margin: "0",
marginTop: "20px", marginTop: "20px",
fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif", fontFamily: "HelveticaNeue,Helvetica,Arial,sans-serif",
textAlign: "center" as const, textAlign: "center" as const,
textTransform: "uppercase" as const, textTransform: "uppercase" as const,
}; };

View File

@@ -1,152 +1,152 @@
import { import {
Body, Body,
Button, Button,
Container, Container,
Head, Head,
Hr, Hr,
Html, Html,
Img, Img,
Link, Link,
Preview, Preview,
Section, Section,
Text, Text,
} from "@react-email/components"; } from "@react-email/components";
import * as React from "react"; import * as React from "react";
const baseUrl = process.env.VERCEL_URL const baseUrl = process.env.VERCEL_URL
? `https://${process.env.VERCEL_URL}` ? `https://${process.env.VERCEL_URL}`
: ""; : "";
export const StripeWelcomeEmail = () => ( export const StripeWelcomeEmail = () => (
<Html> <Html>
<Head /> <Head />
<Preview>You're now ready to make live transactions with Stripe!</Preview> <Preview>You're now ready to make live transactions with Stripe!</Preview>
<Body style={main}> <Body style={main}>
<Container style={container}> <Container style={container}>
<Section style={box}> <Section style={box}>
<Img <Img
src={`${baseUrl}/static/stripe-logo.png`} src={`${baseUrl}/static/stripe-logo.png`}
width="49" width="49"
height="21" height="21"
alt="Stripe" alt="Stripe"
/> />
<Hr style={hr} /> <Hr style={hr} />
<Text style={paragraph}> <Text style={paragraph}>
Thanks for submitting your account information. You're now ready to Thanks for submitting your account information. You're now ready to
make live transactions with Stripe! make live transactions with Stripe!
</Text> </Text>
<Text style={paragraph}> <Text style={paragraph}>
You can view your payments and a variety of other information about You can view your payments and a variety of other information about
your account right from your dashboard. your account right from your dashboard.
</Text> </Text>
<Button style={button} href="https://dashboard.stripe.com/login"> <Button style={button} href="https://dashboard.stripe.com/login">
View your Stripe Dashboard View your Stripe Dashboard
</Button> </Button>
<Hr style={hr} /> <Hr style={hr} />
<Text style={paragraph}> <Text style={paragraph}>
If you haven't finished your integration, you might find our{" "} If you haven't finished your integration, you might find our{" "}
<Link style={anchor} href="https://stripe.com/docs"> <Link style={anchor} href="https://stripe.com/docs">
docs docs
</Link>{" "} </Link>{" "}
handy. handy.
</Text> </Text>
<Text style={paragraph}> <Text style={paragraph}>
Once you're ready to start accepting payments, you'll just need to Once you're ready to start accepting payments, you'll just need to
use your live{" "} use your live{" "}
<Link <Link
style={anchor} style={anchor}
href="https://dashboard.stripe.com/login?redirect=%2Fapikeys" href="https://dashboard.stripe.com/login?redirect=%2Fapikeys"
> >
API keys API keys
</Link>{" "} </Link>{" "}
instead of your test API keys. Your account can simultaneously be instead of your test API keys. Your account can simultaneously be
used for both test and live requests, so you can continue testing used for both test and live requests, so you can continue testing
while accepting live payments. Check out our{" "} while accepting live payments. Check out our{" "}
<Link style={anchor} href="https://stripe.com/docs/dashboard"> <Link style={anchor} href="https://stripe.com/docs/dashboard">
tutorial about account basics tutorial about account basics
</Link> </Link>
. .
</Text> </Text>
<Text style={paragraph}> <Text style={paragraph}>
Finally, we've put together a{" "} Finally, we've put together a{" "}
<Link <Link
style={anchor} style={anchor}
href="https://stripe.com/docs/checklist/website" href="https://stripe.com/docs/checklist/website"
> >
quick checklist quick checklist
</Link>{" "} </Link>{" "}
to ensure your website conforms to card network standards. to ensure your website conforms to card network standards.
</Text> </Text>
<Text style={paragraph}> <Text style={paragraph}>
We'll be here to help you with any step along the way. You can find We'll be here to help you with any step along the way. You can find
answers to most questions and get in touch with us on our{" "} answers to most questions and get in touch with us on our{" "}
<Link style={anchor} href="https://support.stripe.com/"> <Link style={anchor} href="https://support.stripe.com/">
support site support site
</Link> </Link>
. .
</Text> </Text>
<Text style={paragraph}>— The Stripe team</Text> <Text style={paragraph}>— The Stripe team</Text>
<Hr style={hr} /> <Hr style={hr} />
<Text style={footer}> <Text style={footer}>
Stripe, 354 Oyster Point Blvd, South San Francisco, CA 94080 Stripe, 354 Oyster Point Blvd, South San Francisco, CA 94080
</Text> </Text>
</Section> </Section>
</Container> </Container>
</Body> </Body>
</Html> </Html>
); );
export default StripeWelcomeEmail; export default StripeWelcomeEmail;
const main = { const main = {
backgroundColor: "#f6f9fc", backgroundColor: "#f6f9fc",
fontFamily: fontFamily:
'-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,sans-serif', '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,sans-serif',
}; };
const container = { const container = {
backgroundColor: "#ffffff", backgroundColor: "#ffffff",
margin: "0 auto", margin: "0 auto",
padding: "20px 0 48px", padding: "20px 0 48px",
marginBottom: "64px", marginBottom: "64px",
}; };
const box = { const box = {
padding: "0 48px", padding: "0 48px",
}; };
const hr = { const hr = {
borderColor: "#e6ebf1", borderColor: "#e6ebf1",
margin: "20px 0", margin: "20px 0",
}; };
const paragraph = { const paragraph = {
color: "#525f7f", color: "#525f7f",
fontSize: "16px", fontSize: "16px",
lineHeight: "24px", lineHeight: "24px",
textAlign: "left" as const, textAlign: "left" as const,
}; };
const anchor = { const anchor = {
color: "#556cd6", color: "#556cd6",
}; };
const button = { const button = {
backgroundColor: "#656ee8", backgroundColor: "#656ee8",
borderRadius: "5px", borderRadius: "5px",
color: "#fff", color: "#fff",
fontSize: "16px", fontSize: "16px",
fontWeight: "bold", fontWeight: "bold",
textDecoration: "none", textDecoration: "none",
textAlign: "center" as const, textAlign: "center" as const,
display: "block", display: "block",
width: "100%", width: "100%",
padding: "10px", padding: "10px",
}; };
const footer = { const footer = {
color: "#8898aa", color: "#8898aa",
fontSize: "12px", fontSize: "12px",
lineHeight: "16px", lineHeight: "16px",
}; };

View File

@@ -1,154 +1,154 @@
import { import {
Body, Body,
Button, Button,
Container, Column,
Column, Container,
Head, Head,
Heading, Heading,
Hr, Hr,
Html, Html,
Img, Img,
Link, Link,
Preview, Preview,
Row, Row,
Section, Section,
Text, Tailwind,
Tailwind, Text,
} from "@react-email/components"; } from "@react-email/components";
import * as React from "react"; import * as React from "react";
interface VercelInviteUserEmailProps { interface VercelInviteUserEmailProps {
username?: string; username?: string;
userImage?: string; userImage?: string;
invitedByUsername?: string; invitedByUsername?: string;
invitedByEmail?: string; invitedByEmail?: string;
teamName?: string; teamName?: string;
teamImage?: string; teamImage?: string;
inviteLink?: string; inviteLink?: string;
inviteFromIp?: string; inviteFromIp?: string;
inviteFromLocation?: string; inviteFromLocation?: string;
} }
const baseUrl = process.env.VERCEL_URL const baseUrl = process.env.VERCEL_URL
? `https://${process.env.VERCEL_URL}` ? `https://${process.env.VERCEL_URL}`
: ""; : "";
export const VercelInviteUserEmail = ({ export const VercelInviteUserEmail = ({
username, username,
userImage, userImage,
invitedByUsername, invitedByUsername,
invitedByEmail, invitedByEmail,
teamName, teamName,
teamImage, teamImage,
inviteLink, inviteLink,
inviteFromIp, inviteFromIp,
inviteFromLocation, inviteFromLocation,
}: VercelInviteUserEmailProps) => { }: VercelInviteUserEmailProps) => {
const previewText = `Join ${invitedByUsername} on Vercel`; const previewText = `Join ${invitedByUsername} on Vercel`;
return ( return (
<Html> <Html>
<Head /> <Head />
<Preview>{previewText}</Preview> <Preview>{previewText}</Preview>
<Tailwind> <Tailwind>
<Body className="bg-white my-auto mx-auto font-sans px-2"> <Body className="bg-white my-auto mx-auto font-sans px-2">
<Container className="border border-solid border-[#eaeaea] rounded my-[40px] mx-auto p-[20px] max-w-[465px]"> <Container className="border border-solid border-[#eaeaea] rounded my-[40px] mx-auto p-[20px] max-w-[465px]">
<Section className="mt-[32px]"> <Section className="mt-[32px]">
<Img <Img
src={`${baseUrl}/static/vercel-logo.png`} src={`${baseUrl}/static/vercel-logo.png`}
width="40" width="40"
height="37" height="37"
alt="Vercel" alt="Vercel"
className="my-0 mx-auto" className="my-0 mx-auto"
/> />
</Section> </Section>
<Heading className="text-black text-[24px] font-normal text-center p-0 my-[30px] mx-0"> <Heading className="text-black text-[24px] font-normal text-center p-0 my-[30px] mx-0">
Join <strong>{teamName}</strong> on <strong>Vercel</strong> Join <strong>{teamName}</strong> on <strong>Vercel</strong>
</Heading> </Heading>
<Text className="text-black text-[14px] leading-[24px]"> <Text className="text-black text-[14px] leading-[24px]">
Hello {username}, Hello {username},
</Text> </Text>
<Text className="text-black text-[14px] leading-[24px]"> <Text className="text-black text-[14px] leading-[24px]">
<strong>{invitedByUsername}</strong> ( <strong>{invitedByUsername}</strong> (
<Link <Link
href={`mailto:${invitedByEmail}`} href={`mailto:${invitedByEmail}`}
className="text-blue-600 no-underline" className="text-blue-600 no-underline"
> >
{invitedByEmail} {invitedByEmail}
</Link> </Link>
) has invited you to the <strong>{teamName}</strong> team on{" "} ) has invited you to the <strong>{teamName}</strong> team on{" "}
<strong>Vercel</strong>. <strong>Vercel</strong>.
</Text> </Text>
<Section> <Section>
<Row> <Row>
<Column align="right"> <Column align="right">
<Img <Img
className="rounded-full" className="rounded-full"
src={userImage} src={userImage}
width="64" width="64"
height="64" height="64"
/> />
</Column> </Column>
<Column align="center"> <Column align="center">
<Img <Img
src={`${baseUrl}/static/vercel-arrow.png`} src={`${baseUrl}/static/vercel-arrow.png`}
width="12" width="12"
height="9" height="9"
alt="invited you to" alt="invited you to"
/> />
</Column> </Column>
<Column align="left"> <Column align="left">
<Img <Img
className="rounded-full" className="rounded-full"
src={teamImage} src={teamImage}
width="64" width="64"
height="64" height="64"
/> />
</Column> </Column>
</Row> </Row>
</Section> </Section>
<Section className="text-center mt-[32px] mb-[32px]"> <Section className="text-center mt-[32px] mb-[32px]">
<Button <Button
className="bg-[#000000] rounded text-white text-[12px] font-semibold no-underline text-center px-5 py-3" className="bg-[#000000] rounded text-white text-[12px] font-semibold no-underline text-center px-5 py-3"
href={inviteLink} href={inviteLink}
> >
Join the team Join the team
</Button> </Button>
</Section> </Section>
<Text className="text-black text-[14px] leading-[24px]"> <Text className="text-black text-[14px] leading-[24px]">
or copy and paste this URL into your browser:{" "} or copy and paste this URL into your browser:{" "}
<Link href={inviteLink} className="text-blue-600 no-underline"> <Link href={inviteLink} className="text-blue-600 no-underline">
{inviteLink} {inviteLink}
</Link> </Link>
</Text> </Text>
<Hr className="border border-solid border-[#eaeaea] my-[26px] mx-0 w-full" /> <Hr className="border border-solid border-[#eaeaea] my-[26px] mx-0 w-full" />
<Text className="text-[#666666] text-[12px] leading-[24px]"> <Text className="text-[#666666] text-[12px] leading-[24px]">
This invitation was intended for{" "} This invitation was intended for{" "}
<span className="text-black">{username}</span>. This invite was <span className="text-black">{username}</span>. This invite was
sent from <span className="text-black">{inviteFromIp}</span>{" "} sent from <span className="text-black">{inviteFromIp}</span>{" "}
located in{" "} located in{" "}
<span className="text-black">{inviteFromLocation}</span>. If you <span className="text-black">{inviteFromLocation}</span>. If you
were not expecting this invitation, you can ignore this email. If were not expecting this invitation, you can ignore this email. If
you are concerned about your account's safety, please reply to you are concerned about your account's safety, please reply to
this email to get in touch with us. this email to get in touch with us.
</Text> </Text>
</Container> </Container>
</Body> </Body>
</Tailwind> </Tailwind>
</Html> </Html>
); );
}; };
VercelInviteUserEmail.PreviewProps = { VercelInviteUserEmail.PreviewProps = {
username: "alanturing", username: "alanturing",
userImage: `${baseUrl}/static/vercel-user.png`, userImage: `${baseUrl}/static/vercel-user.png`,
invitedByUsername: "Alan", invitedByUsername: "Alan",
invitedByEmail: "alan.turing@example.com", invitedByEmail: "alan.turing@example.com",
teamName: "Enigma", teamName: "Enigma",
teamImage: `${baseUrl}/static/vercel-team.png`, teamImage: `${baseUrl}/static/vercel-team.png`,
inviteLink: "https://vercel.com/teams/invite/foo", inviteLink: "https://vercel.com/teams/invite/foo",
inviteFromIp: "204.13.186.218", inviteFromIp: "204.13.186.218",
inviteFromLocation: "São Paulo, Brazil", inviteFromLocation: "São Paulo, Brazil",
} as VercelInviteUserEmailProps; } as VercelInviteUserEmailProps;
export default VercelInviteUserEmail; export default VercelInviteUserEmail;

View File

@@ -21,7 +21,7 @@
"db:truncate": "tsx -r dotenv/config ./server/db/reset.ts", "db:truncate": "tsx -r dotenv/config ./server/db/reset.ts",
"db:studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts", "db:studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts",
"check": "biome check", "check": "biome check",
"format": "biome format", "format": "biome format --write",
"lint": "biome lint", "lint": "biome lint",
"typecheck": "tsc", "typecheck": "tsc",
"db:seed": "tsx -r dotenv/config ./server/db/seed.ts", "db:seed": "tsx -r dotenv/config ./server/db/seed.ts",