62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import type { Metadata } from 'next'
 | |
| import { Exo_2 } from 'next/font/google'
 | |
| import './globals.css'
 | |
| 
 | |
| const exo2 = Exo_2({
 | |
|   subsets: ['latin'],
 | |
|   weight: ['300', '400', '600', '700'],
 | |
|   variable: '--font-exo-2',
 | |
|   display: 'swap',
 | |
| })
 | |
| 
 | |
| export const metadata: Metadata = {
 | |
|   title: 'Rooftop Energy - Digital Namecard',
 | |
|   description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.',
 | |
|   keywords: 'Rooftop Energy, energy consultant, Malaysia, renewable energy, solar',
 | |
|   authors: [{ name: 'Rooftop Energy' }],
 | |
|   metadataBase: new URL(process.env.NEXT_PUBLIC_BASE_URL || 'http://localhost:3000'),
 | |
|   openGraph: {
 | |
|     title: 'Rooftop Energy - Digital Namecard',
 | |
|     description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.',
 | |
|     url: 'https://rooftop.my',
 | |
|     siteName: 'Rooftop Energy',
 | |
|     images: [
 | |
|       {
 | |
|         url: '/logo.png',
 | |
|         width: 1200,
 | |
|         height: 630,
 | |
|         alt: 'Rooftop Energy Logo',
 | |
|       },
 | |
|     ],
 | |
|     locale: 'en_MY',
 | |
|     type: 'website',
 | |
|   },
 | |
|   twitter: {
 | |
|     card: 'summary_large_image',
 | |
|     title: 'Rooftop Energy - Digital Namecard',
 | |
|     description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.',
 | |
|     images: ['/logo.png'],
 | |
|   },
 | |
|   robots: {
 | |
|     index: true,
 | |
|     follow: true,
 | |
|   },
 | |
| }
 | |
| 
 | |
| export default function RootLayout({
 | |
|   children,
 | |
| }: {
 | |
|   children: React.ReactNode
 | |
| }) {
 | |
|   return (
 | |
|     <html lang="en" className={exo2.variable}>
 | |
|       <head>
 | |
|         {/* Favicon and touch icons can be added here when available */}
 | |
|       </head>
 | |
|       <body className={`${exo2.variable} font-exo antialiased`}>
 | |
|         {children}
 | |
|       </body>
 | |
|     </html>
 | |
|   )
 | |
| }
 |