diff --git a/Frontend/app/(public)/blogs/[slug]/page.tsx b/Frontend/app/(public)/blogs/[slug]/page.tsx index dd52084..41ffa96 100644 --- a/Frontend/app/(public)/blogs/[slug]/page.tsx +++ b/Frontend/app/(public)/blogs/[slug]/page.tsx @@ -1,13 +1,11 @@ import BlogContent from "@/sections/BlogContent"; import getPostMetadata from "@/utils/getPostMetaData"; -import { cookies, headers } from "next/headers"; +import { headers } from "next/headers"; import React from "react"; import Spacer from "@/components/Utilities/Spacer"; import pb from "@/lib/pocketbase"; import Footer from "@/components/Footer"; import Background from "@/components/Utilities/Background"; -import { getUserFromCookie } from "@/lib/auth"; -import { User } from "@/types"; export async function generateMetadata({ params, @@ -24,10 +22,49 @@ export async function generateMetadata({ pb.autoCancellation(true); return { - title: `${post.title}`, - description: `${post.subtitle}`, + title: `${post.title} | FastPocket`, + authors: [ + { + name: post.author || "Samuel Wyndham", + }, + ], + description: post.description, + keywords: post.keywords, + openGraph: { + title: `${post.title} | FastPocket`, + description: post.description, + type: "article", + url: `https://${siteURL}/blogs/${post.slug}`, + publishedTime: post.created, + modifiedTime: post.updated, + authors: [`https://${siteURL}/about`], + images: [ + { + url: `${post.imageUrl}`, + width: 1024, + height: 576, + alt: post.title, + type: "image/png", + }, + ], + }, + twitter: { + card: "summary_large_image", + site: "@meinbiz", + creator: "@meinbiz", + title: `${post.title} | FastPocket`, + description: post.description, + images: [ + { + url: `${post.imageUrl}`, + width: 1024, + height: 576, + alt: post.title, + }, + ], + }, alternates: { - canonical: `https://${siteURL}/blogs/${slug}`, + canonical: `https://${siteURL}/blogs/${post.slug}`, }, }; } diff --git a/Frontend/app/layout.tsx b/Frontend/app/layout.tsx index b672d72..008b42c 100644 --- a/Frontend/app/layout.tsx +++ b/Frontend/app/layout.tsx @@ -1,5 +1,5 @@ +/* eslint-disable @next/next/no-before-interactive-script-outside-document */ import "./globals.css"; -import type { Metadata } from "next"; import "../app/globals.css"; import { Arimo, Indie_Flower } from "next/font/google"; import { ToastContainer } from "react-toastify"; @@ -8,8 +8,8 @@ import Header from "@/components/Header"; import { cookies } from "next/headers"; import { isAuthenticated } from "@/lib/auth"; import { GTagProvider, PHProvider, ThemeProvider } from "./providers"; -import { title } from "@/constants"; import Script from "next/script"; +import dynamic from "next/dynamic"; const raleway = Arimo({ variable: "--body-font", @@ -27,11 +27,6 @@ const indieFlower = Indie_Flower({ subsets: ["latin"], }); -export const metadata: Metadata = { - title: title, - description: title, -}; - export default async function RootLayout({ children, }: { @@ -64,18 +59,20 @@ export default async function RootLayout({ theme="colored" /> +