add og images

This commit is contained in:
KM Koushik
2025-09-06 21:29:39 +10:00
parent 01f6e36b8b
commit ef76711fe0
5 changed files with 39 additions and 17 deletions

View File

@@ -10,11 +10,12 @@
"lint": "eslint . --max-warnings 0" "lint": "eslint . --max-warnings 0"
}, },
"dependencies": { "dependencies": {
"@usesend/email-editor": "workspace:*",
"@usesend/ui": "workspace:*",
"iconoir-react": "^7.11.0",
"next": "^15.3.1", "next": "^15.3.1",
"react": "19.1.0", "react": "19.1.0",
"react-dom": "19.1.0", "react-dom": "19.1.0"
"@usesend/ui": "workspace:*",
"@usesend/email-editor": "workspace:*"
}, },
"devDependencies": { "devDependencies": {
"@next/eslint-plugin-next": "^15.3.1", "@next/eslint-plugin-next": "^15.3.1",

View File

@@ -17,22 +17,21 @@ const jetbrainsMono = JetBrains_Mono({
export const metadata: Metadata = { export const metadata: Metadata = {
title: "useSend Open source email platform", title: "useSend Open source email platform",
description: description: "Pay only for what you send, not for storing contacts",
"Open source email platform for everyone: SMTP, API, editor, analytics.",
icons: [{ rel: "icon", url: "/favicon.ico" }], icons: [{ rel: "icon", url: "/favicon.ico" }],
metadataBase: new URL("https://usesend.com"), metadataBase: new URL("https://usesend.com"),
openGraph: { openGraph: {
title: "useSend Open source email platform", title: "useSend Open source email platform",
description: description: "Pay only for what you send, not for storing contacts",
"Open source email platform for everyone: SMTP, API, editor, analytics.",
url: "https://usesend.com", url: "https://usesend.com",
siteName: "useSend", siteName: "useSend",
images: [ images: [
{ {
url: "/logo-squircle.png", url: "https://uploads.usesend.com/logos/og.png",
width: 512, width: 1200,
height: 512, height: 630,
alt: "useSend", alt: "useSend Open source email platform",
type: "image/png",
}, },
], ],
locale: "en_US", locale: "en_US",
@@ -41,9 +40,15 @@ export const metadata: Metadata = {
twitter: { twitter: {
card: "summary_large_image", card: "summary_large_image",
title: "useSend Open source email platform", title: "useSend Open source email platform",
description: description: "Pay only for what you send, not for storing contacts",
"Open source email platform for everyone: SMTP, API, editor, analytics.", images: ["https://uploads.usesend.com/logos/og.png"],
images: ["/logo-squircle.png"], },
robots: {
index: true,
follow: true,
},
alternates: {
canonical: "https://usesend.com",
}, },
}; };
@@ -53,7 +58,11 @@ export default function RootLayout({
children: React.ReactNode; children: React.ReactNode;
}) { }) {
return ( return (
<html lang="en" suppressHydrationWarning className="scroll-smooth bg-background"> <html
lang="en"
suppressHydrationWarning
className="scroll-smooth bg-background"
>
<body <body
className={`font-mono ${inter.variable} ${jetbrainsMono.variable} bg-background`} className={`font-mono ${inter.variable} ${jetbrainsMono.variable} bg-background`}
> >

View File

@@ -7,6 +7,7 @@ export function FeatureCardPlain({
title?: string; title?: string;
content?: string; content?: string;
}) { }) {
return ( return (
<div className="rounded-[18px] bg-primary/20 p-1"> <div className="rounded-[18px] bg-primary/20 p-1">
<div className="h-full rounded-[14px] bg-primary/20 p-0.5 shadow-sm"> <div className="h-full rounded-[14px] bg-primary/20 p-0.5 shadow-sm">

View File

@@ -42,8 +42,8 @@ function Slider({
}, [dragging]); }, [dragging]);
return ( return (
<div className="flex items-center gap-3"> <div className="flex flex-col sm:flex-row gap-3 sm:items-center">
<div className="w-40 sm:w-56 md:w-72 shrink-0"> <div className="w-full sm:w-56 md:w-72 shrink-0">
<label htmlFor={id} className="text-sm font-medium block"> <label htmlFor={id} className="text-sm font-medium block">
{label} {label}
</label> </label>

11
pnpm-lock.yaml generated
View File

@@ -36,6 +36,9 @@ importers:
'@usesend/ui': '@usesend/ui':
specifier: workspace:* specifier: workspace:*
version: link:../../packages/ui version: link:../../packages/ui
iconoir-react:
specifier: ^7.11.0
version: 7.11.0(react@19.1.0)
next: next:
specifier: ^15.3.1 specifier: ^15.3.1
version: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0) version: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0)(react@19.1.0)
@@ -11745,6 +11748,14 @@ packages:
- supports-color - supports-color
dev: true dev: true
/iconoir-react@7.11.0(react@19.1.0):
resolution: {integrity: sha512-uvTKtnHYwbbTsmQ6HCcliYd50WK0GbjP497RwdISxKzfS01x4cK1Mn/F2mT/t2roSaJQ0I+KnHxMcyvmNMXWsQ==}
peerDependencies:
react: 18 || 19
dependencies:
react: 19.1.0
dev: false
/iconv-lite@0.4.24: /iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}