@@ -19,33 +19,37 @@ import {
1919 BreadcrumbSeparator ,
2020} from "@/components/ui/breadcrumb" ;
2121import type { Metadata } from "next" ;
22- const pages = [ { slug : "about" } ] ;
22+ import type { TypePages } from "@/types" ;
2323
24- export function generateStaticParams ( ) {
25- return pages ;
26- }
24+ const pages : TypePages [ ] = [
25+ { slug : "about" , title : "About us" } ,
26+ { slug : "term-and-conditions" , title : "Term And Conditions" } ,
27+ { slug : "privacy-policy" , title : "Privacy Policy" } ,
28+ ] ;
29+
30+ const filterBySlug = ( pages : TypePages [ ] , slug : string ) =>
31+ pages . find ( ( page ) => page . slug === slug ) ;
2732
2833export async function generateMetadata ( {
2934 params,
3035} : {
3136 params : Promise < { slug : string } > ;
3237} ) : Promise < Metadata > {
33- const slug = ( await params ) . slug . toUpperCase ( ) ;
34- const getTitle = slug ?. trim ( ) . replaceAll ( "-" , " " ) . toUpperCase ( ) ;
35- return { title : getTitle } ;
38+ const slug = ( await params ) . slug ;
39+ const filtered = filterBySlug ( pages , slug ) ; // Usage
40+ return { title : ` ${ filtered ?. title } | Blogify` } ;
3641}
3742export default async function Page ( {
3843 params,
3944} : {
4045 params : Promise < { slug : string } > ;
4146} ) {
4247 const slug = ( await params ) . slug ;
43- const getTitle = slug ?. trim ( ) . replaceAll ( "-" , " " ) ;
44-
48+ const filtered = filterBySlug ( pages , slug ) ; // Usage
4549 return (
4650 < section className = "mx-auto flex flex-col" >
47- < div className = "container mt-20 mb-10" >
48- < Breadcrumb className = "mb-5 capitalize" >
51+ < div className = "container mb-10" >
52+ < Breadcrumb className = "mb-2 capitalize" >
4953 < BreadcrumbList >
5054 < BreadcrumbItem >
5155 < BreadcrumbLink
@@ -60,15 +64,15 @@ export default async function Page({
6064 < BreadcrumbItem >
6165 < BreadcrumbPage className = "flex flex-row items-center gap-x-2 capitalize" >
6266 < NotebookText size = { 22 } />
63- { getTitle }
67+ { filtered ?. title }
6468 </ BreadcrumbPage >
6569 </ BreadcrumbItem >
6670 </ BreadcrumbList >
6771 </ Breadcrumb >
68- < div className = "mx-auto my -16 flex max-w-5xl flex-col items-center gap-4 text-center" >
72+ < div className = "mx-auto mt -16 mb-3 flex max-w-5xl flex-col items-center gap-4 text-center" >
6973 < h1 className = "text-center text-4xl leading-20 font-extrabold text-balance capitalize md:text-6xl" >
7074 { " " }
71- { getTitle }
75+ { filtered ?. title }
7276 </ h1 >
7377 </ div >
7478 </ div >
0 commit comments