Files
dealplustech-astroreal/src/layouts/Layout.astro

113 lines
3.5 KiB
Plaintext

---
import '@/styles/global.css';
import SEO from '@/components/seo/SEO.astro';
interface Props {
title: string;
description?: string;
/** Path-only or absolute URL. Defaults to /images/og/default-og.jpg */
ogImage?: string;
/** Override canonical URL. Default: current pathname */
canonical?: string;
/** og:type — "website" for pages, "article" for blog */
ogType?: 'website' | 'article' | 'product';
/** Article published time (ISO) — only used when ogType=article */
publishedTime?: string;
/** Article author — only used when ogType=article */
author?: string;
/** Indexing policy. Default: 'index, follow' */
robots?: string;
}
const {
title,
description = "ดีล พลัส เทค - ระบบน้ำคุณภาพสูง ราคาโรงงาน",
ogImage,
canonical,
ogType = 'website',
publishedTime,
author,
robots,
} = Astro.props;
---
<!doctype html>
<html lang="th">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content={description} />
<link rel="icon" type="image/png" href="/apple-touch-icon.png" sizes="180x180" />
<link rel="preload" as="image" href="/images/logo/dealplustech-logo.png" type="image/png" />
<link rel="preload" as="image" href="/images/og/default-og.jpg" type="image/jpeg" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600&display=swap" rel="stylesheet" />
<SEO
title={title}
description={description}
ogImage={ogImage}
canonical={canonical}
ogType={ogType}
publishedTime={publishedTime}
author={author}
robots={robots}
/>
<title>{title}</title>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JYBRG8FCJL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-JYBRG8FCJL');
gtag('config', 'AW-988260583');
</script>
<!-- Microsoft Clarity -->
<script>
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "imny0go9zr");
</script>
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){
if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1468820151597506');
fbq('track', 'PageView');
</script>
</head>
<body class="min-h-screen bg-neutral-50">
<slot />
</body>
</html>
<style is:global>
/* Page transition animations */
main {
animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
</style>