mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 15:53:02 +10:00
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import { headers } from 'next/headers';
|
|
import { redirect } from 'next/navigation';
|
|
|
|
import { APP_BASE_URL, NEXT_PUBLIC_MARKETING_URL } from '@documenso/lib/constants/app';
|
|
|
|
type SharePageProps = {
|
|
params: { slug: string };
|
|
};
|
|
|
|
export function generateMetadata({ params: { slug } }: SharePageProps) {
|
|
return {
|
|
title: 'Documenso - Share',
|
|
description: 'I just signed a document in style with Documenso!',
|
|
openGraph: {
|
|
title: 'Documenso - Join the open source signing revolution',
|
|
description: 'I just signed with Documenso!',
|
|
type: 'website',
|
|
images: [`${APP_BASE_URL()}/share/${slug}/opengraph`],
|
|
},
|
|
twitter: {
|
|
site: '@documenso',
|
|
card: 'summary_large_image',
|
|
images: [`${APP_BASE_URL()}/share/${slug}/opengraph`],
|
|
description: 'I just signed with Documenso!',
|
|
},
|
|
} satisfies Metadata;
|
|
}
|
|
|
|
export default function SharePage() {
|
|
const userAgent = headers().get('User-Agent') ?? '';
|
|
|
|
// https://stackoverflow.com/questions/47026171/how-to-detect-bots-for-open-graph-with-user-agent
|
|
if (/bot|facebookexternalhit|WhatsApp|google|bing|duckduckbot|MetaInspector/i.test(userAgent)) {
|
|
return null;
|
|
}
|
|
|
|
redirect(NEXT_PUBLIC_MARKETING_URL() ?? 'http://localhost:3001');
|
|
}
|