---
import { siteConfig } from '@/config/site.js';
export interface Props {
  title?: string;
  description?: string;
  keywords?: string;
  url?: string;
  ogImage?: string;
  twitterHandle?: string;
}

const {
  title,
  description,
  keywords = "",
  url = siteConfig.url, //
  ogImage = "/og.jpg",
  twitterHandle = siteConfig.social.twitterName || '',
} = Astro.props;
---

<!-- Meta Tags -->
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
<title>{title}</title>
<meta name="description" content={description} />
<meta name="keywords" content={keywords} />
<meta name="author" content={siteConfig.author} />

<!-- Open Graph Tags -->
<meta property="og:type" content="website" />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:url" content={url} />
<meta property="og:image" content={ogImage} />
<meta property="og:site_name" content={title} />

<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content={ogImage} />
<meta name="twitter:site" content={twitterHandle} />
<meta name="twitter:creator" content={twitterHandle} />