Initial commit: New industrial design with green theme
This commit is contained in:
119
src/app/about-us/page.tsx
Normal file
119
src/app/about-us/page.tsx
Normal file
@@ -0,0 +1,119 @@
|
||||
import Image from 'next/image';
|
||||
import { siteConfig } from '@/data/site-config';
|
||||
|
||||
export const metadata = {
|
||||
title: 'เกี่ยวกับเรา',
|
||||
description: 'เรียนรู้เพิ่มเติมเกี่ยวกับดีลพลัสเทค ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ',
|
||||
};
|
||||
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Hero */}
|
||||
<div className="relative h-[400px] -mt-32 mb-12 rounded-b-3xl overflow-hidden">
|
||||
<div className="absolute inset-0 bg-gradient-to-r from-secondary-900 via-secondary-800 to-secondary-900" />
|
||||
<div className="absolute inset-0 flex items-center justify-center">
|
||||
<div className="text-center">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-white mb-4">
|
||||
เกี่ยวกับ<span className="text-primary-400">{siteConfig.name}</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-200">
|
||||
ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Company Story */}
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 mb-16">
|
||||
<div>
|
||||
<h2 className="text-3xl font-bold text-secondary-900 mb-6">เรื่องราวของเรา</h2>
|
||||
<div className="space-y-4 text-secondary-600">
|
||||
<p>
|
||||
{siteConfig.nameTh} ก่อตั้งขึ้นด้วยความมุ่งมั่นที่จะเป็นผู้นำด้านการจัดหาวัสดุท่อ
|
||||
และอุปกรณ์ระบบท่อคุณภาพสูงให้กับลูกค้าในประเทศไทย
|
||||
</p>
|
||||
<p>
|
||||
ด้วยประสบการณ์มากกว่า 10 ปีในอุตสาหกรรม เราได้สั่งสมความเชี่ยวชาญ
|
||||
และสร้างเครือข่ายความร่วมมือกับผู้ผลิตชั้นนำทั้งในและต่างประเทศ
|
||||
</p>
|
||||
<p>
|
||||
เรามุ่งมั่นให้บริการสินค้าที่ผ่านมาตรฐานคุณภาพ พร้อมคำแนะนำจากทีมงานมืออาชีพ
|
||||
เพื่อให้ลูกค้าได้รับสินค้าที่เหมาะสมกับความต้องการ
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative aspect-video bg-secondary-100 rounded-xl overflow-hidden">
|
||||
<Image
|
||||
src="/images/2021/03/hdpe-pipe_000C.jpg"
|
||||
alt="เกี่ยวกับดีลพลัสเทค"
|
||||
fill
|
||||
className="object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Vision & Mission */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-8 mb-16">
|
||||
<div className="card-industrial">
|
||||
<h3 className="text-2xl font-bold text-primary-400 mb-4">วิสัยทัศน์</h3>
|
||||
<p className="text-secondary-200">
|
||||
เป็นผู้นำตลาดวัสดุท่อและอุปกรณ์ระบบท่อในประเทศไทย
|
||||
ที่ลูกค้าไว้วางใจในคุณภาพและการบริการ
|
||||
</p>
|
||||
</div>
|
||||
<div className="card-industrial">
|
||||
<h3 className="text-2xl font-bold text-primary-400 mb-4">พันธกิจ</h3>
|
||||
<p className="text-secondary-200">
|
||||
จัดหาสินค้าคุณภาพสูง ให้บริการที่เป็นเลิศ และสร้างความพึงพอใจสูงสุดให้ลูกค้า
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Core Values */}
|
||||
<div className="text-center mb-12">
|
||||
<h2 className="text-3xl font-bold text-secondary-900 mb-8">ค่านิยมหลัก</h2>
|
||||
<div className="grid grid-cols-1 md:grid-cols-4 gap-6">
|
||||
<div className="p-6 bg-primary-50 rounded-xl">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
</div>
|
||||
<h4 className="font-bold text-secondary-900 mb-2">คุณภาพ</h4>
|
||||
<p className="text-secondary-600 text-sm">สินค้าผ่านมาตรฐาน</p>
|
||||
</div>
|
||||
<div className="p-6 bg-primary-50 rounded-xl">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
</div>
|
||||
<h4 className="font-bold text-secondary-900 mb-2">รวดเร็ว</h4>
|
||||
<p className="text-secondary-600 text-sm">จัดส่งรวดเร็วทันใจ</p>
|
||||
</div>
|
||||
<div className="p-6 bg-primary-50 rounded-xl">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 className="font-bold text-secondary-900 mb-2">บริการ</h4>
|
||||
<p className="text-secondary-600 text-sm">ทีมงานมืออาชีพ</p>
|
||||
</div>
|
||||
<div className="p-6 bg-primary-50 rounded-xl">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 className="font-bold text-secondary-900 mb-2">ไว้ใจ</h4>
|
||||
<p className="text-secondary-600 text-sm">ซื่อสัตย์ต่อลูกค้า</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
133
src/app/blog/[slug]/page.tsx
Normal file
133
src/app/blog/[slug]/page.tsx
Normal file
@@ -0,0 +1,133 @@
|
||||
import { notFound } from 'next/navigation';
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import matter from 'gray-matter';
|
||||
import { remark } from 'remark';
|
||||
import html from 'remark-html';
|
||||
|
||||
interface Props {
|
||||
params: { slug: string };
|
||||
}
|
||||
|
||||
async function getPost(slug: string) {
|
||||
const blogDir = path.join(process.cwd(), 'src/content/blog');
|
||||
const filePath = path.join(blogDir, `${slug}.md`);
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
||||
const { data, content } = matter(fileContent);
|
||||
|
||||
const processedContent = await remark()
|
||||
.use(html, { sanitize: false })
|
||||
.process(content);
|
||||
const contentHtml = processedContent.toString();
|
||||
|
||||
return {
|
||||
slug,
|
||||
title: data.title || 'ไม่มีชื่อ',
|
||||
excerpt: data.excerpt || '',
|
||||
date: data.date || new Date().toISOString(),
|
||||
author: data.author || 'ดีลพลัสเทค',
|
||||
category: data.category || 'ทั่วไป',
|
||||
image: data.image || '/images/2021/03/ppr-pipe_000C.jpg',
|
||||
content: contentHtml,
|
||||
};
|
||||
}
|
||||
|
||||
export async function generateMetadata({ params }: Props) {
|
||||
const post = await getPost(params.slug);
|
||||
if (!post) return { title: 'ไม่พบบทความ' };
|
||||
|
||||
return {
|
||||
title: post.title,
|
||||
description: post.excerpt,
|
||||
};
|
||||
}
|
||||
|
||||
export async function generateStaticParams() {
|
||||
const blogDir = path.join(process.cwd(), 'src/content/blog');
|
||||
const files = fs.readdirSync(blogDir).filter(f => f.endsWith('.md'));
|
||||
|
||||
return files.map(filename => ({
|
||||
slug: filename.replace('.md', ''),
|
||||
}));
|
||||
}
|
||||
|
||||
export default async function BlogPostPage({ params }: Props) {
|
||||
const post = await getPost(params.slug);
|
||||
|
||||
if (!post) {
|
||||
notFound();
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<article className="container mx-auto px-4">
|
||||
{/* Header */}
|
||||
<header className="max-w-3xl mx-auto mb-8">
|
||||
<Link
|
||||
href="/blog"
|
||||
className="inline-flex items-center text-primary-600 hover:text-primary-700 mb-4"
|
||||
>
|
||||
<svg className="w-4 h-4 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 19l-7-7 7-7" />
|
||||
</svg>
|
||||
กลับไปหน้าบทความ
|
||||
</Link>
|
||||
|
||||
<span className="industrial-badge">{post.category}</span>
|
||||
|
||||
<h1 className="text-3xl md:text-4xl lg:text-5xl font-bold text-secondary-900 mt-4 mb-4">
|
||||
{post.title}
|
||||
</h1>
|
||||
|
||||
<div className="flex items-center gap-4 text-secondary-600">
|
||||
<span>{post.author}</span>
|
||||
<span>•</span>
|
||||
<time>
|
||||
{new Date(post.date).toLocaleDateString('th-TH', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric',
|
||||
})}
|
||||
</time>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* Featured Image */}
|
||||
<div className="relative aspect-video max-w-4xl mx-auto rounded-xl overflow-hidden mb-8">
|
||||
<Image
|
||||
src={post.image}
|
||||
alt={post.title}
|
||||
fill
|
||||
className="object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div
|
||||
className="max-w-3xl mx-auto prose prose-lg prose-headings:font-bold prose-headings:text-secondary-900 prose-p:text-secondary-600 prose-a:text-primary-600 prose-strong:text-secondary-900"
|
||||
dangerouslySetInnerHTML={{ __html: post.content }}
|
||||
/>
|
||||
|
||||
{/* CTA */}
|
||||
<div className="max-w-3xl mx-auto mt-12 bg-secondary-800 rounded-2xl p-8 text-center">
|
||||
<h2 className="text-2xl font-bold text-white mb-4">
|
||||
สนใจสินค้าหรือบริการ?
|
||||
</h2>
|
||||
<p className="text-secondary-300 mb-6">
|
||||
ติดต่อเราเพื่อรับคำปรึกษาและใบเสนอราคาฟรี
|
||||
</p>
|
||||
<Link href="/contact-us" className="btn-primary">
|
||||
ติดต่อเรา
|
||||
</Link>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
101
src/app/blog/page.tsx
Normal file
101
src/app/blog/page.tsx
Normal file
@@ -0,0 +1,101 @@
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import matter from 'gray-matter';
|
||||
|
||||
export const metadata = {
|
||||
title: 'บทความ',
|
||||
description: 'บทความความรู้เกี่ยวกับวัสดุท่อ อุปกรณ์ระบบท่อ และเทคนิคการติดตั้ง',
|
||||
};
|
||||
|
||||
function getBlogPosts() {
|
||||
const blogDir = path.join(process.cwd(), 'src/content/blog');
|
||||
const files = fs.readdirSync(blogDir).filter(f => f.endsWith('.md'));
|
||||
|
||||
return files.map(filename => {
|
||||
const filePath = path.join(blogDir, filename);
|
||||
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
||||
const { data } = matter(fileContent);
|
||||
|
||||
return {
|
||||
slug: filename.replace('.md', ''),
|
||||
title: data.title || 'ไม่มีชื่อ',
|
||||
excerpt: data.excerpt || '',
|
||||
date: data.date || new Date().toISOString(),
|
||||
author: data.author || 'ดีลพลัสเทค',
|
||||
category: data.category || 'ทั่วไป',
|
||||
image: data.image || '/images/2021/03/ppr-pipe_000C.jpg',
|
||||
};
|
||||
}).sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime());
|
||||
}
|
||||
|
||||
export default function BlogPage() {
|
||||
const posts = getBlogPosts();
|
||||
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Hero */}
|
||||
<div className="text-center mb-12">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
|
||||
บทความ<span className="text-primary-600">ความรู้</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-600 max-w-2xl mx-auto">
|
||||
บทความความรู้เกี่ยวกับวัสดุท่อ อุปกรณ์ระบบท่อ และเทคนิคการติดตั้ง
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Blog Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||
{posts.map((post) => (
|
||||
<Link
|
||||
key={post.slug}
|
||||
href={`/blog/${post.slug}`}
|
||||
className="card group"
|
||||
>
|
||||
<div className="relative aspect-video bg-secondary-100">
|
||||
<Image
|
||||
src={post.image}
|
||||
alt={post.title}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
<div className="absolute top-4 left-4">
|
||||
<span className="industrial-badge">{post.category}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<time className="text-sm text-secondary-500">
|
||||
{new Date(post.date).toLocaleDateString('th-TH', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric',
|
||||
})}
|
||||
</time>
|
||||
<h3 className="text-xl font-bold text-secondary-900 mt-2 group-hover:text-primary-600 transition-colors">
|
||||
{post.title}
|
||||
</h3>
|
||||
<p className="text-secondary-600 text-sm mt-2 line-clamp-2">
|
||||
{post.excerpt}
|
||||
</p>
|
||||
<span className="text-primary-600 font-semibold flex items-center gap-2 mt-4">
|
||||
อ่านเพิ่มเติม
|
||||
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{posts.length === 0 && (
|
||||
<div className="text-center py-12">
|
||||
<p className="text-secondary-600">ยังไม่มีบทความในขณะนี้</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
181
src/app/contact-us/page.tsx
Normal file
181
src/app/contact-us/page.tsx
Normal file
@@ -0,0 +1,181 @@
|
||||
import { siteConfig, workHours } from '@/data/site-config';
|
||||
|
||||
export const metadata = {
|
||||
title: 'ติดต่อเรา',
|
||||
description: 'ติดต่อดีลพลัสเทค สอบถามข้อมูลสินค้า ขอใบเสนอราคา หรือติดต่อทีมงาน',
|
||||
};
|
||||
|
||||
export default function ContactPage() {
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Hero */}
|
||||
<div className="text-center mb-12">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
|
||||
ติดต่อ<span className="text-primary-600">เรา</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-600 max-w-2xl mx-auto">
|
||||
พร้อมให้บริการทุกวัน สอบถามข้อมูลสินค้าและขอใบเสนอราคาได้เลย
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
{/* Contact Info */}
|
||||
<div>
|
||||
<div className="bg-secondary-800 rounded-2xl p-8 mb-8">
|
||||
<h2 className="text-2xl font-bold text-white mb-6">ข้อมูลติดต่อ</h2>
|
||||
|
||||
<div className="space-y-6">
|
||||
<div className="flex items-start gap-4">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold text-white">ที่อยู่</h3>
|
||||
<p className="text-secondary-300">{siteConfig.address}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex items-start gap-4">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold text-white">โทรศัพท์</h3>
|
||||
<a href={`tel:${siteConfig.phone}`} className="text-primary-400 hover:text-primary-300">
|
||||
{siteConfig.phone}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex items-start gap-4">
|
||||
<div className="w-12 h-12 bg-primary-600 rounded-lg flex items-center justify-center flex-shrink-0">
|
||||
<svg className="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold text-white">อีเมล</h3>
|
||||
<a href={`mailto:${siteConfig.email}`} className="text-primary-400 hover:text-primary-300">
|
||||
{siteConfig.email}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex items-start gap-4">
|
||||
<div className="w-12 h-12 bg-[#00B900] rounded-lg flex items-center justify-center flex-shrink-0">
|
||||
<svg className="w-6 h-6 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>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold text-white">LINE Official</h3>
|
||||
<a
|
||||
href={`https://line.me/ti/p/${siteConfig.lineId}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-primary-400 hover:text-primary-300"
|
||||
>
|
||||
{siteConfig.lineId}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Business Hours */}
|
||||
<div className="bg-primary-600 rounded-2xl p-8">
|
||||
<h2 className="text-2xl font-bold text-white mb-6">เวลาทำการ</h2>
|
||||
<ul className="space-y-3">
|
||||
{workHours.map((item) => (
|
||||
<li key={item.day} className="flex justify-between">
|
||||
<span className="text-primary-100">{item.day}</span>
|
||||
<span className={`font-semibold ${item.isClosed ? 'text-red-200' : 'text-white'}`}>
|
||||
{item.hours}
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Contact Form */}
|
||||
<div>
|
||||
<div className="bg-white rounded-2xl shadow-card p-8">
|
||||
<h2 className="text-2xl font-bold text-secondary-900 mb-6">ส่งข้อความถึงเรา</h2>
|
||||
|
||||
<form className="space-y-6">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-secondary-700 mb-2">
|
||||
ชื่อ-นามสกุล *
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
className="w-full px-4 py-3 rounded-lg border border-secondary-200 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 outline-none transition-colors"
|
||||
placeholder="ชื่อของคุณ"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-secondary-700 mb-2">
|
||||
เบอร์โทรศัพท์ *
|
||||
</label>
|
||||
<input
|
||||
type="tel"
|
||||
className="w-full px-4 py-3 rounded-lg border border-secondary-200 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 outline-none transition-colors"
|
||||
placeholder="08x-xxx-xxxx"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-secondary-700 mb-2">
|
||||
อีเมล
|
||||
</label>
|
||||
<input
|
||||
type="email"
|
||||
className="w-full px-4 py-3 rounded-lg border border-secondary-200 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 outline-none transition-colors"
|
||||
placeholder="email@example.com"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-secondary-700 mb-2">
|
||||
หัวข้อ *
|
||||
</label>
|
||||
<select className="w-full px-4 py-3 rounded-lg border border-secondary-200 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 outline-none transition-colors">
|
||||
<option value="">เลือกหัวข้อ</option>
|
||||
<option value="quote">ขอใบเสนอราคา</option>
|
||||
<option value="product">สอบถามสินค้า</option>
|
||||
<option value="service">สอบถามบริการ</option>
|
||||
<option value="other">อื่นๆ</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-secondary-700 mb-2">
|
||||
ข้อความ *
|
||||
</label>
|
||||
<textarea
|
||||
rows={5}
|
||||
className="w-full px-4 py-3 rounded-lg border border-secondary-200 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 outline-none transition-colors resize-none"
|
||||
placeholder="รายละเอียดที่ต้องการสอบถาม..."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<button type="submit" className="btn-primary w-full">
|
||||
ส่งข้อความ
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
48
src/app/layout.tsx
Normal file
48
src/app/layout.tsx
Normal file
@@ -0,0 +1,48 @@
|
||||
import type { Metadata } from 'next';
|
||||
import { Kanit } from 'next/font/google';
|
||||
import '@/styles/globals.css';
|
||||
import Header from '@/components/layout/Header';
|
||||
import Footer from '@/components/layout/Footer';
|
||||
import FloatingContact from '@/components/layout/FloatingContact';
|
||||
|
||||
const kanit = Kanit({
|
||||
subsets: ['latin', 'thai'],
|
||||
weight: ['300', '400', '500', '600', '700'],
|
||||
variable: '--font-kanit',
|
||||
display: 'swap',
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
default: 'ดีลพลัสเทค - ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ',
|
||||
template: '%s | ดีลพลัสเทค',
|
||||
},
|
||||
description: 'ดีลพลัสเทค - ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ ท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อครบวงจร',
|
||||
keywords: ['ท่อพีพีอาร์', 'ท่อ HDPE', 'ท่อ PVC', 'วาล์ว', 'อุปกรณ์ท่อ', 'ดีลพลัสเทค'],
|
||||
authors: [{ name: 'Deal Plus Tech' }],
|
||||
openGraph: {
|
||||
type: 'website',
|
||||
locale: 'th_TH',
|
||||
url: 'https://dealplustech.co.th',
|
||||
siteName: 'ดีลพลัสเทค',
|
||||
title: 'ดีลพลัสเทค - ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ',
|
||||
description: 'ดีลพลัสเทค - ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ ท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อครบวงจร',
|
||||
},
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="th" className={kanit.variable}>
|
||||
<body className="font-sans">
|
||||
<Header />
|
||||
<main className="min-h-screen">{children}</main>
|
||||
<Footer />
|
||||
<FloatingContact />
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
20
src/app/not-found.tsx
Normal file
20
src/app/not-found.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function NotFound() {
|
||||
return (
|
||||
<div className="min-h-[60vh] flex items-center justify-center">
|
||||
<div className="text-center px-4">
|
||||
<h1 className="text-6xl font-bold text-secondary-900 mb-4">404</h1>
|
||||
<h2 className="text-2xl font-bold text-secondary-700 mb-4">
|
||||
ไม่พบหน้าที่คุณต้องการ
|
||||
</h2>
|
||||
<p className="text-secondary-600 mb-8">
|
||||
หน้าที่คุณกำลังค้นหาไม่มีอยู่หรือถูกย้ายแล้ว
|
||||
</p>
|
||||
<Link href="/" className="btn-primary">
|
||||
กลับหน้าแรก
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
198
src/app/page.tsx
Normal file
198
src/app/page.tsx
Normal file
@@ -0,0 +1,198 @@
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import { productCategories, siteConfig } from '@/data/site-config';
|
||||
|
||||
export default function HomePage() {
|
||||
const featuredProducts = productCategories.slice(0, 6);
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* Hero Section */}
|
||||
<section className="relative h-[80vh] min-h-[600px] bg-secondary-900">
|
||||
<div className="absolute inset-0 bg-gradient-to-r from-secondary-900 via-secondary-900/80 to-secondary-900/40 z-10" />
|
||||
<Image
|
||||
src="/images/2021/03/ppr-pipe_000C.jpg"
|
||||
alt="ท่อพีพีอาร์คุณภาพสูง"
|
||||
fill
|
||||
className="object-cover opacity-60"
|
||||
priority
|
||||
/>
|
||||
<div className="relative z-20 container mx-auto px-4 h-full flex items-center">
|
||||
<div className="max-w-2xl">
|
||||
<span className="inline-block px-4 py-2 bg-primary-600 text-white font-semibold mb-4">
|
||||
ผู้เชี่ยวชาญด้านระบบท่อ
|
||||
</span>
|
||||
<h1 className="text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-6">
|
||||
วัสดุท่อและอุปกรณ์
|
||||
<span className="text-primary-400">คุณภาพสูง</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-200 mb-8">
|
||||
{siteConfig.description}
|
||||
</p>
|
||||
<div className="flex flex-wrap gap-4">
|
||||
<Link href="/product" className="btn-primary">
|
||||
ดูสินค้าทั้งหมด
|
||||
</Link>
|
||||
<Link href="/contact-us" className="btn-outline border-white text-white hover:bg-white hover:text-secondary-900">
|
||||
ติดต่อเรา
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Features Section */}
|
||||
<section className="py-16 bg-secondary-800">
|
||||
<div className="container mx-auto px-4">
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div className="text-center p-6">
|
||||
<div className="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 className="text-xl font-bold text-white mb-2">สินค้าคุณภาพ</h3>
|
||||
<p className="text-secondary-300">
|
||||
สินค้าทุกชิ้นผ่านมาตรฐานคุณภาพ พร้อมรับประกัน
|
||||
</p>
|
||||
</div>
|
||||
<div className="text-center p-6">
|
||||
<div className="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
|
||||
</svg>
|
||||
</div>
|
||||
<h3 className="text-xl font-bold text-white mb-2">จัดส่งรวดเร็ว</h3>
|
||||
<p className="text-secondary-300">
|
||||
จัดส่งสินค้าทั่วประเทศ รวดเร็วและปลอดภัย
|
||||
</p>
|
||||
</div>
|
||||
<div className="text-center p-6">
|
||||
<div className="w-16 h-16 bg-primary-600 rounded-lg flex items-center justify-center mx-auto mb-4">
|
||||
<svg className="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 className="text-xl font-bold text-white mb-2">บริการหลังการขาย</h3>
|
||||
<p className="text-secondary-300">
|
||||
ทีมงานพร้อมให้คำปรึกษาและดูแลอย่างต่อเนื่อง
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Featured Products Section */}
|
||||
<section className="py-16">
|
||||
<div className="container mx-auto px-4">
|
||||
<div className="text-center mb-12">
|
||||
<h2 className="section-title">
|
||||
สินค้า<span className="text-primary-600">แนะนำ</span>
|
||||
</h2>
|
||||
<p className="section-subtitle">
|
||||
ผลิตภัณฑ์คุณภาพสูงที่ได้รับความนิยมจากลูกค้า
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||
{featuredProducts.map((product) => (
|
||||
<Link
|
||||
key={product.id}
|
||||
href={product.href}
|
||||
className="card group"
|
||||
>
|
||||
<div className="relative aspect-video bg-secondary-100">
|
||||
<Image
|
||||
src={product.image}
|
||||
alt={product.name}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
<div className="absolute top-4 left-4">
|
||||
<span className="industrial-badge">{product.nameEn}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<h3 className="text-xl font-bold text-secondary-900 mb-2 group-hover:text-primary-600 transition-colors">
|
||||
{product.name}
|
||||
</h3>
|
||||
<p className="text-secondary-600 text-sm mb-4">
|
||||
{product.shortDescription || product.description.slice(0, 100) + '...'}
|
||||
</p>
|
||||
<span className="text-primary-600 font-semibold flex items-center gap-2">
|
||||
ดูรายละเอียด
|
||||
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="text-center mt-12">
|
||||
<Link href="/product" className="btn-secondary">
|
||||
ดูสินค้าทั้งหมด
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* CTA Section */}
|
||||
<section className="py-16 bg-primary-600">
|
||||
<div className="container mx-auto px-4 text-center">
|
||||
<h2 className="text-3xl md:text-4xl font-bold text-white mb-4">
|
||||
พร้อมเริ่มโครงการของคุณ?
|
||||
</h2>
|
||||
<p className="text-primary-100 text-lg mb-8 max-w-2xl mx-auto">
|
||||
ติดต่อเราวันนี้เพื่อรับคำปรึกษาและใบเสนอราคาฟรี
|
||||
</p>
|
||||
<div className="flex flex-wrap justify-center gap-4">
|
||||
<a
|
||||
href={`tel:${siteConfig.phone}`}
|
||||
className="btn-secondary bg-white text-primary-600 hover:bg-primary-50"
|
||||
>
|
||||
โทรหาเรา: {siteConfig.phone}
|
||||
</a>
|
||||
<Link href="/contact-us" className="btn-outline border-white text-white hover:bg-white hover:text-primary-600">
|
||||
ส่งข้อความ
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* About Section */}
|
||||
<section className="py-16">
|
||||
<div className="container mx-auto px-4">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
|
||||
<div>
|
||||
<h2 className="section-title mb-6">
|
||||
เกี่ยวกับ<span className="text-primary-600">{siteConfig.name}</span>
|
||||
</h2>
|
||||
<p className="text-secondary-600 mb-4">
|
||||
{siteConfig.nameTh} เป็นผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อครบวงจร
|
||||
ด้วยประสบการณ์มากกว่า 10 ปี เรามุ่งมั่นให้บริการสินค้าคุณภาพสูง
|
||||
พร้อมคำแนะนำจากทีมงานมืออาชีพ
|
||||
</p>
|
||||
<p className="text-secondary-600 mb-6">
|
||||
เราจำหน่ายท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อหลากหลายประเภท
|
||||
รวมถึงอุปกรณ์แขวนท่อและอุปกรณ์ปรับอากาศ
|
||||
</p>
|
||||
<Link href="/about-us" className="btn-primary">
|
||||
เรียนรู้เพิ่มเติม
|
||||
</Link>
|
||||
</div>
|
||||
<div className="relative aspect-video bg-secondary-100 rounded-xl overflow-hidden">
|
||||
<Image
|
||||
src="/images/2021/03/hdpe-pipe_000C.jpg"
|
||||
alt="เกี่ยวกับดีลพลัสเทค"
|
||||
fill
|
||||
className="object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
);
|
||||
}
|
||||
82
src/app/portfolio/page.tsx
Normal file
82
src/app/portfolio/page.tsx
Normal file
@@ -0,0 +1,82 @@
|
||||
import Image from 'next/image';
|
||||
|
||||
export const metadata = {
|
||||
title: 'ผลงานของเรา',
|
||||
description: 'ผลงานโครงการต่างๆ ที่ดีลพลัสเทคได้ร่วมเป็นส่วนหนึ่ง',
|
||||
};
|
||||
|
||||
const portfolioItems = [
|
||||
{
|
||||
title: 'โครงการอาคารสำนักงาน',
|
||||
category: 'อาคารพาณิชย์',
|
||||
image: '/images/2021/03/hdpe-pipe_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'โครงการโรงงานอุตสาหกรรม',
|
||||
category: 'อุตสาหกรรม',
|
||||
image: '/images/2021/03/ppr-pipe_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'โครงการบ้านพักอาศัย',
|
||||
category: 'ที่อยู่อาศัย',
|
||||
image: '/images/2021/03/pvc-pipe_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'โครงการระบบดับเพลิง',
|
||||
category: 'ระบบดับเพลิง',
|
||||
image: '/images/2021/03/realflex_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'โครงการระบบปรับอากาศ',
|
||||
category: 'HVAC',
|
||||
image: '/images/2021/03/grilles_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'โครงการระบบประปา',
|
||||
category: 'ระบบประปา',
|
||||
image: '/images/2021/03/upvc-pipe_000C.jpg',
|
||||
},
|
||||
];
|
||||
|
||||
export default function PortfolioPage() {
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Hero */}
|
||||
<div className="text-center mb-12">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
|
||||
ผลงาน<span className="text-primary-600">ของเรา</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-600 max-w-2xl mx-auto">
|
||||
โครงการต่างๆ ที่เราได้ร่วมเป็นส่วนหนึ่งในการจัดหาวัสดุ
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Portfolio Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
{portfolioItems.map((item, index) => (
|
||||
<div key={index} className="card group cursor-pointer">
|
||||
<div className="relative aspect-video bg-secondary-100">
|
||||
<Image
|
||||
src={item.image}
|
||||
alt={item.title}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-gradient-to-t from-secondary-900/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity" />
|
||||
<div className="absolute bottom-0 left-0 right-0 p-4 translate-y-full group-hover:translate-y-0 transition-transform">
|
||||
<span className="text-primary-400 text-sm">{item.category}</span>
|
||||
<h3 className="text-white font-bold">{item.title}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-4 group-hover:hidden">
|
||||
<span className="text-xs text-primary-600 font-semibold">{item.category}</span>
|
||||
<h3 className="text-lg font-bold text-secondary-900 mt-1">{item.title}</h3>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
65
src/app/product/page.tsx
Normal file
65
src/app/product/page.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import { productCategories } from '@/data/site-config';
|
||||
|
||||
export const metadata = {
|
||||
title: 'สินค้า - ท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว อุปกรณ์ท่อ',
|
||||
description: 'สินค้าครบวงจร ท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว อุปกรณ์แขวนท่อ อุปกรณ์ปรับอากาศ และอุปกรณ์ดับเพลิง',
|
||||
};
|
||||
|
||||
export default function ProductPage() {
|
||||
// Group products by category
|
||||
const categories = productCategories.reduce((acc, product) => {
|
||||
const cat = product.slug;
|
||||
if (!acc[cat]) {
|
||||
acc[cat] = [];
|
||||
}
|
||||
acc[cat].push(product);
|
||||
return acc;
|
||||
}, {} as Record<string, typeof productCategories>);
|
||||
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Page Header */}
|
||||
<div className="text-center mb-12">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
|
||||
สินค้า<span className="text-primary-600">ทั้งหมด</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-600 max-w-2xl mx-auto">
|
||||
วัสดุท่อและอุปกรณ์ระบบท่อคุณภาพสูงครบวงจร
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Products Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
|
||||
{productCategories.map((product) => (
|
||||
<Link
|
||||
key={product.id}
|
||||
href={product.href}
|
||||
className="card group"
|
||||
>
|
||||
<div className="relative aspect-video bg-secondary-100">
|
||||
<Image
|
||||
src={product.image}
|
||||
alt={product.name}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
</div>
|
||||
<div className="p-4">
|
||||
<span className="text-xs text-primary-600 font-semibold">{product.nameEn}</span>
|
||||
<h3 className="text-lg font-bold text-secondary-900 mt-1 group-hover:text-primary-600 transition-colors">
|
||||
{product.name}
|
||||
</h3>
|
||||
<p className="text-secondary-600 text-sm mt-2 line-clamp-2">
|
||||
{product.shortDescription || product.description}
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
83
src/app/services/page.tsx
Normal file
83
src/app/services/page.tsx
Normal file
@@ -0,0 +1,83 @@
|
||||
import Image from 'next/image';
|
||||
|
||||
export const metadata = {
|
||||
title: 'บริการของเรา',
|
||||
description: 'บริการครบวงจร จำหน่ายวัสดุท่อ ให้คำปรึกษา ออกแบบระบบ และติดตั้ง',
|
||||
};
|
||||
|
||||
const services = [
|
||||
{
|
||||
title: 'จำหน่ายวัสดุท่อ',
|
||||
description: 'จำหน่ายท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อครบวงจร สินค้าคุณภาพ ราคาแข่งขันได้',
|
||||
image: '/images/2021/03/ppr-pipe_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'ให้คำปรึกษา',
|
||||
description: 'ทีมงานมืออาชีพพร้อมให้คำปรึกษาเกี่ยวกับการเลือกวัสดุท่อที่เหมาะสมกับโครงการของคุณ',
|
||||
image: '/images/2021/03/hdpe-pipe_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'ออกแบบระบบ',
|
||||
description: 'บริการออกแบบระบบท่อน้ำ ระบบดับเพลิง และระบบปรับอากาศ โดยวิศวกรผู้เชี่ยวชาญ',
|
||||
image: '/images/2021/03/valve_000C.jpg',
|
||||
},
|
||||
{
|
||||
title: 'จัดส่งสินค้า',
|
||||
description: 'บริการจัดส่งสินค้าทั่วประเทศ รวดเร็ว ปลอดภัย มีประกันความเสียหาย',
|
||||
image: '/images/2021/03/hdpe-welding_000C-1.jpg',
|
||||
},
|
||||
];
|
||||
|
||||
export default function ServicesPage() {
|
||||
return (
|
||||
<div className="pt-32 pb-16">
|
||||
<div className="container mx-auto px-4">
|
||||
{/* Hero */}
|
||||
<div className="text-center mb-12">
|
||||
<h1 className="text-4xl md:text-5xl font-bold text-secondary-900 mb-4">
|
||||
บริการ<span className="text-primary-600">ของเรา</span>
|
||||
</h1>
|
||||
<p className="text-xl text-secondary-600 max-w-2xl mx-auto">
|
||||
บริการครบวงจรตั้งแต่การให้คำปรึกษาจนถึงการจัดส่งสินค้า
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Services Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
{services.map((service, index) => (
|
||||
<div key={index} className="card overflow-hidden group">
|
||||
<div className="relative h-64 bg-secondary-100">
|
||||
<Image
|
||||
src={service.image}
|
||||
alt={service.title}
|
||||
fill
|
||||
className="object-cover group-hover:scale-105 transition-transform duration-300"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-gradient-to-t from-secondary-900/80 to-transparent" />
|
||||
<div className="absolute bottom-0 left-0 right-0 p-6">
|
||||
<h3 className="text-2xl font-bold text-white">{service.title}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<p className="text-secondary-600">{service.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* CTA */}
|
||||
<div className="mt-16 bg-secondary-800 rounded-2xl p-8 md:p-12 text-center">
|
||||
<h2 className="text-3xl font-bold text-white mb-4">
|
||||
พร้อมเริ่มโครงการของคุณ?
|
||||
</h2>
|
||||
<p className="text-secondary-300 mb-6 max-w-xl mx-auto">
|
||||
ติดต่อเราวันนี้เพื่อรับคำปรึกษาและใบเสนอราคาฟรี
|
||||
</p>
|
||||
<a href="/contact-us" className="btn-primary">
|
||||
ติดต่อเรา
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
33
src/components/layout/FloatingContact.tsx
Normal file
33
src/components/layout/FloatingContact.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
'use client';
|
||||
|
||||
import { siteConfig } from '@/data/site-config';
|
||||
|
||||
export default function FloatingContact() {
|
||||
return (
|
||||
<div className="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"
|
||||
className="w-14 h-14 bg-[#00B900] rounded-full flex items-center justify-center shadow-lg hover:scale-110 transition-transform"
|
||||
aria-label="ติดต่อผ่าน LINE"
|
||||
>
|
||||
<svg className="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}`}
|
||||
className="w-14 h-14 bg-primary-600 rounded-full flex items-center justify-center shadow-lg hover:scale-110 transition-transform"
|
||||
aria-label="โทรหาเรา"
|
||||
>
|
||||
<svg className="w-7 h-7 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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>
|
||||
);
|
||||
}
|
||||
119
src/components/layout/Footer.tsx
Normal file
119
src/components/layout/Footer.tsx
Normal file
@@ -0,0 +1,119 @@
|
||||
import Link from 'next/link';
|
||||
import { siteConfig, workHours, mainNavigation } from '@/data/site-config';
|
||||
|
||||
export default function Footer() {
|
||||
return (
|
||||
<footer className="bg-secondary-900 text-white">
|
||||
{/* Main Footer */}
|
||||
<div className="container mx-auto px-4 py-12">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
|
||||
{/* Company Info */}
|
||||
<div>
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<div className="w-10 h-10 bg-primary-600 rounded-lg flex items-center justify-center">
|
||||
<span className="text-white font-bold text-xl">D</span>
|
||||
</div>
|
||||
<div>
|
||||
<span className="font-bold text-lg">{siteConfig.name}</span>
|
||||
<span className="block text-primary-400 text-xs">{siteConfig.nameTh}</span>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-secondary-300 text-sm mb-4">
|
||||
{siteConfig.description}
|
||||
</p>
|
||||
<div className="flex gap-3">
|
||||
<a
|
||||
href={siteConfig.facebookUrl}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="w-10 h-10 bg-secondary-800 rounded-lg flex items-center justify-center hover:bg-primary-600 transition-colors"
|
||||
>
|
||||
<svg className="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"
|
||||
className="w-10 h-10 bg-secondary-800 rounded-lg flex items-center justify-center hover:bg-primary-600 transition-colors"
|
||||
>
|
||||
<svg className="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 className="text-lg font-bold mb-4 text-primary-400">ลิงก์ด่วน</h3>
|
||||
<ul className="space-y-2">
|
||||
{mainNavigation.slice(0, 5).map((item) => (
|
||||
<li key={item.href}>
|
||||
<Link href={item.href} className="text-secondary-300 hover:text-white transition-colors">
|
||||
{item.label}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Contact Info */}
|
||||
<div>
|
||||
<h3 className="text-lg font-bold mb-4 text-primary-400">ติดต่อเรา</h3>
|
||||
<ul className="space-y-3">
|
||||
<li className="flex items-start gap-3">
|
||||
<svg className="w-5 h-5 text-primary-500 mt-0.5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||
</svg>
|
||||
<span className="text-secondary-300 text-sm">{siteConfig.address}</span>
|
||||
</li>
|
||||
<li className="flex items-center gap-3">
|
||||
<svg className="w-5 h-5 text-primary-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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}`} className="text-secondary-300 hover:text-white text-sm">
|
||||
{siteConfig.phone}
|
||||
</a>
|
||||
</li>
|
||||
<li className="flex items-center gap-3">
|
||||
<svg className="w-5 h-5 text-primary-500" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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}`} className="text-secondary-300 hover:text-white text-sm">
|
||||
{siteConfig.email}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Business Hours */}
|
||||
<div>
|
||||
<h3 className="text-lg font-bold mb-4 text-primary-400">เวลาทำการ</h3>
|
||||
<ul className="space-y-2">
|
||||
{workHours.map((item) => (
|
||||
<li key={item.day} className="flex justify-between text-sm">
|
||||
<span className="text-secondary-300">{item.day}</span>
|
||||
<span className={item.isClosed ? 'text-red-400' : 'text-white'}>
|
||||
{item.hours}
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Bottom Bar */}
|
||||
<div className="border-t border-secondary-800">
|
||||
<div className="container mx-auto px-4 py-4">
|
||||
<p className="text-center text-secondary-400 text-sm">
|
||||
© {new Date().getFullYear()} {siteConfig.name}. สงวนลิขสิทธิ์.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
}
|
||||
157
src/components/layout/Header.tsx
Normal file
157
src/components/layout/Header.tsx
Normal file
@@ -0,0 +1,157 @@
|
||||
'use client';
|
||||
|
||||
import { useState } from 'react';
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import { siteConfig, mainNavigation } from '@/data/site-config';
|
||||
import { cn } from '@/lib/utils';
|
||||
|
||||
export default function Header() {
|
||||
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
||||
const [activeDropdown, setActiveDropdown] = useState<string | null>(null);
|
||||
|
||||
return (
|
||||
<header className="fixed top-0 left-0 right-0 z-50 bg-secondary-900 shadow-industrial">
|
||||
{/* Top Bar */}
|
||||
<div className="bg-primary-600 py-2">
|
||||
<div className="container mx-auto px-4 flex justify-between items-center text-sm">
|
||||
<div className="flex items-center gap-6 text-white">
|
||||
<a href={`tel:${siteConfig.phone}`} className="flex items-center gap-2 hover:text-primary-100">
|
||||
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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}`} className="flex items-center gap-2 hover:text-primary-100">
|
||||
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={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 className="hidden md:flex items-center gap-4">
|
||||
<a href={`https://line.me/ti/p/${siteConfig.lineId}`} className="flex items-center gap-1 text-white hover:text-primary-100">
|
||||
<svg className="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 className="container mx-auto px-4">
|
||||
<div className="flex items-center justify-between h-16">
|
||||
{/* Logo */}
|
||||
<Link href="/" className="flex items-center gap-3">
|
||||
<div className="w-10 h-10 bg-primary-600 rounded-lg flex items-center justify-center">
|
||||
<span className="text-white font-bold text-xl">D</span>
|
||||
</div>
|
||||
<div>
|
||||
<span className="text-white font-bold text-lg">{siteConfig.name}</span>
|
||||
<span className="block text-primary-400 text-xs">{siteConfig.nameTh}</span>
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
{/* Desktop Navigation */}
|
||||
<div className="hidden lg:flex items-center gap-1">
|
||||
{mainNavigation.map((item) => (
|
||||
<div
|
||||
key={item.href}
|
||||
className="relative"
|
||||
onMouseEnter={() => item.children && setActiveDropdown(item.href)}
|
||||
onMouseLeave={() => setActiveDropdown(null)}
|
||||
>
|
||||
<Link
|
||||
href={item.href}
|
||||
className={cn(
|
||||
"px-4 py-2 text-white font-medium hover:text-primary-400 transition-colors flex items-center gap-1",
|
||||
item.children && "pr-2"
|
||||
)}
|
||||
>
|
||||
{item.label}
|
||||
{item.children && (
|
||||
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 9l-7 7-7-7" />
|
||||
</svg>
|
||||
)}
|
||||
</Link>
|
||||
|
||||
{/* Dropdown */}
|
||||
{item.children && activeDropdown === item.href && (
|
||||
<div className="absolute top-full left-0 w-64 bg-white shadow-industrial rounded-lg py-2 mt-1">
|
||||
{item.children.map((child) => (
|
||||
<div key={child.href} className="relative group">
|
||||
<Link
|
||||
href={child.href}
|
||||
className="block px-4 py-2 text-secondary-700 hover:bg-primary-50 hover:text-primary-700 transition-colors"
|
||||
>
|
||||
{child.label}
|
||||
</Link>
|
||||
{child.children && (
|
||||
<div className="hidden group-hover:block absolute left-full top-0 w-56 bg-white shadow-industrial rounded-lg py-2">
|
||||
{child.children.map((subChild) => (
|
||||
<Link
|
||||
key={subChild.href}
|
||||
href={subChild.href}
|
||||
className="block px-4 py-2 text-secondary-700 hover:bg-primary-50 hover:text-primary-700"
|
||||
>
|
||||
{subChild.label}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
<Link href="/contact-us" className="btn-primary ml-4">
|
||||
ติดต่อเรา
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Mobile Menu Button */}
|
||||
<button
|
||||
className="lg:hidden text-white p-2"
|
||||
onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
|
||||
>
|
||||
<svg className="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
{mobileMenuOpen ? (
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
|
||||
) : (
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 6h16M4 12h16M4 18h16" />
|
||||
)}
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Mobile Menu */}
|
||||
{mobileMenuOpen && (
|
||||
<div className="lg:hidden py-4 border-t border-secondary-700">
|
||||
{mainNavigation.map((item) => (
|
||||
<div key={item.href}>
|
||||
<Link
|
||||
href={item.href}
|
||||
className="block px-4 py-2 text-white hover:text-primary-400"
|
||||
onClick={() => setMobileMenuOpen(false)}
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
</div>
|
||||
))}
|
||||
<Link
|
||||
href="/contact-us"
|
||||
className="block mx-4 mt-4 btn-primary text-center"
|
||||
onClick={() => setMobileMenuOpen(false)}
|
||||
>
|
||||
ติดต่อเรา
|
||||
</Link>
|
||||
</div>
|
||||
)}
|
||||
</nav>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
104
src/content/blog/ข้อดี-ท่อ-hdpe.md
Normal file
104
src/content/blog/ข้อดี-ท่อ-hdpe.md
Normal file
@@ -0,0 +1,104 @@
|
||||
---
|
||||
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)
|
||||
80
src/content/blog/ท่อ-ppr-คืออะไร.md
Normal file
80
src/content/blog/ท่อ-ppr-คืออะไร.md
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
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 ทั้งหมด](/ท่อพีพีอาร์ตราช้าง)
|
||||
126
src/content/blog/บำรุงรักษาปั๊มน้ำ.md
Normal file
126
src/content/blog/บำรุงรักษาปั๊มน้ำ.md
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
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)
|
||||
690
src/data/site-config.ts
Normal file
690
src/data/site-config.ts
Normal file
@@ -0,0 +1,690 @@
|
||||
import { SiteConfig, NavItem, ProductCategory, WorkHours } from '@/types';
|
||||
|
||||
export const siteConfig: SiteConfig = {
|
||||
name: 'Deal Plus Tech',
|
||||
nameTh: 'ดีลพลัสเทค',
|
||||
url: 'https://dealplustech.co.th',
|
||||
description: 'ดีลพลัสเทค - ผู้เชี่ยวชาญด้านวัสดุท่อและอุปกรณ์ระบบท่อ ท่อพีพีอาร์ ท่อ HDPE ท่อ PVC วาล์ว และอุปกรณ์ต่อท่อครบวงจร',
|
||||
phone: '02-xxx-xxxx',
|
||||
email: 'info@dealplustech.co.th',
|
||||
lineId: '@dealplustech',
|
||||
facebookUrl: 'https://facebook.com/dealplustech',
|
||||
address: 'กรุงเทพมหานคร ประเทศไทย',
|
||||
};
|
||||
|
||||
export const workHours: WorkHours[] = [
|
||||
{ day: 'จันทร์ - ศุกร์', hours: '08:30 - 17:30' },
|
||||
{ day: 'เสาร์', hours: '08:30 - 12:00' },
|
||||
{ day: 'อาทิตย์', hours: 'ปิดทำการ', isClosed: true },
|
||||
];
|
||||
|
||||
// Product Categories with SEO content
|
||||
export const productCategories: ProductCategory[] = [
|
||||
// ท่อพีพีอาร์ (PPR Pipe)
|
||||
{
|
||||
id: 'ppr-scg',
|
||||
name: 'ท่อพีพีอาร์ตราช้าง',
|
||||
nameEn: 'SCG PPR Pipe',
|
||||
slug: 'ท่อพีพีอาร์',
|
||||
href: '/ท่อพีพีอาร์/ตราช้าง-scg',
|
||||
image: '/images/2021/03/ppr-pipe_000C.jpg',
|
||||
description: 'ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี',
|
||||
shortDescription: 'ท่อพีพีอาร์ตราช้าง SCG มาตรฐาน DIN 8077/8078',
|
||||
keywords: ['ท่อ PPR', 'ท่อพีพีอาร์', 'ท่อน้ำ PPR', 'ท่อประปา PPR', 'ราคาท่อ PPR', 'ท่อตราช้าง', 'SCG PPR', 'ท่อ PPR SCG', 'ท่อน้ำดื่ม PPR', 'ท่อประปาคุณภาพ'],
|
||||
seoContent: `<h2>ท่อพีพีอาร์ตราช้าง (SCG) - มาตรฐานคุณภาพระดับสากล</h2>
|
||||
<p>ท่อพีพีอาร์ตราช้าง (PPR Elephant) จาก SCG เป็นผลิตภัณฑ์ท่อน้ำคุณภาพสูงที่ได้รับการยอมรับในตลาดประเทศไทยมายาวนาน ผลิตจากวัตถุดิบ Polypropylene Random Copolymer (PPR) เกรดพรีเมียมจาก LyondellBasell ซึ่งเป็นผู้ผลิตวัตถุดิบชั้นนำระดับโลก มั่นใจได้ในความแข็งแรง ทนทาน และปลอดภัยสำหรับการใช้งานด้านประปาและการจ่ายน้ำดื่ม</p>
|
||||
<h3>มาตรฐานและคุณสมบัติทางเทคนิค</h3>
|
||||
<p>ท่อพีพีอาร์ SCG ผลิตตามมาตรฐาน <strong>DIN 8077/8078</strong> ซึ่งเป็นมาตรฐานคุณภาพระดับสากล เหมาะสำหรับระบบท่อน้ำร้อนและน้ำเย็นในอาคารที่อยู่อาศัย อาคารพาณิชย์ โรงงานอุตสาหกรรม และโครงการขนาดใหญ่</p>
|
||||
<ul>
|
||||
<li><strong>ทนอุณหภูมิสูงสุด 95 องศาเซลเซียส</strong> - เหมาะสำหรับระบบน้ำร้อนในครัวเรือนและอุตสาหกรรม</li>
|
||||
<li><strong>ทนความดันได้ถึง 20 บาร์</strong> - รองรับแรงดันน้ำได้อย่างมีประสิทธิภาพ</li>
|
||||
<li><strong>อายุการใช้งานยาวนานถึง 50 ปี</strong> - คุ้มค่าการลงทุนระยะยาว</li>
|
||||
<li><strong>ผิวเรียบเนียน</strong> - ไม่เกิดตะกรันและเพิ่มอัตราการไหลของน้ำ</li>
|
||||
<li><strong>ปลอดภัยสำหรับน้ำดื่ม</strong> - ไม่มีสารพิษและไม่เกิดการเปลี่ยนแปลงของรสชาติน้ำ</li>
|
||||
</ul>`,
|
||||
},
|
||||
{
|
||||
id: 'poloplast',
|
||||
name: 'ท่อ POLOPLAST',
|
||||
nameEn: 'POLOPLAST PP-R Pipe',
|
||||
slug: 'ท่อพีพีอาร์',
|
||||
href: '/ท่อพีพีอาร์/poloplast',
|
||||
image: '/images/2021/03/poloplast_000C.jpg',
|
||||
description: 'ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี',
|
||||
shortDescription: 'ท่อ PP-R/PP-RCT POLOPLAST คุณภาพเยอรมัน',
|
||||
keywords: ['ท่อ PPR', 'ท่อพีพีอาร์', 'ท่อน้ำ PPR', 'ท่อประปา PPR', 'ราคาท่อ PPR', 'POLOPLAST', 'ท่อเยอรมัน', 'PP-RCT', 'ท่อน้ำร้อน PPR', 'ท่อพีพีอาร์เกรดสูง'],
|
||||
seoContent: `<h2>ท่อ PP-R / PP-RCT POLOPLAST - คุณภาพเยอรมันระดับพรีเมียม</h2>
|
||||
<p>POLOPLAST เป็นแบรนด์ท่อพีพีอาร์ชั้นนำจากประเทศเยอรมันที่ได้รับการยอมรับในระดับสากลด้วยคุณภาพระดับพรีเมียมและมาตรฐานการผลิตที่เข้มงวด ผลิตภัณฑ์ท่อ PP-R และ PP-RCT ของ POLOPLAST เป็นตัวเลือกที่ดีที่สุดสำหรับโครงการที่ต้องการความแข็งแรงทนทานและอายุการใช้งานยาวนาน</p>
|
||||
<h3>มาตรฐานและการรับรองระดับสากล</h3>
|
||||
<p>ท่อพีพีอาร์ POLOPLAST ผลิตตามมาตรฐาน <strong>DIN 8077/8078</strong> พร้อมการรับรองคุณภาพจากหน่วยงานชั้นนำระดับโลก</p>
|
||||
<ul>
|
||||
<li><strong>DVGW Certified</strong> - รับรองจากสมาคมการประปาและก๊าซเยอรมัน</li>
|
||||
<li><strong>SKZ Certified</strong> - รับรองจากสถาบันพลาสติกเยอรมัน</li>
|
||||
<li><strong>ISO 9001:2015</strong> - ระบบบริหารคุณภาพมาตรฐานสากล</li>
|
||||
<li><strong>WRAS Approved</strong> - รับรองความปลอดภัยสำหรับน้ำดื่มใน UK</li>
|
||||
<li><strong>รับประกัน 10 ปี</strong> - ความมั่นใจในคุณภาพผลิตภัณฑ์</li>
|
||||
</ul>`,
|
||||
},
|
||||
{
|
||||
id: 'ppr-welder',
|
||||
name: 'เครื่องเชื่อมท่อ PPR',
|
||||
nameEn: 'PPR Welding Machine',
|
||||
slug: 'อุปกรณ์ติดตั้ง',
|
||||
href: '/อุปกรณ์ติดตั้ง/เครื่องเชื่อมท่อ-ppr',
|
||||
image: '/images/2021/03/hdpe-welding_000C-1.jpg',
|
||||
description: 'เครื่องเชื่อมท่อพีพีอาร์ 1500-2000W รองรับท่อ 20-110mm พร้อมจอดิจิทัลควบคุณอุณหภูมิ',
|
||||
shortDescription: 'เครื่องเชื่อมท่อ PPR/HDPE/PB มืออาชีพ',
|
||||
keywords: ['เครื่องเชื่อมท่อ PPR', 'เครื่องเชื่อมพีพีอาร์', 'เครื่องเชื่อมท่อน้ำ', 'อุปกรณ์ติดตั้งท่อ PPR', 'PPR welding machine', 'เครื่องเชื่อมท่อ HDPE', 'เครื่องเชื่อมท่อ PB', 'อุปกรณ์เชื่อมท่อความร้อน'],
|
||||
seoContent: `<h2>เครื่องเชื่อมท่อพีพีอาร์ (PPR Welding Machine) - เครื่องมือมืออาชีพสำหรับติดตั้งท่อน้ำ</h2>
|
||||
<p>เครื่องเชื่อมท่อพีพีอาร์ (PPR Welding Machine) เป็นอุปกรณ์สำคัญสำหรับการติดตั้งระบบท่อน้ำด้วยวิธี Heat Fusion หรือการเชื่อมด้วยความร้อน ซึ่งเป็นวิธีการเชื่อมต่อท่อพีพีอาร์ที่ได้รับการยอมรับว่าแน่นหนึ่ง100% และไม่รั่วซึมตลอดอายุการใช้งาน</p>
|
||||
<h3>คุณสมบัติและข้อมูลจำเพาะ</h3>
|
||||
<ul>
|
||||
<li><strong>กำลังไฟ 1500-2000 วัตต์</strong> - ทำความร้อนได้รวดเร็วและสม่ำเสมอ</li>
|
||||
<li><strong>ช่วงอุณหภูมิการทำงาน 180-280 องศาเซลเซียส</strong> - เหมาะสำหรับท่อ PPR, HDPE และ PB</li>
|
||||
<li><strong>รองรับขนาดท่อ 20-110 มม.</strong> - ครอบคลุมทุกขนาดท่อมาตรฐาน</li>
|
||||
<li><strong>จอแสดงผลดิจิทัล</strong> - ควบคุมอุณหภูมิได้อย่างแม่นยำ</li>
|
||||
<li><strong>ระบบปิดอัตโนมัติ</strong> - ปลอดภัยและประหยัดพลังงาน</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อ HDPE
|
||||
{
|
||||
id: 'hdpe',
|
||||
name: 'ท่อ HDPE',
|
||||
nameEn: 'HDPE Pipe',
|
||||
slug: 'ท่อ-hdpe',
|
||||
href: '/ท่อ-hdpe',
|
||||
image: '/images/2021/03/hdpe-pipe_000C.jpg',
|
||||
description: 'ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน',
|
||||
shortDescription: 'ท่อเอชดีพีอี PE80/PE100 มาตรฐาน มอก.',
|
||||
keywords: ['ท่อ HDPE', 'ท่อเอชดีพีอี', 'ท่อ PE', 'ท่อน้ำ HDPE', 'PE80', 'PE100', 'PN25', 'ท่อ HDPE 50 ปี', 'ท่อ HDPE มอก.', 'ท่อ PE สีดำ'],
|
||||
seoContent: `<h2>ท่อเอชดีพีอี (HDPE Pipe) - ท่อพลาสติกคุณภาพสูง อายุการใช้งาน 50 ปี</h2>
|
||||
<p>ท่อเอชดีพีอี (HDPE ย่อมาจาก High Density Polyethylene) หรือ ท่อ PE เป็นท่อน้ำพลาสติกคุณภาพสูงที่ได้รับความนิยมอย่างแพร่หลายในงานระบบประปา ระบบชลประทาน และงานอุตสาหกรรม ด้วยคุณสมบัติเด่นในเรื่องความแข็งแรง ความยืดหยุ่น และอายุการใช้งานที่ยาวนานถึง 50 ปี</p>
|
||||
<h3>คุณสมบัติเด่นของท่อเอชดีพีอี</h3>
|
||||
<ul>
|
||||
<li><strong>ความแข็งแรงสูง:</strong> ท่อ HDPE ผลิตจากเม็ดพลาสติกโพลีเอทิลีนความหนาแน่นสูง มีความต้านทานแรงดึงและแรงกดดันสูง</li>
|
||||
<li><strong>ความยืดหยุ่นสูง:</strong> สามารถดัดโค้งได้ง่ายโดยไม่แตกร้าว ลดการใช้ข้อต่อและความเสี่ยงต่อการรั่วซึม</li>
|
||||
<li><strong>ทนต่อสารเคมี:</strong> ทนทานต่อการกัดกร่อนจากสารเคมีหลายชนิด</li>
|
||||
<li><strong>อายุการใช้งานยาวนาน:</strong> สามารถใช้งานได้ถึง 50 ปี</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อ uPVC
|
||||
{
|
||||
id: 'upvc',
|
||||
name: 'ท่อ uPVC ทน UV',
|
||||
nameEn: 'UV Resistant uPVC Pipe',
|
||||
slug: 'ท่อ-upvc',
|
||||
href: '/ท่อ-upvc',
|
||||
image: '/images/2021/03/upvc-pipe_000C.jpg',
|
||||
description: 'ท่อ uPVC ทน UV ด้วยเทคโนโลยี Multi-Chamber ลดเสียงรบกวน ทนอุณหภูมิ 82°C มอก.',
|
||||
shortDescription: 'ท่อ uPVC ทน UV Multi-Chamber มาตรฐาน มอก.',
|
||||
keywords: ['ท่อ uPVC', 'ท่อ uPVC ทน UV', 'UV Stabilizer', 'Titanium Dioxide', 'Multi-chamber', 'ท่อ uPVC 82 องศา', 'ท่อ uPVC มอก.', 'ท่อ uPVC สีเขียว'],
|
||||
seoContent: `<h2>ท่อ uPVC ทนทานต่อทุกสภาวะอากาศ - เทคโนโลยี Multi-Chamber ลดเสียงรบกวน</h2>
|
||||
<p>ท่อ uPVC (Unplasticized Polyvinyl Chloride) ทนทานต่อทุกสภาวะอากาศ เป็นนวัตกรรมท่อน้ำพลาสติกที่ออกแบบมาเพื่อตอบสนองความต้องการของสภาพอากาศเขตร้อนชื้นของประเทศไทย ด้วยเทคโนโลยี <strong>UV Stabilizer</strong> และ <strong>Titanium Dioxide</strong> ชั้นนำ</p>
|
||||
<h3>เทคโนโลยีเด่นของท่อ uPVC</h3>
|
||||
<ul>
|
||||
<li><strong>UV Stabilizer (ตัวป้องกันรังสี UV):</strong> สารเติมแต่งพิเศษที่ช่วยป้องกันการเสื่อมสภาพของโครงสร้างโมเลกุล</li>
|
||||
<li><strong>Titanium Dioxide (ไททาเนียมไดออกไซด์):</strong> สารประกอบที่มีคุณสมบัติสะท้อนรังสี UV</li>
|
||||
<li><strong>โครงสร้าง Multi-Chamber:</strong> การออกแบบผนังท่อแบบหลายชั้นช่วยเพิ่มความแข็งแรงและลดเสียงรบกวน</li>
|
||||
<li><strong>ทนความร้อนสูง:</strong> สามารถทนอุณหภูมิได้ถึง <strong>82°C</strong></li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อไซเลอร์
|
||||
{
|
||||
id: 'syler',
|
||||
name: 'ท่อไซเลอร์',
|
||||
nameEn: 'Syler Pipe',
|
||||
slug: 'ท่อไซเลอร์',
|
||||
href: '/ท่อไซเลอร์',
|
||||
image: '/images/2021/03/syler_000C.jpg',
|
||||
description: 'ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง',
|
||||
shortDescription: 'ท่อเหล็กบุ PE BS1387 FM APPROVED',
|
||||
keywords: ['ท่อไซเลอร์', 'Syler Pipe', 'ท่อเหล็กบุ PE', 'ท่อเหล็กบุพลาสติก', '50 bar', 'FM APPROVED', 'BS1387', 'ท่อไซเลอร์ มอก.'],
|
||||
seoContent: `<h2>ท่อไซเลอร์ (Syler Pipe) - ท่อเหล็กบุ PE คุณภาพระดับมาตรฐานสากล</h2>
|
||||
<p>ท่อไซเลอร์ (Syler Pipe) หรือ ท่อเหล็กบุ PE (Polyethylene) เป็นท่อน้ำคุณภาพสูงที่ผสมผสานความแข็งแรงของเหล็กและความทนทานของพลาสติกเข้าด้วยกัน ด้วยมาตรฐาน <strong>BS1387</strong> และการรับรอง <strong>FM APPROVED</strong></p>
|
||||
<h3>โครงสร้างและคุณสมบัติเด่น</h3>
|
||||
<ul>
|
||||
<li><strong>โครงสร้างเหล็กบุ PE:</strong> ผนังด้านในเคลือบด้วยพลาสติกโพลีเอทิลีนคุณสูง ป้องกันการกัดกร่อนและการเกิดสนิม</li>
|
||||
<li><strong>ทนแรงดันสูง:</strong> สามารถรองรับแรงดันได้ถึง <strong>50 bar</strong></li>
|
||||
<li><strong>มาตรฐาน BS1387:</strong> ผลิตตามมาตรฐานอังกฤษ</li>
|
||||
<li><strong>FM APPROVED:</strong> ได้รับการรับรองจาก FM Global สำหรับใช้ในระบบดับเพลิง</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อ PVC
|
||||
{
|
||||
id: 'pvc',
|
||||
name: 'ท่อพีวีซี',
|
||||
nameEn: 'PVC Pipe',
|
||||
slug: 'ท่อ-pvc',
|
||||
href: '/ท่อ-pvc',
|
||||
image: '/images/2021/03/pvc-pipe_000C.jpg',
|
||||
description: 'ท่อ PVC มอก.17 สีฟ้า/สีเหลือง/สีเทา สำหรับประปา ไฟฟ้า และระบายน้ำ',
|
||||
shortDescription: 'ท่อพีวีซี มอก.17 หลากหลายสี',
|
||||
keywords: ['ท่อ PVC', 'ท่อพีวีซี', 'มอก.17', 'ท่อสีฟ้า', 'ท่อสีเหลือง', 'ท่อสีเทา', 'ท่อ PVC มอก.', 'ท่อพีวีซี สีฟ้า'],
|
||||
seoContent: `<h2>ท่อและข้อต่อพีวีซี (PVC Pipe) - มาตรฐาน มอก.17 คุณภาพรับประกัน</h2>
|
||||
<p>ท่อพีวีซี (PVC ย่อมาจาก Polyvinyl Chloride) เป็นผลิตภัณฑ์ท่อน้ำที่ได้รับความนิยมมากที่สุดในประเทศไทย ด้วยราคาที่เข้าถึงได้ คุณภาพที่ได้มาตรฐาน และความหลากหลายในการใช้งาน ท่อพีวีซีของเราผลิตตามมาตรฐาน <strong>มอก.17</strong></p>
|
||||
<h3>ประเภทและสีของท่อพีวีซี</h3>
|
||||
<ul>
|
||||
<li><strong>ท่อสีฟ้า:</strong> ท่อพีวีซีสำหรับงานน้ำประปาภายในอาคาร</li>
|
||||
<li><strong>ท่อสีเหลือง:</strong> ท่อพีวีซีสำหรับงานระบบไฟฟ้าและสื่อสาร</li>
|
||||
<li><strong>ท่อสีเทา:</strong> ท่อพีวีซีสำหรับงานระบายน้ำและสุขาภิบาล</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อ XYLENT
|
||||
{
|
||||
id: 'xylent',
|
||||
name: 'ท่อ XYLENT',
|
||||
nameEn: 'XYLENT Silent Pipe',
|
||||
slug: 'ท่อระบายน้ำ-xylent',
|
||||
href: '/ท่อระบายน้ำ-xylent',
|
||||
image: '/images/2021/03/xylent_000C.jpg',
|
||||
description: 'ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป',
|
||||
shortDescription: 'ท่อระบายน้ำไซเลนท์ 22dB Push Fit',
|
||||
keywords: ['ท่อระบายน้ำ XYLENT', 'ท่อ XYLENT', '22 dB', 'ท่อระบายน้ำ 3 ชั้น', 'ท่อไซเลนท์', 'Poloplast', 'Push Fit', 'ท่อระบายน้ำเงียบ'],
|
||||
seoContent: `<h2>ท่อระบายน้ำ 3 ชั้น ไซเลนท์ (XYLENT) - ระบบ Push Fit เงียบสนิท 22 เดซิเบล</h2>
|
||||
<p>ท่อระบายน้ำ 3 ชั้น ไซเลนท์ (XYLENT) เป็นนวัตกรรมท่อระบายน้ำคุณภาพสูงจาก <strong>Poloplast</strong> ผู้ผลิตชั้นนำจากยุโรป ด้วยเทคโนโลยี 3 ชั้นที่ลดเสียงรบกวนได้อย่างมีประสิทธิภาพ ท่อ XYLENT ให้ระดับเสียงเพียง <strong>22 เดซิเบล</strong></p>
|
||||
<h3>เทคโนโลยี 3 ชั้น ไซเลนท์</h3>
|
||||
<ul>
|
||||
<li><strong>โครงสร้าง 3 ชั้น:</strong> ผนังท่อประกอบด้วย 3 ชั้น ทำงานร่วมกันในการลดเสียงและเพิ่มความแข็งแรง</li>
|
||||
<li><strong>ลดเสียง 22 เดซิเบล:</strong> ระดับเสียงเพียง 22 dB เมื่อน้ำไหลผ่าน</li>
|
||||
<li><strong>ระบบ Push Fit:</strong> ระบบต่อท่อแบบดันเข้าล็อก ติดตั้งง่าย รวดเร็ว</li>
|
||||
</ul>`,
|
||||
},
|
||||
// เครื่องเชื่อม HDPE
|
||||
{
|
||||
id: 'hdpe-welder',
|
||||
name: 'เครื่องเชื่อม HDPE',
|
||||
nameEn: 'HDPE Welding Machine',
|
||||
slug: 'อุปกรณ์ติดตั้ง',
|
||||
href: '/อุปกรณ์ติดตั้ง/เครื่องเชื่อม-hdpe',
|
||||
image: '/images/2021/03/hdpe-welding_000C-1.jpg',
|
||||
description: 'เครื่องเชื่อมท่อ HDPE Butt Fusion และ Electrofusion รองรับท่อ 20-1200mm',
|
||||
shortDescription: 'เครื่องเชื่อมท่อ HDPE Butt/Electro Fusion',
|
||||
seoContent: `<h2>เครื่องเชื่อมท่อ HDPE คุณภาพสูง สำหรับงานติดตั้งระบบท่ออุตสาหกรรม</h2>
|
||||
<p>เครื่องเชื่อมท่อ HDPE เป็นอุปกรณ์ที่จำเป็นสำหรับงานติดตั้งและซ่อมแซมระบบท่อพลาสติกชนิด HDPE (High-Density Polyethylene)</p>
|
||||
<h3>เทคโนโลยีการเชื่อมท่อ HDPE ที่ทันสมัย</h3>
|
||||
<ul>
|
||||
<li><strong>Butt Fusion (การเชื่อมแบบบัตฟิวชัน)</strong> - วิธีการเชื่อมโดยใช้ความร้อนละลายปลายท่อทั้งสองด้านแล้วกดเข้าด้วยกัน</li>
|
||||
<li><strong>Electrofusion (การเชื่อมแบบอิเล็กโทรฟิวชัน)</strong> - ใช้ขดลวดความร้อนไฟฟ้าภายในข้อต่อ ควบคุมอุณหภูมิอัตโนมัติ</li>
|
||||
<li><strong>Socket Fusion</strong> - สำหรับข้อต่อแบบซ็อกเก็ต เหมาะสำหรับท่อขนาดเล็กถึงกลาง</li>
|
||||
</ul>`,
|
||||
},
|
||||
// กรู๊ฟท่อ
|
||||
{
|
||||
id: 'groove-coupling',
|
||||
name: 'กรู๊ฟท่อ',
|
||||
nameEn: 'Groove Coupling',
|
||||
slug: 'วาล์ว-valve',
|
||||
href: '/วาล์ว-valve/กรู๊ฟท่อ-groove-coupling',
|
||||
image: '/images/2025/01/pipe-coupling-machine_000.jpg',
|
||||
description: 'กรู๊ฟท่อ (Groove Coupling) ติดตั้งง่าย ไม่ต้องเชื่อม รับแรงดัน 300-735 PSI สำหรับระบบดับเพลิง',
|
||||
shortDescription: 'กรู๊ฟท่อติดตั้งง่าย ไม่ต้องเชื่อม',
|
||||
seoContent: `<h2>กรู๊ฟท่อ (Groove Coupling) ระบบต่อท่อแบบรวดเร็ว ไม่ต้องเชื่อม</h2>
|
||||
<p>กรู๊ฟท่อ หรือ Groove Coupling เป็นอุปกรณ์ต่อท่อที่ได้รับความนิยมอย่างมากในงานติดตั้งระบบท่อสำหรับอาคาร ระบบดับเพลิง และอุตสาหกรรมต่างๆ</p>
|
||||
<h3>ข้อดีและประโยชน์ของกรู๊ฟท่อ</h3>
|
||||
<ul>
|
||||
<li><strong>ติดตั้งง่าย ไม่ต้องเชื่อม</strong> - ไม่ต้องใช้เครื่องเชื่อมท่อหรือเครื่องตัด</li>
|
||||
<li><strong>ปลอดภัยจากอัคคีภัย</strong> - เหมาะสำหรับพื้นที่ที่มีข้อจำกัดด้านความปลอดภัย</li>
|
||||
<li><strong>ติดตั้งรวดเร็ว</strong> - ใช้เวลาติดตั้งน้อยกว่าการเชื่อมถึง 5-10 เท่า</li>
|
||||
<li><strong>รับแรงดันได้สูง</strong> - สามารถรับแรงดันได้ถึง 300-735 PSI</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ข้อต่อท่อ
|
||||
{
|
||||
id: 'pipe-coupling',
|
||||
name: 'ข้อต่อท่อ',
|
||||
nameEn: 'Pipe Coupling',
|
||||
slug: 'วาล์ว-valve',
|
||||
href: '/วาล์ว-valve/ข้อต่อท่อ-pipe-coupling',
|
||||
image: '/images/2025/01/pipe-coupling-machine_000.jpg',
|
||||
description: 'ข้อต่อท่อหลากหลายประเภท Full/Reducing/Slip Coupling ซ่อมท่อรั่วได้โดยไม่ต้องตัดท่อ',
|
||||
shortDescription: 'ข้อต่อท่อซ่อมท่อรั่วง่าย',
|
||||
seoContent: `<h2>ข้อต่อท่อ (Pipe Coupling) อุปกรณ์ซ่อมท่อรั่วและต่อท่อครบวงจร</h2>
|
||||
<p>ข้อต่อท่อ หรือ Pipe Coupling เป็นอุปกรณ์ที่จำเป็นสำหรับงานติดตั้งและซ่อมแซมระบบท่อในทุกภาคส่วน</p>
|
||||
<h3>ประเภทของข้อต่อท่อ</h3>
|
||||
<ul>
|
||||
<li><strong>ข้อต่อท่อแบบเต็ม (Full Coupling)</strong> - ใช้ต่อท่อขนาดเล็ก</li>
|
||||
<li><strong>ข้อต่อท่อแบบลด (Reducing Coupling)</strong> - ใช้ต่อท่อขนาดต่างกัน</li>
|
||||
<li><strong>ข้อต่อท่อแบบยืด (Slip Coupling)</strong> - สามารถปรับความยาวได้ เหมาะสำหรับซ่อมท่อ</li>
|
||||
</ul>`,
|
||||
},
|
||||
// DUKELARRSEN
|
||||
{
|
||||
id: 'dukearrsen-coupling',
|
||||
name: 'DUKELARRSEN Coupling',
|
||||
nameEn: 'DUKELARRSEN Grooved Coupling',
|
||||
slug: 'วาล์ว-valve',
|
||||
href: '/วาล์ว-valve/dukelarrsen-coupling',
|
||||
image: '/images/2021/03/MECH_001-1.jpg',
|
||||
description: 'DUKELARRSEN Grooved Coupling มาตรฐาน FM1920/UL213 สกรูเกรด 8.8 สำหรับระบบดับเพลิง',
|
||||
shortDescription: 'Groove Coupling FM1920/UL213 เกรด 8.8',
|
||||
seoContent: `<h2>DUKELARRSEN Grooved Coupling มาตรฐาน FM1920 และ UL213</h2>
|
||||
<p>DUKELARRSEN Grooved Coupling เป็นข้อต่อท่อระบบกรู๊ฟที่ได้รับการรับรองมาตรฐาน FM1920 และ UL213 ซึ่งเป็นมาตรฐานความปลอดภัยระดับสากลสำหรับระบบดับเพลิง</p>
|
||||
<h3>คุณสมบัติเด่นของ DUKELARRSEN Grooved Coupling</h3>
|
||||
<ul>
|
||||
<li><strong>มาตรฐาน FM1920</strong> - ได้รับการรับรองจาก FM Global สำหรับระบบดับเพลิง</li>
|
||||
<li><strong>มาตรฐาน UL213</strong> - ได้รับการรับรองจาก Underwriters Laboratories</li>
|
||||
<li><strong>สกรูเกรด 8.8</strong> - สกรูคุณภาพสูง ทนแรงดึงและแรงเฉือนได้ดีเยี่ยม</li>
|
||||
</ul>`,
|
||||
},
|
||||
// เม็กกรู๊ฟ
|
||||
{
|
||||
id: 'mech-grooved-coupling',
|
||||
name: 'เม็กกรู๊ฟ คับปลิ้ง',
|
||||
nameEn: 'MECH Grooved Coupling',
|
||||
slug: 'วาล์ว-valve',
|
||||
href: '/วาล์ว-valve/เม็กกรู๊ฟ-คับปลิ้ง',
|
||||
image: '/images/2021/03/MECH_001-1.jpg',
|
||||
description: 'เม็กกรู๊ฟ คับปลิ้ง เหล็กหล่อแข็ง Epoxy Coating รับแรงดัน 300-750 PSI มาตรฐาน FM/UL',
|
||||
shortDescription: 'MECH Grooved Coupling เหล็กหล่อแข็ง',
|
||||
seoContent: `<h2>เม็กกรู๊ฟ คับปลิ้ง (MECH Grooved Coupling) จากวัสดุเหล็กหล่อแข็ง</h2>
|
||||
<p>เม็กกรู๊ฟ คับปลิ้ง หรือ MECH Grooved Coupling เป็นข้อต่อท่อระบบกรู๊ฟคุณภาพสูงที่ผลิตจากเหล็กหล่อแข็ง (Ductile Iron) พร้อมการเคลือบอีพ็อกซี่ (Epoxy Coating)</p>
|
||||
<h3>คุณสมบัติทางเทคนิค</h3>
|
||||
<ul>
|
||||
<li><strong>วัสดุ: เหล็กหล่อแข็ง (Ductile Iron)</strong> - มีความแข็งแรงและความเหนียวสูงกว่าเหล็กหล่อธรรมดา</li>
|
||||
<li><strong>การเคลือบ: Epoxy Coating</strong> - เคลือบผิวเพื่อป้องกันสนิมและการกัดกร่อน</li>
|
||||
<li><strong>รับแรงดัน: 300-750 PSI</strong> - ขึ้นอยู่กับขนาดและรุ่น</li>
|
||||
</ul>`,
|
||||
},
|
||||
// สปริทริงแฮงเกอร์
|
||||
{
|
||||
id: 'sr19',
|
||||
name: 'สปริทริงแฮงเกอร์',
|
||||
nameEn: 'Split Ring Hanger',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/สปริทริงแฮงเกอร์',
|
||||
image: '/images/2024/02/ADJUSTABLE_SPLIT_RING_HANGER_cover_01.jpg',
|
||||
description: 'สปริทริงแฮงเกอร์ เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-8 นิ้ว สำหรับแขวนท่อน้ำ',
|
||||
shortDescription: 'Split Ring Hanger ชุบซิงค์/SUS304',
|
||||
keywords: ['สปริทริงแฮงเกอร์', 'Split Ring Hanger', 'ท่อน้ำ', 'แฮงเกอร์ท่อ', 'สแตนเลส SUS304', 'ชุบซิงค์กันสนิม'],
|
||||
seoContent: `<h2>สปริทริงแฮงเกอร์ (Split Ring Hanger) - อุปกรณ์แขวนท่อคุณภาพสูง</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>สปริทริงแฮงเกอร์เป็นอุปกรณ์ยึดแขวนท่อที่ได้รับความนิยมอย่างแพร่หลายในงานติดตั้งระบบท่อน้ำ ท่อประปา และระบบปรับอากาศ ผลิตจากวัสดุคุณภาพสูงมีให้เลือกทั้ง<strong>เหล็กชุบซิงค์กันสนิม</strong>และ<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>สปริทริงแฮงเกอร์มีขนาดให้เลือกตั้งแต่ <strong>1/2 นิ้ว ถึง 8 นิ้ว</strong> ครอบคลุมการใช้งานกับท่อขนาดเล็กไปจนถึงท่อขนาดใหญ่</p>`,
|
||||
},
|
||||
// เควิสแฮงเกอร์
|
||||
{
|
||||
id: 'clevis',
|
||||
name: 'เควิสแฮงเกอร์',
|
||||
nameEn: 'Clevis Hanger',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/เควิสแฮงเกอร์',
|
||||
image: '/images/2024/02/ADJUSTABLE_CLEVIS_HANGER_cover_01.jpg',
|
||||
description: 'เควิสแฮงเกอร์ เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-8 นิ้ว สำหรับแขวนท่อมาตรฐาน',
|
||||
shortDescription: 'Clevis Hanger มาตรฐานอุตสาหกรรม',
|
||||
keywords: ['เควิสแฮงเกอร์', 'Clevis Hanger', 'แฮงเกอร์ท่อ', 'สแตนเลส', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>เควิสแฮงเกอร์ (Clevis Hanger) - อุปกรณ์แขวนท่อมาตรฐานอุตสาหกรรม</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>เควิสแฮงเกอร์เป็นอุปกรณ์แขวนท่อแบบมาตรฐานที่ได้รับการยอมรับในวงการติดตั้งระบบท่อ ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงทนทาน และมีรุ่นสแตนเลส <strong>SUS304</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>เควิสแฮงเกอร์มีขนาดให้เลือกครอบคลุม <strong>1/2 นิ้ว ถึง 8 นิ้ว</strong> รองรับท่อน้ำ ท่อ PVC และท่อโลหะได้หลากหลาย</p>`,
|
||||
},
|
||||
// แคล้มฟันจระเข้
|
||||
{
|
||||
id: 'beamclamp',
|
||||
name: 'แคล้มฟันจระเข้',
|
||||
nameEn: 'Beam Clamp',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/แคล้มฟันจระเข้',
|
||||
image: '/images/2024/02/BEAM_CLAMP_cover_01.jpg',
|
||||
description: 'แคล้มฟันจระเข้ (Beam Clamp) เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-6 นิ้ว ยึดคานเหล็ก',
|
||||
shortDescription: 'Beam Clamp ยึดคานเหล็กไม่ต้องเจาะ',
|
||||
keywords: ['แคล้มฟันจระเข้', 'Beam Clamp', 'แคล้มยึดคาน', 'สแตนเลส SUS304', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>แคล้มฟันจระเข้ (Beam Clamp) - อุปกรณ์ยึดติดแน่นบนโครงสร้างเหล็ก</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>แคล้มฟันจระเข้หรือบีมแคล้มเป็นอุปกรณ์ยึดท่อและอุปกรณ์กลุ่มวงจรบนโครงสร้างเหล็ก ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงทนทาน และมีรุ่น<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>จุดเด่นของผลิตภัณฑ์</h3>
|
||||
<ul>
|
||||
<li><strong>ติดตั้งง่าย</strong> - ไม่ต้องเจาะหรือเชื่อมโครงสร้าง</li>
|
||||
<li><strong>ปรับระดับได้</strong> - สามารถปรับตำแหน่งได้ตามต้องการ</li>
|
||||
<li><strong>แข็งแรงทนทาน</strong> - ยึดติดแน่นไม่หลุดง่าย</li>
|
||||
</ul>`,
|
||||
},
|
||||
// แคล้มหยดน้ำ
|
||||
{
|
||||
id: 'bandhanger',
|
||||
name: 'แคล้มหยดน้ำ',
|
||||
nameEn: 'Band Hanger',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/แคล้มหยดน้ำ',
|
||||
image: '/images/2024/02/ADJUSTABLE_BAND_HANGER_cover_01.jpg',
|
||||
description: 'แคล้มหยดน้ำ (Band Hanger) เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-8 นิ้ว ราคาประหยัด',
|
||||
shortDescription: 'Band Hanger ราคาประหยัด',
|
||||
keywords: ['แคล้มหยดน้ำ', 'Band Hanger', 'แฮงเกอร์ท่อ', 'สแตนเลส', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>แคล้มหยดน้ำ (Band Hanger) - แฮงเกอร์ท่อแบบประหยัดและใช้งานง่าย</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>แคล้มหยดน้ำหรือแบนด์แฮงเกอร์เป็นอุปกรณ์แขวนท่อแบบง่าย ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงและทนทาน</p>
|
||||
<h3>จุดเด่นของผลิตภัณฑ์</h3>
|
||||
<ul>
|
||||
<li><strong>ราคาประหยัด</strong> - คุ้มค่าสำหรับงานติดตั้งจำนวนมาก</li>
|
||||
<li><strong>น้ำหนักเบา</strong> - ไม่เพิ่มภาระโครงสร้างมาก</li>
|
||||
<li><strong>ปรับระดับได้</strong> - ปรับความสูงได้ตามต้องการ</li>
|
||||
</ul>`,
|
||||
},
|
||||
// แคล้มเลเวล
|
||||
{
|
||||
id: 'levelclamp',
|
||||
name: 'แคล้มเลเวล',
|
||||
nameEn: 'Level Clamp',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/แคล้มเลเวล',
|
||||
image: '/images/2024/02/LEVEL_CLAMP_cover_01.jpg',
|
||||
description: 'แคล้มเลเวล (Level Clamp) ปรับระดับแม่นยำ เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-8 นิ้ว',
|
||||
shortDescription: 'Level Clamp ปรับระดับแม่นยำ',
|
||||
keywords: ['แคล้มเลเวล', 'Level Clamp', 'แคล้มปรับระดับ', 'สแตนเลส SUS304', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>แคล้มเลเวล (Level Clamp) - อุปกรณ์ปรับระดับท่อแม่นยำ</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>แคล้มเลเวลเป็นอุปกรณ์แขวนท่อที่ออกแบบมาเพื่อการ<strong>ปรับระดับได้อย่างแม่นยำ</strong> ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>คุณภาพสูง และมีรุ่น<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>จุดเด่นของผลิตภัณฑ์</h3>
|
||||
<ul>
|
||||
<li><strong>ปรับระดับแม่นยำ</strong> - สามารถปรับระดับท่อได้ละเอียด</li>
|
||||
<li><strong>ล็อคตำแหน่งได้</strong> - ยึดตำแหน่งได้แน่นหนาไม่เคลื่อนที่</li>
|
||||
</ul>`,
|
||||
},
|
||||
// เจโบลท์ แอลโบลท์
|
||||
{
|
||||
id: 'jbolt',
|
||||
name: 'เจโบลท์ แอลโบลท์',
|
||||
nameEn: 'J-Bolt L-Bolt',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/เจโบลท์-แอลโบลท์',
|
||||
image: '/images/2025/01/Hanger-Clamp-Bolt_000.jpg',
|
||||
description: 'เจโบลท์ แอลโบลท์ เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด M8-M20 สำหรับงานยึดแข็งแรง',
|
||||
shortDescription: 'J-Bolt/L-Bolt สำหรับงานยึดแข็งแรง',
|
||||
keywords: ['เจโบลท์', 'แอลโบลท์', 'J-Bolt', 'L-Bolt', 'สแตนเลส SUS304', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>เจโบลท์ แอลโบลท์ (J-Bolt L-Bolt) - บอลท์ยึดแข็งแรงหลากหลายการใช้งาน</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>เจโบลท์และแอลโบลท์เป็นบอลท์ยึดที่มีรูปร่างเฉพาะตัว เหมาะสำหรับงานยึดแข็งแรง ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงทนทาน และมีรุ่น<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>เจโบลท์และแอลโบลท์มีขนาดให้เลือกตั้งแต่ <strong>M8 ถึง M20</strong> หรือ <strong>3/8 นิ้ว ถึง 3/4 นิ้ว</strong></p>`,
|
||||
},
|
||||
// ยูโบลท์
|
||||
{
|
||||
id: 'ubolt',
|
||||
name: 'ยูโบลท์',
|
||||
nameEn: 'U-Bolt',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/ยูโบลท์',
|
||||
image: '/images/2024/02/UBolt_cover_01.jpg',
|
||||
description: 'ยูโบลท์ (U-Bolt) เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด 1/2-8 นิ้ว สำหรับยึดท่อ',
|
||||
shortDescription: 'U-Bolt ยึดท่อรูปตัวยูมาตรฐาน',
|
||||
keywords: ['ยูโบลท์', 'U-Bolt', 'บอลท์รูปยู', 'สแตนเลส SUS304', 'ชุบซิงค์กันสนิม'],
|
||||
seoContent: `<h2>ยูโบลท์ (U-Bolt) - บอลท์ยึดท่อรูปตัวยูมาตรฐาน</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>ยูโบลท์เป็นอุปกรณ์ยึดท่อในรูปตัว U ที่ได้รับความนิยมสูงสุดในงานระบบท่อ ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงทนทาน และมีรุ่น<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>ยูโบลท์มีขนาดให้เลือกตั้งแต่ <strong>1/2 นิ้ว ถึง 8 นิ้ว</strong> ครอบคลุมการใช้งานกับท่อขนาดเล็กไปจนถึงท่อขนาดใหญ่</p>`,
|
||||
},
|
||||
// สตัดเกลียวตลอด
|
||||
{
|
||||
id: 'threadedrod',
|
||||
name: 'สตัดเกลียวตลอด',
|
||||
nameEn: 'Threaded Rod',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/สตัดเกลียวตลอด',
|
||||
image: '/images/2024/02/THREADED_ROD_cover_01.jpg',
|
||||
description: 'สตัดเกลียวตลอด เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด M6-M20 ความยาว 1-3 เมตร',
|
||||
shortDescription: 'Threaded Rod เกลียวตลอดแนว',
|
||||
keywords: ['สตัดเกลียวตลอด', 'Threaded Rod', 'สตัดเหล็ก', 'สตัดสแตนเลส', 'SUS304'],
|
||||
seoContent: `<h2>สตัดเกลียวตลอด (Threaded Rod) - วัสดุยึดหลักในงานติดตั้งระบบท่อ</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>สตัดเกลียวตลอดหรือสตัดแกนเป็นวัสดุยึดพื้นฐานที่ขาดไม่ได้ในงานติดตั้งระบบท่อ ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong>ให้ความแข็งแรงทนทาน และมีรุ่น<strong>สแตนเลส SUS304</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>สตัดเกลียวตลอดมีขนาดให้เลือกตั้งแต่ <strong>M6 ถึง M20</strong> มีความยาวมาตรฐาน 1 เมตร 2 เมตร และ 3 เมตร</p>`,
|
||||
},
|
||||
// พุกต่างๆ
|
||||
{
|
||||
id: 'anchors',
|
||||
name: 'พุกต่างๆ',
|
||||
nameEn: 'Various Anchors',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/พุกต่างๆ',
|
||||
image: '/images/2025/01/Hanger-Clamp-Bolt_000.jpg',
|
||||
description: 'พุกพลาสติก/พุกเหล็ก ขนาด M6-M16 สำหรับยึดกับคอนกรีต อิฐ บล็อก',
|
||||
shortDescription: 'พุกพลาสติก/เหล็กหลากหลายประเภท',
|
||||
keywords: ['พุก', 'Anchor', 'พุกเหล็ก', 'พุกพลาสติก', 'สแตนเลส SUS304'],
|
||||
seoContent: `<h2>พุกต่างๆ (Various Anchors) - อุปกรณ์ยึดแน่นในวัสดุก่อสร้าง</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>พุกหรือแอนเกอร์เป็นอุปกรณ์ยึดที่จำเป็นสำหรับการติดตั้งระบบท่อและอุปกรณ์ต่างๆ เข้ากับวัสดุก่อสร้าง มีให้เลือกหลากหลายประเภททั้ง<strong>พุกพลาสติก</strong> (Nylon) และ<strong>พุกเหล็ก</strong></p>
|
||||
<h3>ขนาดและการใช้งาน</h3>
|
||||
<p>พุกมีขนาดให้เลือกตั้งแต่ <strong>M6 ถึง M16</strong></p>`,
|
||||
},
|
||||
// พุกเหล็ก Sleeve Anchor
|
||||
{
|
||||
id: 'sleeveanchor',
|
||||
name: 'พุกเหล็ก Sleeve Anchor',
|
||||
nameEn: 'Sleeve Anchor',
|
||||
slug: 'อุปกรณ์แขวนท่อ',
|
||||
href: '/อุปกรณ์แขวนท่อ/พุกเหล็ก-sleeve-anchor',
|
||||
image: '/images/2025/01/Hanger-Clamp-Bolt_000.jpg',
|
||||
description: 'พุกเหล็ก Sleeve Anchor เหล็กชุบซิงค์/สแตนเลส SUS304 ขนาด M8-M16 สำหรับงานหนัก',
|
||||
shortDescription: 'Sleeve Anchor พุกขยายงานหนัก',
|
||||
keywords: ['พุกเหล็ก Sleeve Anchor', 'Sleeve Anchor', 'พุกขยาย', 'สแตนเลส SUS304', 'ชุบซิงค์'],
|
||||
seoContent: `<h2>พุกเหล็ก Sleeve Anchor - พุกขยายแบบแมนเทลสำหรับงานหนัก</h2>
|
||||
<h3>คุณสมบัติและวัสดุ</h3>
|
||||
<p>พุกเหล็ก Sleeve Anchor หรือพุกขยายแบบแมนเทลเป็นพุกขยายที่ออกแบบมาเพื่อการยึดแน่นหนาในคอนกรีตและวัสดุก่อสร้างที่แข็ง ผลิตจาก<strong>เหล็กชุบซิงค์กันสนิม</strong></p>
|
||||
<h3>จุดเด่นของผลิตภัณฑ์</h3>
|
||||
<ul>
|
||||
<li><strong>ระบบขยายตัว</strong> - ขยายตัวเมื่อขันแป้น ยึดแน่นหนาในรูเจาะ</li>
|
||||
<li><strong>รับน้ำหนักสูง</strong> - เหมาะสำหรับงานหนักและงานอุตสาหกรรม</li>
|
||||
</ul>`,
|
||||
},
|
||||
// กริลแอร์
|
||||
{
|
||||
id: 'grilles',
|
||||
name: 'กริลแอร์',
|
||||
nameEn: 'Air Grille Diffuser',
|
||||
slug: 'อุปกรณ์ปรับอากาศ',
|
||||
href: '/อุปกรณ์ปรับอากาศ/กริลแอร์',
|
||||
image: '/images/2021/03/grilles_000C.jpg',
|
||||
description: 'กริลแอร์พลาสติก/อลูมิเนียม Diffuser/Supply/Return Air Grille สำหรับระบบปรับอากาศ',
|
||||
shortDescription: 'กริลแอร์ Diffuser/Supply/Return Air',
|
||||
keywords: ['กริลแอร์', 'หน้ากากแอร์', 'Diffuser', 'Supply Air Grille', 'Return Air Grille', 'กริลแอร์พลาสติก', 'กริลอลูมิเนียม', 'Air Distribution', 'Ceiling Diffuser'],
|
||||
seoContent: `<h2>กริลแอร์พลาสติก อุปกรณ์กระจายอากาศที่จำเป็นสำหรับระบบปรับอากาศ</h2>
|
||||
<p>กริลแอร์ (Air Grille) หรือ หน้ากากแอร์ เป็นอุปกรณ์สำคัญในระบบปรับอากาศและระบบระบายอากาศ ทำหน้าที่กระจายอากาศเย็นหรืออากาศร้อนให้ทั่วพื้นที่อย่างสม่ำเสมอ</p>
|
||||
<h3>ประเภทของกริลแอร์ที่นิยมใช้งาน</h3>
|
||||
<ul>
|
||||
<li><strong>Diffuser (ดิฟฟิวเซอร์)</strong> - กริลแอร์แบบกระจายลม เหมาะสำหรับติดตั้งบนเพดาน</li>
|
||||
<li><strong>Supply Air Grille (กริลจ่ายอากาศ)</strong> - กริลแอร์สำหรับจ่ายอากาศเข้าสู่พื้นที่</li>
|
||||
<li><strong>Return Air Grille (กริลรับอากาศ)</strong> - กริลแอร์สำหรับดูดอากาศกลับเข้าระบบ</li>
|
||||
</ul>`,
|
||||
},
|
||||
// วาล์วเติมอากาศ DURGO
|
||||
{
|
||||
id: 'durgo',
|
||||
name: 'วาล์วเติมอากาศ DURGO',
|
||||
nameEn: 'DURGO Air Admittance Valve',
|
||||
slug: 'อุปกรณ์ปรับอากาศ',
|
||||
href: '/อุปกรณ์ปรับอากาศ/วาล์วเติมอากาศ-durgo',
|
||||
image: '/images/2021/03/durgo_000C.jpg',
|
||||
description: 'วาล์วเติมอากาศ DURGO มาตรฐาน EN 12380 ป้องกัน Trap Siphonage สำหรับระบบระบายน้ำ',
|
||||
shortDescription: 'DURGO Air Valve EN 12380',
|
||||
keywords: ['DURGO', 'วาล์วเติมอากาศ', 'Air Admittance Valve', 'EN 12380', 'Air Valve', 'AVV', 'ป้องกันการดูดน้ำจากซิฟอน', 'ระบบระบายน้ำ'],
|
||||
seoContent: `<h2>วาล์วเติมอากาศ DURGO ระบบระบายน้ำมาตรฐานยุโรป</h2>
|
||||
<p>วาล์วเติมอากาศหรือ Air Admittance Valve (AAV) เป็นอุปกรณ์สำคัญในระบบระบายน้ำที่ช่วยให้อากาศเข้าสู่ท่อระบายน้ำได้โดยไม่ให้กลิ่นเหม็นย้อนกลับเข้ามาในอาคาร DURGO เป็นแบรนด์ชั้นนำที่ได้รับการรับรองมาตรฐาน EN 12380</p>
|
||||
<h3>หลักการทำงานของวาล์วเติมอากาศ DURGO</h3>
|
||||
<ul>
|
||||
<li><strong>เมื่อน้ำไหลผ่าน</strong> - วาล์วจะเปิดให้อากาศเข้ามาชดเชยแรงดันลบในท่อ</li>
|
||||
<li><strong>เมื่อไม่มีน้ำไหล</strong> - วาล์วจะปิดสนิท ไม่ให้กลิ่นจากท่อระบายน้ำย้อนกลับ</li>
|
||||
</ul>`,
|
||||
},
|
||||
// ท่อสแตนเลส Realflex
|
||||
{
|
||||
id: 'realflex',
|
||||
name: 'ท่อสแตนเลส Realflex',
|
||||
nameEn: 'Realflex Flexible Hose',
|
||||
slug: 'อุปกรณ์ดับเพลิง',
|
||||
href: '/อุปกรณ์ดับเพลิง/ท่อสแตนเลส-realflex',
|
||||
image: '/images/2021/03/realflex_000C.jpg',
|
||||
description: 'ท่อสแตนเลส Realflex Stainless Steel 304 มาตรฐาน NFPA 13 สำหรับระบบสปริงเกลอร์',
|
||||
shortDescription: 'Realflex ท่อสแตนเลส NFPA 13',
|
||||
keywords: ['Realflex', 'ท่อสแตนเลส', 'Flexible Hose', 'NFPA13', 'สปริงเกลอร์', 'Fire Sprinkler', 'Stainless Steel 304', 'ท่อยืดหยุ่น'],
|
||||
seoContent: `<h2>ท่อสแตนเลส Realflex สำหรับระบบสปริงเกลอร์และดับเพลิง</h2>
|
||||
<p>Realflex เป็นท่อสแตนเลสยืดหยุ่น (Stainless Steel Flexible Hose) ที่ออกแบบมาเพื่อใช้งานในระบบดับเพลิงและสปริงเกลอร์ตามมาตรฐาน NFPA 13 ผลิตจากสแตนเลสเกรด 304</p>
|
||||
<h3>คุณสมบัติเด่นของท่อ Realflex</h3>
|
||||
<ul>
|
||||
<li><strong>วัสดุ Stainless Steel 304</strong> - ทนทานต่อสนิมและการกัดกร่อน</li>
|
||||
<li><strong>ความยืดหยุ่นสูง</strong> - สามารถโค้งงอและเคลื่อนที่ได้ตามต้องการ</li>
|
||||
<li><strong>ทนความร้อน</strong> - สามารถทำงานได้ในช่วงอุณหภูมิกว้าง</li>
|
||||
</ul>`,
|
||||
},
|
||||
// เทอร์โมเบรค
|
||||
{
|
||||
id: 'thermobreak',
|
||||
name: 'เทอร์โมเบรค',
|
||||
nameEn: 'Thermobreak Insulation',
|
||||
slug: 'อุปกรณ์ปรับอากาศ',
|
||||
href: '/อุปกรณ์ปรับอากาศ/เทอร์โมเบรค',
|
||||
image: '/images/2025/01/thermobrek_cover_000C.jpg',
|
||||
description: 'เทอร์โมเบรค ฉนวนหุ้มท่อ Polyolefin Foam 0.032 W/mK มาตรฐาน FM/UL สำหรับ HVAC',
|
||||
shortDescription: 'Thermobreak ฉนวนหุ้มท่อ FM/UL',
|
||||
keywords: ['เทอร์โมเบรค', 'ฉนวนหุ้มท่อ', 'Thermobreak', 'FM', 'UL', '0.032 W/mK', 'Polyolefin Foam', 'ฉนวนกันความร้อน'],
|
||||
seoContent: `<h2>เทอร์โมเบรค ฉนวนหุ้มท่อคุณภาพสูงมาตรฐาน FM/UL</h2>
|
||||
<p>เทอร์โมเบรค (Thermobreak) เป็นฉนวนหุ้มท่อคุณภาพสูงที่ผลิตจาก Polyolefin Foam ซึ่งมีคุณสมบัติกันความร้อนได้ดีเยี่ยม มีค่าการนำความร้อน (Thermal Conductivity) เพียง 0.032 W/mK</p>
|
||||
<h3>คุณสมบัติเด่นของเทอร์โมเบรค</h3>
|
||||
<ul>
|
||||
<li><strong>ค่าการนำความร้อน 0.032 W/mK</strong> - ประสิทธิภาพสูงในการป้องกันการถ่ายเทความร้อน</li>
|
||||
<li><strong>ผลิตจาก Polyolefin Foam</strong> - วัสดุโพลีโอลีฟินคุณภาพสูง</li>
|
||||
<li><strong>ทนไฟ</strong> - ไม่ลุกไหม้ง่าย ปลอดภัยสำหรับการใช้งานในอาคาร</li>
|
||||
</ul>`,
|
||||
},
|
||||
// หัวจ่ายแอร์ Ball Jet
|
||||
{
|
||||
id: 'ball-jet',
|
||||
name: 'หัวจ่ายแอร์ Ball Jet',
|
||||
nameEn: 'Ball Jet Diffuser',
|
||||
slug: 'อุปกรณ์ปรับอากาศ',
|
||||
href: '/อุปกรณ์ปรับอากาศ/หัวจ่ายแอร์-ball-jet',
|
||||
image: '/images/2025/01/balljet-cover_000C.jpg',
|
||||
description: 'หัวจ่ายแอร์ Ball Jet ABS Plastic ปรับทิศทางลมได้ ลมแรงสูงระยะไกล สำหรับโรงงาน/โกดัง',
|
||||
shortDescription: 'Ball Jet ลมแรงสูงระยะไกล',
|
||||
keywords: ['หัวจ่ายแอร์', 'Ball Jet', 'Diffuser', 'กระจายลม', 'Air Jet', 'ABS Plastic', 'ลมแรง', 'ปรับทิศทางลม'],
|
||||
seoContent: `<h2>หัวจ่ายแอร์ Ball Jet กระจายลมแรงสูงระยะไกล</h2>
|
||||
<p>หัวจ่ายแอร์ Ball Jet (บอลเจ็ต) เป็นอุปกรณ์กระจายอากาศแบบลมแรงสูง (High Velocity Air Diffuser) ที่ออกแบบมาเพื่อส่งลมเย็นหรืออากาศร้อนไประยะไกล (Long Throw) ผลิตจากพลาสติก ABS คุณภาพสูง</p>
|
||||
<h3>คุณสมบัติเด่นของหัวจ่ายแอร์ Ball Jet</h3>
|
||||
<ul>
|
||||
<li><strong>การปรับทิศทางลม</strong> - สามารถปรับทิศทางการจ่ายลมได้ตามต้องการ</li>
|
||||
<li><strong>ลมแรงสูงระยะไกล</strong> - สามารถส่งลมได้ไกลกว่ากริลแอร์ทั่วไป</li>
|
||||
<li><strong>วัสดุ ABS Plastic</strong> - พลาสติก ABS คุณภาพสูง ทนทานต่อการผุกร่อน</li>
|
||||
</ul>`,
|
||||
},
|
||||
// อุปกรณ์ดับเพลิง
|
||||
{
|
||||
id: 'extinguishers',
|
||||
name: 'อุปกรณ์ดับเพลิง',
|
||||
nameEn: 'Fire Extinguishers',
|
||||
slug: 'อุปกรณ์ดับเพลิง',
|
||||
href: '/อุปกรณ์ดับเพลิง/อุปกรณ์ดับเพลิง',
|
||||
image: '/images/2021/03/extinguishers_000C.jpg',
|
||||
description: 'อุปกรณ์ดับเพลิง CO2/Dry Chemical/Foam มอก./UL/FM สำหรับทุกอาคาร',
|
||||
shortDescription: 'ถังดับเพลิง มอก./UL/FM',
|
||||
keywords: ['อุปกรณ์ดับเพลิง', 'ถังดับเพลิง', 'มอก.', 'UL', 'FM', 'ถังดับเพลิง CO2', 'Dry Chemical', 'Foam Extinguisher', 'Fire Safety'],
|
||||
seoContent: `<h2>อุปกรณ์ดับเพลิง ระบบป้องกันอัคคีภัยที่จำเป็นสำหรับทุกอาคาร</h2>
|
||||
<p>อุปกรณ์ดับเพลิง (Fire Extinguisher) เป็นอุปกรณ์ดับเพลิงขั้นพื้นฐานที่ทุกอาคารต้องมีไว้ประจำตำแหน่ง การเลือกซื้อถังดับเพลิงที่ได้มาตรฐาน มอก. (มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย) รวมถึงการรับรองจาก UL และ FM</p>
|
||||
<h3>ประเภทของถังดับเพลิง</h3>
|
||||
<ul>
|
||||
<li><strong>ถังดับเพลิง CO2</strong> - ใช้ก๊าซคาร์บอนไดออกไซด์ในการดับไฟ เหมาะสำหรับไฟชนิด B และ C</li>
|
||||
<li><strong>ถังดับเพลิง Dry Chemical</strong> - ใช้ผงเคมี ABC สามารถใช้กับไฟชนิด A B และ C ได้</li>
|
||||
<li><strong>ถังดับเพลิง Foam</strong> - ใช้สารลดแรงตึงผิว เหมาะสำหรับไฟชนิด A และ B</li>
|
||||
</ul>`,
|
||||
},
|
||||
];
|
||||
|
||||
// Featured products for homepage
|
||||
export const featuredProducts = [
|
||||
productCategories.find(p => p.id === 'ppr-scg')!,
|
||||
productCategories.find(p => p.id === 'hdpe')!,
|
||||
productCategories.find(p => p.id === 'groove-coupling')!,
|
||||
];
|
||||
|
||||
// Main Navigation
|
||||
export const mainNavigation: NavItem[] = [
|
||||
{ label: 'หน้าแรก', labelEn: 'Home', href: '/' },
|
||||
{ label: 'เกี่ยวกับเรา', labelEn: 'About Us', href: '/about-us' },
|
||||
{
|
||||
label: 'สินค้า',
|
||||
labelEn: 'Products',
|
||||
href: '/product',
|
||||
children: [
|
||||
{
|
||||
label: 'ท่อพีพีอาร์ (PPR Pipe)',
|
||||
labelEn: 'PPR Pipe',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'ท่อพีพีอาร์ตราช้าง', labelEn: 'SCG PPR', href: '/ท่อพีพีอาร์/ตราช้าง-scg' },
|
||||
{ label: 'ท่อ POLOPLAST', labelEn: 'POLOPLAST', href: '/ท่อพีพีอาร์/poloplast' },
|
||||
{ label: 'เครื่องเชื่อมท่อ PPR', labelEn: 'PPR Welder', href: '/อุปกรณ์ติดตั้ง/เครื่องเชื่อมท่อ-ppr' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'ท่อ HDPE',
|
||||
labelEn: 'HDPE Pipe',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'ท่อ HDPE', labelEn: 'HDPE Pipe', href: '/ท่อ-hdpe' },
|
||||
{ label: 'เครื่องเชื่อม HDPE', labelEn: 'HDPE Welder', href: '/อุปกรณ์ติดตั้ง/เครื่องเชื่อม-hdpe' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'ท่อ PVC/uPVC',
|
||||
labelEn: 'PVC/uPVC Pipe',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'ท่อ uPVC ทน UV', labelEn: 'uPVC Pipe', href: '/ท่อ-upvc' },
|
||||
{ label: 'ท่อพีวีซี', labelEn: 'PVC Pipe', href: '/ท่อ-pvc' },
|
||||
{ label: 'ท่อไซเลอร์', labelEn: 'Syler Pipe', href: '/ท่อไซเลอร์' },
|
||||
{ label: 'ท่อ XYLENT', labelEn: 'XYLENT Pipe', href: '/ท่อระบายน้ำ-xylent' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'วาล์วและข้อต่อ',
|
||||
labelEn: 'Valves & Couplings',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'กรู๊ฟท่อ', labelEn: 'Groove Coupling', href: '/วาล์ว-valve/กรู๊ฟท่อ-groove-coupling' },
|
||||
{ label: 'ข้อต่อท่อ', labelEn: 'Pipe Coupling', href: '/วาล์ว-valve/ข้อต่อท่อ-pipe-coupling' },
|
||||
{ label: 'DUKELARRSEN Coupling', labelEn: 'DUKELARRSEN', href: '/วาล์ว-valve/dukelarrsen-coupling' },
|
||||
{ label: 'เม็กกรู๊ฟ คับปลิ้ง', labelEn: 'MECH Coupling', href: '/วาล์ว-valve/เม็กกรู๊ฟ-คับปลิ้ง' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'อุปกรณ์แขวนท่อ',
|
||||
labelEn: 'Pipe Hangers',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'สปริทริงแฮงเกอร์', labelEn: 'Split Ring Hanger', href: '/อุปกรณ์แขวนท่อ/สปริทริงแฮงเกอร์' },
|
||||
{ label: 'เควิสแฮงเกอร์', labelEn: 'Clevis Hanger', href: '/อุปกรณ์แขวนท่อ/เควิสแฮงเกอร์' },
|
||||
{ label: 'แคล้มฟันจระเข้', labelEn: 'Beam Clamp', href: '/อุปกรณ์แขวนท่อ/แคล้มฟันจระเข้' },
|
||||
{ label: 'แคล้มหยดน้ำ', labelEn: 'Band Hanger', href: '/อุปกรณ์แขวนท่อ/แคล้มหยดน้ำ' },
|
||||
{ label: 'แคล้มเลเวล', labelEn: 'Level Clamp', href: '/อุปกรณ์แขวนท่อ/แคล้มเลเวล' },
|
||||
{ label: 'ยูโบลท์', labelEn: 'U-Bolt', href: '/อุปกรณ์แขวนท่อ/ยูโบลท์' },
|
||||
{ label: 'สตัดเกลียวตลอด', labelEn: 'Threaded Rod', href: '/อุปกรณ์แขวนท่อ/สตัดเกลียวตลอด' },
|
||||
{ label: 'พุกต่างๆ', labelEn: 'Anchors', href: '/อุปกรณ์แขวนท่อ/พุกต่างๆ' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'อุปกรณ์ปรับอากาศ',
|
||||
labelEn: 'HVAC Equipment',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'กริลแอร์', labelEn: 'Air Grille', href: '/อุปกรณ์ปรับอากาศ/กริลแอร์' },
|
||||
{ label: 'วาล์วเติมอากาศ DURGO', labelEn: 'DURGO Valve', href: '/อุปกรณ์ปรับอากาศ/วาล์วเติมอากาศ-durgo' },
|
||||
{ label: 'เทอร์โมเบรค', labelEn: 'Thermobreak', href: '/อุปกรณ์ปรับอากาศ/เทอร์โมเบรค' },
|
||||
{ label: 'หัวจ่ายแอร์ Ball Jet', labelEn: 'Ball Jet', href: '/อุปกรณ์ปรับอากาศ/หัวจ่ายแอร์-ball-jet' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'อุปกรณ์ดับเพลิง',
|
||||
labelEn: 'Fire Protection',
|
||||
href: '/product',
|
||||
children: [
|
||||
{ label: 'ท่อสแตนเลส Realflex', labelEn: 'Realflex', href: '/อุปกรณ์ดับเพลิง/ท่อสแตนเลส-realflex' },
|
||||
{ label: 'อุปกรณ์ดับเพลิง', labelEn: 'Fire Extinguishers', href: '/อุปกรณ์ดับเพลิง/อุปกรณ์ดับเพลิง' },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{ label: 'โครงการ', labelEn: 'Portfolio', href: '/all-projects' },
|
||||
{ label: 'บทความ', labelEn: 'Blog', href: '/blog' },
|
||||
{ label: 'ติดต่อเรา', labelEn: 'Contact', href: '/contact-us' },
|
||||
];
|
||||
27
src/lib/utils.ts
Normal file
27
src/lib/utils.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { clsx, type ClassValue } from 'clsx';
|
||||
import { twMerge } from 'tailwind-merge';
|
||||
|
||||
export function cn(...inputs: ClassValue[]) {
|
||||
return twMerge(clsx(inputs));
|
||||
}
|
||||
|
||||
export function formatDate(date: string): string {
|
||||
return new Date(date).toLocaleDateString('th-TH', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric',
|
||||
});
|
||||
}
|
||||
|
||||
export function truncate(str: string, length: number): string {
|
||||
if (str.length <= length) return str;
|
||||
return str.slice(0, length) + '...';
|
||||
}
|
||||
|
||||
export function slugify(str: string): string {
|
||||
return str
|
||||
.toLowerCase()
|
||||
.replace(/[^\w\s-]/g, '')
|
||||
.replace(/[\s_-]+/g, '-')
|
||||
.replace(/^-+|-+$/g, '');
|
||||
}
|
||||
70
src/styles/globals.css
Normal file
70
src/styles/globals.css
Normal file
@@ -0,0 +1,70 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@layer base {
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
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 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;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
@apply inline-flex items-center justify-center px-6 py-3 bg-secondary-800 text-white font-semibold rounded-lg
|
||||
hover:bg-secondary-900 transition-all duration-200;
|
||||
}
|
||||
|
||||
.btn-outline {
|
||||
@apply inline-flex items-center justify-center px-6 py-3 border-2 border-primary-600 text-primary-600 font-semibold rounded-lg
|
||||
hover:bg-primary-600 hover:text-white transition-all duration-200;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
@apply text-3xl md:text-4xl lg:text-5xl font-bold text-secondary-900;
|
||||
}
|
||||
|
||||
.section-subtitle {
|
||||
@apply text-lg md:text-xl 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 bg-primary-600 text-white text-sm 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;
|
||||
}
|
||||
}
|
||||
83
src/types/index.ts
Normal file
83
src/types/index.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
// Site Configuration Types
|
||||
export interface SiteConfig {
|
||||
name: string;
|
||||
nameTh: string;
|
||||
url: string;
|
||||
description: string;
|
||||
phone: string;
|
||||
email: string;
|
||||
lineId: string;
|
||||
facebookUrl: string;
|
||||
address: string;
|
||||
}
|
||||
|
||||
export interface WorkHours {
|
||||
day: string;
|
||||
hours: string;
|
||||
isClosed?: boolean;
|
||||
}
|
||||
|
||||
export interface ProductCategory {
|
||||
id: string;
|
||||
name: string;
|
||||
nameEn: string;
|
||||
slug: string;
|
||||
href: string;
|
||||
image: string;
|
||||
description: string;
|
||||
shortDescription?: string;
|
||||
keywords?: string[];
|
||||
seoContent?: string;
|
||||
}
|
||||
|
||||
export interface NavItem {
|
||||
label: string;
|
||||
labelEn: string;
|
||||
href: string;
|
||||
children?: NavItem[];
|
||||
}
|
||||
|
||||
// Blog Types
|
||||
export interface BlogPost {
|
||||
slug: string;
|
||||
title: string;
|
||||
excerpt: string;
|
||||
content: string;
|
||||
date: string;
|
||||
author: string;
|
||||
category: string;
|
||||
image?: string;
|
||||
}
|
||||
|
||||
export interface BlogCategory {
|
||||
name: string;
|
||||
slug: string;
|
||||
count: number;
|
||||
}
|
||||
|
||||
// Portfolio Types
|
||||
export interface PortfolioItem {
|
||||
id: string;
|
||||
title: string;
|
||||
category: string;
|
||||
image: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
// Contact Form Types
|
||||
export interface ContactFormData {
|
||||
name: string;
|
||||
email: string;
|
||||
phone: string;
|
||||
subject: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
// SEO Types
|
||||
export interface SEOData {
|
||||
title: string;
|
||||
description: string;
|
||||
keywords?: string[];
|
||||
ogImage?: string;
|
||||
canonical?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user