Commit Graph

52 Commits

Author SHA1 Message Date
hermes
fe442790ab feat(homepage): rework homepage + align about-us + footer popular products
## homepage (index.astro)

- Drop '500+ รายการสินค้า' from stat badges and rebuild the trust-badges
  section to show only 15+ ปีประสบการณ์, 400+ ลูกค้าทั่วประเทศ, 98%
  ลูกค้าพึงพอใจ — bigger numbers (text-5xl/6xl), no icons, counter animation
- Add 'ทำไมเลือกเรา' section (4 cards: ส่งฟรี กทม./ปริมณฑล, Lead time 1-3
  วัน, ราคาโรงงาน, ทีมช่างแนะนำ) — no icons, primary/accent border hover
- Add 'หมวดสินค้า' section (8 tiles: 7 categories + 'สินค้าทั้งหมด')
  placed after 'สินค้าแนะนำ' — each tile is a real product photo with
  dark gradient overlay and a CTA link to /all-products?filter=<id>
- Reorder: Hero → ทำไมเลือกเรา → สินค้าแนะนำ → หมวดสินค้า → Stats →
  บทความล่าสุด → CTA

## all-products (filter from URL)

- Script now reads ?filter=<id> on load and applies it without rewriting
  the URL, then on click updates both the filter and the URL via
  history.replaceState so the back/forward buttons work

## footer (BaseLayout.astro)

- Replace productLinks with the curated 6 popular products: ไทยพีพีอาร์,
  เทอร์โมเบรค, กริลแอร์, หัวจ่ายแอร์ Ball Jet, ท่อ HDPE, ท่อ Syler

## about-us

- Stats: 10+/1000+/500+ replaced with 15+ / 400+ + counter animation,
  bigger numbers, rounded-3xl + shadow (matches home)
- Why Choose Us: rebuilt with the same 4 cards + same style as home's
  'ทำไมเลือกเรา' (no icons, pill header, larger h2 + subtitle)
2026-06-08 22:56:52 +07:00
hermes
bd67810a3f fix(products): align all-products images with product-page heroes + drop dates
## all-products.astro

Remove 2 broken product links (Poloplast, PVC + fittings) and align the
remaining 24 products with the header main menu (BaseLayout.astro):

- Reorganise categories to match the 7 header categories (ท่อพีพีอาร์,
  เครื่องเชื่อมท่อ, ระบบน้ำ, อุปกรณ์ปรับอากาศ, อุปกรณ์ดับเพลิง,
  ฉนวนหุ้มท่อ, ระบบรั้ว) instead of the old ad-hoc split
- Add Ball Jet to "อุปกรณ์ปรับอากาศ" so the page matches the menu
- Re-point 6 product images to each product page's actual hero/feature
  image so the cards show what the linked page shows:
  - HDPE, Syler, HDPE welding, PPR welding, Ball Jet, Vineman

## index.astro (homepage)

Drop the <time>...</time> block from the "บทความล่าสุด" article cards
to match the blog index (no dates, just tag chips).
2026-06-08 13:03:38 +07:00
hermes
b34f8fc2fb feat(blog): Phase 5 SEO/GEO content with 5 new blog posts
Add 5 long-form Thai blog posts (1,200-2,500 words each) with SEO + GEO
optimization for the dealplustech water-systems site. Each post targets
a specific audience (contractors, engineers, project managers) and
follows a content-quality workflow: source real product specs, verify
Thai text, dedupe images, link back to product pages.

## New blog posts (src/content/blog/)
- thermobreak-guide.md (Thermobreak closed-cell insulation overview)
- plastic-grilles-guide.md (ABS plastic grilles for HVAC)
- ppr-pipe-guide.md (PPR pipe properties + heat-fusion welding)
- ppr-vs-hdpe-vs-upvc.md (3-way pipe comparison with PE80/PE100)
- thermobreak-series-guide.md (Thermobreak LS vs Solar series)
- 10-things-checklist-pipe-ordering.md (10-point pre-order checklist)

## Removed legacy posts
- pipe-knowledge.md, valve-guide.md, welcome-post.md (orphans)

## Hero images (public/images/blog/)
~20 product photos sourced from manufacturers (Thermobreak, Thai PPR,
thaiconsupply) plus Nano Banana Pro infographics. All resized to
3:2 aspect ratio per user preference. Source folder preserved for
re-derivation.

## Astro layout/SEO work
- src/components/seo/SEO.astro, JsonLd.astro (new SEO components)
- src/layouts/BaseLayout.astro, Layout.astro (OG/Twitter/JSON-LD wiring)
- src/pages/404.astro
- Product pages (8): added #pricelist anchors + schema work
- src/styles/global.css: scroll-padding for sticky-header anchors

## Automation scripts (scripts/)
- build_og_image.py (OG image builder)
- inject_faq_schema.py, inject_product_schema.py (JSON-LD injection)

## Misc
- public/robots.txt, public/images/og/default-og.jpg
- .gitignore: exclude scripts/__pycache__/
2026-06-08 12:45:32 +07:00
Kunthawat Greethong
7c905bdb00 Merge branch 'refactor/emdash-pages' into source-code
Bring in latest changes:
- feat: add price list PDFs and pricelist sections for pipe products
- fix(seo): hardcoded dealplustech.co.th URLs in JSON-LD
- refactor(ball-jet): add product page + cleanup
- fix(grilles): remove redundant hero text
- refactor: migrate blog from EmDash CMS to Astro content collections (no longer using EmDash)
- chore: remove orphan images and PDFs
2026-06-06 17:23:07 +07:00
Kunthawat Greethong
e1e285363f chore: remove orphan images and PDFs (no longer referenced)
Deleted 10 orphan image directories (HDPE, backup_originals,
portfolio/.omc, products-raw/ball-jet, products-raw/pipe-insulation,
products-raw/tevada, dukelarrsen, mech, อุปกรณ์ดับเพลิง,
อุปกรณ์ปรับอากาศ) and 3 orphan PDFs (Maxflex tube, SANWA,
novat-old) — all confirmed to have 0 references in src/.
2026-06-05 19:47:29 +07:00
Kunthawat Greethong
9ed0abb5d4 fix(seo): fix hardcoded dealplustech.co.th URLs in JSON-LD
The JSON-LD Product schema in 6 product pages had hardcoded
URLs to dealplustech.co.th, but astro.config.mjs configures the
site as dealplustech.com. When this project replaces the old
site, those URLs would 404.

Changes:
- Replace `https://dealplustech.co.th/images/...` with relative
  `/images/...` paths (resolved by Astro at build time)
- Replace `https://dealplustech.co.th/<page>` with
  `https://dealplustech.com/<page>` (canonical domain)
- Special case: vineman schema `image` referenced an .svg that
  doesn't exist locally — switch to the .jpg version that does
  (also used by the page body) at
  /images/products-raw/vineman/ระบบรั้วไวน์แมน-Vineman-e1613286324569-1024x880.jpg

Files changed:
- realflex.astro
- วาล์ว-valve.astro
- water-treatment.astro
- เครื่องเชื่อม-hdpe.astro
- ระบบรั้วไวน์แมน.astro
- เทอร์โมเบรค-thermobreak.astro
2026-06-04 19:07:20 +07:00
Kunthawat Greethong
ff4e5ae346 refactor(ball-jet): remove performance section and image
The ตารางสมรรถนะการจ่ายลม section and its image are no longer
needed. The dimensions/specs section alone is sufficient for the
product page.
2026-06-04 12:17:37 +07:00
Kunthawat Greethong
52761c3946 refactor(ball-jet): drop redundant HTML tables
The HTML tables for dimensions and airflow performance are less
complete than the user-supplied spec images (which include more
data: bigger size range, more flow rates, unit annotations).
Remove the tables — the spec images alone are clearer and more
informative for the customer.
2026-06-04 12:11:24 +07:00
Kunthawat Greethong
4abb361897 fix(ball-jet): replace copyright images with user-supplied photos
The 7 product photos in commit 47f28cd were scraped from
sapaengineer.com without copyright clearance. Replace them
with 4 user-supplied photos from the LINE album:

- ball-jet-main.jpg (478x542) — original main product photo
- ball-jet-main-hd.jpg (1764x2000) — 4x upscale for hero
- ball-jet-front.jpg — front view of the diffuser
- ball-jet-specs.jpg — dimensions + parameters table
- ball-jet-performance.jpg — airflow performance table

Page now uses:
- Hero: ball-jet-main-hd (upscaled from user's photo)
- Gallery: ball-jet-main-hd + ball-jet-front
- New section: ขนาดและพารามิเตอร์ (Dimensions & Parameters)
  - Spec image + readable HTML table (sizes 4"-10")
  - D / A / B / C / E dimensions in mm
- New section: ตารางสมรรถนะการจ่ายลม (Airflow Performance)
  - Performance image + HTML table (sizes 4"-10", 5 flow rates each)
  - Columns: Air Volume (CMH), Outlet Velocity (m/s), Pressure
    Loss (Pa), Throw Distance (m), Noise (dB(A))
2026-06-04 12:06:27 +07:00
Kunthawat Greethong
47f28cdf65 feat: add หัวจ่ายแอร์ Ball Jet product page
New product page at /หัวจ่าย-ball-jet covering Ball Spout Jet
Diffuser (JD Series) — long-throw ceiling air diffuser for
high-ceiling commercial/industrial buildings.

Content sourced from sapamaket.com, sapaengineer.com (official),
superaircool.com technical specs, and the user's brief. The page
covers:
- Hero with full feature badges (360° rotation, 45° nozzle, sizes,
  materials)
- Product description, features, technical specs, applications,
  advantages
- Image gallery (7 photos scraped from the official SAPA source at
  sapaengineer.com — public product marketing images, used to
  illustrate the product)
- 5-question FAQ
- Contact CTA

Nav updated: added หัวจ่ายแอร์ Ball Jet as the 3rd subcategory under
'อุปกรณ์ปรับอากาศ' in BaseLayout.astro.

No PDF pricelist (none provided by source). No price data displayed
(per user request — pricing to be confirmed separately).
2026-06-04 10:12:24 +07:00
Kunthawat Greethong
5f4e667c65 fix: remove text label from grilles floating card in homepage hero
The กริลแอร์ floating card image remains in the homepage hero,
but the 'กริลแอร์คุณภาพสูง' text label that previously overlaid the
card has been removed.
2026-06-04 09:46:29 +07:00
Kunthawat Greethong
238e6500a6 Revert "fix: remove 'คุณภาพสูง' from grilles hero description"
This reverts commit be565e416c.
2026-06-04 09:30:30 +07:00
Kunthawat Greethong
be565e416c fix: remove 'คุณภาพสูง' from grilles hero description 2026-06-04 09:29:06 +07:00
Kunthawat Greethong
63a58727f9 feat: add price list PDFs and pricelist sections to nav products
Copy all 12 PDF price lists from dealplustech-emdash-old (pdf-batch3
branch) into public/documents/. These were the actual price lists
referenced by the original site.

Add the missing #pricelist sections and data-price-button links in
the hero to the 4 nav products that were missing them:
- ท่อ-ppr-thai-ppr.astro → PRICE-LIST_TPPR_V28-2023.pdf
- ท่อ-ppr-scg.astro → เอสซีเจ ปี68.pdf
- ท่อ-hdpe.astro → Price List HDPE TAP.pdf
- ท่อ-xy-lent.astro → Price List XYLENT_Novat.pdf

The 6 products that already had pricelists (aeroflex, armflex, maxflex,
เครื่องเชื่อม-hdpe, เทอร์โมเบรค, เม็กกรู๊ฟ-คับปลิ้ง) are unchanged.

The BaseLayout auto-detect script now finds #pricelist on these pages
and unhides the data-price-button (ราคาสินค้า) in the hero.
2026-06-03 19:44:25 +07:00
Kunthawat Greethong
ef4b0f2e89 refactor: move blog from EmDash to Astro content collections
EmDash CMS integration is being removed. The blog content is
moved to native Astro content collections (markdown files in
src/content/blog/) which works with the static output config.

Changes:
- Remove EmDash from astro.config.mjs (revert to static output)
- Remove emdash packages from package.json/package-lock.json
- Remove seed/seed.json (was EmDash-only)
- Remove src/live.config.ts (EmDash Astro loader)
- Add src/content.config.ts (Astro content collection for blog)
- Move 3 blog posts to src/content/blog/*.md
- Update src/pages/index.astro to use getCollection('blog')
- Update src/pages/บทความ/[slug].astro to use render() from astro:content
  (Astro 6 API: render(article), not article.render())
- Update src/pages/บทความ/index.astro (blog list)
- Add .hermes/ to .gitignore

Verified:
- npm run build: 35 pages, complete in 2.50s
- / , /aeroflex, /about-us, /บทความ, /บทความ/welcome-post: all 200
2026-06-03 14:02:41 +07:00
Kunthawat Greethong
c8cf03a725 Add EmDash CMS blog + hero standardization + seed fix
- Add EmDash CMS integration with SQLite and local storage
- Add blog collection (seed/seed.json) with 3 sample posts
- Add /บทความ list page and /บทความ/[slug] detail page
- Add blog section to homepage
- Fix reserved field slugs (slug, published_at removed from fields)
- Fix date field mapping (publishedAt camelCase)
- Fix featured image URL for admin-uploaded images (meta.storageKey)
- Standardize all product page hero sections
- Update navigation with 'บทความ' link
- Configure Google OAuth provider
2026-06-01 15:44:02 +07:00
Kunthawat Greethong
825d3264b3 Fix section class and content wrapper for remaining pages 2026-05-24 21:16:05 +07:00
Kunthawat Greethong
b64f42d485 Remove extra wrapper divs in hero sections 2026-05-24 21:12:28 +07:00
Kunthawat Greethong
316224470a Fix section class spacing in water-pump 2026-05-24 21:10:25 +07:00
Kunthawat Greethong
5944e59947 Fix section padding spacing 2026-05-24 21:09:41 +07:00
Kunthawat Greethong
daa3d56027 Fix hero section structure - remove order classes, add missing classes
Changes:
- Removed order-2 lg:order-1 from 9 pages (image now on LEFT)
- Added bg-white/10 p-2 to image containers in 8 pages
- Added lg:py-24 padding to sections in 8 pages

Pages fixed: durgo-avvs, grilles, water-pump, pipe-coupling,
ท่อ-hdpe, ท่อ-ppr-scg, ท่อ-ppr-thai-ppr, ท่อ-syler, ท่อ-upvc,
ระบบน้ำ, วาล์ว-valve, เครื่องเชื่อม-hdpe, เครื่องเชื่อม-ppr
2026-05-24 21:09:15 +07:00
Kunthawat Greethong
f12f84cf52 Add sticky wrapper to pages with img-hover class 2026-05-24 20:11:00 +07:00
Kunthawat Greethong
e1136fbfbd Add sticky image wrapper to remaining product pages 2026-05-24 20:10:53 +07:00
Kunthawat Greethong
c0975d6493 Add sticky image wrapper to all product hero sections 2026-05-24 20:10:44 +07:00
Kunthawat Greethong
9fc6951dd4 Standardize hero layout with sticky image across all product pages
- All product pages now have lg:sticky lg:top-24 on image container
- LINE button: bg-accent-500 orange
- Phone button: bg-white green
- Grid alignment: items-start
2026-05-24 20:10:32 +07:00
Kunthawat Greethong
ffb5223b3f Fix ท่อ-ppr-thai-ppr hero buttons to match standard design 2026-05-24 20:08:32 +07:00
Kunthawat Greethong
f9161ab984 Standardize hero grid to items-start for all product pages 2026-05-24 20:07:20 +07:00
Kunthawat Greethong
7eec86d7c5 Standardize hero section buttons across all product pages
- LINE button: orange accent-500
- Phone button: white with green text
- Price list button: white (shown only when pricelist section exists)
2026-05-24 20:04:58 +07:00
Kunthawat Greethong
55b0d1a3d7 Fix pricelist id placement on brand pages 2026-05-24 19:57:39 +07:00
Kunthawat Greethong
fea35c2bde Add price list button to armflex, aeroflex, maxflex hero section 2026-05-24 19:54:35 +07:00
Kunthawat Greethong
67c53fa421 Fix broken overflow-hidden pattern in all product pages 2026-05-24 19:37:51 +07:00
Kunthawat Greethong
0d1f59611c Fix broken BaseLayout category structure 2026-05-24 19:34:27 +07:00
Kunthawat Greethong
984c2571c5 Remove อุปกรณ์ปรับอากาศ page and all references 2026-05-24 15:43:13 +07:00
Kunthawat Greethong
d231325a4d Category: อุปกรณ์ดับเพลิง, Submenu: ตู้ดับเพลิง 2026-05-24 15:38:56 +07:00
Kunthawat Greethong
33c9349cd8 Change product label to อุปกรณ์ดับเพลิง, keep category as ตู้ดับเพลิง 2026-05-24 15:37:30 +07:00
Kunthawat Greethong
856ad5ff7a Change menu label to ตู้ดับเพลิง 2026-05-24 15:36:03 +07:00
Kunthawat Greethong
d52e62254c Keep category name as อุปกรณ์ดับเพลิง, change link to /ตู้ดับเพลิง 2026-05-24 15:34:07 +07:00
Kunthawat Greethong
b6c0dc8e00 Update brand pages and fix menu labels 2026-05-24 15:32:49 +07:00
Kunthawat Greethong
12608e3c18 Fix mega menu - change อุปกรณ์ดับเพลิง to ตู้ดับเพลิง in BaseLayout 2026-05-24 15:31:46 +07:00
Kunthawat Greethong
e82f4b39f2 Fix animated hero background position and update Header menu
1. Fixed animated hero background - now inside the hero section with proper class structure
2. Changed อุปกรณ์ดับเพลิง to ตู้ดับเพลิง in Header main menu
2026-05-24 11:57:17 +07:00
Kunthawat Greethong
b4a41c3ed4 Add animated hero background to all product pages
All 30 pages now have the same animated hero effect:
- Mesh gradient blur animation (animate-mesh-1)
- Floating particles
- Water wave SVG animations

Pages updated include ท่อ-ppr-scg, ท่อ-ppr-thai-ppr, ท่อ-hdpe, ท่อ-upvc, ท่อ-xy-lent, เม็กกรู๊ฟ-คับปลิ้ง, water-treatment, อุปกรณ์ปรับอากาศ, ตู้ดับเพลิง, realflex, เทอร์โมเบรค-thermobreak, รั้วเทวดา, ระบบรั้วไวน์แมน
2026-05-23 20:36:39 +07:00
Kunthawat Greethong
22e469f4ee Add animated hero background to all product pages
- Fixed missing image in ท่อ-syler (SYLER-b03.jpg → SYLER-b02.jpg)
- Added mesh animation, floating particles, and water wave effects to product pages
- Pages updated: ท่อ-ppr-scg, ท่อ-ppr-thai-ppr, ท่อ-hdpe, ท่อ-upvc, ท่อ-xy-lent, เม็กกรู๊ฟ-คับปลิ้ง, water-treatment, อุปกรณ์ปรับอากาศ, ตู้ดับเพลิง, realflex, เทอร์โมเบรค-thermobreak, รั้วเทวดา, ระบบรั้วไวน์แมน
2026-05-23 20:35:42 +07:00
Kunthawat Greethong
f60b3c3226 Rename อุปกรณ์ดับเพลิง page to /ตู้ดับเพลิง
- Renamed page file from อุปกรณ์ดับเพลิง.astro to ตู้ดับเพลิง.astro
- Updated title and content to ตู้ดับเพลิง
- Updated Header navigation link
- Updated all-products page link
2026-05-23 08:30:54 +07:00
Kunthawat Greethong
cc76e93c05 Fix product categories to match Header navigation
Categories now match Header.astro:
- ท่อพีพีอาร์ (4 items)
- ท่อ UPVC/Specialty (4 items)
- เครื่องเชื่อมท่อ (4 items)
- วาล์ว (2 items)
- ปั๊มและระบบน้ำ (2 items)
- อุปกรณ์ปรับอากาศ (2 items)
- ฉนวนและรั้ว (8 items)
- Total: 26 products
2026-05-23 08:24:18 +07:00
Kunthawat Greethong
c21dd08439 Update all-products page: fix filter buttons and product images
- Added working JavaScript filter functionality for category buttons
- Fixed product image paths (HDPE, Syler, XYLENT, etc.)
- Added hover animation on product cards
- Made filter bar sticky on scroll
2026-05-23 08:21:08 +07:00
Kunthawat Greethong
59773919f6 Fix layout after removing animation code - clean structure 2026-05-22 18:46:54 +07:00
Kunthawat Greethong
e7b6b6288a Remove animation effects from content sections, keep content intact
- Removed animated background divs from FAQ and product card sections
- Kept all content (FAQ answers, product details) intact
- Animation code now only in hero sections
2026-05-22 18:43:17 +07:00
Kunthawat Greethong
ec75725b31 Remove duplicate animation code from content sections
- Removed animation blocks from FAQ sections in ระบบรั้วไวน์แมน.astro
- Removed animation blocks from product cards in อุปกรณ์ปรับอากาศ.astro
- Animation code now only appears in hero sections
2026-05-22 18:32:04 +07:00
Kunthawat Greethong
67d84b09b1 Fix hero image path in อุปกรณ์ปรับอากาศ page 2026-05-22 18:29:29 +07:00
Kunthawat Greethong
286a011f1c Fix missing product images across all pages
- Fixed รั้วเทวดา page: Replaced รุ่นสินค้า section with gallery of actual photos from LINE album
- Fixed ระบบรั้วไวน์แมน page: Changed all SVG refs to JPG
- Fixed ท่อ-upvc, ท่อ-xy-lent, ระบบน้ำ pages
- Fixed วาล์ว-valve, อุปกรณ์ดับเพลิง, อุปกรณ์ปรับอากาศ pages
- Fixed เครื่องเชื่อม-ppr, เทอร์โมเบรค-thermobreak, เม็กกรู๊ฟ-คับปลิ้ง pages
- Copied รั้วเทวดา images to public/images/tevada/
2026-05-22 18:21:52 +07:00