add medata for the paste page
This commit is contained in:
@ -6,6 +6,8 @@ import { ActionMenu } from "@/app/components/action-menu";
|
||||
import "highlight.js/styles/github-dark-dimmed.css";
|
||||
import { cn } from "@/app/common/utils";
|
||||
import { jetbrainsMono } from "@/app/common/font/font";
|
||||
import { Metadata } from "next";
|
||||
import moment from "moment";
|
||||
|
||||
type PasteProps = {
|
||||
params: {
|
||||
@ -19,12 +21,33 @@ type Paste = {
|
||||
*/
|
||||
content?: string;
|
||||
|
||||
/**
|
||||
* The date the paste was created.
|
||||
*/
|
||||
created?: number;
|
||||
|
||||
/**
|
||||
* Whether an error occurred.
|
||||
*/
|
||||
error?: boolean;
|
||||
};
|
||||
|
||||
export async function generateMetadata({
|
||||
params: { id },
|
||||
}: PasteProps): Promise<Metadata> {
|
||||
const { content, created, error } = await getData(id);
|
||||
|
||||
if (content == undefined || error) {
|
||||
return {
|
||||
description: "Not found",
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
description: `Created: ${moment(created)}\n\nClick to view the paste.`,
|
||||
};
|
||||
}
|
||||
|
||||
async function getData(id: string): Promise<Paste> {
|
||||
const response = await fetch(`${process.env.NEXT_PUBLIC_API_ENDPOINT}/${id}`);
|
||||
const json = await response.json();
|
||||
|
Reference in New Issue
Block a user