commit 5219cf8f72a1aaae4162fab9796c39044790b7ad Author: Kunthawat Greethong Date: Thu May 21 16:33:59 2026 +0700 Part 1: Source code - Astro project structure and components diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed362a0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +node_modules/ +dist/ +.astro/ +.env +.env.local +.env.*.local +*.log +.DS_Store +*.swp +*.swo diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..689a1a8 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +onlyBuiltDependencies=better-sqlite3 diff --git a/.omc/project-memory.json b/.omc/project-memory.json new file mode 100644 index 0000000..0072786 --- /dev/null +++ b/.omc/project-memory.json @@ -0,0 +1,200 @@ +{ + "version": "1.0.0", + "lastScanned": 1778722765790, + "projectRoot": "/Users/kunthawatgreethong/Gitea/dealplustech-emdash", + "techStack": { + "languages": [ + { + "name": "JavaScript/TypeScript", + "version": ">=20.0.0", + "confidence": "high", + "markers": [ + "package.json" + ] + }, + { + "name": "TypeScript", + "version": null, + "confidence": "high", + "markers": [ + "tsconfig.json" + ] + } + ], + "frameworks": [ + { + "name": "astro", + "version": "6.1.7", + "category": "fullstack" + } + ], + "packageManager": "npm", + "runtime": "Node.js 20.0.0" + }, + "build": { + "buildCommand": "npm run build 2>&1 | tail -5", + "testCommand": null, + "lintCommand": null, + "devCommand": "npm run dev", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + } + }, + "conventions": { + "namingStyle": null, + "importStyle": null, + "testPattern": null, + "fileOrganization": "type-based" + }, + "structure": { + "isMonorepo": false, + "workspaces": [], + "mainDirectories": [ + "public", + "src" + ], + "gitBranches": null + }, + "customNotes": [], + "directoryMap": { + "dist": { + "path": "dist", + "purpose": "Distribution/build output", + "fileCount": 1, + "lastAccessed": 1778722765769, + "keyFiles": [ + "index.html" + ] + }, + "public": { + "path": "public", + "purpose": "Public files", + "fileCount": 0, + "lastAccessed": 1778722765772, + "keyFiles": [] + }, + "src": { + "path": "src", + "purpose": "Source code", + "fileCount": 1, + "lastAccessed": 1778722765772, + "keyFiles": [ + "env.d.ts" + ] + }, + "src/components": { + "path": "src/components", + "purpose": "UI components", + "fileCount": 0, + "lastAccessed": 1778722765773, + "keyFiles": [] + }, + "src/pages": { + "path": "src/pages", + "purpose": "Page components", + "fileCount": 32, + "lastAccessed": 1778722765773, + "keyFiles": [ + "about-us.astro", + "all-products.astro", + "contact-us.astro" + ] + } + }, + "hotPaths": [ + { + "path": "src/layouts/BaseLayout.astro", + "accessCount": 4, + "lastAccessed": 1778764408392, + "type": "file" + }, + { + "path": "CLAUDE.md", + "accessCount": 3, + "lastAccessed": 1778722935903, + "type": "file" + }, + { + "path": "src/pages/all-products.astro", + "accessCount": 3, + "lastAccessed": 1778765063509, + "type": "file" + }, + { + "path": "src/pages/เครื่องเชื่อม-hdpe.astro", + "accessCount": 2, + "lastAccessed": 1778728155229, + "type": "file" + }, + { + "path": "src/pages/ระบบรั้วไวน์แมน.astro", + "accessCount": 2, + "lastAccessed": 1778764284029, + "type": "file" + }, + { + "path": "astro.config.mjs", + "accessCount": 1, + "lastAccessed": 1778722802839, + "type": "file" + }, + { + "path": "src/styles/global.css", + "accessCount": 1, + "lastAccessed": 1778722802869, + "type": "file" + }, + { + "path": "package.json", + "accessCount": 1, + "lastAccessed": 1778722802930, + "type": "file" + }, + { + "path": "src/layouts/Layout.astro", + "accessCount": 1, + "lastAccessed": 1778722809476, + "type": "file" + }, + { + "path": "src/pages/index.astro", + "accessCount": 1, + "lastAccessed": 1778722845170, + "type": "file" + }, + { + "path": "PROJECT_PDF_GUIDE.md", + "accessCount": 1, + "lastAccessed": 1778722854338, + "type": "file" + }, + { + "path": "src/components/common/StickyBottomCTA.astro", + "accessCount": 1, + "lastAccessed": 1778722894184, + "type": "file" + }, + { + "path": "src/pages/อุปกรณ์ปรับอากาศ.astro", + "accessCount": 1, + "lastAccessed": 1778763831615, + "type": "file" + }, + { + "path": "src/pages/ท่อ-xy-lent.astro", + "accessCount": 1, + "lastAccessed": 1778763831668, + "type": "file" + }, + { + "path": "src/pages/รั้วเทวดา.astro", + "accessCount": 1, + "lastAccessed": 1778763831720, + "type": "file" + } + ], + "userDirectives": [] +} \ No newline at end of file diff --git a/.omc/sessions/02c17e1c-9216-463e-bf95-4f5f78cefc4f.json b/.omc/sessions/02c17e1c-9216-463e-bf95-4f5f78cefc4f.json new file mode 100644 index 0000000..95adcd7 --- /dev/null +++ b/.omc/sessions/02c17e1c-9216-463e-bf95-4f5f78cefc4f.json @@ -0,0 +1,8 @@ +{ + "session_id": "02c17e1c-9216-463e-bf95-4f5f78cefc4f", + "ended_at": "2026-05-11T03:34:19.588Z", + "reason": "resume", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/086c93b8-ed5c-4f49-b508-44ed650577bc.json b/.omc/sessions/086c93b8-ed5c-4f49-b508-44ed650577bc.json new file mode 100644 index 0000000..8f33c39 --- /dev/null +++ b/.omc/sessions/086c93b8-ed5c-4f49-b508-44ed650577bc.json @@ -0,0 +1,8 @@ +{ + "session_id": "086c93b8-ed5c-4f49-b508-44ed650577bc", + "ended_at": "2026-05-12T02:21:51.006Z", + "reason": "resume", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/27234eb1-24d7-4a70-84b9-be18df166f36.json b/.omc/sessions/27234eb1-24d7-4a70-84b9-be18df166f36.json new file mode 100644 index 0000000..10ab2b6 --- /dev/null +++ b/.omc/sessions/27234eb1-24d7-4a70-84b9-be18df166f36.json @@ -0,0 +1,8 @@ +{ + "session_id": "27234eb1-24d7-4a70-84b9-be18df166f36", + "ended_at": "2026-05-14T13:01:59.693Z", + "reason": "resume", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/53a89674-cfb8-4c92-938b-4e5ae0bd3f1f.json b/.omc/sessions/53a89674-cfb8-4c92-938b-4e5ae0bd3f1f.json new file mode 100644 index 0000000..7ad07b5 --- /dev/null +++ b/.omc/sessions/53a89674-cfb8-4c92-938b-4e5ae0bd3f1f.json @@ -0,0 +1,8 @@ +{ + "session_id": "53a89674-cfb8-4c92-938b-4e5ae0bd3f1f", + "ended_at": "2026-05-17T06:13:48.424Z", + "reason": "prompt_input_exit", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/77cb8f65-501a-417d-8d97-926fcba021ef.json b/.omc/sessions/77cb8f65-501a-417d-8d97-926fcba021ef.json new file mode 100644 index 0000000..7dc730f --- /dev/null +++ b/.omc/sessions/77cb8f65-501a-417d-8d97-926fcba021ef.json @@ -0,0 +1,8 @@ +{ + "session_id": "77cb8f65-501a-417d-8d97-926fcba021ef", + "ended_at": "2026-05-12T23:24:48.258Z", + "reason": "other", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/815b1c30-de13-4272-8eed-0902f816df2d.json b/.omc/sessions/815b1c30-de13-4272-8eed-0902f816df2d.json new file mode 100644 index 0000000..df80cf5 --- /dev/null +++ b/.omc/sessions/815b1c30-de13-4272-8eed-0902f816df2d.json @@ -0,0 +1,8 @@ +{ + "session_id": "815b1c30-de13-4272-8eed-0902f816df2d", + "ended_at": "2026-05-06T10:48:43.865Z", + "reason": "resume", + "agents_spawned": 10, + "agents_completed": 9, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/881caeef-0afc-463f-9bfd-74c45283e671.json b/.omc/sessions/881caeef-0afc-463f-9bfd-74c45283e671.json new file mode 100644 index 0000000..01877f4 --- /dev/null +++ b/.omc/sessions/881caeef-0afc-463f-9bfd-74c45283e671.json @@ -0,0 +1,8 @@ +{ + "session_id": "881caeef-0afc-463f-9bfd-74c45283e671", + "ended_at": "2026-05-05T01:30:53.461Z", + "reason": "resume", + "agents_spawned": 0, + "agents_completed": 0, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/c1885857-6101-4fc3-820f-0dff42f3c723.json b/.omc/sessions/c1885857-6101-4fc3-820f-0dff42f3c723.json new file mode 100644 index 0000000..4189013 --- /dev/null +++ b/.omc/sessions/c1885857-6101-4fc3-820f-0dff42f3c723.json @@ -0,0 +1,8 @@ +{ + "session_id": "c1885857-6101-4fc3-820f-0dff42f3c723", + "ended_at": "2026-05-07T04:33:10.787Z", + "reason": "prompt_input_exit", + "agents_spawned": 1, + "agents_completed": 1, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/sessions/e755b3ef-8dbf-470c-8a00-a71497e48536.json b/.omc/sessions/e755b3ef-8dbf-470c-8a00-a71497e48536.json new file mode 100644 index 0000000..48bad30 --- /dev/null +++ b/.omc/sessions/e755b3ef-8dbf-470c-8a00-a71497e48536.json @@ -0,0 +1,8 @@ +{ + "session_id": "e755b3ef-8dbf-470c-8a00-a71497e48536", + "ended_at": "2026-05-05T04:07:42.708Z", + "reason": "prompt_input_exit", + "agents_spawned": 3, + "agents_completed": 3, + "modes_used": [] +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-05T02-38-54-178Z.json b/.omc/state/checkpoints/checkpoint-2026-05-05T02-38-54-178Z.json new file mode 100644 index 0000000..e23fcd9 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-05T02-38-54-178Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-05T02:38:54.176Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-05T03-48-13-808Z.json b/.omc/state/checkpoints/checkpoint-2026-05-05T03-48-13-808Z.json new file mode 100644 index 0000000..035aae9 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-05T03-48-13-808Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-05T03:48:13.806Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-05T04-01-34-649Z.json b/.omc/state/checkpoints/checkpoint-2026-05-05T04-01-34-649Z.json new file mode 100644 index 0000000..edf972a --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-05T04-01-34-649Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-05T04:01:34.647Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T03-38-55-435Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T03-38-55-435Z.json new file mode 100644 index 0000000..53e957a --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T03-38-55-435Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T03:38:55.431Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-01-730Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-01-730Z.json new file mode 100644 index 0000000..d06e576 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-01-730Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:07:01.729Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-19-716Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-19-716Z.json new file mode 100644 index 0000000..d54d692 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-07-19-716Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:07:19.715Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-08-04-801Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-08-04-801Z.json new file mode 100644 index 0000000..ea1077d --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-08-04-801Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:08:04.800Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-12-51-570Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-12-51-570Z.json new file mode 100644 index 0000000..e2a5e0e --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-12-51-570Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:12:51.569Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-23-46-943Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-23-46-943Z.json new file mode 100644 index 0000000..49382e3 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-23-46-943Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:23:46.942Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-17-478Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-17-478Z.json new file mode 100644 index 0000000..3d6be6f --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-17-478Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:50:17.477Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-37-703Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-37-703Z.json new file mode 100644 index 0000000..8002138 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-50-37-703Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:50:37.702Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T04-51-15-895Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T04-51-15-895Z.json new file mode 100644 index 0000000..5ebde24 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T04-51-15-895Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T04:51:15.894Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T05-06-20-220Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T05-06-20-220Z.json new file mode 100644 index 0000000..327f3d2 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T05-06-20-220Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T05:06:20.219Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T05-10-42-656Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T05-10-42-656Z.json new file mode 100644 index 0000000..ea8e397 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T05-10-42-656Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T05:10:42.655Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T05-40-48-597Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T05-40-48-597Z.json new file mode 100644 index 0000000..c12ce3b --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T05-40-48-597Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T05:40:48.596Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-06T11-25-39-858Z.json b/.omc/state/checkpoints/checkpoint-2026-05-06T11-25-39-858Z.json new file mode 100644 index 0000000..5b0f4cd --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-06T11-25-39-858Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-06T11:25:39.857Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-07T02-48-25-591Z.json b/.omc/state/checkpoints/checkpoint-2026-05-07T02-48-25-591Z.json new file mode 100644 index 0000000..19a56b9 --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-07T02-48-25-591Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-07T02:48:25.590Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/checkpoints/checkpoint-2026-05-07T02-54-46-706Z.json b/.omc/state/checkpoints/checkpoint-2026-05-07T02-54-46-706Z.json new file mode 100644 index 0000000..c5e92de --- /dev/null +++ b/.omc/state/checkpoints/checkpoint-2026-05-07T02-54-46-706Z.json @@ -0,0 +1,16 @@ +{ + "created_at": "2026-05-07T02:54:46.705Z", + "trigger": "auto", + "active_modes": {}, + "todo_summary": { + "pending": 0, + "in_progress": 0, + "completed": 0 + }, + "wisdom_exported": false, + "background_jobs": { + "active": [], + "recent": [], + "stats": null + } +} \ No newline at end of file diff --git a/.omc/state/mission-state.json b/.omc/state/mission-state.json new file mode 100644 index 0000000..afab508 --- /dev/null +++ b/.omc/state/mission-state.json @@ -0,0 +1,4 @@ +{ + "updatedAt": "2026-05-07T04:33:10.977Z", + "missions": [] +} \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..047818b --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,58 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +Astro-based Thai-language static website for "ดีล พลัส เทค" (Deal Plus Tech), a water systems company. Site is deployed at https://dealplustech.com. + +## Commands + +```bash +npm run dev # Start dev server at http://localhost:3100 +npm run build # Build static site to dist/ +npm run preview # Preview built site +npm run astro # Run Astro CLI directly +``` + +## Architecture + +- **Framework**: Astro 6 with static output (`output: 'static'`) +- **Styling**: Tailwind CSS v4 — custom theme is defined directly in `src/styles/global.css` (no tailwind.config.js) +- **Fonts**: Kanit + Noto Sans Thai (loaded from Google Fonts) +- **Path aliases**: `@` → `src/`, `@components` → `src/components`, `@layouts` → `src/layouts`, `@styles` → `src/styles` + +### Directory Structure + +``` +src/ +├── layouts/ +│ ├── BaseLayout.astro # Main layout with header/footer + navigation dropdown +│ └── Layout.astro # HTML shell with meta tags +├── pages/ # All routes (Thai URLs for products) +├── components/common/ # Header, Footer, StickyBottomCTA +└── styles/global.css # Tailwind imports + custom theme + animations +``` + +### Key Patterns + +**Company info and navigation** are defined in `src/layouts/BaseLayout.astro` (not a separate config). To add/modify product categories or company details, edit this file directly. + +**Product pricing PDFs**: Pages with a `#pricelist` section automatically show a "ราคาสินค้า" button in the hero. The auto-detection runs in a ` diff --git a/src/components/common/StickyBottomCTA.astro b/src/components/common/StickyBottomCTA.astro new file mode 100644 index 0000000..2631790 --- /dev/null +++ b/src/components/common/StickyBottomCTA.astro @@ -0,0 +1,43 @@ +--- +interface Props { + phone?: string; + lineUrl?: string; +} + +const { phone = "0905551415", lineUrl = "https://line.me/ti/p/~JPPSELECTION" } = Astro.props; + +// Format phone for display and tel link +const phoneFormatted = phone.replace(/-/g, ""); +--- + + +
+ +
+ + \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..2c3cfd6 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro new file mode 100644 index 0000000..f35de90 --- /dev/null +++ b/src/layouts/BaseLayout.astro @@ -0,0 +1,269 @@ +--- +import '@/styles/global.css'; +import Layout from './Layout.astro'; + +const companyInfo = { + name: "ดีล พลัส เทค จำกัด", + phone: "090-555-1415", + email: "dealplustech@gmail.com", + line: "@JPPSELECTION", + address: "9/70 ซอยนครลุง 17 แขวงบางไผ่ เขตบางแค กรุงเทพมหานคร 10160", + hours: "จันทร์-ศุกร์ 08:00-18:00 เสาร์ 08:00-17:00" +}; + +const categories = [ + { + name: 'ท่อพีพีอาร์', + slug: '/ท่อ-ppr-thai-ppr', + subcategories: [ + { name: 'ไทยพีพีอาร์', slug: '/ท่อ-ppr-thai-ppr' }, + { name: 'ท่อ PPR ตราช้าง', slug: '/ท่อ-ppr-scg' }, + { name: 'ท่อ HDPE', slug: '/ท่อ-hdpe' }, + { name: 'ท่อ UPVC', slug: '/ท่อ-upvc' }, + { name: 'ท่อ Syler', slug: '/ท่อ-syler' }, + { name: 'ท่อ XYLENT', slug: '/ท่อ-xy-lent' }, + ] + }, + { + name: 'เครื่องเชื่อมท่อ', + slug: '/เครื่องเชื่อม-hdpe', + subcategories: [ + { name: 'เครื่องเชื่อม HDPE', slug: '/เครื่องเชื่อม-hdpe' }, + { name: 'เครื่องเชื่อม PPR', slug: '/เครื่องเชื่อม-ppr' }, + { name: 'Pipe Coupling', slug: '/pipe-coupling' }, + { name: 'เม็ดกรู๊ฟ คับปลิ้ง', slug: '/เม็กกรู๊ฟ-คับปลิ้ง' }, + ] + }, + { + name: 'ระบบน้ำ', + slug: '/water-pump', + subcategories: [ + { name: 'วาล์ว', slug: '/วาล์ว-valve' }, + { name: 'ปั๊มน้ำ', slug: '/water-pump' }, + { name: 'ระบบกรองน้ำ', slug: '/water-treatment' }, + ] + }, + { + name: 'อุปกรณ์ปรับอากาศ', + slug: '/อุปกรณ์ปรับอากาศ', + subcategories: [ + { name: 'หัวจ่ายแอร์', slug: '/อุปกรณ์ปรับอากาศ' }, + { name: 'กริลแอร์', slug: '/grilles' }, + { name: 'DURGO วาล์วเติมอากาศ', slug: '/durgo-avvs' }, + ] + }, + { + name: 'อุปกรณ์ดับเพลิง', + slug: '/อุปกรณ์ดับเพลิง', + subcategories: [ + { name: 'อุปกรณ์ดับเพลิง', slug: '/อุปกรณ์ดับเพลิง' }, + { name: 'Realflex', slug: '/realflex' }, + ] + }, + { + name: 'ฉนวนหุ้มท่อ', + slug: '/ฉนวนหุ้มท่อ', + subcategories: [ + { name: 'ฉนวนหุ้มท่อ', slug: '/ฉนวนหุ้มท่อ' }, + { name: 'เทอร์โมเบรค', slug: '/เทอร์โมเบรค-thermobreak' }, + ] + }, + { + name: 'ระบบรั้ว', + slug: '/รั้วเทวดา', + subcategories: [ + { name: 'รั้วเทวดา', slug: '/รั้วเทวดา' }, + { name: 'ระบบรั้วไวน์แมน', slug: '/ระบบรั้วไวน์แมน' }, + ] + }, +]; + +const productLinks = [ + { title: "ท่อพีพีอาร์", href: "/ท่อ-ppr-thai-ppr" }, + { title: "ท่อ HDPE", href: "/ท่อ-hdpe" }, + { title: "ท่อ UPVC", href: "/ท่อ-upvc" }, + { title: "เครื่องเชื่อมท่อ", href: "/เครื่องเชื่อม-hdpe" }, + { title: "วาล์ว", href: "/วาล์ว-valve" }, + { title: "ปั๊มน้ำ", href: "/water-pump" }, +]; +--- + + +
+ +
+ + + + + + +
\ No newline at end of file diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..74b9930 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,43 @@ +--- +import '@/styles/global.css'; + +interface Props { + title: string; + description?: string; +} + +const { title, description = "ดีล พลัส เทค - ระบบน้ำคุณภาพสูง ราคาโรงงาน" } = Astro.props; +--- + + + + + + + + + + + + {title} + + + + + + + diff --git a/src/pages/about-us.astro b/src/pages/about-us.astro new file mode 100644 index 0000000..d59fe38 --- /dev/null +++ b/src/pages/about-us.astro @@ -0,0 +1,171 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + + +
+
+
+

เกี่ยวกับเรา

+

+ ดีล พลัส เทค จำกัด ผู้นำด้านระบบน้ำและสุขภัณฑ์คุณภาพสูง ท่อ PPR ท่อ HDPE อุปกรณ์วาล์ว ปั๊มน้ำ เครื่องเชื่อมท่อ อุปกรณ์ปรับอากาศ และฉนวนหุ้มท่อสำหรับโรงงานและบ้านเรือน +

+
+
+
+ + +
+
+
+
+

บริษัท ดีล พลัส เทค จำกัด

+
+

+ ดีล พลัส เทค จำกัด เป็นผู้นำด้านระบบน้ำและสุขภัณฑ์คุณภาพสูง ด้วยประสบการณ์กว่า 10 ปีในอุตสาหกรรม ทำให้เราเข้าใจความต้องการของลูกค้าเป็นอย่างดี +

+

+ เราเป็นตัวแทนจำหน่ายและจัดจำหน่ายสินค้าระบบน้ำคุณภาพสูงจากแบรนด์ชั้นนำทั่วโลก อาทิ ท่อ PPR ไทยพีพีอาร์ ท่อ PPR ตราช้าง ท่อ HDPE ท่อ UPVC อุปกรณ์วาล์ว ปั๊มน้ำ เครื่องเชื่อมท่อ และอุปกรณ์ปรับอากาศ +

+

+ สินค้าของเราได้รับมาตรฐาน มอก. และได้รับความไว้วางใจจากโครงการทั่วประเทศ ทั้งโรงงานอุตสาหกรรม อาคารพาณิชย์ โรงแรม โรงพยาบาล และบ้านเรือน +

+
+
+
+

สินค้าหลัก

+
+
+
+ + + +
+ ท่อ PPR +
+
+
+ + + +
+ ท่อ HDPE +
+
+
+ + + +
+ เครื่องเชื่อมท่อ +
+
+
+ + + +
+ วาล์ว +
+
+
+ + + +
+ ปั๊มน้ำ +
+
+
+ + + +
+ ฉนวนท่อ +
+
+
+
+
+
+ + +
+
+
+
+
10+
+
ปีประสบการณ์
+
+
+
1000+
+
โปรเจคสำเร็จ
+
+
+
500+
+
สินค้าในคลัง
+
+
+
+
+ + +
+
+
+

ทำไมต้องเลือกเรา

+
+
+
+
+ + + +
+

คุณภาพสูง

+

สินค้าผ่านมาตรฐาน มอก. รับประกันคุณภาพ

+
+
+
+ + + +
+

ราคาโรงงาน

+

ราคาพิเศษ ราคาโรงงาน ไม่มีมาร์จิ้นกลาง

+
+
+
+ + + +
+

จัดส่งรวดเร็ว

+

สินค้าพร้อมส่ง จัดส่งภายใน 1-3 วัน

+
+
+
+ + + +
+

บริการดี

+

ให้คำปรึกษาฟรี ตอบคำถามทุกคำถาม

+
+
+
+
+ + +
+
+

ต้องการสินค้าคุณภาพ ราคาโรงงาน?

+

ติดต่อเราวันนี้ 090-555-1415 หรือแอดไลน์ @JPPSELECTION

+ +
+
+
diff --git a/src/pages/all-products.astro b/src/pages/all-products.astro new file mode 100644 index 0000000..4b0cd95 --- /dev/null +++ b/src/pages/all-products.astro @@ -0,0 +1,98 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; + +const products = [ + { name: "ท่อ PPR ไทยพีพีอาร์", href: "/ท่อ-ppr-thai-ppr", image: "/images/products-cropped/ppr-pipe_000C.jpg", category: "ท่อพีพีอาร์" }, + { name: "ท่อ PPR ตราช้าง", href: "/ท่อ-ppr-scg", image: "/images/products-cropped/ppr-scg.jpg", category: "ท่อพีพีอาร์" }, + { name: "ท่อ HDPE", href: "/ท่อ-hdpe", image: "/images/products-cropped/hdpe001.png", category: "ท่อพีพีอาร์" }, + { name: "ท่อ UPVC", href: "/ท่อ-upvc", image: "/images/products-cropped/upvc-pipe_000C.jpg", category: "ท่อ UPVC" }, + { name: "ท่อ Syler", href: "/ท่อ-syler", image: "/images/products-cropped/syler-pipe-cold-water.jpg", category: "ท่อ UPVC" }, + { name: "ท่อ XYLENT", href: "/ท่อ-xy-lent", image: "/images/products-cropped/XYLENT_001.png", category: "ท่อ UPVC" }, + { name: "เครื่องเชื่อม HDPE", href: "/เครื่องเชื่อม-hdpe", image: "/images/HDPE-welding-crop.jpg", category: "เครื่องเชื่อม" }, + { name: "เครื่องเชื่อม PPR", href: "/เครื่องเชื่อม-ppr", image: "/images/products-misc/ppr-welding-machine-main.jpg", category: "เครื่องเชื่อม" }, + { name: "Pipe Coupling", href: "/pipe-coupling", image: "/images/pipe-coupling/BG-SMC02.png", category: "เครื่องเชื่อม" }, + { name: "เม็กกรู๊ฟ คับปลิ้ง", href: "/เม็กกรู๊ฟ-คับปลิ้ง", image: "/images/products-misc/MECH_001.jpg", category: "เครื่องเชื่อม" }, + { name: "วาล์ว Valve", href: "/วาล์ว-valve", image: "/images/products-cropped/valve_000C.jpg", category: "วาล์ว" }, + { name: "DURGO วาล์วเติมอากาศ", href: "/durgo-avvs", image: "/images/products-cropped/durgo_000C.jpg", category: "วาล์ว" }, + { name: "ปั๊มน้ำ Water Pump", href: "/water-pump", image: "/images/products-cropped/water-pump_000C.jpg", category: "ปั๊มและระบบน้ำ" }, + { name: "ระบบกรองน้ำ", href: "/water-treatment", image: "/images/products-cropped/water-treatment_000C.jpg", category: "ปั๊มและระบบน้ำ" }, + { name: "อุปกรณ์ปรับอากาศ", href: "/อุปกรณ์ปรับอากาศ", image: "/images/products-raw/ball-jet/main-ball-jet.jpg", category: "อุปกรณ์ปรับอากาศ" }, + { name: "กริลแอร์", href: "/grilles", image: "/images/products-cropped/grilles_000C.jpg", category: "อุปกรณ์ปรับอากาศ" }, + { name: "อุปกรณ์ดับเพลิง", href: "/อุปกรณ์ดับเพลิง", image: "/images/products-cropped/extinguishers_000C.jpg", category: "อุปกรณ์ดับเพลิง" }, + { name: "Realflex", href: "/realflex", image: "/images/products-cropped/realflex_000C.jpg", category: "ฉนวนและรั้ว" }, + { name: "ฉนวนหุ้มท่อ", href: "/ฉนวนหุ้มท่อ", image: "/images/thermobreak/thermobreak-solarblock.png", category: "ฉนวนและรั้ว" }, + { name: "เทอร์โมเบรค Thermobreak", href: "/เทอร์โมเบรค-thermobreak", image: "/images/thermobreak/thermobreak-solarblock.png", category: "ฉนวนและรั้ว" }, + { name: "รั้วเทวดา", href: "/รั้วเทวดา", image: "/images/products-raw/tevada/TEVADA_001-987x1024.png", category: "ฉนวนและรั้ว" }, + { name: "ระบบรั้วไวน์แมน", href: "/ระบบรั้วไวน์แมน", image: "/images/products-cropped/vineman_000C.jpg", category: "ฉนวนและรั้ว" }, +]; + +const categories = [ + { name: "ท่อพีพีอาร์", count: 2 }, + { name: "ท่อ UPVC", count: 2 }, + { name: "เครื่องเชื่อม", count: 4 }, + { name: "วาล์ว", count: 2 }, + { name: "ปั๊มและระบบน้ำ", count: 2 }, + { name: "อุปกรณ์ปรับอากาศ", count: 2 }, + { name: "ฉนวนและรั้ว", count: 6 }, +]; +--- + + + +
+
+

สินค้าทั้งหมด

+

สินค้าระบบน้ำคุณภาพสูง {products.length} รายการ

+
+
+ + +
+ +
+ + +
+
+
+ {products.map(product => ( + +
+ {product.name} +
+
+ {product.category} +

{product.name}

+
+
+ ))} +
+
+
+ + +
+
+

ต้องการสินค้าคุณภาพ ราคาโรงงาน?

+

ติดต่อเราวันนี้ 090-555-1415 หรือแอดไลน์ @JPPSELECTION

+ +
+
+
diff --git a/src/pages/contact-us.astro b/src/pages/contact-us.astro new file mode 100644 index 0000000..e3a273c --- /dev/null +++ b/src/pages/contact-us.astro @@ -0,0 +1,127 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + + +
+
+

ติดต่อเรา

+

พร้อมให้บริการและให้คำปรึกษาฟรี

+
+
+ + +
+
+ + + +
+

ทำไมต้องติดต่อเรา

+
+
+
+ + + +
+
+

สินค้าคุณภาพ

+

ผ่านมาตรฐาน มอก.

+
+
+
+
+ + + +
+
+

ราคาโรงงาน

+

ไม่มีมาร์จิ้นกลาง

+
+
+
+
+ + + +
+
+

จัดส่งรวดเร็ว

+

ภายใน 1-3 วัน

+
+
+
+
+ + + +
+
+

ให้คำปรึกษาฟรี

+

ตอบทุกคำถาม

+
+
+
+
+ + +
+

เวลาทำการ

+

จันทร์-ศุกร์ 08:00-18:00 | เสาร์ 08:00-17:00

+

หยุดวันอาทิตย์และวันหยุดนักขัตฤกษ์

+
+
+
+
diff --git a/src/pages/durgo-avvs.astro b/src/pages/durgo-avvs.astro new file mode 100644 index 0000000..03ecd78 --- /dev/null +++ b/src/pages/durgo-avvs.astro @@ -0,0 +1,281 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + +
+ +
+
+
+
+
+ DURGO AVVs +
+
+
+ วาล์วเติมอากาศ +

ระบบวาล์วเติมอากาศ DURGO AVVs

+

+ จำหน่ายระบบวาล์วเติมอากาศ DURGO AVVs คุณภาพสูง ราคาโรงงาน ส่งฟรี กรุงเทพมหานคร และปริมณฑล +

+ +
+
+ + + + คุณภาพสูง มาตรฐานอุตสาหกรรม +
+
+ + + + ราคาโรงงาน คุ้มค่า +
+
+ + + + จัดส่งรวดเร็ว ส่งฟรี กทม. ปริมณฑล +
+
+
+
+
+
+ + +
+
+
+

รายละเอียดสินค้า

+
+

+ ระบบวาล์วเติมอากาศ DURGO AVVs นวัตกรรมระดับโลก ที่ประเทศชั้นนำเลือกใช้ ด้วยผลิตภัณฑ์คุณภาพจากยุโรป เชียวชาญเทคโนโลยีระบบวาล์ว ทั้งด้านการผลิต การออกแบบวางระบบ ทางด้านอุตสาหกรรมทำความร้อน และระบบสุขาภิบาลตั้งแต่ปี 1921 จนเป็นที่ยอมรับ ได้สิทธิบัตรมากมายจากทุกทวีปทั่วโลก +

+ +
+ DURGO AVVs + DURGO AVVs +
+ +

เหตุผลที่ควรเลือกใช้ DURGO AVVs

+

+ ระบบระบายน้ำฝน และน้ำทิ้ง เป็นระบบที่มีความสำคัญอย่างมากในโครงการที่พักอาศัย โรงแรม และอาคารสำนักงานต่างๆ ดังนั้น การเลือกระบบวาล์วเติมอากาศ DURGO AVVs ทดแทนท่ออากาศแบบเก่า จะทำให้เจ้าของโครงการตลอดจนผู้อาศัย ได้รับประโยชน์มากมาย +

+ +
+
+ ลดค่าใช้จ่าย +

ลดค่าใช้จ่าย

+

วัสดุท่อน้ำทิ้ง ค่าแรง และลดระยะเวลาในการก่อสร้าง

+
+
+ มั่นใจได้ +

มั่นใจได้

+

จากการยอมรับ และการใช้งานในต่างประเทศมานาน กว่า 50 ปี

+
+
+ เพิ่มมูลค่า +

เพิ่มมูลค่า

+

สามารถลดปริมาณ หรือไม่ต้องใช้ท่ออากาศภายในอาคาร ลดขนาดช่องชาร์ปทำให้เพิ่มพื้นที่ขาย และพื้นที่ใช้สอยได้มากขึ้น

+
+
+ ยับยั้งการลามไฟ +

ยับยั้งการลามไฟ

+

เมื่อเกิดเหตุเพลิงไหม้ เพราะอากาศเข้าในอาคารน้อยลง เมื่อเทียบกับระบบเก่า

+
+
+ ลดกลิ่น +

ลดกลิ่น

+

ในระบบเก่ามักมีปัญหากลิ่นเหม็นจากระบบท่อน้ำทิ้ง ทั้งภายในอาคาร และนอกอาคาร

+
+
+ ตอบโจทย์ทุกการใช้งาน +

ตอบโจทย์ทุกการใช้งาน

+

สินค้าหลากหลายติดตั้งกับท่อประเภทต่างๆ (มาตรฐาน EN/JIS) ได้ทุกชนิด

+
+
+ ป้องกันเชื้อโรค +

ป้องกันเชื้อโรค

+

ที่ปะปนมากับอากาศภายในท่อน้ำทิ้งระบบเก่าไม่ให้แพร่กระจายเข้าสู่ห้องพักส่วนต่างๆ ภายในอาคารได้

+
+
+ ลดอัตราการถ่ายเทอากาศ +

ลดอัตราการถ่ายเทอากาศ

+

ในขณะที่ระบบไม่ถูกใช้งานจึงทำให้น้ำใน Trap (ตัวดักกลิ่น) ระเหยช้าลง และไม่ถูกดูดออกไป

+
+
+ +
+ INTERNATIONAL STANDARD +
+ +

หลักการทำงานของวาล์วเติมอากาศ DURGO AVVs

+

+ ระบบวาล์วเติมอากาศ DURGO AVVs ทดแทนท่อระบายอากาศของระบบท่อน้ำทิ้งแบบเก่า จะช่วยเพิ่มประสิทธิภาพของการเติมอากาศเข้าระบบ และช่วยป้องกันไม่ให้น้ำถูกดึงออกจาก Trap (ตัวดักกลิ่น) ซึ่งเป็นสาเหตุหลักของการเกิดกลิ่นเหม็น และลดการแพร่เชื้อโรคที่มากับอากาศภายในระบบท่อน้ำทิ้งได้อย่างดี +

+

+ ซึ่งอาศัยแรงดันที่เกิดขึ้นจากการระบายน้ำในระบบน้ำทิ้ง ทั้งแรงดันบวก (Positive Pressure) และแรงดันลบ (Negative Pressure) โดยมีขั้นตอนการทำงาน ดังนี้ +

+
    +
  • ขณะที่แรงดันของระบบสมดุล ยังไม่มีการระบายน้ำเสีย แรงดันของอากาศปกติจะกดแผ่น Disc Valve และแผ่นซีลยาง EPDM ให้ปิดสนิท กลิ่นเหม็น และเชื้อโรคภายในท่อระบายน้ำเสีย จะไม่สามารถแพร่ออกสู่ภายนอกได้
  • +
  • เมื่อมีการระบายน้ำจะทำให้แรงดันในระบบเสียสมดุล และเกิดแรงดันลบในระบบ เมื่อแรงดันลบมีค่ามากพอจะทำให้แผ่นชีลยาง EPDM และแผ่น Disc Valve ยกตัวขึ้น (วาล์วเปิด) และเติมอากาศเข้าไปในระบบ
  • +
  • เมื่อการระบายน้ำเสร็จสิ้น แรงดันลบในระบบลดน้อยลง ระบบกลับสู่สมดุล แผ่นซีลยาง EPDM และแผ่น Disc Valve จะตกมาที่ตำแหน่งเดิม (วาล์วปิด) กลับสู่สภาวะปกติ
  • +
+ +
+ หลักการทำงาน +
+ +

เปรียบเทียบการออกแบบระบบระบายน้ำทิ้ง

+
+ ระบบเดิม + ระบบ DURGO + เปรียบเทียบ +
+ +

ขนาดของวาล์วเติมอากาศ DURGO AVVs

+
+ ขนาด +
+ +

เกณฑ์การเลือกใช้วาล์วเติมอากาศ DURGO AVVs

+
+ เกณฑ์การเลือกใช้ +
+ +

เทคนิคและข้อกำหนดขั้นต้นในการติดตั้งวาล์วเติมอากาศ DURGO AVVs

+
    +
  • การติดตั้งวาล์วเติมอากาศ DURGO AVVs จะต้องตั้งฉากกับระดับน้ำ ค่าความคลาดเคลื่อนในการติดตั้งไม่ควรเอียงเกิน 5 องศา และห้ามติดตั้งในแนวนอนเด็ดขาด
  • +
  • ในการออกแบบ ต้องคำนึงถึงตำแหน่งในการติดตั้ง ไม่ควรติดตั้งวาล์วเติมอากาศ DURGO AVVs ในบริเวณที่อับอากาศและไม่ควรติดตั้งในที่ที่มีอากาศเสีย ปล่องควัน หรือที่ที่มีก๊าซอันตราย
  • +
  • วาล์วเติมอากาศ DURGO AVVs ควรติดตั้งในอาคาร หากติดตั้งภายนอกอาคาร ต้องมีวัสดุกันแสงแดดหรืออลูมิเนียมอัลลอยป้องกันบริเวณหัววาล์วเติมอากาศ DURGO AVVs
  • +
  • การติดตั้งวาล์วเติมอากาศ DURGO AVVs ห้ามติดตั้งต่ำกว่าระดับ Flood Level ของอุปกรณ์สุขภัณฑ์ 1 เมตร
  • +
+ +

การบำรุงรักษา

+

+ วาล์วเติมอากาศ DURGO AVVs ใช้หลักการตามธรรมชาติของความสมดุลแรงดันในระบบ ไม่ใช้ระบบไฟฟ้าหรือเครื่องกล จึงไม่มีความจำเป็นต้องบำรุงรักษาเป็นพิเศษ แต่ในกรณีที่คำนึงถึงการใช้งานที่มีปัจจัยไม่แน่นอน ควรเตรียมช่องเปิดสำหรับการบำรุงรักษา ขนาด 300 mm x 300 mm ขึ้นไป +

+
+
+
+
+ + +
+
+

ผลิตภัณฑ์วาล์วเติมอากาศ DURGO AVVs

+
+
+
+

DURGO Air Valve (Standard)

+
    +
  • • ขนาด: 1" - 6" (DN25 - DN150)
  • +
  • • วัสดุ: ABS Body + EPDM Seal
  • +
  • • มาตรฐาน: EN/JIS Compliant
  • +
  • • อุณหภูมิใช้งาน: -20°C ถึง +60°C
  • +
+
+
+

DURGO AVVs (Anti-Siphon)

+
    +
  • • ป้องกันการดูดน้ำจาก Trap
  • +
  • • รองรับ Negative Pressure สูง
  • +
  • • ซีลยาง EPDM ทนทาน
  • +
  • • อายุการใช้งานยาวนาน
  • +
+
+
+

DURGO Mini Valve

+
    +
  • • ขนาดเล็ก สำหรับท่อขนาด 1" - 2"
  • +
  • • เหมาะสำหรับอาคารที่พักอาศัย
  • +
  • • ติดตั้งง่าย น้ำหนักเบา
  • +
  • • ราคาคุ้มค่า
  • +
+
+
+

DURGO Waste Air Valve

+
    +
  • • ออกแบบสำหรับระบบ Waste Line
  • +
  • • รองรับอัตราการไหลสูง
  • +
  • • ทนต่อแรงดันบวก (Positive Pressure)
  • +
  • • ได้รับมาตรฐาน SHASE (ญี่ปุ่น)
  • +
+
+
+
+
+
+ + +
+
+

คำถามที่พบบ่อยเกี่ยวกับวาล์วเติมอากาศ DURGO AVVs

+
+
+
+
+

1. วาล์วเติมอากาศ DURGO AVVs ต่างจากท่ออากาศแบบเดิมอย่างไร?

+

+ วาล์วเติมอากาศ DURGO AVVs ทำงานด้วยหลักการสมดุลแรงดันในระบบ (Pressure Balance) โดยจะเปิดเมื่อมีแรงดันลบ (Negative Pressure) เกิดขึ้นในระบบท่อระบายน้ำ และปิดอัตโนมัติเมื่อระบบกลับสู่สภาวะปกติ ต่างจากท่ออากาศแบบเดิมที่เปิดอยู่ตลอดเวลา ทำให้กลิ่นเหม็นและเชื้อโรคสามารถแพร่กระจายเข้าสู่อาคารได้ +

+
+
+
+
+

2. DURGO AVVs มีอายุการใช้งานนานเท่าไหร่?

+

+ วาล์วเติมอากาศ DURGO AVVs ผลิตจากพลาสติก ABS ที่มีความแข็งแรงสูง ร่วมกับซีลยาง EPDM ที่ทนทานต่อการเสื่อมสภาพ สามารถใช้งานได้นานกว่า 20 ปี ขึ้นอยู่กับสภาพการใช้งานและการบำรุงรักษา โดยไม่ต้องเปลี่ยนชิ้นส่วนหรือบำรุงรักษาเป็นพิเศษ +

+
+
+
+
+

3. DURGO AVVs เหมาะกับอาคารประเภทใด?

+

+ วาล์วเติมอากาศ DURGO AVVs เหมาะสำหรับอาคารทุกประเภท ไม่ว่าจะเป็นอาคารที่พักอาศัย อาคารสำนักงาน โรงแรม ห้างสรรพสินค้า โรงงานอุตสาหกรรม โรงพยาบาล และสถานศึกษา สามารถติดตั้งกับท่อระบายน้ำทิ้งที่ใช้มาตรฐาน EN หรือ JIS ได้ทุกชนิด +

+
+
+
+
+
+
+ + +
+
+

สนใจสินค้าของเรา?

+

+ ติดต่อเราวันนี้เพื่อรับคำแนะนำและราคาพิเศษ +

+ +

+ โทร: 090-555-1415  |  Line Id: JPPSELECTION  |  E-mail: dealplustech@gmail.com +

+
+
+
+
diff --git a/src/pages/grilles.astro b/src/pages/grilles.astro new file mode 100644 index 0000000..0b7cf8a --- /dev/null +++ b/src/pages/grilles.astro @@ -0,0 +1,287 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + +
+ +
+
+
+
+
+ กริลแอร์พลาสติก +
+
+
+ กริลแอร์ +

กริลแอร์ (Grilles air)

+

+ จำหน่ายกริลแอร์พลาสติก (ABS) และอลูมิเนียม คุณภาพสูง ราคาโรงงาน ส่งฟรี กรุงเทพมหานคร และปริมณฑล +

+ +
+
+ + + + คุณภาพสูง มาตรฐานอุตสาหกรรม +
+
+ + + + ราคาโรงงาน คุ้มค่า +
+
+ + + + จัดส่งรวดเร็ว ส่งฟรี กทม. ปริมณฑล +
+
+ + + + ไม่เกิดหยดน้ำ +
+
+
+
+
+
+ + +
+
+
+

รายละเอียดสินค้า

+
+

+ หลายคนอาจเรียกอุปกรณ์นี้ว่า "ตะแกรงแอร์" หรือ "หน้ากากช่องลม" แต่ชื่อที่ถูกต้องและเป็นทางการคือ หน้ากากแอร์ (Air Grille and Diffuser) อุปกรณ์นี้ทำหน้าที่เป็นจุดเชื่อมต่อระหว่างระบบท่อส่งลมเย็นกับพื้นที่ใช้งาน หน้ากากแอร์ไม่ได้เป็นเพียงแค่ส่วนตกแต่ง แต่ยังมีบทบาทสำคัญในการกระจายลมเย็นให้ทั่วถึงและมีประสิทธิภาพ +

+ +

หน้าที่หลักของหน้ากากแอร์

+ +

1. ควบคุมทิศทางลม

+

+ หน้ากากแอร์มีบานเกล็ด (Louver) ที่สามารถปรับได้ ทำให้เราสามารถควบคุมทิศทางการกระจายลมเย็นได้ตามต้องการ +

+ +

2. กระจายลมอย่างสม่ำเสมอ

+

+ หน้ากากแอร์ถูกออกแบบมาเพื่อกระจายลมเย็นจากท่อให้ครอบคลุมพื้นที่กว้างขึ้น ไม่ให้ลมพุ่งแรงไปที่จุดใดจุดหนึ่งเพียงอย่างเดียว +

+ +

3. กรองฝุ่นเบื้องต้น

+

+ หน้ากากแอร์บางรุ่นมีช่องสำหรับใส่แผ่นกรองอากาศ ช่วยดักจับฝุ่นละอองขนาดใหญ่ก่อนที่ลมจะถูกส่งเข้าไปในห้อง +

+ +

4. ความสวยงาม

+

+ หน้ากากแอร์มีหลายรูปแบบและหลายวัสดุให้เลือกใช้ สามารถติดตั้งให้เข้ากับการออกแบบภายในของอาคารได้อย่างลงตัว +

+ +
+ Fresh Air + กริลแอร์พลาสติก +
+ +

ประเภทของหน้ากากแอร์

+

+ หน้ากากแอร์แบ่งออกเป็นหลายประเภทตามลักษณะการใช้งานและการติดตั้ง แต่ที่นิยมใช้กันทั่วไปได้แก่ +

+
    +
  • หน้ากากแอร์แบบสี่เหลี่ยมจัตุรัส (Square Diffuser): เหมาะสำหรับห้องทั่วไปและสำนักงาน มีลักษณะเป็นช่องตารางสี่เหลี่ยม ช่วยกระจายลมเย็นออกไปในหลายทิศทาง
  • +
  • หน้ากากแอร์แบบสี่เหลี่ยมผืนผ้า (Linear Diffuser): นิยมใช้ในพื้นที่ยาว เช่น ทางเดินหรือห้องโถง ทำให้ลมกระจายไปตามแนวขนานอย่างสม่ำเสมอ
  • +
  • หน้ากากแอร์แบบกลม (Round Diffuser): เหมาะสำหรับการติดตั้งในเพดานที่ต้องการความกลมกลืน เช่น ห้องประชุมหรือพื้นที่ที่มีการออกแบบเป็นทรงโค้ง
  • +
  • หน้ากากแอร์แบบหัวเจ็ต (Jet Diffuser): ออกแบบมาเพื่อส่งลมเย็นได้ไกลกว่าปกติ เหมาะสำหรับพื้นที่ที่มีเพดานสูง เช่น โกดังหรือโรงงานอุตสาหกรรม
  • +
+ +
+ Linear Slot + หน้ากากแอร์ +
+ +

ทำไมต้องเลือกหน้ากากแอร์จากเรา?

+

+ ในฐานะผู้ผลิต หน้ากากแอร์ ที่มีประสบการณ์ยาวนาน เราเข้าใจถึงความต้องการที่แตกต่างกันของลูกค้า เราจึงใส่ใจในทุกขั้นตอนการผลิต ตั้งแต่การเลือกใช้วัสดุคุณภาพสูง เช่น อลูมิเนียมเกรดดีที่ทนทานต่อการกัดกร่อน ไปจนถึงการออกแบบที่พิถีพิถันเพื่อให้หน้ากากแอร์ทุกชิ้นของเราทำงานได้อย่างเต็มประสิทธิภาพ +

+ +

หน้ากากแอร์: รู้จักประเภทก่อนเลือกซื้อ

+
    +
  • Supply Air Grille (หน้ากากลมส่ง): เป็นหน้ากากแอร์ทำหน้าที่จ่ายลมเย็นจากระบบปรับอากาศเข้าสู่พื้นที่ใช้งานโดยตรง
  • +
  • Return Air Grille (หน้ากากลมกลับ): ทำหน้าที่ดูดอากาศในห้องกลับเข้าสู่ระบบปรับอากาศเพื่อนำไปผ่านกระบวนการทำความเย็นอีกครั้ง
  • +
  • Exhaust Air Grille (หน้ากากระบายอากาศ): ทำหน้าที่ระบายอากาศเสียหรืออากาศที่ไม่ต้องการออกจากพื้นที่
  • +
+ +

Ceiling Diffuser (หน้ากากแอร์แบบติดเพดาน)

+
    +
  • Square Diffuser (แบบสี่เหลี่ยมจัตุรัส): เป็นที่นิยมอย่างมากในอาคารสำนักงานและที่พักอาศัย สามารถจ่ายลมได้ 1, 2, 3 หรือ 4 ทิศทาง
  • +
  • Round Diffuser (แบบกลม): ให้ความรู้สึกที่ดูนุ่มนวลและทันสมัย เหมาะกับพื้นที่ที่ต้องการการออกแบบที่โดดเด่น
  • +
+ +

Linear Diffuser (หน้ากากแอร์แบบแนวยาว)

+
    +
  • Linear Slot Diffuser (แบบช่องยาว): มีลักษณะเป็นช่องแคบๆ ยาวๆ ให้ความสวยงามและทันสมัย นิยมใช้ในโรงแรมหรืออาคารที่เน้นดีไซน์
  • +
  • Linear Bar Grille (แบบซี่บาร์ยาว): มีลักษณะเป็นซี่บาร์เรียงต่อกันเป็นแนวยาว ให้ความรู้สึกเรียบหรูและมินิมอล
  • +
  • Jet Diffuser (หน้ากากแอร์แบบหัวเจ็ต): เป็นหน้ากากแอร์ที่สามารถส่งลมได้ไกลและพุ่งเป็นลำ เหมาะสำหรับพื้นที่ที่มีเพดานสูงมาก
  • +
+ +

สรุป: เลือกหน้ากากแอร์ให้ตอบโจทย์การใช้งาน

+

+ การเลือกใช้หน้ากากแอร์ที่เหมาะสม ไม่เพียงแค่ช่วยให้ระบบปรับอากาศทำงานได้อย่างเต็มประสิทธิภาพ แต่ยังช่วยประหยัดพลังงานและเสริมความสวยงามให้แก่อาคารของคุณอีกด้วย +

+

+ ฟรี ไม่มีค่าใช้จ่าย แม้ว่าจะสั่งมากสั่งน้อย เราเป็นผู้ผลิตสามารถเสนอราคาที่เหมาะสมโดนใจแน่นอนครับ +

+
+ + +
+

ข้อมูลจำเพาะทางเทคนิค

+
+ + + + + + + + + + + + + + + + +
ประเภทขนาดCFM
หน้ากากลมส่ง
Square Diffuser6x6 - 24x24"200-800
Linear Slot12" - 48"150-600
Jet Diffuser8" - 12"300-1200
หน้ากากลมกลับ
Standard10x10 - 36x36"300-1500
+
+
+ + +
+

วิธีเลือกขนาด

+
+

CFM ÷ 2 = พื้นที่ (ตร.นิ้ว)

+

ตัวอย่าง: 400 CFM ÷ 2 = 200 ตร.นิ้ว → 14x14

+
+
+ + +
+

เปรียบเทียบวัสดุ

+
+
+

+ + + + ABS Plastic +

+
    +
  • ราคาประหยัด
  • +
  • น้ำหนักเบา
  • +
  • ไม่เกิดหยดน้ำ
  • +
+
+
+

+ + + + Aluminum +

+
    +
  • ทนทานต่อการกัดกร่อน
  • +
  • ดีไซน์หลากหลาย
  • +
+
+
+
+ + +
+

คำถามที่พบบ่อย

+
+
+

เลือก ABS หรือ Aluminum ดี?

+

ABS ราคาถูกกว่า เหมาะกับบ้านเรือนทั่วไป ส่วน Aluminum แข็งแรงทนทานกว่า เหมาะกับอาคารสำนักงานหรือโรงงาน

+
+
+

ทำไม ABS ถึงไม่มีหยดน้ำขัง?

+

พื้นผิวพลาสติกเรียบลื่น ไม่มีรอยตะเข็บให้น้ำควบแน่นเกาะ ต่างจากโลหะที่อุณหภูมิเย็นกว่าจะทำให้เกิดหยดน้ำขังที่ผิว

+
+
+

สั่งทำขนาดพิเศษได้ไหม?

+

ได้ครับ รับสั่งทำขนาดพิเศษตามต้องการ สอบถามราคาและระยะเวลาการผลิตได้เลย

+
+
+
+ + +
+

ข้อแนะนำการติดตั้ง

+
+
+

ขั้นตอนการติดตั้ง

+
    +
  1. 1วัดและทำเครื่องหมายตำแหน่งที่จะติดตั้ง
  2. +
  3. 2ตัดช่องเปิดตามขนาดหน้ากาก (เผื่อความกว้าง 1-2 ซม.)
  4. +
  5. 3ตรวจสอบระดับให้ตรง
  6. +
  7. 4ยึดกรอบหน้ากากด้วยสกรูหรือคลิปยึด
  8. +
  9. 5ติดตั้งตัวหน้ากากเข้ากับกรอบ
  10. +
  11. 6ปรับบานเกล็ดให้ได้ทิศทางลมที่ต้องการ
  12. +
+
+
+

ข้อควรระวัง

+
    +
  • ⚠️อย่าติดตั้งหน้ากากใกล้ม่านบังตาหรือผ้ามากเกินไป เพราะจะขวางทางลม
  • +
  • ⚠️ควรเว้นระยะห่างจากผนังอย่างน้อย 15 ซม. เพื่อให้ลมกระจายได้ดี
  • +
  • ⚠️ตรวจสอบความดันสถิตของระบบก่อนเลือกขนาด
  • +
+
+
+
+
+
+
+ + +
+
+

สนใจสินค้าของเรา?

+

+ ติดต่อเราวันนี้เพื่อรับคำแนะนำและราคาพิเศษ +

+ +

+ โทร: 090-555-1415  |  Line Id: JPPSELECTION  |  E-mail: dealplustech@gmail.com +

+
+
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..41b6467 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,208 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + ระบบน้ำคุณภาพสูง ราคาโรงงาน + +

+ ระบบน้ำคุณภาพสูง
+ ราคาโรงงาน +

+

+ ดีล พลัส เทค จำกัด ผู้นำด้านระบบน้ำและสุขภัณฑ์คุณภาพสูง ท่อ PPR ท่อ HDPE อุปกรณ์วาล์ว ปั๊มน้ำ เครื่องเชื่อมท่อ อุปกรณ์ปรับอากาศ และฉนวนหุ้มท่อสำหรับโรงงานและบ้านเรือน +

+
+ +
+ + +
+ +
+ ท่อ PPR +
+ + +
+ เทอร์โมเบรค +
+ + +
+ กริลแอร์ +
+
+
+
+
+ + + +
+ +
+ + +
+
+
+
+
+ + + +
+

รับรองคุณภาพ

+

มาตรฐาน ม.อ.ก.

+
+
+
+ + + +
+

จัดส่งรวดเร็ว

+

ภายใน 1-3 วัน

+
+
+
+ + + +
+

ราคาโรงงาน

+

ตรงจากผู้ผลิต

+
+
+
+ + + +
+

บริการด้วยใจ

+

ให้คำปรึกษาฟรี

+
+
+
+
+ + +
+
+

ต้องการสอบถามราคา?

+

+ ติดต่อทีมงานของเราได้เลย พร้อมให้บริการให้คำปรึกษาฟรี ตอบทุกคำถามเรื่องระบบน้ำและอุปกรณ์ต่างๆ +

+ +
+
+
\ No newline at end of file diff --git a/src/pages/pipe-coupling.astro b/src/pages/pipe-coupling.astro new file mode 100644 index 0000000..2de25a5 --- /dev/null +++ b/src/pages/pipe-coupling.astro @@ -0,0 +1,182 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + +
+ +
+
+
+
+
+ ข้อต่อท่อ SMC +
+
+
+ ข้อต่อท่อ +

ข้อต่อท่อ SMC (Pipe Coupling)

+

+ จำหน่ายข้อต่อท่อ SMC (Pipe Coupling) คุณภาพสูง ราคาโรงงาน ส่งฟรี กรุงเทพมหานคร และปริมณฑล +

+ +
+
+ + + + คุณภาพสูง มาตรฐานอุตสาหกรรม +
+
+ + + + ราคาโรงงาน คุ้มค่า +
+
+ + + + จัดส่งรวดเร็ว ส่งฟรี กทม. ปริมณฑล +
+
+ + + + รับประกันสินค้า +
+
+
+
+
+
+ + +
+
+
+

รายละเอียดสินค้า

+ +
+

+ ไม่เชื่อม • ไม่กรู๊ฟ • ติดตั้งง่าย • แค่ขันน็อต +

+
+ +

การปฏิวัติวงการท่อส่งน้ำและก๊าซ

+ +
+

+ ข้อต่อท่อ SMC เป็นระบบข้อต่อท่อที่ได้รับการพัฒนามาเพื่อทดแทนการเชื่อมท่อด้วยไฟฟ้าแบบเดิม โดยใช้หลักการบีบอัด (Compression) เข้ากับวงแหวน O-Ring ที่อยู่ภายในตัวข้อต่อ ทำให้สามารถประกอบท่อได้อย่างรวดเร็วและมีความแข็งแรงทนทาน +

+ +
+

ข้อดีเด่นของข้อต่อท่อ SMC

+
    +
  • ✓ ไม่ต้องใช้เครื่องเชื่อมท่อ - ประหยัดค่าเครื่องมือ
  • +
  • ✓ ไม่ต้องใช้ช่างที่มีประสบการณ์สูง - ทำเองได้ง่ายๆ
  • +
  • ✓ ไม่เกิดประกายไฟ - ปลอดภัยในพื้นที่อันตราย
  • +
  • ✓ ติดตั้งในพื้นที่แคบได้ - คล่องตัวสูง
  • +
  • ✓ สามารถใช้ซ้ำได้ - ประหยัดค่าใช้จ่ายระยะยาว
  • +
+
+
+
+
+
+ + +
+
+
+

รุ่นของสินค้า

+ + +
+

+ GR + รุ่น GR / Grip Ring (สำหรับติดตั้งใหม่) +

+
+
+

+ รุ่น GR / Grip Ring เป็นข้อต่อท่อแบบถอดได้ (Disassembly) เหมาะสำหรับการติดตั้งท่อใหม่ มีวงแหวนกันการเคลื่อนที่ (Grip) อยู่ภายใน ช่วยให้ท่อยึดติดแน่นไม่หลุดแม้ในสภาพแรงดันสูง สามารถถอดประกอบใหม่ได้หลังการติดตั้ง เหมาะสำหรับงานที่ต้องการความยืดหยุ่นในการปรับเปลี่ยนระบบท่อภายหลังและงานที่ต้องการความแข็งแรงพิเศษ +

+
+ รุ่น GR / Grip Ring +
+
+ + +
+

+ RCH + รุ่น RCH (สำหรับงานซ่อม) +

+
+ รุ่น RCH +
+

+ รุ่น RCH เป็นข้อต่อท่อแบบถอดได้เช่นกัน แต่ออกแบบมาเพื่อการซ่อมแซมท่อที่รั่วซึมหรือเสียหาย สามารถติดตั้งได้โดยไม่ต้องตัดท่อส่วนที่เสียหายออก ช่วยประหยัดเวลาและค่าใช้จ่ายในการซ่อมแซม +

+
+
+
+
+
+
+ + +
+
+
+

คำถามที่พบบ่อย

+
+
+

Q: ข้อต่อท่อ SMC แตกต่างจากข้อต่อท่อแบบเดิมอย่างไร?

+

ข้อต่อท่อ SMC ใช้หลักการบีบอัด (Compression) กับวงแหวน O-Ring ภายใน ทำให้ไม่ต้องใช้เครื่องเชื่อมท่อ สามารถติดตั้งได้ง่ายและรวดเร็วกว่าการเชื่อมท่อด้วยไฟฟ้าแบบเดิม นอกจากนี้ยังสามารถถอดประกอบใหม่ได้ และไม่เกิดประกายไฟขณะติดตั้ง ทำให้ปลอดภัยในพื้นที่อันตราย

+
+
+

Q: ข้อต่อท่อ SMC สามารถใช้กับท่อประเภทใดได้บ้าง?

+

ข้อต่อท่อ SMC สามารถใช้ได้กับท่อหลายประเภท เช่น ท่อเหล็กกล้า (Steel), ท่อสแตนเลส (Stainless Steel), ท่อเหล็กอาร์ค (M.S.), ท่อทองแดง (Copper) และท่อ PVC/UPVC ขึ้นอยู่กับรุ่นและขนาดที่เหมาะสมกับการใช้งาน

+
+
+

Q: อายุการใช้งานของข้อต่อท่อ SMC นานเท่าไหร่?

+

อายุการใช้งานของข้อต่อท่อ SMC ขึ้นอยู่กับการใช้งานและสภาพแวดล้อม โดยทั่วไปสามารถใช้งานได้นาน 10-20 ปีหรือมากกว่าหากติดตั้งและบำรุงรักษาอย่างถูกต้อง

+
+
+
+
+
+ + +
+
+

สนใจสินค้าของเรา?

+

+ ติดต่อเราวันนี้เพื่อรับคำแนะนำและราคาพิเศษ +

+ +
+
+
+
diff --git a/src/pages/portfolio.astro b/src/pages/portfolio.astro new file mode 100644 index 0000000..dd2af72 --- /dev/null +++ b/src/pages/portfolio.astro @@ -0,0 +1,144 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +--- + + + +
+
+

ผลงาน

+

ตัวอย่างโครงการที่ได้รับความไว้วางใจจากลูกค้าทั่วประเทศ

+
+
+ + +
+
+
+ + +
+
+ Cyber World +
+
+

Cyber World

+

ติดตั้งระบบท่อ PPR

+
+
+ + +
+
+ Toyox +
+
+

Toyox

+

ติดตั้งระบบท่ออุตสาหกรรม

+
+
+ + +
+
+ โรงงานเอธานอล +
+
+

โรงงานเอธานอล

+

ติดตั้งระบบท่ออุตสาหกรรม

+
+
+ + +
+
+ ซีคอนบางแค +
+
+

ซีคอนบางแค (Seacon Bang Khae)

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ ซีพีแรม ลาดกระบัง +
+
+

ซีพีแรม ลาดกระบัง (CP Ram Ladkrabang)

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ บริษัท บีกริม +
+
+

บริษัท บีกริม (Begrim Co., Ltd.)

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ Eminent Air Factory +
+
+

Eminent Air Factory

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ ไทยน้ำทิพย์ +
+
+

ไทยน้ำทิพย์ (Thai Nam Tip)

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ Essilor Factory +
+
+

Essilor Factory

+

ติดตั้งระบบท่อ

+
+
+ + +
+
+ โครงการประชารัฐ +
+
+

โครงการประชารัฐ (Pracharat Project)

+

ติดตั้งระบบท่อ

+
+
+ +
+
+
+ + +
+
+

ต้องการให้เราดูแลโครงการของคุณ?

+

ติดต่อเราวันนี้ 090-555-1415 หรือแอดไลน์ @JPPSELECTION

+ +
+
+
\ No newline at end of file diff --git a/src/pages/privacy-policy.astro b/src/pages/privacy-policy.astro new file mode 100644 index 0000000..69bc257 --- /dev/null +++ b/src/pages/privacy-policy.astro @@ -0,0 +1,113 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +import { marked } from 'marked'; + +const privacyContent = `# นโยบายความเป็นส่วนตัว + +**บริษัท ดีล พลัส เทค จำกัด** ("บริษัทฯ") ให้ความสำคัญกับการคุ้มครองข้อมูลส่วนบุคคลของท่าน จึงได้จัดทำนโยบายความเป็นส่วนตัวฉบับนี้ขึ้นเพื่อชี้แจงเกี่ยวกับการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล รวมถึงสิทธิต่างๆ ของท่านตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 + +## 1. ข้อมูลส่วนบุคคลที่เราเก็บรวบรวม + +ข้อมูลส่วนบุคคลที่บริษัทฯ อาจเก็บรวบรวมจากท่าน อาจรวมถึง: + +- **ข้อมูลส่วนบุคคลทั่วไป:** ชื่อ-นามสกุล ที่อยู่อีเมล หมายเลขโทรศัพท์ ที่อยู่ไปรษณีย์ วันเดือนปีเกิด +- **ข้อมูลการติดต่อ:** ข้อมูลการติดต่อที่ท่านให้ไว้เมื่อลงทะเบียน กรอกแบบฟอร์ม หรือติดต่อบริษัทฯ +- **ข้อมูลการใช้งาน:** IP address, ข้อมูลการเข้าชมเว็บไซต์, คุกกี้, ข้อมูลกิจกรรมการใช้งาน +- **ข้อมูลการเงิน:** ข้อมูลบัตรเครดิต/เดบิต ข้อมูลการชำระเงิน (กรณีใช้บริการที่มีค่าใช้จ่าย) +- **ข้อมูลอื่นที่ท่านให้ไว้:** ข้อมูลใดๆ ที่ท่านให้ไว้โดยสมัครใจผ่านช่องทางการติดต่อของบริษัทฯ + +## 2. วัตถุประสงค์ในการเก็บรวบรวมข้อมูล + +บริษัทฯ เก็บรวบรวมข้อมูลส่วนบุคคลเพื่อวัตถุประสงค์ดังต่อไปนี้: + +- เพื่อให้บริการและดำเนินการตามคำขอของท่าน +- เพื่อการสื่อสารและให้ข้อมูลข่าวสารเกี่ยวกับบริการของบริษัทฯ +- เพื่อปรับปรุงคุณภาพบริการและพัฒนาเว็บไซต์ +- เพื่อการวิเคราะห์ข้อมูลและสถิติการใช้งาน +- เพื่อการตลาดและการโฆษณา (ได้รับความยินยอมจากท่าน) +- เพื่อการปฏิบัติตามกฎหมาย คำสั่ง หรือกระบวนการทางกฎหมาย +- เพื่อการรักษาความปลอดภัยและป้องกันการทุจริต + +## 3. การใช้และเปิดเผยข้อมูลส่วนบุคคล + +บริษัทฯ จะไม่เปิดเผยข้อมูลส่วนบุคคลของท่านต่อบุคคลที่สาม เว้นแต่: + +- ได้รับความยินยอมจากท่าน +- จำเป็นต้องเปิดเผยเพื่อให้บริการตามคำขอของท่าน +- จำเป็นต้องเปิดเผยต่อผู้ให้บริการที่บริษัทฯ ว่าจ้างให้ดำเนินการในส่วนที่จำเป็น +- กฎหมายกำหนดหรือร้องขอให้เปิดเผย +- เพื่อป้องกันหรือระงับอันตรายต่อชีวิต สุขภาพ หรือทรัพย์สิน +- จำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายของบริษัทฯ + +## 4. ระยะเวลาการเก็บรักษาข้อมูล + +บริษัทฯ จะเก็บรักษาข้อมูลส่วนบุคคลของท่านตราบเท่าที่จำเป็นเพื่อบรรลุวัตถุประสงค์ที่ระบุไว้ในนโยบายนี้ เว้นแต่กฎหมายกำหนดให้เก็บรักษาไว้นานกว่านั้น + +ท่านสามารถขอให้บริษัทฯ ลบหรือทำลายข้อมูลส่วนบุคคลของท่านได้ตามสิทธิ์ของท่านในข้อ 7 + +## 5. การคุ้มครองข้อมูลส่วนบุคคล + +บริษัทฯ มีมาตรการรักษาความปลอดภัยที่เหมาะสมเพื่อป้องกันการสูญหาย เข้าถึง ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยไม่ได้รับอนุญาต รวมถึงมาตรการทางเทคนิคและองค์กรที่จำเป็น + +## 6. การใช้คุกกี้ + +เว็บไซต์ของบริษัทฯ อาจใช้คุกกี้และเทคโนโลยีที่คล้ายคลึงกันเพื่อ: + +- จดจำการตั้งค่าของท่าน +- วิเคราะห์การใช้งานเว็บไซต์ +- ปรับปรุงประสบการณ์การใช้งาน +- แสดงเนื้อหาและโฆษณาที่ท่านสนใจ + +ท่านสามารถตั้งค่าเบราว์เซอร์ของท่านเพื่อปฏิเสธคุกกี้บางประเภทหรือทั้งหมดได้ แต่การปฏิเสธคุกกี้อาจส่งผลต่อการทำงานของเว็บไซต์ + +## 7. สิทธิของเจ้าของข้อมูล + +ตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล ท่านมีสิทธิดังต่อไปนี้: + +**7.1 สิทธิในการเข้าถึง** - ท่านมีสิทธิขอเข้าถึงและขอรับสำเนาข้อมูลส่วนบุคคลของท่านที่บริษัทฯ มีอยู่ + +**7.2 สิทธิในการแก้ไข** - ท่านมีสิทธิขอให้บริษัทฯ แก้ไขข้อมูลส่วนบุคคลที่ไม่ถูกต้องหรือไม่สมบูรณ์ + +**7.3 สิทธิในการลบ** - ท่านมีสิทธิขอให้บริษัทฯ ลบข้อมูลส่วนบุคคลของท่าน ในกรณีที่ข้อมูลนั้นไม่จำเป็นต้องเก็บรักษาไว้ต่อไป + +**7.4 สิทธิในการระงับการใช้** - ท่านมีสิทธิขอให้บริษัทฯ ระงับการใช้ข้อมูลส่วนบุคคลของท่านในบางกรณี + +**7.5 สิทธิในการคัดค้าน** - ท่านมีสิทธิคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของท่าน + +**7.6 สิทธิในการโอนย้าย** - ท่านมีสิทธิขอรับข้อมูลส่วนบุคคลในรูปแบบที่สามารถอ่านได้ด้วยเครื่องมือหรืออุปกรณ์อัตโนมัติ และขอส่งหรือโอนข้อมูลนั้นไปยังระบบอื่น + +**7.7 สิทธิในการถอนความยินยอม** - ท่านมีสิทธิถอนความยินยอมที่ท่านได้ให้ไว้แก่บริษัทฯ ได้ตลอดเวลา + +**7.8 สิทธิในการร้องเรียน** - ท่านมีสิทธิร้องเรียนต่อหน่วยงานกำกับดูแล (สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล) หากบริษัทฯ ละเมิดหรือไม่ปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล + +## 8. การติดต่อบริษัทฯ + +หากท่านมีคำถาม ข้อสงสัย หรือต้องการใช้สิทธิใดๆ ตามนโยบายนี้ กรุณาติดต่อบริษัทฯ: + +**บริษัท ดีล พลัส เทค จำกัด** +**ที่อยู่:** 9/70 ซอยนครลุง 17 แขวงบางไผ่ เขตบางแค กรุงเทพมหานคร 10160 +**โทรศัพท์:** 090-555-1415 +**อีเมล:** dealplustech@gmail.com + +## 9. การเปลี่ยนแปลงนโยบาย + +บริษัทฯ อาจปรับปรุงหรือเปลี่ยนแปลงนโยบายความเป็นส่วนตัวนี้เป็นครั้งคราว การเปลี่ยนแปลงจะมีผลเมื่อประกาศบนเว็บไซต์ ท่านควรตรวจสอบนโยบายนี้เป็นระยะเพื่อรับทราบการเปลี่ยนแปลง + +**วันที่มีผลบังคับใช้:** 6 พฤษภาคม 2569 + +--- + +*นโยบายความเป็นส่วนตัวฉบับนี้จัดทำขึ้นตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562*`; + +const privacyHtml = marked.parse(privacyContent); +--- + + +
+
+

นโยบายความเป็นส่วนตัว

+ +
+
+
+
\ No newline at end of file diff --git a/src/pages/realflex.astro b/src/pages/realflex.astro new file mode 100644 index 0000000..a1bbbc4 --- /dev/null +++ b/src/pages/realflex.astro @@ -0,0 +1,204 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro'; +import Header from '@/components/common/Header.astro'; +import Footer from '@/components/common/Footer.astro'; +import StickyBottomCTA from '@/components/common/StickyBottomCTA.astro'; +--- + + + + +
+ +
+ +
+
+ +
+
+ Realflex +
+
+ สายอ่อนสแตนเลส +

Realflex | สายอ่อนสแตนเลส

+

Stainless Steel Flexible Hose Fitting สำหรับระบบดับเพลิงอัตโนมัติ

+ +
+
+ + ทนแรงดัน 14 bar +
+
+ + มาตรฐาน NFPA13 +
+
+ + ผ่าน UL 2443 +
+
+
+
+
+
+ + +
+
+
+

รายละเอียดสินค้า

+ +
+ Realflex +
+ +

+ Realflex® สายอ่อนสแตนเลส ผลิตโดยบริษัท Realflex Pipetec Co Ltd นำเสนอโซลูชันที่เป็นเอกลักษณ์สำหรับอุตสาหกรณ์ดับเพลิงแบบสเปร์เกลอร์ สาย Realflex® ผลิตจากสแตนเลส AISI Grade 304 ที่ทนต่อการกัดกร่อน มีความยืดหยุ่นสูง พร้อมน็อตหกเหลี่ยมสองตัวและโอริงซีลคุณภาพสูง ทดสอบแรงดันแตกที่ 70 bar/875 psi ที่อุณหภูมิห้อง +

+ +

+ เพื่อความสะดวกในการติดตั้ง ชุดสาย Realflex® มาพร้อมระบบแบร็คเก็ตโลหะชุบสังกะสีน้ำหนักเบาออกแบบพิเศษ ทำให้การติดตั้งรวดเร็ว ปลอดภัย และคุ้มค่าสำหรับทุกโครงการ +

+ +

คุณสมบัติเด่น

+ +
+
+

ปลอดภัยและน่าเชื่อถือ

+

สายอ่อน Realflex® ผลิตจากสแตนเลส AISI 304 ทนต่อการกัดกร่อนพร้อมข้อต่อและซีลคุณภาพสูง สายทุกเส้นผ่านการทดสอบการรั่วซึม 100% ก่อนออกจากโรงงาน แรงดันใช้งาน 14bar/200psi ทดสอบแรงดันแตกที่ 70bar/875psi

+
+
+

ติดตั้งง่าย

+

ไม่ต้องใช้เครื่องมือพิเศษ ไม่ต้องตัด ไม่ต้องเกลียว เพียงใช้ประแจ ขวาน และเทปซีลท่อ ก็สามารถติดตั้งได้อย่างรวดเร็ว

+
+
+

ประหยัดค่าใช้จ่าย

+

การออกแบบสายอ่อน Realflex® ที่เป็นเอกลักษณ์ช่วยประหยัดค่าใช้จ่ายด้านเวลาเมื่อเทียบกับระบบท่อแข็งแบบดั้งเดิม ลดเวลาการติดตั้งอย่างมีนัยสำคัญ

+
+
+

เป็นมิตรกับสิ่งแวดล้อม

+

ไม่มีของเสีย ไม่ต้องตัด สายอ่อนสามารถปรับรูปร่างและย้ายตำแหน่งให้เหมาะกับตำแหน่งสเปร์เกลอร์บนเพดานได้โดยไม่ต้องระบายน้ำออกจากระบบ

+
+
+ +

ทำไมต้องเลือก Realflex?

+
    +
  • Realflex® ให้ความยาวเพิ่มอีก 25% สำหรับท่อปล่อย (สูงสุด 140 มม.) และความสูงเพิ่มอีก 50% สำหรับแบร็คเก็ตด้านข้าง (102 มม.)
  • +
  • ท่อปล่อยที่มีร่องเก็บและการออกแบบแบร็คเก็ตด้านข้างที่เป็นเอกลักษณ์ ทำงานกับระบบเพดาน T-bar และโครงไม้หรือโลหะทุกรูปแบบ
  • +
  • สกรูและโบลท์ยึดทุกตัวมีหัวปีก ช่วยเพิ่มความเร็วในการติดตั้ง
  • +
  • บาร์สี่เหลี่ยมรองรับที่หนากว่าคู่แข่ง 50% ด้วยความหนา 1.20 มม. ให้ความแข็งแรงและความเสถียรที่ดีกว่า
  • +
+ +

มาตรฐานที่ได้รับ

+
+ NFPA 13 + NFPA 13D + NFPA 13R + EN 12845 + UL 2443 + FM 1637 +
+
+
+
+ + +
+
+
+

การประยุกต์ใช้งานในอุตสาหกรรม

+ +
+
+

ระบบดับเพลิงอัตโนมัติ (Sprinkler System)

+

เชื่อมต่อระหว่างท่อน้ำประปาหลักและหัวสเปร์เกลอร์ ใช้ในอาคารทุกประเภทที่ต้องการระบบดับเพลิงอัตโนมัติ

+
+
+

อาคารพาณิชย์

+

ห้างสรรพสินค้า โรงแรม อาคารสำนักงาน โรงพยาบาล โรงเรียน ศูนย์การค้า และอาคารที่พักอาศัยขนาดใหญ่

+
+
+

โรงงานอุตสาหกรรมพิเศษ

+

โรงงานผลิตอิเล็กทรอนิกส์ เซมิคอนดักเตอร์ อุตสาหกรรมเคมีบริสุทธิ์ นิวเคลียร์ อาหารและเครื่องดื่ม ยา และห้องปฏิบัติการชีววิทยา

+
+
+
+
+
+ + +
+
+
+

คำถามที่พบบ่อย

+
+
+

1. Realflex® ทนแรงดันได้เท่าไหร่?

+

สายอ่อน Realflex® มีแรงดันใช้งานที่ 14 bar (200 psi) และทดสอบแรงดันแตกที่ 70 bar (875 psi) ที่อุณหภูมิห้อง ทนอุณหภูมิสิ่งแวดล้อมได้ถึง 107°C (225°F)

+
+
+

2. ติดตั้ง Realflex® ยากไหม?

+

การติดตั้ง Realflex® ง่ายและรวดเร็ว ไม่ต้องใช้เครื่องมือพิเศษ ไม่ต้องตัด ไม่ต้องเกลียว เพียงใช้ประแจ ขวาน และเทปซีลท่อ สามารถติดตั้งได้ทันที

+
+
+

3. Realflex® เหมาะกับอาคารประเภทใด?

+

เหมาะสำหรับอาคารทุกประเภทที่ติดตั้งระบบสเปร์เกลอร์ รวมถึงอาคารพาณิชย์ โรงงานอุตสาหกรรม โรงพยาบาล ห้างสรรพสินค้า และโรงแรม

+
+
+
+
+
+ + +
+
+

สนใจสินค้านี้?

+

ติดต่อ 090-555-1415 หรือแอดไลน์ @JPPSELECTION

+ +
+
+
+ +