♻️ Restructure: Move Astro to repository root

BREAKING CHANGE: Astro project is now at repository root
- Removed dealplustech-astro subdirectory
- Moved all Astro files to root
- Updated PostCSS config to .cjs
- Removed old Next.js files

 11 pages built successfully
 Cookie consent banner included
 Privacy/Terms links in footer
 Ready for Easypanel deployment (no root dir needed)

Migration path:
- Old structure: /dealplustech-astro/
- New structure: / (root)
This commit is contained in:
Kunthawat Greethong
2026-03-09 22:00:05 +07:00
parent 5b041a6a44
commit 7a67f68d9f
16524 changed files with 4277 additions and 1983574 deletions

View File

@@ -1,51 +0,0 @@
---
import type { CollectionEntry } from 'astro:content';
interface Props {
post: CollectionEntry<'blog'>;
}
const { post } = Astro.props;
const { title, excerpt, date, author, category, categories, image, featuredImage } = post.data;
// Support both 'category' and 'categories' field names
const postCategory = category || (Array.isArray(categories) ? categories[0] : 'ทั่วไป');
// Support both 'image' and 'featuredImage' field names
const postImage = image || featuredImage || '/images/2021/03/ppr-pipe_000C.jpg';
---
<a href={`/blog/${post.slug}`} class="card group">
<div class="relative aspect-video bg-secondary-100 overflow-hidden">
<img
src={postImage}
alt={title}
class="object-cover w-full h-48 group-hover:scale-105 transition-transform duration-300"
loading="lazy"
/>
<div class="absolute top-4 left-4">
<span class="industrial-badge">{postCategory}</span>
</div>
</div>
<div class="p-6">
<time class="text-sm text-secondary-500">
{new Date(date).toLocaleDateString('th-TH', { year: 'numeric', month: 'long', day: 'numeric' })}
</time>
<h3 class="mt-2 text-xl font-bold text-secondary-900 group-hover:text-primary-600 transition-colors line-clamp-2">
{title}
</h3>
{excerpt && (
<p class="mt-3 text-secondary-600 text-sm line-clamp-3">
{excerpt}
</p>
)}
<div class="mt-4 flex items-center text-primary-600 font-medium">
<span>อ่านต่อ</span>
<svg class="w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</a>

View File

@@ -1,29 +0,0 @@
---
import { siteConfig } from '../data/site-config';
---
<div class="fixed bottom-6 right-6 z-40 flex flex-col gap-3">
<!-- LINE -->
<a
href={`https://line.me/ti/p/${siteConfig.lineId}`}
target="_blank"
rel="noopener noreferrer"
class="w-14 h-14 bg-[#00B900] rounded-full flex items-center justify-center shadow-lg hover:scale-110 transition-transform"
aria-label="ติดต่อผ่าน LINE"
>
<svg class="w-7 h-7 text-white" viewBox="0 0 24 24" fill="currentColor">
<path d="M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"/>
</svg>
</a>
<!-- Phone -->
<a
href={`tel:${siteConfig.phone}`}
class="w-14 h-14 bg-primary-600 rounded-full flex items-center justify-center shadow-lg hover:scale-110 transition-transform"
aria-label="โทรหาเรา"
>
<svg class="w-7 h-7 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" />
</svg>
</a>
</div>

View File

@@ -1,114 +0,0 @@
---
import { siteConfig, workHours, mainNavigation } from '../data/site-config';
---
<footer class="bg-secondary-50 text-secondary-900">
<!-- Main Footer -->
<div class="container mx-auto px-4 py-12">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- Company Info -->
<div>
<img
src="/images/2021/02/13523630950840.png"
alt="Deal Plus Tech"
class="h-10 w-auto mb-4"
/>
<p class="text-secondary-600 text-sm mb-4">
{siteConfig.description}
</p>
<div class="flex gap-3">
<a
href={siteConfig.facebookUrl}
target="_blank"
rel="noopener noreferrer"
class="w-10 h-10 bg-secondary-200 rounded-lg flex items-center justify-center text-secondary-700 hover:bg-primary-600 hover:text-white transition-colors"
aria-label="Facebook"
>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
</svg>
</a>
<a
href={`https://line.me/ti/p/${siteConfig.lineId}`}
target="_blank"
rel="noopener noreferrer"
class="w-10 h-10 bg-secondary-200 rounded-lg flex items-center justify-center text-secondary-700 hover:bg-primary-600 hover:text-white transition-colors"
aria-label="LINE"
>
<svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor">
<path d="M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"/>
</svg>
</a>
</div>
</div>
<!-- Quick Links -->
<div>
<h3 class="text-lg font-bold mb-4 text-primary-600">ลิงก์ด่วน</h3>
<ul class="space-y-2">
{mainNavigation.slice(0, 5).map((item) => (
<li>
<a href={item.href} class="text-secondary-600 hover:text-primary-600 transition-colors">
{item.label}
</a>
</li>
))}
</ul>
</div>
<!-- Contact Info -->
<div>
<h3 class="text-lg font-bold mb-4 text-primary-600">ติดต่อเรา</h3>
<ul class="space-y-3">
<li class="flex items-start gap-3">
<svg class="w-5 h-5 text-primary-500 mt-0.5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" />
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
<span class="text-secondary-600 text-sm">{siteConfig.address}</span>
</li>
<li class="flex items-center gap-3">
<svg class="w-5 h-5 text-primary-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" />
</svg>
<a href={`tel:${siteConfig.phone}`} class="text-secondary-600 hover:text-primary-600 text-sm">
{siteConfig.phone}
</a>
</li>
<li class="flex items-center gap-3">
<svg class="w-5 h-5 text-primary-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
<a href={`mailto:${siteConfig.email}`} class="text-secondary-600 hover:text-primary-600 text-sm">
{siteConfig.email}
</a>
</li>
</ul>
</div>
<!-- Business Hours -->
<div>
<h3 class="text-lg font-bold mb-4 text-primary-600">เวลาทำการ</h3>
<ul class="space-y-2">
{workHours.map((item) => (
<li class="flex justify-between text-sm">
<span class="text-secondary-600">{item.day}</span>
<span class={item.isClosed ? 'text-red-500' : 'text-secondary-900 font-medium'}>
{item.hours}
</span>
</li>
))}
</ul>
</div>
</div>
</div>
<!-- Bottom Bar -->
<div class="border-t border-secondary-200">
<div class="container mx-auto px-4 py-4">
<p class="text-center text-secondary-500 text-sm">
© {new Date().getFullYear()} {siteConfig.name}. สงวนลิขสิทธิ์.
</p>
</div>
</div>
</footer>

View File

@@ -1,222 +0,0 @@
---
import { siteConfig, mainNavigation } from '../data/site-config';
import { cn } from '../lib/utils';
interface NavItemWithChildren {
label: string;
href: string;
children?: Array<{
label: string;
href: string;
children?: Array<{ label: string; href: string }>;
}>;
}
const navItems = mainNavigation as NavItemWithChildren[];
---
<header class="fixed top-0 left-0 right-0 z-50 bg-white shadow-md">
<!-- Top Bar -->
<div class="bg-primary-600 py-2">
<div class="container mx-auto px-4 flex justify-between items-center text-sm">
<div class="flex items-center gap-6 text-white">
<a href={`tel:${siteConfig.phone}`} class="flex items-center gap-2 hover:text-primary-100">
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" />
</svg>
{siteConfig.phone}
</a>
<a href={`mailto:${siteConfig.email}`} class="flex items-center gap-2 hover:text-primary-100">
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
{siteConfig.email}
</a>
</div>
<div class="hidden md:flex items-center gap-4">
<a href={`https://line.me/ti/p/${siteConfig.lineId}`} class="flex items-center gap-1 text-white hover:text-primary-100">
<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor">
<path d="M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"/>
</svg>
LINE
</a>
</div>
</div>
</div>
<!-- Main Navigation -->
<nav class="container mx-auto px-4">
<div class="flex items-center justify-between h-16">
<!-- Logo -->
<a href="/" class="flex items-center gap-3">
<img
src="/images/2021/02/13523630950840.png"
alt="Deal Plus Tech"
class="h-12 w-auto"
loading="priority"
/>
</a>
<!-- Desktop Navigation -->
<div class="hidden lg:flex items-center gap-1">
{navItems.map((item) => (
<div class="relative group">
<a
href={item.href}
class:list={[
"px-4 py-2 text-secondary-700 font-medium hover:text-primary-600 transition-colors flex items-center gap-1",
item.children && "pr-2"
]}
>
{item.label}
{item.children && (
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M19 9l-7 7-7-7" />
</svg>
)}
</a>
<!-- Dropdown -->
{item.children && (
<div class="absolute top-full left-0 pt-2 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50">
<div class="absolute -top-2 left-0 right-0 h-2" />
<div class="min-w-[600px] bg-white shadow-xl rounded-lg py-4 border border-secondary-100">
<div class="grid grid-cols-2 gap-1 px-4">
{item.children.map((child) => (
<div class="relative group/sub">
<a
href={child.href}
class="block px-3 py-2 text-secondary-700 hover:bg-primary-50 hover:text-primary-700 transition-colors rounded font-medium"
>
{child.label}
</a>
{child.children && (
<div class="hidden group-hover/sub:block absolute left-full top-0 w-56 !bg-white shadow-xl rounded-lg py-2 border border-secondary-100 max-h-96 overflow-y-auto z-50">
<div class="absolute -top-2 -bottom-2 -left-2 w-2" />
{child.children.map((subChild) => (
<a
href={subChild.href}
class="block px-4 py-2 text-secondary-600 hover:bg-primary-50 hover:text-primary-700 text-sm"
>
{subChild.label}
</a>
))}
</div>
)}
</div>
))}
</div>
</div>
</div>
)}
</div>
))}
<a href="/contact-us" class="btn-primary ml-4">
ติดต่อเรา
</a>
</div>
<!-- Mobile Menu Button -->
<button
id="mobile-menu-button"
class="lg:hidden text-secondary-900 p-2"
aria-label="Toggle menu"
>
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
</div>
<!-- Mobile Menu -->
<div id="mobile-menu" class="lg:hidden py-4 border-t border-secondary-200 max-h-[80vh] overflow-y-auto hidden">
{navItems.map((item) => (
item.children ? (
<div class="border-b border-secondary-100">
<div class="px-4 py-3 font-semibold text-secondary-900 bg-secondary-50">
{item.label}
</div>
<div class="pl-4">
{item.children.map((child) => (
<div>
<a
href={child.href}
class="block px-4 py-2 text-secondary-700 hover:text-primary-600 hover:bg-primary-50 mobile-link"
>
{child.label}
</a>
{child.children && (
<div class="pl-4 bg-secondary-50">
{child.children.map((subChild) => (
<a
href={subChild.href}
class="block px-4 py-2 text-secondary-600 hover:text-primary-600 text-sm mobile-link"
>
{subChild.label}
</a>
))}
</div>
)}
</div>
))}
</div>
</div>
) : (
<a
href={item.href}
class="block px-4 py-3 text-secondary-700 hover:text-primary-600 font-medium mobile-link"
>
{item.label}
</a>
)
))}
<div class="p-4">
<a
href="/contact-us"
class="btn-primary block text-center mobile-link"
>
ติดต่อเรา
</a>
</div>
</div>
</nav>
</header>
<script>
// Mobile menu toggle
const mobileMenuButton = document.getElementById('mobile-menu-button');
const mobileMenu = document.getElementById('mobile-menu');
let mobileMenuOpen = false;
mobileMenuButton?.addEventListener('click', () => {
mobileMenuOpen = !mobileMenuOpen;
if (mobileMenuOpen) {
mobileMenu?.classList.remove('hidden');
mobileMenuButton.innerHTML = `
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M6 18L18 6M6 6l12 12" />
</svg>
`;
} else {
mobileMenu?.classList.add('hidden');
mobileMenuButton.innerHTML = `
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M4 6h16M4 12h16M4 18h16" />
</svg>
`;
}
});
// Close mobile menu when clicking links
document.querySelectorAll('.mobile-link').forEach(link => {
link.addEventListener('click', () => {
mobileMenuOpen = false;
mobileMenu?.classList.add('hidden');
mobileMenuButton.innerHTML = `
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M4 6h16M4 12h16M4 18h16" />
</svg>
`;
});
});
</script>

View File

@@ -1,37 +0,0 @@
---
import type { CollectionEntry } from 'astro:content';
interface Props {
product: CollectionEntry<'products'>;
}
const { product } = Astro.props;
const { name, shortDescription, image } = product.data;
---
<a href={`/products/${product.data.slug}`} class="card group">
<div class="aspect-w-16 aspect-h-9 overflow-hidden bg-secondary-100">
<img
src={image || '/placeholder.jpg'}
alt={name}
class="object-cover w-full h-48 group-hover:scale-105 transition-transform duration-300"
loading="lazy"
/>
</div>
<div class="p-6">
<h3 class="text-lg font-bold text-secondary-900 group-hover:text-primary-600 transition-colors">
{name}
</h3>
{shortDescription && (
<p class="mt-2 text-sm text-secondary-600 line-clamp-2">
{shortDescription}
</p>
)}
<div class="mt-4 flex items-center text-primary-600 font-medium">
<span>ดูรายละเอียด</span>
<svg class="w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</a>

View File

@@ -1,188 +0,0 @@
---
---
<div id="consent-preferences-modal" class="fixed inset-0 z-50 hidden">
<div class="fixed inset-0 bg-black/50 transition-opacity" id="consent-modal-backdrop"></div>
<div class="fixed inset-0 flex items-center justify-center p-4">
<div class="relative bg-white rounded-xl shadow-2xl w-full max-w-lg max-h-[90vh] overflow-y-auto">
<div class="p-6">
<h2 class="text-xl font-semibold text-gray-900 mb-2">ตั้งค่าคุกกี้</h2>
<p class="text-sm text-gray-600 mb-6">
คุณสามารถปรับแต่งการตั้งค่าคุกกี้ได้ตามต้องการ
</p>
<div class="space-y-5">
<div class="flex items-center justify-between p-4 bg-gray-50 rounded-lg">
<div>
<span class="font-medium text-gray-900">จำเป็น (เปิดเสมอ)</span>
<p class="text-xs text-gray-500 mt-0.5">คุกกี้ที่จำเป็นสำหรับการทำงานของเว็บไซต์</p>
</div>
<label class="relative inline-flex items-center cursor-not-allowed">
<input type="checkbox" checked disabled class="sr-only peer" />
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-green-500 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-green-600"></div>
</label>
</div>
<div class="flex items-center justify-between p-4 bg-gray-50 rounded-lg">
<div>
<span class="font-medium text-gray-900">วิเคราะห์การใช้งาน</span>
<p class="text-xs text-gray-500 mt-0.5">ช่วยให้เราเข้าใจว่าผู้ใช้งานใช้เว็บไซต์อย่างไร</p>
</div>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" id="consent-analytics" class="sr-only peer" />
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-green-500 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-green-600"></div>
</label>
</div>
<div class="flex items-center justify-between p-4 bg-gray-50 rounded-lg">
<div>
<span class="font-medium text-gray-900">การตลาด</span>
<p class="text-xs text-gray-500 mt-0.5">ใช้สำหรับการตลาดและโฆษณา</p>
</div>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" id="consent-marketing" class="sr-only peer" />
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-green-500 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-green-600"></div>
</label>
</div>
</div>
<div class="mt-6 flex flex-col sm:flex-row gap-3">
<button
id="consent-save"
class="flex-1 px-5 py-2.5 text-sm font-medium text-white bg-green-600 rounded-lg hover:bg-green-700 transition-colors focus:outline-none focus:ring-2 focus:ring-green-500"
>
บันทึกการตั้งค่า
</button>
<button
id="consent-close"
class="px-5 py-2.5 text-sm font-medium text-gray-700 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-400"
>
ยกเลิก
</button>
</div>
</div>
</div>
</div>
</div>
<script>
const POLICY_VERSION = '1.0';
const STORAGE_KEY = 'dealplustech_consent';
function generateSessionId(): string {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0;
const v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
function getSessionId(): string {
let sessionId = localStorage.getItem('dealplustech_session');
if (!sessionId) {
sessionId = generateSessionId();
localStorage.setItem('dealplustech_session', sessionId);
}
return sessionId;
}
function getConsent(): { essential: boolean; analytics: boolean; marketing: boolean } | null {
const stored = localStorage.getItem(STORAGE_KEY);
if (stored) {
try {
return JSON.parse(stored);
} catch {
return null;
}
}
return null;
}
function saveConsent(consent: { essential: boolean; analytics: boolean; marketing: boolean }) {
localStorage.setItem(STORAGE_KEY, JSON.stringify(consent));
}
function applyConsent(consent: { analytics: boolean; marketing: boolean }) {
if (consent.analytics) {
document.body.classList.add('analytics-enabled');
} else {
document.body.classList.remove('analytics-enabled');
}
if (consent.marketing) {
document.body.classList.add('marketing-enabled');
} else {
document.body.classList.remove('marketing-enabled');
}
window.dispatchEvent(new CustomEvent('consent-updated', { detail: consent }));
}
async function logConsent(consent: { essential: boolean; analytics: boolean; marketing: boolean }) {
try {
await fetch('/api/consent', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
sessionId: getSessionId(),
essential: consent.essential,
analytics: consent.analytics,
marketing: consent.marketing,
policyVersion: POLICY_VERSION,
}),
});
} catch (error) {
console.error('Failed to log consent:', error);
}
}
function openModal() {
const modal = document.getElementById('consent-preferences-modal');
const analyticsCheckbox = document.getElementById('consent-analytics') as HTMLInputElement;
const marketingCheckbox = document.getElementById('consent-marketing') as HTMLInputElement;
const existingConsent = getConsent();
if (existingConsent) {
analyticsCheckbox.checked = existingConsent.analytics;
marketingCheckbox.checked = existingConsent.marketing;
} else {
analyticsCheckbox.checked = false;
marketingCheckbox.checked = false;
}
modal?.classList.remove('hidden');
}
function closeModal() {
const modal = document.getElementById('consent-preferences-modal');
modal?.classList.add('hidden');
}
async function handleSave() {
const analyticsCheckbox = document.getElementById('consent-analytics') as HTMLInputElement;
const marketingCheckbox = document.getElementById('consent-marketing') as HTMLInputElement;
const consent = {
essential: true,
analytics: analyticsCheckbox.checked,
marketing: marketingCheckbox.checked,
};
saveConsent(consent);
await logConsent(consent);
applyConsent(consent);
closeModal();
}
document.addEventListener('DOMContentLoaded', () => {
const modal = document.getElementById('consent-preferences-modal');
const backdrop = document.getElementById('consent-modal-backdrop');
const saveBtn = document.getElementById('consent-save');
const closeBtn = document.getElementById('consent-close');
window.addEventListener('open-consent-preferences', openModal);
backdrop?.addEventListener('click', closeModal);
closeBtn?.addEventListener('click', closeModal);
saveBtn?.addEventListener('click', handleSave);
});
</script>

View File

@@ -1,156 +0,0 @@
---
interface Props {
showPreferences?: boolean;
}
const { showPreferences = false } = Astro.props;
---
<div id="cookie-banner" class={`fixed bottom-0 left-0 right-0 z-50 p-4 md:p-6 transition-transform duration-300 ${showPreferences ? 'translate-y-full' : 'translate-y-0'}`}>
<div class="max-w-4xl mx-auto bg-white rounded-lg shadow-2xl border border-gray-200 p-6">
<div class="flex flex-col md:flex-row gap-4 md:items-start md:justify-between">
<div class="flex-1">
<h2 class="text-lg font-semibold text-gray-900 mb-2">เราใช้คุกกี้</h2>
<p class="text-sm text-gray-600">
เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์การใช้งานเว็บไซต์ โดยคลิกยอมรับเพื่อใช้งานคุกกี้ทุกประเภท หรือคลิกปรับแต่งเพื่อเลือกคุกกี้ที่ต้องการ
</p>
</div>
<div class="flex flex-col sm:flex-row gap-3 shrink-0">
<button
id="cookie-reject"
class="px-5 py-2.5 text-sm font-medium text-gray-700 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-400"
>
ปฏิเสธ
</button>
<button
id="cookie-customize"
class="px-5 py-2.5 text-sm font-medium text-green-700 bg-green-50 border border-green-200 rounded-lg hover:bg-green-100 transition-colors focus:outline-none focus:ring-2 focus:ring-green-500"
>
ปรับแต่ง
</button>
<button
id="cookie-accept"
class="px-5 py-2.5 text-sm font-medium text-white bg-green-600 rounded-lg hover:bg-green-700 transition-colors focus:outline-none focus:ring-2 focus:ring-green-500"
>
ยอมรับ
</button>
</div>
</div>
</div>
</div>
<script>
const POLICY_VERSION = '1.0';
const STORAGE_KEY = 'dealplustech_consent';
function generateSessionId(): string {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0;
const v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
function getSessionId(): string {
let sessionId = localStorage.getItem('dealplustech_session');
if (!sessionId) {
sessionId = generateSessionId();
localStorage.setItem('dealplustech_session', sessionId);
}
return sessionId;
}
function getConsent(): { essential: boolean; analytics: boolean; marketing: boolean } | null {
const stored = localStorage.getItem(STORAGE_KEY);
if (stored) {
try {
return JSON.parse(stored);
} catch {
return null;
}
}
return null;
}
function saveConsent(consent: { essential: boolean; analytics: boolean; marketing: boolean }) {
localStorage.setItem(STORAGE_KEY, JSON.stringify(consent));
}
function hideBanner() {
const banner = document.getElementById('cookie-banner');
if (banner) {
banner.classList.add('translate-y-full');
setTimeout(() => banner.remove(), 300);
}
}
async function logConsent(consent: { essential: boolean; analytics: boolean; marketing: boolean }) {
try {
await fetch('/api/consent', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
sessionId: getSessionId(),
essential: consent.essential,
analytics: consent.analytics,
marketing: consent.marketing,
policyVersion: POLICY_VERSION,
}),
});
} catch (error) {
console.error('Failed to log consent:', error);
}
}
function applyConsent(consent: { analytics: boolean; marketing: boolean }) {
if (consent.analytics) {
document.body.classList.add('analytics-enabled');
}
if (consent.marketing) {
document.body.classList.add('marketing-enabled');
}
window.dispatchEvent(new CustomEvent('consent-updated', { detail: consent }));
}
async function handleAccept() {
const consent = { essential: true, analytics: true, marketing: true };
saveConsent(consent);
await logConsent(consent);
applyConsent(consent);
hideBanner();
}
async function handleReject() {
const consent = { essential: true, analytics: false, marketing: false };
saveConsent(consent);
await logConsent(consent);
applyConsent(consent);
hideBanner();
}
function handleCustomize() {
window.dispatchEvent(new CustomEvent('open-consent-preferences'));
hideBanner();
}
document.addEventListener('DOMContentLoaded', () => {
const existingConsent = getConsent();
if (existingConsent) {
applyConsent(existingConsent);
return;
}
const banner = document.getElementById('cookie-banner');
if (!banner) return;
const acceptBtn = document.getElementById('cookie-accept');
const rejectBtn = document.getElementById('cookie-reject');
const customizeBtn = document.getElementById('cookie-customize');
acceptBtn?.addEventListener('click', handleAccept);
rejectBtn?.addEventListener('click', handleReject);
customizeBtn?.addEventListener('click', handleCustomize);
});
</script>

View File

@@ -1,104 +0,0 @@
---
id: hdpe-pipe-advantages
title: "ข้อดีของท่อ HDPE ในงานระบบน้ำ ทำไมถึงเป็นตัวเลือกยอดนิยม"
excerpt: "ท่อ HDPE (High Density Polyethylene) เป็นท่อที่ได้รับความนิยมสูงในงานระบบน้ำ เนื่องจากความทนทานและความยืดหยุ่นที่เหนือกว่าท่อชนิดอื่น"
date: "2024-01-10"
author: "Deal Plus Tech"
categories: ["ท่อ HDPE", "ความรู้"]
featuredImage: "/images/2021/03/hdpe-pipe_000C.jpg"
---
## ท่อ HDPE คืออะไร?
ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก
## ข้อดีของท่อ HDPE
### 1. ความยืดหยุ่นสูง
ท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี
### 2. ทนทานต่อสารเคมี
ท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม
### 3. อายุการใช้งานยาวนาน
ท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง
### 4. น้ำหนักเบา
ท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง
### 5. การเชื่อมต่อที่แน่นหนา
การเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม
### 6. ปลอดภัยต่อสุขภาพ
ท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม
## การใช้งานท่อ HDPE
### งานประปา
- ท่อส่งน้ำประปา
- ระบบประปาในบ้านเรือน
- ระบบประปาในอาคาร
### งานเกษตร
- ระบบน้ำหยด
- ระบบสปริงเกลอร์
- ระบบน้ำเพื่อการเกษตร
### งานอุตสาหกรรม
- ท่อส่งสารเคมี
- ระบบบำบัดน้ำเสีย
- งานโรงงานอุตสาหกรรม
### งานโครงสร้างพื้นฐาน
- งานท่อใต้ดิน
- ท่อร้อยสายไฟ
- งานสาธารณูปโภค
## ขนาดท่อ HDPE ที่นิยมใช้
| ขนาด (มม.) | การใช้งาน |
|------------|-----------|
| 16-32 | งานประปาภายในบ้าน |
| 40-63 | งานประปาอาคารขนาดเล็ก |
| 75-110 | งานประปาอาคารขนาดใหญ่ |
| 125-315 | งานท่อส่งน้ำหลัก |
| 355-1200 | งานโครงสร้างพื้นฐาน |
## เกรดของท่อ HDPE
### PE80
- เหมาะสำหรับงานทั่วไป
- ทนแรงดันสูงสุด 8 MPa
### PE100
- เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง
- ทนแรงดันสูงสุด 10 MPa
- เป็นเกรดที่นิยมใช้ในปัจจุบัน
## การติดตั้งท่อ HDPE
### วิธี Butt Fusion
1. ตัดท่อให้ตรง
2. ทำความสะอาดผิวท่อ
3. ใช้เครื่องเชื่อมท่อ HDPE
4. ให้ความร้อนจนผิวท่อละลาย
5. กดท่อเข้าด้วยกัน
6. รอให้เย็นตัวลง
### วิธี Electrofusion
1. ใช้ข้อต่อแบบ Electrofusion
2. เสียบปลั๊กไฟเข้ากับข้อต่อ
3. รอจนกระบวนการเชื่อมเสร็จสิ้น
## สรุป
ท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน
---
**สนใจสินค้าท่อ HDPE?**
ติดต่อเราได้ที่:
- โทร: 090-555-1415
- LINE: jppselection
[ดูสินค้าท่อ HDPE ทั้งหมด](/ท่อhdpe)

View File

@@ -1,80 +0,0 @@
---
id: ppr-pipe-guide
title: "ท่อ PPR คืออะไร? คู่มือฉบับสมบูรณ์สำหรับการเลือกใช้งาน"
excerpt: "ท่อ PPR (Polypropylene Random Copolymer) เป็นท่อพลาสติกที่ได้รับความนิยมสูงในการใช้งานระบบประปา บทความนี้จะอธิบายทุกสิ่งที่คุณต้องรู้เกี่ยวกับท่อ PPR"
date: "2024-01-15"
author: "Deal Plus Tech"
categories: ["ท่อ PPR", "ความรู้", "คู่มือ"]
featuredImage: "/images/2021/03/ppr-pipe_000C.jpg"
---
## ท่อ PPR คืออะไร?
ท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี
## ข้อดีของท่อ PPR
### 1. ทนแรงดันและอุณหภูมิสูง
ท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน
### 2. สะอาดและปลอดภัย
ท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค
### 3. อายุการใช้งานยาวนาน
ด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี
### 4. ติดตั้งง่าย
การเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม
### 5. ประหยัดพลังงาน
ท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ
## การเลือกท่อ PPR ที่เหมาะสม
### ขนาดท่อ
เลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:
- ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป
- ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่
### เกรดของท่อ
- **PN10** - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์
- **PN16** - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์
- **PN20** - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์
## การติดตั้งท่อ PPR
### ขั้นตอนการเชื่อมท่อ
1. ตัดท่อให้ตรงและเรียบ
2. ทำความสะอาดผิวท่อและข้อต่อ
3. ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C
4. สอดท่อและข้อต่อเข้าด้วยกัน
5. รอให้เย็นตัวลงประมาณ 2-3 นาที
### ข้อควรระวัง
- หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง
- ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ
- ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน
## ท่อ PPR ตราช้าง
ท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell
**คุณสมบัติเด่น:**
- ทนแรงดันได้สูงสุด 20 บาร์
- ทนต่ออุณหภูมิได้สูงถึง 95°C
- ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน
- รับประกันคุณภาพ
## สรุป
ท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม
---
**สนใจสินค้าท่อ PPR?**
ติดต่อเราได้ที่:
- โทร: 090-555-1415
- LINE: jppselection
- อีเมล: dealplustech@gmail.com
[ดูสินค้าท่อ PPR ทั้งหมด](/ท่อพีพีอาร์ตราช้าง)

View File

@@ -1,126 +0,0 @@
---
id: water-pump-maintenance
title: "การบำรุงรักษาปั๊มน้ำให้มีอายุการใช้งานยาวนาน"
excerpt: "ปั๊มน้ำเป็นอุปกรณ์สำคัญในระบบน้ำทุกบ้าน การบำรุงรักษาที่ถูกต้องจะช่วยยืดอายุการใช้งานและประหยัดค่าไฟฟ้า"
date: "2024-01-05"
author: "Deal Plus Tech"
categories: ["ปั๊มน้ำ", "บำรุงรักษา", "เคล็ดลับ"]
featuredImage: "/images/2021/02/Water-Pump1.jpg"
---
## ความสำคัญของการบำรุงรักษาปั๊มน้ำ
ปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:
- ยืดอายุการใช้งานของปั๊มน้ำ
- ลดปัญหาการเสีย
- ประหยัดค่าไฟฟ้า
- ป้องกันอุบัติเหตุจากการรั่วซึม
## การบำรุงรักษาปั๊มน้ำแบบทำเอง
### 1. ตรวจสอบสายไฟและสวิตช์
- ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่
- ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่
- หากพบความผิดปกติควรเรียกช่าง
### 2. ทำความสะอาดตัวกรอง
- ปิดวาล์วน้ำเข้าก่อนทำความสะอาด
- ถอดตัวกรองออกมาล้าง
- ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่
- ติดตั้งกลับเข้าที่เดิม
### 3. ตรวจสอบแรงดันน้ำ
- สังเกตแรงดันน้ำว่าลดลงหรือไม่
- ตรวจสอบว่ามีเสียงผิดปกติหรือไม่
- หากแรงดันลดลงอาจมีการรั่วซึม
### 4. ตรวจสอบถังแรงดัน (Pressure Tank)
- ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่
- หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ
- ควรตรวจสอบทุก 6 เดือน
## ปัญหาที่พบบ่อยและวิธีแก้ไข
### ปั๊มไม่ทำงาน
**สาเหตุ:**
- ไฟดับหรือสายไฟขาด
- สวิตช์เสีย
- มอเตอร์เสีย
**วิธีแก้:**
- ตรวจสอบไฟและสายไฟ
- เปลี่ยนสวิตช์
- เรียกช่างซ่อมมอเตอร์
### แรงดันน้ำต่ำ
**สาเหตุ:**
- ตัวกรองอุดตัน
- ท่อรั่ว
- ใบพัดสึกหรอ
**วิธีแก้:**
- ทำความสะอาดตัวกรอง
- ตรวจสอบและซ่อมท่อ
- เปลี่ยนใบพัด
### ปั๊มเปิด-ปิดบ่อย
**สาเหตุ:**
- ถังแรงดันอากาศรั่ว
- แผ่นไดอะแฟรมแตก
- วาล์วตรวจสอบแรงดันเสีย
**วิธีแก้:**
- เติมอากาศในถัง
- เปลี่ยนแผ่นไดอะแฟรม
- เปลี่ยนวาล์ว
### ปั๊มมีเสียงดังผิดปกติ
**สาเหตุ:**
- ลูกปืนเสีย
- ใบพัดชำรุด
- การติดตั้งไม่แน่นหนา
**วิธีแก้:**
- เปลี่ยนลูกปืน
- เปลี่ยนใบพัด
- ตรวจสอบการยึดแน่น
## ตารางการบำรุงรักษา
| รายการ | ความถี่ | หมายเหตุ |
|--------|---------|----------|
| ตรวจสอบสายไฟ | ทุกเดือน | มองหารอยชำรุด |
| ทำความสะอาดตัวกรอง | ทุก 3 เดือน | หรือเมื่อแรงดันลด |
| ตรวจสอบถังแรงดัน | ทุก 6 เดือน | เติมอากาศหากจำเป็น |
| ตรวจสอบสวิตช์ | ทุกปี | เปลี่ยนหากเสีย |
| ตรวจสอบใบพัด | ทุก 2 ปี | โดยช่างผู้เชี่ยวชาญ |
## เคล็ดลับการใช้งานปั๊มน้ำ
### ประหยัดไฟฟ้า
- เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน
- ติดตั้งถังแรงดันขนาดเหมาะสม
- หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย
### ป้องกันปัญหา
- อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)
- ตรวจสอบรอยรั่วอย่างสม่ำเสมอ
- ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก
### เมื่อต้องเปลี่ยนปั๊ม
- เลือกปั๊มที่มีคุณภาพ
- พิจารณาขนาดและกำลังที่เหมาะสม
- ติดตั้งโดยช่างผู้เชี่ยวชาญ
## สรุป
การบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ
---
**ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?**
ติดต่อเราได้ที่:
- โทร: 090-555-1415
- LINE: jppselection
[ดูสินค้าปั๊มน้ำทั้งหมด](/ปั๊มน้ำ-pump)

File diff suppressed because it is too large Load Diff

View File

@@ -1,136 +0,0 @@
---
export interface Props {
title: string;
description?: string;
image?: string;
}
const { title, description, image } = 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="generator" content={Astro.generator} />
<meta name="description" content={description || 'บริษัท ดีล พลัส เทค จำกัด - ผู้เชี่ยวชาญด้านระบบน้ำ ท่อ PPR ตราช้าง ท่อพีพีอาร์ ท่อ HDPE'} />
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="alternate icon" href="/favicon.ico" sizes="any" />
<link rel="apple-touch-icon" href="/favicon.svg" />
<!-- Google Fonts: Kanit for Thai -->
<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@300;400;500;600;700&display=swap" rel="stylesheet" />
<!-- SEO -->
<meta property="og:title" content={title} />
<meta property="og:description" content={description || 'Deal Plus Tech - ผู้เชี่ยวชาญด้านระบบน้ำ'} />
<meta property="og:image" content={image || '/og-image.jpg'} />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<title>{title} | ดีล พลัส เทค</title>
</head>
<body class="flex flex-col min-h-screen">
<slot />
<!-- Cookie Consent Banner -->
<script>
// Check for consent preferences
const consent = JSON.parse(localStorage.getItem('consent-preferences') || 'null');
if (!consent) {
// Dynamically create and show cookie banner
const banner = document.createElement('div');
banner.id = 'cookie-banner';
banner.className = 'fixed bottom-0 left-0 right-0 bg-secondary-900 text-white p-6 z-50 shadow-lg';
banner.innerHTML = `
<div class="container mx-auto max-w-4xl">
<p class="text-lg mb-4">เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์การใช้งานเว็บไซต์ โดยคลิกยอมรับเพื่อใช้งานคุกกี้ทุกประเภท หรือคลิกปรับแต่งเพื่อเลือกคุกกี้ที่ต้องการ</p>
<div class="flex flex-wrap gap-3">
<button id="accept-all" class="px-6 py-2 bg-primary-600 text-white font-semibold rounded-md hover:bg-primary-700">ยอมรับ</button>
<button id="reject-all" class="px-6 py-2 bg-secondary-700 text-white font-semibold rounded-md hover:bg-secondary-600">ปฏิเสธ</button>
<button id="customize" class="px-6 py-2 border border-white text-white font-semibold rounded-md hover:bg-white hover:text-secondary-900">ปรับแต่ง</button>
</div>
</div>
`;
document.body.appendChild(banner);
// Handle button clicks
document.getElementById('accept-all')?.addEventListener('click', () => {
localStorage.setItem('consent-preferences', JSON.stringify({
essential: true,
analytics: true,
marketing: true,
timestamp: new Date().toISOString()
}));
banner.remove();
loadAnalytics();
});
document.getElementById('reject-all')?.addEventListener('click', () => {
localStorage.setItem('consent-preferences', JSON.stringify({
essential: true,
analytics: false,
marketing: false,
timestamp: new Date().toISOString()
}));
banner.remove();
});
document.getElementById('customize')?.addEventListener('click', () => {
// For now, treat as reject - can be enhanced later
localStorage.setItem('consent-preferences', JSON.stringify({
essential: true,
analytics: false,
marketing: false,
timestamp: new Date().toISOString()
}));
banner.remove();
});
} else if (consent.analytics) {
// Load analytics if already consented
loadAnalytics();
}
// Load Umami Analytics if consented
function loadAnalytics() {
// Umami configuration - set in .env
const umamiEnabled = false; // Set to true when Umami is configured
const umamiWebsiteId = ''; // Add your Umami Website ID
const umamiDomain = ''; // e.g., analytics.moreminimore.com
if (umamiEnabled && umamiWebsiteId && umamiDomain) {
const script = document.createElement('script');
script.defer = true;
script.src = `https://${umamiDomain}/script.js`;
script.setAttribute('data-website-id', umamiWebsiteId);
document.head.appendChild(script);
}
}
</script>
</body>
</html>
<style is:global>
html {
font-family: 'Kanit', system-ui, sans-serif;
font-size: 18px;
}
@media (min-width: 1280px) {
html { font-size: 20px; }
}
@media (min-width: 1536px) {
html { font-size: 22px; }
}
@media (min-width: 1920px) {
html { font-size: 24px; }
}
</style>

View File

@@ -1,30 +0,0 @@
/**
* Umami Analytics Integration
*
* To enable Umami Analytics:
* 1. Get your Umami Website ID from your Umami dashboard
* 2. Add to .env:
* UMAMI_WEBSITE_ID=your-website-id-here
* UMAMI_DOMAIN=analytics.yourdomain.com
* 3. Set consent.analytics = true in cookie consent
*
* The script will load automatically after user consent.
*/
export const UMAMI_CONFIG = {
enabled: false, // Set to true after configuring .env
websiteId: '', // Add your Umami Website ID
domain: '', // Add your Umami domain (e.g., analytics.moreminimore.com)
};
export function getUmamiScript() {
if (!UMAMI_CONFIG.enabled || !UMAMI_CONFIG.websiteId || !UMAMI_CONFIG.domain) {
return null;
}
return {
src: `https://${UMAMI_CONFIG.domain}/script.js`,
'data-website-id': UMAMI_CONFIG.websiteId,
defer: true,
};
}

View File

@@ -1,42 +0,0 @@
// Utility functions migrated from Next.js
/**
* Combines class names conditionally (like clsx + tailwind-merge)
*/
export function cn(...classes: Array<string | false | null | undefined>): string {
return classes.filter(Boolean).join(' ');
}
/**
* Format price in Thai Baht
*/
export function formatPrice(price: number): string {
return new Intl.NumberFormat('th-TH', {
style: 'currency',
currency: 'THB',
}).format(price);
}
/**
* Format date to Thai locale
*/
export function formatDateThai(date: Date | string): string {
return new Intl.DateTimeFormat('th-TH', {
year: 'numeric',
month: 'long',
day: 'numeric',
}).format(new Date(date));
}
/**
* Generate slug from Thai text
*/
export function generateSlug(text: string): string {
return text
.toLowerCase()
.replace(/\s+/g, '-')
.replace(/[^\w-]+/g, '')
.replace(/--+/g, '-')
.replace(/^-+/, '')
.replace(/-+$/, '');
}

View File

@@ -1,116 +0,0 @@
---
import BaseLayout from '../../layouts/BaseLayout.astro';
import FloatingContact from '../../components/FloatingContact.astro';
import { siteConfig } from '../../data/site-config';
---
<BaseLayout title="เกี่ยวกับเรา" description="เรียนรู้เพิ่มเติมเกี่ยวกับดีลพลัสเทค ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ">
<main class="pt-32 pb-16">
<div class="container mx-auto px-4">
<!-- Hero -->
<div class="relative h-[400px] -mt-32 mb-12 rounded-b-3xl overflow-hidden">
<div class="absolute inset-0 bg-gradient-to-r from-secondary-900 via-secondary-800 to-secondary-900" />
<div class="absolute inset-0 flex items-center justify-center">
<div class="text-center">
<h1 class="text-4xl md:text-5xl font-bold text-white mb-4">
เกี่ยวกับ<span class="text-primary-400">{siteConfig.name}</span>
</h1>
<p class="text-xl text-secondary-200">
ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ
</p>
</div>
</div>
</div>
<!-- Company Story -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 mb-16">
<div>
<h2 class="text-3xl font-bold text-secondary-900 mb-6">เรื่องราวของเรา</h2>
<div class="space-y-4 text-secondary-600">
<p>
{siteConfig.nameTh} ก่อตั้งขึ้นด้วยความมุ่งมั่นที่จะเป็นผู้นำด้านการจัดหาวัสดุท่อ
และอุปกรณ์ระบบท่อคุณภาพสูงให้กับลูกค้าในประเทศไทย
</p>
<p>
ด้วยประสบการณ์มากกว่า 10 ปีในอุตสาหกรรม เราได้สั่งสมความเชี่ยวชาญ
และสร้างเครือข่ายความร่วมมือกับผู้ผลิตชั้นนำทั้งในและต่างประเทศ
</p>
<p>
เรามุ่งมั่นให้บริการสินค้าที่ผ่านมาตรฐานคุณภาพ พร้อมคำแนะนำจากทีมงานมืออาชีพ
เพื่อให้ลูกค้าได้รับสินค้าที่เหมาะสมกับความต้องการ
</p>
</div>
</div>
<div class="relative aspect-video bg-secondary-100 rounded-xl overflow-hidden">
<img
src="/images/2021/03/hdpe-pipe_000C.jpg"
alt="เกี่ยวกับดีลพลัสเทค"
class="object-cover w-full h-full"
loading="lazy"
/>
</div>
</div>
<!-- Vision & Mission -->
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-16">
<div class="bg-secondary-800 p-8 rounded-xl">
<h3 class="text-2xl font-bold text-primary-400 mb-4">วิสัยทัศน์</h3>
<p class="text-secondary-200">
เป็นผู้นำตลาดวัสดุท่อและอุปกรณ์ระบบท่อในประเทศไทย
ที่ลูกค้าไว้วางใจในคุณภาพและการบริการ
</p>
</div>
<div class="bg-secondary-800 p-8 rounded-xl">
<h3 class="text-2xl font-bold text-primary-400 mb-4">พันธกิจ</h3>
<p class="text-secondary-200">
จัดหาสินค้าคุณภาพสูง ให้บริการที่เป็นเลิศ และสร้างความพึงพอใจสูงสุดให้ลูกค้า
</p>
</div>
</div>
<!-- Core Values -->
<div class="text-center mb-12">
<h2 class="text-3xl font-bold text-secondary-900 mb-8">ค่านิยมหลัก</h2>
<div class="grid grid-cols-1 md:grid-cols-4 gap-6">
<div class="p-6 bg-primary-50 rounded-xl">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<h4 class="font-bold text-secondary-900 mb-2">คุณภาพ</h4>
<p class="text-secondary-600 text-sm">สินค้าผ่านมาตรฐาน</p>
</div>
<div class="p-6 bg-primary-50 rounded-xl">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<h4 class="font-bold text-secondary-900 mb-2">รวดเร็ว</h4>
<p class="text-secondary-600 text-sm">จัดส่งรวดเร็วทันใจ</p>
</div>
<div class="p-6 bg-primary-50 rounded-xl">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
</svg>
</div>
<h4 class="font-bold text-secondary-900 mb-2">บริการ</h4>
<p class="text-secondary-600 text-sm">ทีมงานมืออาชีพ</p>
</div>
<div class="p-6 bg-primary-50 rounded-xl">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
</svg>
</div>
<h4 class="font-bold text-secondary-900 mb-2">ไว้ใจ</h4>
<p class="text-secondary-600 text-sm">ซื่อสัตย์ต่อลูกค้า</p>
</div>
</div>
</div>
</div>
</main>
<FloatingContact />
</BaseLayout>

View File

@@ -1,75 +0,0 @@
---
import { getCollection, render } from 'astro:content';
import BaseLayout from '../../layouts/BaseLayout.astro';
export async function getStaticPaths() {
const posts = await getCollection('blog');
return posts.map((post) => ({
params: { slug: post.id },
props: { post },
}));
}
interface Props {
post: CollectionEntry<'blog'>;
}
const { post } = Astro.props;
const { Content } = await render(post);
const { title, date, author, category, categories, image, featuredImage } = post.data;
// Support both 'category' and 'categories'
const postCategory = category || (Array.isArray(categories) ? categories[0] : 'ทั่วไป');
const postImage = image || featuredImage || '/images/2021/03/ppr-pipe_000C.jpg';
---
<BaseLayout title={title} description={post.data.excerpt}>
<main class="pt-32 pb-16">
<article class="container mx-auto px-4 max-w-4xl">
<!-- Header -->
<header class="mb-8">
<div class="flex items-center gap-4 mb-4">
<span class="industrial-badge">{postCategory}</span>
<time class="text-secondary-500">
{new Date(date).toLocaleDateString('th-TH', {
year: 'numeric',
month: 'long',
day: 'numeric',
})}
</time>
<span class="text-secondary-500">•</span>
<span class="text-secondary-500">{author}</span>
</div>
<h1 class="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
{title}
</h1>
</header>
<!-- Featured Image -->
<div class="relative aspect-video bg-secondary-100 rounded-xl overflow-hidden mb-8">
<img
src={postImage}
alt={title}
class="object-cover w-full h-full"
loading="lazy"
/>
</div>
<!-- Content -->
<div class="prose prose-lg max-w-none prose-headings:font-bold prose-a:text-primary-600 hover:prose-a:text-primary-700 prose-img:rounded-xl">
<Content />
</div>
<!-- Back to Blog -->
<div class="mt-12 pt-8 border-t border-secondary-200">
<a href="/blog/" class="inline-flex items-center text-primary-600 font-medium hover:text-primary-700 transition-colors">
<svg class="w-5 h-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M10 19l-7-7m0 0l7-7m-7 7h18" />
</svg>
กลับสู่หน้าบทความ
</a>
</div>
</article>
</main>
</BaseLayout>

View File

@@ -1,37 +0,0 @@
---
import { getCollection } from 'astro:content';
import BlogCard from '../../components/BlogCard.astro';
import BaseLayout from '../../layouts/BaseLayout.astro';
const posts = await getCollection('blog');
export const metadata = {
title: 'บทความความรู้',
description: 'บทความความรู้เกี่ยวกับวัสดุท่อ อุปกรณ์ระบบท่อ และเทคนิคการติดตั้ง',
};
export const prerender = true;
---
<BaseLayout title={metadata.title} description={metadata.description}>
<main class="pt-32 pb-16">
<div class="container mx-auto px-4">
<!-- Hero -->
<div class="text-center mb-12">
<h1 class="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
บทความ<span class="text-primary-600">ความรู้</span>
</h1>
<p class="text-xl text-secondary-600 max-w-2xl mx-auto">
บทความความรู้เกี่ยวกับวัสดุท่อ อุปกรณ์ระบบท่อ และเทคนิคการติดตั้ง
</p>
</div>
<!-- Blog Grid -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{posts.map((post) => (
<BlogCard post={post} />
))}
</div>
</div>
</main>
</BaseLayout>

View File

@@ -1,156 +0,0 @@
---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout
title="นโยบายคุกกี้"
description="นโยบายการใช้งานคุกกี้ของเว็บไซต์บริษัท ดีล พลัส เทค จำกัด"
>
<main class="min-h-screen bg-secondary-50">
<div class="container mx-auto px-4 py-12">
<div class="max-w-4xl mx-auto bg-white rounded-lg shadow-lg p-8 md:p-12">
<h1 class="text-4xl font-bold text-secondary-900 mb-4">นโยบายคุกกี้</h1>
<p class="text-secondary-600 mb-8">Cookie Policy - ปรับปรุงล่าสุด: 9 มีนาคม 2026</p>
<div class="prose prose-lg max-w-none text-secondary-700">
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">1. คุกกี้คืออะไร?</h2>
<p class="mb-4">
คุกกี้ (Cookie) คือไฟล์ข้อความขนาดเล็กที่เว็บไซต์บันทึกลงบนอุปกรณ์ของท่าน
(คอมพิวเตอร์, แท็บเล็ต, หรือมือถือ) เมื่อท่านเยี่ยมชมเว็บไซต์
คุกกี้ช่วยให้เว็บไซต์จดจำการกระทำและความชอบของท่าน ทำให้ประสบการณ์การใช้งานดีขึ้น
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">2. ประเภทคุกกี้ที่เราใช้</h2>
<p class="mb-4">เราใช้คุกกี้ 3 ประเภท:</p>
<div class="space-y-4">
<div class="bg-secondary-50 p-4 rounded-lg">
<h3 class="text-lg font-semibold mb-2">🔒 คุกกี้ที่จำเป็น (Essential Cookies)</h3>
<p class="text-sm">
คุกกี้เหล่านี้จำเป็นสำหรับการทำงานของเว็บไซต์ ไม่สามารถปิดใช้งานได้
ใช้สำหรับ: การจัดการเซสชัน, ความปลอดภัย, การทำงานพื้นฐานของเว็บไซต์
</p>
<p class="text-sm mt-2"><strong>ความยินยอม:</strong> ไม่จำเป็น (เปิดเสมอ)</p>
</div>
<div class="bg-secondary-50 p-4 rounded-lg">
<h3 class="text-lg font-semibold mb-2">📊 คุกกี้วิเคราะห์ (Analytics Cookies)</h3>
<p class="text-sm">
คุกกี้เหล่านี้帮助我们เก็บข้อมูลการใช้งานเว็บไซต์แบบไม่ระบุตัวตน
ใช้สำหรับ: การวิเคราะห์ผู้เยี่ยมชม, หน้าเว็บที่นิยม, อัตราการตีกลับ
</p>
<p class="text-sm mt-2"><strong>ความยินยอม:</strong> ต้องเปิดใช้งาน (Opt-in)</p>
</div>
<div class="bg-secondary-50 p-4 rounded-lg">
<h3 class="text-lg font-semibold mb-2">📢 คุกกี้การตลาด (Marketing Cookies)</h3>
<p class="text-sm">
คุกกี้เหล่านี้ใช้เพื่อติดตามผู้ใช้งานบนเว็บไซต์ต่าง ๆ
ใช้สำหรับ: การโฆษณาที่กำหนดเป้าหมาย, การวัดประสิทธิภาพโฆษณา
</p>
<p class="text-sm mt-2"><strong>ความยินยอม:</strong> ต้องเปิดใช้งาน (Opt-in)</p>
</div>
</div>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">3. คุกกี้ที่เราใช้</h2>
<div class="overflow-x-auto">
<table class="min-w-full border">
<thead class="bg-secondary-100">
<tr>
<th class="px-4 py-2 border text-left">ชื่อคุกกี้</th>
<th class="px-4 py-2 border text-left">ประเภท</th>
<th class="px-4 py-2 border text-left">ระยะเวลา</th>
<th class="px-4 py-2 border text-left">วัตถุประสงค์</th>
</tr>
</thead>
<tbody>
<tr>
<td class="px-4 py-2 border">session_id</td>
<td class="px-4 py-2 border">จำเป็น</td>
<td class="px-4 py-2 border">จนกว่าจะปิดเบราว์เซอร์</td>
<td class="px-4 py-2 border">จัดการเซสชัน</td>
</tr>
<tr>
<td class="px-4 py-2 border">consent-preferences</td>
<td class="px-4 py-2 border">จำเป็น</td>
<td class="px-4 py-2 border">1 ปี</td>
<td class="px-4 py-2 border">บันทึกการตั้งค่าคุกกี้</td>
</tr>
<tr>
<td class="px-4 py-2 border">umami analytics</td>
<td class="px-4 py-2 border">วิเคราะห์</td>
<td class="px-4 py-2 border">ไม่ใช้คุกกี้</td>
<td class="px-4 py-2 border">วิเคราะห์การใช้งาน (Privacy-first)</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">4. การจัดการคุกกี้</h2>
<p class="mb-4">ท่านสามารถจัดการการตั้งค่าคุกกี้ได้โดย:</p>
<ul class="list-disc pl-6 space-y-2">
<li><strong>แบนเนอร์คุกกี้:</strong> คลิกที่ปุ่ม "ปรับแต่ง" ในแบนเนอร์คุกกี้เพื่อเลือกคุกกี้ที่ต้องการ</li>
<li><strong>การตั้งค่าเบราว์เซอร์:</strong> เบราว์เซอร์ส่วนใหญ่ยอมให้ท่านบล็อกหรือลบคุกกี้ได้</li>
<li><strong>ลิงก์ในฟุตเตอร์:</strong> คลิก "การตั้งค่าคุกกี้" ที่ด้านล่างของหน้าเว็บ</li>
</ul>
<p class="mt-4">
<a href="#" id="openPreferences" class="text-primary-600 hover:underline font-semibold">
→ เปิดการตั้งค่าคุกกี้ตอนนี้
</a>
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">5. การเพิกถอนความยินยอม</h2>
<p class="mb-4">
ท่านสามารถเพิกถอนความยินยอมสำหรับคุกกี้วิเคราะห์และคุกกี้การตลาดเมื่อใดก็ได้
โดยไปที่การตั้งค่าคุกกี้และปิดการใช้งานคุกกี้เหล่านั้น
การเพิกถอนความยินยอมจะไม่มีผลต่อความถูกต้องของการประมวลผลก่อนการเพิกถอน
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">6. การอัปเดตนโยบาย</h2>
<p class="mb-4">
เราอาจอัปเดตนโยบายคุกกี้นี้เป็นครั้งคราว การเปลี่ยนแปลงใด ๆ จะถูกเผยแพร่บนหน้านี้
กรุณาตรวจสอบหน้าทนี้เป็นระยะเพื่อดูการเปลี่ยนแปลง
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">7. การติดต่อ</h2>
<p class="mb-4">หากมีคำถามเกี่ยวกับนโยบายคุกกี้นี้ กรุณาติดต่อ:</p>
<div class="bg-secondary-50 p-4 rounded-lg">
<p><strong>บริษัท ดีล พลัส เทค จำกัด</strong></p>
<p>อีเมล: info@dealplustech.co.th</p>
<p>โทรศัพท์: 090-555-1415</p>
</div>
</section>
<section class="mt-12 pt-8 border-t border-secondary-200">
<p class="text-sm text-secondary-600">
อ่านเพิ่มเติม: <a href="/privacy-policy/" class="text-primary-600 hover:underline">นโยบายความเป็นส่วนตัว</a> |
<a href="/terms-and-conditions/" class="text-primary-600 hover:underline">ข้อกำหนดและเงื่อนไข</a>
</p>
</section>
</div>
</div>
</div>
</main>
</BaseLayout>
<script>
// Open cookie preferences when clicked
document.getElementById('openPreferences')?.addEventListener('click', (e) => {
e.preventDefault();
// Dispatch custom event to open cookie preferences modal
window.dispatchEvent(new CustomEvent('open-cookie-preferences'));
});
</script>

View File

@@ -1,186 +0,0 @@
---
import BaseLayout from '../layouts/BaseLayout.astro';
import FloatingContact from '../components/FloatingContact.astro';
import { productCategories } from '../data/site-config';
// Featured products - key products for homepage
const featuredProducts = productCategories.filter(p =>
['ppr-elephant', 'hdpe', 'poloplast', 'syler', 'xylent'].includes(p.id)
).slice(0, 6);
---
<BaseLayout title="หน้าแรก" description="บริษัท ดีล พลัส เทค จำกัด - ผู้เชี่ยวชาญด้านระบบท่อและ HVAC">
<main>
<!-- Hero Section -->
<section class="relative h-[70vh] min-h-[500px] bg-secondary-900">
<div class="absolute inset-0 bg-gradient-to-r from-secondary-900 via-secondary-900/90 to-secondary-900/60 z-10" />
<img
src="/images/2021/03/ppr-pipe_000C.jpg"
alt="ท่อพีพีอาร์คุณภาพสูง"
class="absolute inset-0 w-full h-full object-cover opacity-50"
loading="eager"
/>
<div class="relative z-20 container mx-auto px-4 h-full flex items-center">
<div class="max-w-2xl">
<span class="inline-block px-4 py-2 bg-primary-600 text-white font-semibold mb-4 rounded">
ผู้เชี่ยวชาญด้านระบบท่อและ HVAC
</span>
<h1 class="text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-6 leading-tight">
วัสดุท่อ อุปกรณ์ HVAC
<span class="text-primary-400 block">และฉนวนหุ้มท่อ</span>
</h1>
<p class="text-lg md:text-xl text-secondary-200 mb-8">
จำหน่ายและติดตั้งท่อ PPR, ท่อ HDPE, กริลแอร์, เทอร์โมเบรค และอุปกรณ์ระบบท่อครบวงจร พร้อมบริการให้คำปรึกษาจากทีมมืออาชีพ
</p>
<div class="flex flex-wrap gap-4">
<a href="/products/" class="btn-primary">
ดูสินค้าทั้งหมด
</a>
<a href="/contact-us/" class="btn-outline border-white text-white hover:bg-white hover:text-secondary-900">
ขอใบเสนอราคา
</a>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="py-16 bg-secondary-800">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="text-center p-6">
<div class="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z" />
</svg>
</div>
<h3 class="text-xl font-bold text-white mb-2">สินค้าคุณภาพ</h3>
<p class="text-secondary-300">
สินค้าทุกชิ้นผ่านมาตรฐานคุณภาพ พร้อมรับประกัน
</p>
</div>
<div class="text-center p-6">
<div class="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
</div>
<h3 class="text-xl font-bold text-white mb-2">จัดส่งรวดเร็ว</h3>
<p class="text-secondary-300">
จัดส่งสินค้าทั่วประเทศ รวดเร็วและปลอดภัย
</p>
</div>
<div class="text-center p-6">
<div class="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
<svg class="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z" />
</svg>
</div>
<h3 class="text-xl font-bold text-white mb-2">บริการหลังการขาย</h3>
<p class="text-secondary-300">
ทีมงานพร้อมให้คำปรึกษาและดูแลอย่างต่อเนื่อง
</p>
</div>
</div>
</div>
</section>
<!-- Featured Products -->
<section class="py-16 bg-secondary-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl md:text-4xl font-bold text-secondary-900 mb-4">
สินค้า<span class="text-primary-600">เด่น</span>
</h2>
<p class="text-secondary-600 text-lg">ผลิตภัณฑ์คุณภาพสูงที่ได้รับความนิยม</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
{featuredProducts.map((product) => (
<a href={product.href} class="card group">
<div class="relative aspect-video bg-secondary-100 overflow-hidden">
<img
src={product.image}
alt={product.name}
class="object-cover w-full h-48 group-hover:scale-105 transition-transform duration-300"
loading="lazy"
/>
</div>
<div class="p-6">
<h3 class="text-lg font-bold text-secondary-900 group-hover:text-primary-600 transition-colors">
{product.name}
</h3>
<p class="mt-2 text-sm text-secondary-600 line-clamp-2">
{product.shortDescription || product.description}
</p>
<div class="mt-4 flex items-center text-primary-600 font-medium">
<span>ดูรายละเอียด</span>
<svg class="w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 5l7 7-7 7" />
</svg>
</div>
</div>
</a>
))}
</div>
<div class="text-center mt-12">
<a href="/products/" class="btn-primary">
ดูสินค้าทั้งหมด
</a>
</div>
</div>
</section>
<!-- About Preview -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-3xl md:text-4xl font-bold text-secondary-900 mb-6">
เกี่ยวกับ<span class="text-primary-600">เรา</span>
</h2>
<p class="text-lg text-secondary-600 mb-6">
บริษัท ดีล พลัส เทค จำกัด เราเป็นผู้เชียวชาญด้านระบบน้ำ ให้คำแนะนำและจำหน่ายท่อ PPR ตราช้าง ท่อพีพีอาร์ ท่อ PPR ท่อ HDPE Thai PPR คุณภาพสูง ราคาถูก
</p>
<p class="text-secondary-700 mb-8">
ด้วยประสบการณ์ยาวนาน เราพร้อมให้บริการสินค้าคุณภาพและคำแนะนำจากผู้เชี่ยวชาญ เพื่อให้งานระบบของคุณมีประสิทธิภาพสูงสุด
</p>
<a href="/about-us/" class="btn-secondary">
อ่านเพิ่มเติม
</a>
</div>
<div class="relative aspect-video bg-secondary-100 rounded-xl overflow-hidden">
<img
src="/images/2021/03/ppr-pipe_000C.jpg"
alt="เกี่ยวกับดีลพลัสเทค"
class="object-cover w-full h-full"
loading="lazy"
/>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="py-16 bg-primary-600">
<div class="container mx-auto px-4 text-center">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">
สนใจสินค้าหรือต้องการคำปรึกษา?
</h2>
<p class="text-xl text-primary-100 mb-8 max-w-2xl mx-auto">
ทีมงานของเราพร้อมให้คำแนะนำและช่วยคุณเลือกสินค้าที่เหมาะสมที่สุด
</p>
<div class="flex flex-wrap justify-center gap-4">
<a href="tel:090-555-1415" class="btn-secondary bg-white text-primary-600 hover:bg-primary-50">
โทร: 090-555-1415
</a>
<a href="https://line.me/ti/p/@dealplustech" target="_blank" rel="noopener" class="btn-outline border-white text-white hover:bg-white hover:text-primary-600">
เพิ่มเพื่อน LINE
</a>
</div>
</div>
</section>
</main>
<FloatingContact />
</BaseLayout>

View File

@@ -1,171 +0,0 @@
---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout
title="นโยบายความเป็นส่วนตัว"
description="นโยบายความเป็นส่วนตัวตามกฎหมายคุ้มครองข้อมูลส่วนบุคคล (PDPA) ของบริษัท ดีล พลัส เทค จำกัด"
>
<main class="min-h-screen bg-secondary-50">
<div class="container mx-auto px-4 py-12">
<div class="max-w-4xl mx-auto bg-white rounded-lg shadow-lg p-8 md:p-12">
<h1 class="text-4xl font-bold text-secondary-900 mb-4">นโยบายความเป็นส่วนตัว</h1>
<p class="text-secondary-600 mb-8">Privacy Policy - ปรับปรุงล่าสุด: 9 มีนาคม 2026</p>
<nav class="mb-8 p-4 bg-secondary-50 rounded-lg">
<h2 class="text-lg font-semibold mb-3">สารบัญ</h2>
<ul class="space-y-1 text-primary-600">
<li><a href="#section1" class="hover:underline">1. ข้อมูลผู้ควบคุมข้อมูลส่วนบุคคล</a></li>
<li><a href="#section2" class="hover:underline">2. ประเภทข้อมูลที่เก็บรวบรวม</a></li>
<li><a href="#section3" class="hover:underline">3. วัตถุประสงค์การเก็บรวบรวม</a></li>
<li><a href="#section4" class="hover:underline">4. ฐานทางกฎหมายสำหรับการประมวลผล</a></li>
<li><a href="#section5" class="hover:underline">5. ระยะเวลาเก็บรักษาข้อมูล</a></li>
<li><a href="#section6" class="hover:underline">6. การเปิดเผยข้อมูล</a></li>
<li><a href="#section9" class="hover:underline">7. คุกกี้และเทคโนโลยีการติดตาม</a></li>
<li><a href="#section10" class="hover:underline">8. สิทธิของเจ้าของข้อมูล</a></li>
<li><a href="#section11" class="hover:underline">9. มาตรการรักษาความปลอดภัย</a></li>
<li><a href="#section13" class="hover:underline">10. สิทธิร้องเรียน</a></li>
</ul>
</nav>
<div class="prose prose-lg max-w-none">
<section id="section1" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">1. ข้อมูลผู้ควบคุมข้อมูลส่วนบุคคล</h2>
<p class="text-secondary-700 mb-4">
<strong>บริษัท ดีล พลัส เทค จำกัด</strong> เป็นผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller)
ซึ่งมีหน้าที่ในการตัดสินใจเกี่ยวกับการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล
</p>
<div class="bg-secondary-50 p-4 rounded-lg">
<p class="text-secondary-700"><strong>ที่อยู่:</strong> 9/70 ซอยนครลุง 17 แขวงบางไผ่ เขตบางแค กทม. 10160</p>
<p class="text-secondary-700"><strong>เบอร์โทรศัพท์:</strong> 090-555-1415</p>
<p class="text-secondary-700"><strong>อีเมล:</strong> info@dealplustech.co.th</p>
</div>
</section>
<section id="section2" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">2. ประเภทข้อมูลที่เก็บรวบรวม</h2>
<p class="text-secondary-700 mb-4">เราเก็บรวบรวมข้อมูลส่วนบุคคลดังนี้:</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li><strong>ข้อมูลส่วนบุคคลทั่วไป:</strong> ชื่อ, นามสกุล, ที่อยู่อีเมล, เบอร์โทรศัพท์</li>
<li><strong>ข้อมูลการใช้งาน:</strong> IP Address, Browser Type, Device Information, Cookie Data</li>
<li><strong>ข้อมูลการติดต่อ:</strong> ข้อความหรือคำถามที่ท่านส่งถึงเรา</li>
</ul>
</section>
<section id="section3" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">3. วัตถุประสงค์การเก็บรวบรวม</h2>
<p class="text-secondary-700 mb-4">เราเก็บรวบรวมข้อมูลเพื่อวัตถุประสงค์ดังนี้:</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li>เพื่อให้บริการและตอบคำถามหรือคำขอของท่าน</li>
<li>เพื่อปรับปรุงประสบการณ์การใช้งานเว็บไซต์</li>
<li>เพื่อส่งข้อมูลข่าวสารและการตลาด (เมื่อได้รับความยินยอม)</li>
<li>เพื่อวิเคราะห์และปรับปรุงบริการของเรา</li>
<li>เพื่อปฏิบัติตามกฎหมายและข้อบังคับที่เกี่ยวข้อง</li>
</ul>
</section>
<section id="section4" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">4. ฐานทางกฎหมายสำหรับการประมวลผล</h2>
<p class="text-secondary-700 mb-4">เราประมวลผลข้อมูลส่วนบุคคลภายใต้ฐานทางกฎหมายดังนี้:</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li><strong>ความยินยอม (Consent):</strong> สำหรับการส่งข้อมูลการตลาดและการใช้คุกกี้บางประเภท</li>
<li><strong>การปฏิบัติตามสัญญา (Contract):</strong> เพื่อให้บริการที่ท่านร้องขอ</li>
<li><strong>ผลประโยชน์โดยชอบด้วยกฎหมาย (Legitimate Interest):</strong> เพื่อปรับปรุงบริการและวิเคราะห์การใช้งาน</li>
<li><strong>การปฏิบัติตามกฎหมาย (Legal Obligation):</strong> เมื่อจำเป็นต้องปฏิบัติตามกฎหมาย</li>
</ul>
</section>
<section id="section5" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">5. ระยะเวลาเก็บรักษาข้อมูล</h2>
<p class="text-secondary-700 mb-4">
เราเก็บรักษาข้อมูลส่วนบุคคลเป็นเวลา <strong>10 ปี</strong> ตามข้อกำหนดของกฎหมาย PDPA
หรือตราบเท่าที่จำเป็นสำหรับวัตถุประสงค์ที่ระบุไว้ข้างต้น
หลังจากสิ้นสุดระยะเวลาเก็บรักษา เราจะทำลายหรือทำให้ข้อมูลไม่สามารถระบุตัวตนได้
</p>
</section>
<section id="section6" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">6. การเปิดเผยข้อมูล</h2>
<p class="text-secondary-700 mb-4">
เราจะไม่เปิดเผยข้อมูลส่วนบุคคลของท่านให้กับบุคคลภายนอก เว้นแต่:
</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li>ท่านให้ความยินยอมอย่างชัดเจน</li>
<li>จำเป็นต้องปฏิบัติตามกฎหมายหรือคำสั่งศาล</li>
<li>จำเป็นสำหรับการให้บริการที่ท่านร้องขอ (เช่น ผู้ให้บริการจัดส่ง)</li>
<li>เพื่อปกป้องสิทธิและความปลอดภัยของเราและผู้อื่น</li>
</ul>
</section>
<section id="section9" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">7. คุกกี้และเทคโนโลยีการติดตาม</h2>
<p class="text-secondary-700 mb-4">
เราใช้คุกกี้และเทคโนโลยีการติดตามเพื่อปรับปรุงประสบการณ์การใช้งานเว็บไซต์ ท่านสามารถจัดการการตั้งค่าคุกกี้ได้ที่
<a href="/cookie-policy/" class="text-primary-600 hover:underline">นโยบายคุกกี้</a>
</p>
</section>
<section id="section10" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">8. สิทธิของเจ้าของข้อมูล</h2>
<p class="text-secondary-700 mb-4">
ภายใต้กฎหมาย PDPA ท่านมีสิทธิดังต่อไปนี้:
</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li><strong>สิทธิขอเข้าถึง:</strong> ขอรับสำเนาข้อมูลส่วนบุคคลที่ท่านให้ไว้</li>
<li><strong>สิทธิขอแก้ไข:</strong> ขอให้แก้ไขข้อมูลที่ไม่ถูกต้อง</li>
<li><strong>สิทธิขอ ลบ:</strong> ขอให้ ลบข้อมูลส่วนบุคคล (Right to Erasure)</li>
<li><strong>สิทธิขอระงับ:</strong> ขอให้ระงับการประมวลผลข้อมูล</li>
<li><strong>สิทธิขอพกพา:</strong> ขอรับข้อมูลในรูปแบบที่อ่านได้ทั่วไป</li>
<li><strong>สิทธิคัดค้าน:</strong> คัดค้านการประมวลผลข้อมูล</li>
<li><strong>สิทธิเพิกถอนความยินยอม:</strong> เพิกถอนความยินยอมที่ได้ให้ไว้ก่อนหน้า</li>
<li><strong>สิทธิร้องเรียน:</strong> ร้องเรียนต่อคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล</li>
</ul>
<p class="text-secondary-700 mt-4">
หากท่านต้องการใช้สิทธิเหล่านี้ กรุณาติดต่อเราที่ info@dealplustech.co.th
</p>
</section>
<section id="section11" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">9. มาตรการรักษาความปลอดภัย</h2>
<p class="text-secondary-700 mb-4">
เราใช้มาตรการรักษาความปลอดภัยที่เหมาะสมเพื่อปกป้องข้อมูลส่วนบุคคลของท่านจากการเข้าถึง
การใช้ การแก้ไข หรือการเปิดเผยโดยไม่ได้รับอนุญาต มาตรการเหล่านี้รวมถึง:
</p>
<ul class="list-disc pl-6 space-y-2 text-secondary-700">
<li>การเข้ารหัสข้อมูล (Encryption)</li>
<li>การควบคุมการเข้าถึง (Access Control)</li>
<li>การสำรองข้อมูลเป็นประจำ</li>
<li>การฝึกอบรมพนักงานเรื่องการคุ้มครองข้อมูล</li>
</ul>
</section>
<section id="section13" class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">10. สิทธิร้องเรียน</h2>
<p class="text-secondary-700 mb-4">
หากท่านเชื่อว่ามีการละเมิดกฎหมาย PDPA ท่านมีสิทธิร้องเรียนต่อ:
</p>
<div class="bg-secondary-50 p-4 rounded-lg">
<p class="text-secondary-700">
<strong>คณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (PDPC)</strong>
</p>
<p class="text-secondary-700">เว็บไซต์: www.pdpc.or.th</p>
<p class="text-secondary-700">อีเมล: info@pdpc.or.th</p>
</div>
</section>
<section class="mt-12 pt-8 border-t border-secondary-200">
<h2 class="text-xl font-bold text-secondary-900 mb-4">การติดต่อ</h2>
<p class="text-secondary-700">
หากมีคำถามเกี่ยวกับนโยบายความเป็นส่วนตัวนี้ กรุณาติดต่อ:
</p>
<div class="mt-4">
<p class="text-secondary-700"><strong>บริษัท ดีล พลัส เทค จำกัด</strong></p>
<p class="text-secondary-700">อีเมล: info@dealplustech.co.th</p>
<p class="text-secondary-700">โทรศัพท์: 090-555-1415</p>
</div>
</section>
</div>
</div>
</div>
</main>
</BaseLayout>

View File

@@ -1,21 +0,0 @@
---
import { getCollection } from 'astro:content';
import ProductCard from '../../components/ProductCard.astro';
import BaseLayout from '../../layouts/BaseLayout.astro';
const products = await getCollection('products');
---
<BaseLayout title="สินค้าทั้งหมด" description="รายการสินค้าทั้งหมดจาก Deal Plus Tech">
<main class="py-12">
<div class="container mx-auto px-4 max-w-6xl">
<h1 class="section-title mb-8">สินค้าทั้งหมด</h1>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{products.map((product) => (
<ProductCard product={product} />
))}
</div>
</div>
</main>
</BaseLayout>

View File

@@ -1,270 +0,0 @@
---
import BaseLayout from '../../layouts/BaseLayout.astro';
import FloatingContact from '../../components/FloatingContact.astro';
---
<BaseLayout title="บริการของเรา" description="บริการครบวงจร จำหน่ายวัสดุท่อ ให้คำปรึกษา ออกแบบระบบ และติดตั้ง">
<main>
<!-- Hero Section -->
<section class="relative h-[50vh] min-h-[400px] bg-secondary-900">
<div class="absolute inset-0 bg-gradient-to-r from-secondary-900 via-secondary-900/90 to-secondary-900/60 z-10" />
<img
src="/images/2021/03/hdpe-pipe_000C.jpg"
alt="บริการของเรา"
class="absolute inset-0 w-full h-full object-cover opacity-40"
loading="eager"
/>
<div class="relative z-20 container mx-auto px-4 h-full flex items-center">
<div class="max-w-2xl">
<span class="inline-block px-4 py-2 bg-primary-600 text-white font-semibold mb-4 rounded">
บริการครบวงจร
</span>
<h1 class="text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-6">
บริการ<span class="text-primary-400">ของเรา</span>
</h1>
<p class="text-xl text-secondary-200">
ตั้งแต่การให้คำปรึกษา ออกแบบ จัดส่ง จนถึงติดตั้ง เราพร้อมดูแลโครงการของคุณครบวงจร
</p>
</div>
</div>
</section>
<!-- Services Grid -->
<section class="py-20 bg-white">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Service 1 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
จำหน่ายวัสดุท่อ
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
จำหน่ายท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อครบวงจร สินค้าคุณภาพ ราคาแข่งขันได้
</p>
</div>
<!-- Service 2 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
ให้คำปรึกษา
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
ทีมงานมืออาชีพพร้อมให้คำปรึกษาเกี่ยวกับการเลือกวัสดุท่อที่เหมาะสมกับโครงการของคุณ
</p>
</div>
<!-- Service 3 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
ออกแบบระบบ
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
บริการออกแบบระบบท่อน้ำ ระบบดับเพลิง และระบบปรับอากาศ โดยวิศวกรผู้เชี่ยวชาญ
</p>
</div>
<!-- Service 4 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" />
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
ติดตั้งระบบ
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
ทีมช่างผู้เชี่ยวชาญติดตั้งระบบท่อครบวงจร พร้อมรับประกันงาน
</p>
</div>
<!-- Service 5 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
จัดส่งสินค้า
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
บริการจัดส่งสินค้าทั่วประเทศ รวดเร็ว ปลอดภัย มีประกันความเสียหาย
</p>
</div>
<!-- Service 6 -->
<div class="group p-8 bg-secondary-50 rounded-2xl hover:bg-primary-600 transition-all duration-300 hover:shadow-xl">
<div class="w-16 h-16 bg-primary-600 text-white rounded-xl flex items-center justify-center mb-6 group-hover:bg-white group-hover:text-primary-600 transition-colors">
<svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z" />
</svg>
</div>
<h3 class="text-xl font-bold text-secondary-900 mb-3 group-hover:text-white transition-colors">
บริการหลังการขาย
</h3>
<p class="text-secondary-600 group-hover:text-primary-100 transition-colors">
ทีมงานพร้อมให้การดูแลและบริการซ่อมบำรุงหลังการขายตลอดอายุการใช้งาน
</p>
</div>
</div>
</div>
</section>
<!-- Process Section -->
<section class="py-20 bg-secondary-900">
<div class="container mx-auto px-4">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">
ขั้นตอน<span class="text-primary-400">การทำงาน</span>
</h2>
<p class="text-secondary-300 text-lg max-w-2xl mx-auto">
เราให้ความสำคัญกับทุกขั้นตอน เพื่อให้ลูกค้าได้รับบริการที่ดีที่สุด
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- Step 1 -->
<div class="relative">
<div class="text-center">
<span class="text-6xl font-bold text-primary-600/30">01</span>
<h3 class="text-xl font-bold text-white mt-4 mb-2">ปรึกษา</h3>
<p class="text-secondary-400">ติดต่อเราเพื่อปรึกษาเกี่ยวกับความต้องการของโครงการ</p>
</div>
</div>
<!-- Step 2 -->
<div class="relative">
<div class="text-center">
<span class="text-6xl font-bold text-primary-600/30">02</span>
<h3 class="text-xl font-bold text-white mt-4 mb-2">ออกแบบ</h3>
<p class="text-secondary-400">ทีมวิศวกรออกแบบระบบให้เหมาะสมกับการใช้งาน</p>
</div>
</div>
<!-- Step 3 -->
<div class="relative">
<div class="text-center">
<span class="text-6xl font-bold text-primary-600/30">03</span>
<h3 class="text-xl font-bold text-white mt-4 mb-2">เสนอราคา</h3>
<p class="text-secondary-400">เสนอราคาสินค้าและบริการอย่างโปร่งใส</p>
</div>
</div>
<!-- Step 4 -->
<div class="relative">
<div class="text-center">
<span class="text-6xl font-bold text-primary-600/30">04</span>
<h3 class="text-xl font-bold text-white mt-4 mb-2">ติดตั้ง</h3>
<p class="text-secondary-400">ทีมช่างติดตั้งโดยมืออาชีพตรงตามกำหนด</p>
</div>
</div>
</div>
</div>
</section>
<!-- Why Choose Us -->
<section class="py-20 bg-secondary-50">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-3xl md:text-4xl font-bold text-secondary-900 mb-6">
ทำไมต้องเลือก<span class="text-primary-600">ดีลพลัสเทค</span>
</h2>
<div class="space-y-6">
<div class="flex gap-4">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<div>
<h3 class="font-bold text-secondary-900 mb-1">ประสบการณ์กว่า 10 ปี</h3>
<p class="text-secondary-600">เชี่ยวชาญด้านระบบท่อและอุปกรณ์ครบวงจร</p>
</div>
</div>
<div class="flex gap-4">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<div>
<h3 class="font-bold text-secondary-900 mb-1">สินค้าคุณภาพ</h3>
<p class="text-secondary-600">สินค้าผ่านมาตรฐาน มอก. / FM / UL พร้อมรับประกัน</p>
</div>
</div>
<div class="flex gap-4">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<div>
<h3 class="font-bold text-secondary-900 mb-1">ทีมงานมืออาชีพ</h3>
<p class="text-secondary-600">วิศวกรและช่างผู้เชี่ยวชาญพร้อมให้คำปรึกษา</p>
</div>
</div>
<div class="flex gap-4">
<div class="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
<svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width={2} d="M5 13l4 4L19 7" />
</svg>
</div>
<div>
<h3 class="font-bold text-secondary-900 mb-1">บริการรวดเร็ว</h3>
<p class="text-secondary-600">จัดส่งสินค้าทั่วประเทศ ตรงตามกำหนด</p>
</div>
</div>
</div>
</div>
<div class="relative aspect-video bg-secondary-200 rounded-2xl overflow-hidden">
<img
src="/images/2021/03/hdpe-welding_000C-1.jpg"
alt="ทีมงานมืออาชีพ"
class="object-cover w-full h-full"
loading="lazy"
/>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="py-20 bg-primary-600">
<div class="container mx-auto px-4 text-center">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">
พร้อมเริ่มโครงการของคุณ?
</h2>
<p class="text-primary-100 text-lg mb-8 max-w-">
ต2xl mx-autoิดต่อเราวันนี้เพื่อรับคำปรึกษาและใบเสนอราคาฟรี
</p>
<div class="flex flex-wrap justify-center gap-4">
<a href="/contact-us/" class="btn-secondary bg-white text-primary-600 hover:bg-primary-50">
ติดต่อเรา
</a>
<a href="tel:090-555-1415" class="btn-outline border-white text-white hover:bg-white hover:text-primary-600">
โทร: 090-555-1415
</a>
</div>
</div>
</section>
</main>
<FloatingContact />
</BaseLayout>

View File

@@ -1,130 +0,0 @@
---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout
title="ข้อกำหนดและเงื่อนไข"
description="ข้อกำหนดและเงื่อนไขการใช้งานเว็บไซต์ของบริษัท ดีล พลัส เทค จำกัด"
>
<main class="min-h-screen bg-secondary-50">
<div class="container mx-auto px-4 py-12">
<div class="max-w-4xl mx-auto bg-white rounded-lg shadow-lg p-8 md:p-12">
<h1 class="text-4xl font-bold text-secondary-900 mb-4">ข้อกำหนดและเงื่อนไข</h1>
<p class="text-secondary-600 mb-8">Terms and Conditions - มีผลบังคับใช้ตั้งแต่วันที่ 9 มีนาคม 2026</p>
<div class="prose prose-lg max-w-none text-secondary-700">
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">1. การยอมรับข้อกำหนด</h2>
<p class="mb-4">
ยินดีต้อนรับสู่เว็บไซต์ของ <strong>บริษัท ดีล พลัส เทค จำกัด</strong> ("เรา", "ของเรา" หรือ "เว็บไซต์")
โดยการเข้าใช้งานเว็บไซต์นี้ ท่านยอมรับว่าท่านได้อ่าน เข้าใจ และตกลงที่จะผูกพันกับข้อกำหนดและเงื่อนไขเหล่านี้
หากท่านไม่ยอมรับข้อกำหนดใด ๆ กรุณาหยุดการใช้งานเว็บไซต์นี้
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">2. คำอธิบายบริการ</h2>
<p class="mb-4">
เว็บไซต์นี้ให้บริการข้อมูลเกี่ยวกับสินค้าและบริการของเรา รวมถึง:
</p>
<ul class="list-disc pl-6 space-y-2">
<li>ข้อมูลผลิตภัณฑ์ท่อและอุปกรณ์ระบบ HVAC</li>
<li>ข้อมูลทางเทคนิคและสเปคสินค้า</li>
<li>บริการให้คำปรึกษา</li>
<li>ช่องทางการติดต่อและขอใบเสนอราคา</li>
</ul>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">3. สิทธิ์ในทรัพย์สินทางปัญญา</h2>
<p class="mb-4">
เนื้อหาทั้งหมดบนเว็บไซต์นี้ รวมถึงแต่ไม่จำกัดเพียง ข้อความ รูปภาพ กราฟิก โลโก้ ไอคอน
และซอฟต์แวร์ เป็นทรัพย์สินทางปัญญาของบริษัท ดีล พลัส เทค จำกัด และได้รับความคุ้มครองตามกฎหมายลิขสิทธิ์
ห้ามมิให้ทำซ้ำ ดัดแปลง เผยแพร่ หรือใช้เพื่อการค้าโดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">4. ข้อผูกมัดของผู้ใช้</h2>
<p class="mb-4">ท่านตกลงที่จะ:</p>
<ul class="list-disc pl-6 space-y-2">
<li>ใช้เว็บไซต์นี้เพื่อวัตถุประสงค์ที่ถูกต้องตามกฎหมายเท่านั้น</li>
<li>ไม่ให้ข้อมูลที่เป็นเท็จหรือไม่ถูกต้อง</li>
<li>ไม่พยายามเข้าถึงระบบหรือข้อมูลโดยไม่ได้รับอนุญาต</li>
<li>ไม่ใช้เว็บไซต์ในทางที่ผิดหรือเป็นอันตรายต่อผู้อื่น</li>
<li>เคารพสิทธิ์ในทรัพย์สินทางปัญญาของเรา</li>
</ul>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">5. การจำกัดความรับผิด</h2>
<p class="mb-4">
เราพยายามให้ข้อมูลที่ถูกต้องและทันสมัยบนเว็บไซต์ อย่างไรก็ตาม เราไม่รับประกันว่า:
</p>
<ul class="list-disc pl-6 space-y-2">
<li>ข้อมูลบนเว็บไซต์จะถูกต้อง ครบถ้วน หรือเป็นปัจจุบันเสมอ</li>
<li>เว็บไซต์จะทำงานได้โดยไม่มีการขัดข้องหรือปราศจากข้อผิดพลาด</li>
<li>เว็บไซต์จะปลอดภัยจากการโจมตีทางไซเบอร์หรือไวรัส</li>
</ul>
<p class="mt-4">
เราจะไม่รับผิดชอบต่อความเสียหายใด ๆ ที่เกิดขึ้นจากการใช้หรือไม่สามารถใช้เว็บไซต์นี้
ไม่ว่ากรณีใด ๆ ทั้งสิ้น
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">6. เงื่อนไขการ终止</h2>
<p class="mb-4">
เราขอสงวนสิทธิ์ในการระงับหรือยกเลิกการเข้าถึงเว็บไซต์ของท่าน โดยไม่ต้องแจ้งให้ทราบล่วงหน้า
หาก我们发现ว่าท่านละเมิดข้อกำหนดและเงื่อนไขเหล่านี้
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">7. กฎหมายที่ใช้บังคับ</h2>
<p class="mb-4">
ข้อกำหนดและเงื่อนไขนี้ อยู่ภายใต้บังคับของกฎหมายแห่งราชอาณาจักรไทย
และให้ตีความตามกฎหมายดังกล่าว
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">8. การระงับข้อพิพาท</h2>
<p class="mb-4">
หากเกิดข้อพิพาทใด ๆ จากข้อกำหนดและเงื่อนไขนี้ คู่สัญญาตกลงที่จะเจรจาไกล่เกลี่ยข้อพิพาท
หากไม่สามารถตกลงกันได้ ให้อยู่ในอำนาจพิจารณาคดีของศาลไทย
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">9. การแก้ไขข้อกำหนด</h2>
<p class="mb-4">
เราขอสงวนสิทธิ์ในการแก้ไขข้อกำหนดและเงื่อนไขนี้เมื่อใดก็ได้
โดยจะแจ้งให้ท่านทราบผ่านการเผยแพร่บนเว็บไซต์ การแก้ไขจะมีผลบังคับใช้ทันทีหลังการเผยแพร่
กรุณาตรวจสอบหน้าทนี้เป็นระยะ
</p>
</section>
<section class="mb-8">
<h2 class="text-2xl font-bold text-secondary-900 mb-4">10. ข้อมูลการติดต่อ</h2>
<p class="mb-4">หากมีคำถามเกี่ยวกับข้อกำหนดและเงื่อนไขนี้ กรุณาติดต่อ:</p>
<div class="bg-secondary-50 p-4 rounded-lg">
<p><strong>บริษัท ดีล พลัส เทค จำกัด</strong></p>
<p>ที่อยู่: 9/70 ซอยนครลุง 17 แขวงบางไผ่ เขตบางแค กทม. 10160</p>
<p>โทรศัพท์: 090-555-1415</p>
<p>อีเมล: info@dealplustech.co.th</p>
</div>
</section>
<section class="mt-12 pt-8 border-t border-secondary-200">
<p class="text-sm text-secondary-600">
ข้อกำหนดและเงื่อนไขนี้เป็นส่วนหนึ่งของข้อตกลงการใช้งานเว็บไซต์ของเรา
และต้องอ่านร่วมกับ <a href="/privacy-policy/" class="text-primary-600 hover:underline">นโยบายความเป็นส่วนตัว</a>
และ <a href="/cookie-policy/" class="text-primary-600 hover:underline">นโยบายคุกกี้</a>
</p>
</section>
</div>
</div>
</div>
</main>
</BaseLayout>

View File

@@ -1,157 +0,0 @@
@import "tailwindcss";
/* Deal Plus Tech - Industrial Theme */
@theme {
/* Primary Colors - Green for trust and growth */
--color-primary-50: #f0fdf4;
--color-primary-100: #dcfce7;
--color-primary-200: #bbf7d0;
--color-primary-300: #86efac;
--color-primary-400: #4ade80;
--color-primary-500: #22c55e;
--color-primary-600: #16a34a;
--color-primary-700: #15803d;
--color-primary-800: #166534;
--color-primary-900: #14532d;
/* Secondary Colors - Slate grays for industrial look */
--color-secondary-50: #f8fafc;
--color-secondary-100: #f1f5f9;
--color-secondary-200: #e2e8f0;
--color-secondary-300: #cbd5e1;
--color-secondary-400: #94a3b8;
--color-secondary-500: #64748b;
--color-secondary-600: #475569;
--color-secondary-700: #334155;
--color-secondary-800: #1e293b;
--color-secondary-900: #0f172a;
/* Accent Colors - Yellow for highlights */
--color-accent-400: #facc15;
--color-accent-500: #eab308;
--color-accent-600: #ca8a04;
/* Industrial custom colors */
--color-industrial-dark: #1a1a1a;
--color-industrial-light: #f5f5f5;
/* Font - Kanit for Thai support */
--font-sans: 'Kanit', system-ui, sans-serif;
--font-mono: ui-monospace, monospace;
/* Shadows */
--shadow-card: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--shadow-industrial: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--shadow-bold: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
@layer base {
html {
scroll-behavior: smooth;
/* Base font size */
font-size: 16px;
}
/* Responsive font sizes for larger screens */
@media (min-width: 1280px) {
html {
font-size: 18px;
}
}
@media (min-width: 1536px) {
html {
font-size: 20px;
}
}
@media (min-width: 1920px) {
html {
font-size: 22px;
}
}
@media (min-width: 2560px) {
html {
font-size: 24px;
}
}
body {
@apply bg-white text-secondary-900 antialiased;
}
h1, h2, h3, h4, h5, h6 {
@apply font-bold tracking-tight;
}
}
@layer components {
.btn-primary {
@apply inline-flex items-center justify-center px-6 py-3 md:px-8 md:py-4 bg-primary-600 text-white font-semibold rounded-lg
hover:bg-primary-700 transition-all duration-200 shadow-bold hover:shadow-industrial
active:translate-y-0.5 text-base md:text-lg;
}
.btn-secondary {
@apply inline-flex items-center justify-center px-6 py-3 md:px-8 md:py-4 bg-secondary-800 text-white font-semibold rounded-lg
hover:bg-secondary-900 transition-all duration-200 text-base md:text-lg;
}
.btn-outline {
@apply inline-flex items-center justify-center px-6 py-3 md:px-8 md:py-4 border-2 border-primary-600 text-primary-600 font-semibold rounded-lg
hover:bg-primary-600 hover:text-white transition-all duration-200 text-base md:text-lg;
}
.section-title {
@apply text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-bold text-secondary-900;
}
.section-subtitle {
@apply text-lg md:text-xl lg:text-2xl xl:text-3xl text-secondary-600 mt-4;
}
.card {
@apply bg-white rounded-xl shadow-card overflow-hidden transition-all duration-300
hover:shadow-industrial hover:-translate-y-1;
}
.card-industrial {
@apply bg-secondary-800 text-white rounded-xl p-6 border-l-4 border-primary-500;
}
.gradient-overlay {
@apply absolute inset-0 bg-gradient-to-r from-industrial-dark/90 to-industrial-dark/70;
}
.industrial-badge {
@apply inline-flex items-center px-3 py-1 md:px-4 md:py-2 bg-primary-600 text-white text-sm md:text-base font-semibold rounded;
}
}
@layer utilities {
.text-balance {
text-wrap: balance;
}
.text-gradient {
@apply bg-clip-text text-transparent bg-gradient-to-r from-primary-500 to-primary-700;
}
/* Responsive text utilities */
.text-responsive-sm {
@apply text-sm md:text-base lg:text-lg xl:text-xl;
}
.text-responsive-base {
@apply text-base md:text-lg lg:text-xl xl:text-2xl;
}
.text-responsive-lg {
@apply text-lg md:text-xl lg:text-2xl xl:text-3xl;
}
.text-responsive-xl {
@apply text-xl md:text-2xl lg:text-3xl xl:text-4xl;
}
}