Commit Graph

13 Commits

Author SHA1 Message Date
Kunthawat Greethong
eb6557eeb3 fix(hero): correct Line icon SVG path in all 20 product heroes
The SVG path used for the Line chat button in the canonical template
contained a malformed curve command — a stray '0' inserted into a
relative bezier segment that broke the path into an unintended
sub-path. Result: the icon rendered as a misaligned blob instead of
the LINE wordmark glyph.

Restored the canonical path from ท่อ-ppr-thai-ppr (the untouched
stash reference) for all 20 product hero pages:

  วาล์ว-valve, ท่อ-syler, ตู้ดับเพลิง, armflex, grilles, aeroflex,
  durgo-avvs, maxflex, pipe-coupling, realflex, water-pump,
  water-treatment, ท่อ-xy-lent, ระบบรั้วไวน์แมน, รั้วเทวดา,
  หัวจ่าย-ball-jet, เครื่องเชื่อม-hdpe, เครื่องเชื่อม-ppr,
  เทอร์โมเบรค, เม็กกรู๊ฟ-คับปลิ้ง

Path length 1079 chars, byte-for-byte identical to the working
template (stash) version. Verified against rendered HTML: all 20
pages now have the correct path; no other markup changed.
2026-06-10 09:30:29 +07:00
Kunthawat Greethong
74db1dad77 fix(hero): correct hero layout to TEXT-LEFT for 12 product pages
Two prior commits (d8ff358, 9653fcb) claimed to rewrite heroes with a
TEXT-LEFT template, but the source-order check in the prior apply step
was misread. The committed heroes were still IMAGE-LEFT, with the
sticky wrapper around the image and the data-price-button still
rendering where the page has no #pricelist section.

This commit rewrites the hero section of 12 pages against the actual
HEAD~1 (9653fcb) source and the HEAD (d8ff358) source for วาล์ว-valve
to apply the canonical TEXT-LEFT template correctly:
  - text container (pill, title, features, buttons) before image
  - sticky wrapper moved to the image column
  - data-price-button removed where id="pricelist" is missing
  - max-w-md mx-auto lg:max-w-none classes restored on image + card

Pages: วาล์ว-valve, realflex, water-pump, water-treatment, ท่อ-xy-lent,
ระบบรั้วไวน์แมน, รั้วเทวดา, หัวจ่าย-ball-jet, เครื่องเชื่อม-hdpe,
เครื่องเชื่อม-ppr, เทอร์โมเบรค, เม็กกรู๊ฟ-คับปลิ้ง

Verified rendered HTML: all 12 pages have TEXT-LEFT order in DOM,
data-price-button present only where id="pricelist" exists.
2026-06-10 09:10:14 +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
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
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
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
e1136fbfbd Add sticky image wrapper to remaining product pages 2026-05-24 20:10:53 +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
67c53fa421 Fix broken overflow-hidden pattern in all product pages 2026-05-24 19:37:51 +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
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
Kunthawat Greethong
882fa7f819 Update insulation brand pages (Armaflex, Aeroflex, Maxflex)
- Added 3 new brand pages: armflex.astro, aeroflex.astro, maxflex.astro
- Updated hero images with product photos from 3t-insulation.com
- Enhanced content with product specifications and benefits
- Added standard certifications (FM Approved, UL 94, GREENGUARD)
- Added product gallery sections
- Shortened menu names to brand only (Armaflex, Aeroflex, Maxflex)
- Removed old ฉนวนหุ้มท่อ.astro page
- Updated Header and BaseLayout navigation
- Downloaded product images for all 3 brands
2026-05-22 12:50:17 +07:00
Kunthawat Greethong
5219cf8f72 Part 1: Source code - Astro project structure and components 2026-05-21 16:33:59 +07:00