dev #22

Merged
RizqiSyahrendra merged 2 commits from dev into main 2025-03-14 16:26:42 +00:00
3 changed files with 47 additions and 4 deletions
Showing only changes of commit 5664afc4c1 - Show all commits

View File

@ -12,28 +12,37 @@ import { Suspense } from "react";
export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }): Promise<Metadata> { export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }): Promise<Metadata> {
const defaultMetadata = await getDefaultMetadata(); const defaultMetadata = await getDefaultMetadata();
const name = defaultMetadata.openGraph?.siteName ?? ""; const name = defaultMetadata.openGraph?.siteName ?? "";
let title = "Page"; let title = defaultMetadata.title as string;
let description = defaultMetadata.description as string;
let imgUrl = ""; let imgUrl = "";
let canonicalUrl = "";
const slug = (await params).slug; const slug = (await params).slug;
const team = await fetchTeamDetail(decodeURIComponent(slug)); const team = await fetchTeamDetail(decodeURIComponent(slug));
// check for blog data // check for blog data
if (!!team) { if (!!team) {
title = `${team.data.name} - ${name}`; title = !!team.data.meta?.title ? team.data.meta?.title : `${team.data.name} - ${name}`;
description = !!team.data.meta?.description ? team.data.meta?.description : description;
imgUrl = team.imgUrl; imgUrl = team.imgUrl;
if (!!team?.data?.meta?.canonical_url) {
canonicalUrl = team.data.meta.canonical_url;
}
} }
defaultMetadata.title = title; defaultMetadata.title = title;
defaultMetadata.description = undefined; defaultMetadata.description = description;
if (!!defaultMetadata.openGraph) { if (!!defaultMetadata.openGraph) {
// @ts-ignore // @ts-ignore
defaultMetadata.openGraph.type = "article"; defaultMetadata.openGraph.type = "article";
defaultMetadata.openGraph.title = title; defaultMetadata.openGraph.title = title;
defaultMetadata.openGraph.description = undefined; defaultMetadata.openGraph.description = description;
defaultMetadata.openGraph.images = !!imgUrl ? [imgUrl] : undefined; defaultMetadata.openGraph.images = !!imgUrl ? [imgUrl] : undefined;
} }
if (!!defaultMetadata.alternates && !!canonicalUrl) {
defaultMetadata.alternates.canonical = canonicalUrl;
}
defaultMetadata.twitter = { defaultMetadata.twitter = {
card: "summary_large_image", card: "summary_large_image",
title: title, title: title,

View File

@ -34,6 +34,28 @@ export const Teams: CollectionConfig = {
type: "richText", type: "richText",
editor: lexicalEditor({}), editor: lexicalEditor({}),
}, },
{
name: "meta",
label: "Page Meta",
type: "group",
fields: [
{
name: "title",
label: "Title",
type: "text",
},
{
name: "description",
label: "Description",
type: "textarea",
},
{
name: "canonical_url",
label: "Canonical Url",
type: "text",
},
],
},
], ],
admin: { admin: {
hideAPIURL: true, hideAPIURL: true,

View File

@ -392,6 +392,11 @@ export interface Team {
}; };
[k: string]: unknown; [k: string]: unknown;
} | null; } | null;
meta?: {
title?: string | null;
description?: string | null;
canonical_url?: string | null;
};
updatedAt: string; updatedAt: string;
createdAt: string; createdAt: string;
} }
@ -822,6 +827,13 @@ export interface TeamsSelect<T extends boolean = true> {
role?: T; role?: T;
img?: T; img?: T;
biography?: T; biography?: T;
meta?:
| T
| {
title?: T;
description?: T;
canonical_url?: T;
};
updatedAt?: T; updatedAt?: T;
createdAt?: T; createdAt?: T;
} }