fix:meta data
This commit is contained in:
parent
f5fbf31eb9
commit
55e9b390e4
|
|
@ -1,20 +1,34 @@
|
||||||
"use client";
|
|
||||||
import { HumasLayout } from "@/components/layout/humas-layout";
|
import { HumasLayout } from "@/components/layout/humas-layout";
|
||||||
import DetailPage from "@/components/main/detail/new-detail";
|
import DetailPage from "@/components/main/detail/new-detail";
|
||||||
import React, { useEffect, useState } from "react";
|
import { getArticleById } from "@/service/article";
|
||||||
|
import { Metadata } from "next";
|
||||||
|
|
||||||
export default function NewsPage() {
|
type Props = {
|
||||||
const [hasMounted, setHasMounted] = useState(false);
|
params: { id: string };
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||||
setHasMounted(true);
|
const res = await getArticleById(params.id?.split("-")[0]);
|
||||||
}, []);
|
const article = res?.data?.data;
|
||||||
|
|
||||||
// Render
|
return {
|
||||||
if (!hasMounted) return null;
|
title: article.title,
|
||||||
|
description: article.description,
|
||||||
|
openGraph: {
|
||||||
|
title: article.title,
|
||||||
|
description: article.description,
|
||||||
|
images: [article.thumbnailUrl],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function NewsPage({ params }: Props) {
|
||||||
|
const articleId = params.id?.split("-")[0];
|
||||||
|
const res = await getArticleById(articleId);
|
||||||
|
const article = res?.data?.data;
|
||||||
return (
|
return (
|
||||||
<HumasLayout>
|
<HumasLayout>
|
||||||
<DetailPage />
|
<DetailPage datas={article} />
|
||||||
</HumasLayout>
|
</HumasLayout>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import Head from "next/head";
|
||||||
const token = Cookies.get("access_token");
|
const token = Cookies.get("access_token");
|
||||||
const uid = Cookies.get("uie");
|
const uid = Cookies.get("uie");
|
||||||
|
|
||||||
export default function NewsDetailPage() {
|
export default function NewsDetailPage(props: { datas: any }) {
|
||||||
const params = useParams();
|
const params = useParams();
|
||||||
const id: any = params?.id;
|
const id: any = params?.id;
|
||||||
const pathname = usePathname();
|
const pathname = usePathname();
|
||||||
|
|
@ -24,7 +24,7 @@ export default function NewsDetailPage() {
|
||||||
const [articles, setArticles] = useState<any>([]);
|
const [articles, setArticles] = useState<any>([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
initFetch();
|
// initFetch();
|
||||||
getArticles();
|
getArticles();
|
||||||
sendActivity();
|
sendActivity();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
@ -57,7 +57,7 @@ export default function NewsDetailPage() {
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{" "}
|
{/* {" "}
|
||||||
<Head>
|
<Head>
|
||||||
<title>{detailArticle?.title}</title>
|
<title>{detailArticle?.title}</title>
|
||||||
<meta property="og:title" content={detailArticle?.title} />
|
<meta property="og:title" content={detailArticle?.title} />
|
||||||
|
|
@ -72,7 +72,7 @@ export default function NewsDetailPage() {
|
||||||
<meta name="twitter:title" content={detailArticle?.title} />
|
<meta name="twitter:title" content={detailArticle?.title} />
|
||||||
<meta name="twitter:description" content={detailArticle?.description} />
|
<meta name="twitter:description" content={detailArticle?.description} />
|
||||||
<meta name="twitter:image" content={detailArticle?.thumbnailUrl} />
|
<meta name="twitter:image" content={detailArticle?.thumbnailUrl} />
|
||||||
</Head>
|
</Head> */}
|
||||||
<div className="bg-white dark:bg-stone-900">
|
<div className="bg-white dark:bg-stone-900">
|
||||||
<div className="px-5 lg:px-0 lg:w-[75vw] lg:mx-auto py-8">
|
<div className="px-5 lg:px-0 lg:w-[75vw] lg:mx-auto py-8">
|
||||||
<div className="flex flex-row gap-4 items-end ">
|
<div className="flex flex-row gap-4 items-end ">
|
||||||
|
|
@ -83,7 +83,7 @@ export default function NewsDetailPage() {
|
||||||
<p className=" text-lg">Berita</p>
|
<p className=" text-lg">Berita</p>
|
||||||
</div>
|
</div>
|
||||||
<div className=" lg:flex lg:justify-around gap-4 lg:gap-16 w-full">
|
<div className=" lg:flex lg:justify-around gap-4 lg:gap-16 w-full">
|
||||||
<DetailNews data={detailArticle} listArticle={articles} />
|
<DetailNews data={props.datas} listArticle={articles} />
|
||||||
<div className="w-auto lg:w-[25%] hidden lg:block">
|
<div className="w-auto lg:w-[25%] hidden lg:block">
|
||||||
<SidebarDetail />
|
<SidebarDetail />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue