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"
/>
+
-