add opengraph to token pages

This commit is contained in:
saml33 2024-02-08 14:14:14 +11:00
parent d34806e04f
commit 30489396a4
6 changed files with 28 additions and 2 deletions

View File

@ -55,6 +55,21 @@ export async function generateMetadata(
return {
title: tokenPage.seoTitle,
description: tokenPage.seoDescription,
openGraph: {
title: tokenPage?.seoTitle || tokenPage.tokenName,
description: tokenPage?.seoDescription || tokenPage.symbol,
url: `https://mango.markets/explore/tokens/${tokenPage.slug}`,
siteName: 'Mango Markets',
images: [
{
url: tokenPage.metaImageUrl, // Must be an absolute URL
width: 1200,
height: 600,
},
],
locale: 'en_US',
type: 'website',
},
}
}

View File

@ -25,6 +25,7 @@ export interface TokenPage {
coingeckoId: string
seoTitle: string
seoDescription: string
metaImageUrl: string
perpSymbol: string | undefined
spotSymbol: string
lastModified: string
@ -58,6 +59,7 @@ export function parseContentfulTokenPage(
seoTitle: tokenPageEntry.fields.seoTitle,
seoDescription: tokenPageEntry.fields.seoDescription,
perpSymbol: tokenPageEntry.fields.perpSymbol || undefined,
metaImageUrl: tokenPageEntry.fields.metaImageUrl,
spotSymbol: tokenPageEntry.fields.spotSymbol,
lastModified: tokenPageEntry.sys.updatedAt,
erc20TokenDecimals: tokenPageEntry.fields.erc20TokenDecimals || undefined,

View File

@ -11,7 +11,13 @@ export interface TypeHomePageAnnouncementFields {
description?: EntryFieldTypes.Symbol
linkPath: EntryFieldTypes.Symbol
image?: EntryFieldTypes.AssetLink
category: EntryFieldTypes.Symbol<'Announcement' | 'New Listing' | 'News'>
category: EntryFieldTypes.Symbol<
| 'Announcement'
| 'From the Blog'
| 'New Listing'
| 'News'
| 'So Hot Right Now'
>
}
export type TypeHomePageAnnouncementSkeleton = EntrySkeletonType<

View File

@ -10,7 +10,9 @@ export interface TypeLearnPostFields {
postTitle: EntryFieldTypes.Symbol
slug: EntryFieldTypes.Symbol
author?: EntryFieldTypes.Symbol
category: EntryFieldTypes.Symbol<'Repost' | 'Spot Trading'>
category: EntryFieldTypes.Symbol<
'Listing on Mango' | 'Repost' | 'Spot Trading'
>
authorProfileImage?: EntryFieldTypes.AssetLink
postDescription: EntryFieldTypes.Text
postContent: EntryFieldTypes.RichText

View File

@ -42,6 +42,7 @@ export interface TypeTokenFields {
perpSymbol?: EntryFieldTypes.Symbol
ethMint?: EntryFieldTypes.Symbol
erc20TokenDecimals?: EntryFieldTypes.Integer
metaImageUrl: EntryFieldTypes.Symbol
}
export type TypeTokenSkeleton = EntrySkeletonType<TypeTokenFields, 'token'>

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB