แก้ไขbump header logo to 56px so it doesn't look tiny
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขbump header logo to 56px so it doesn't look tiny
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขadd zh to the locale regexes that rewrite paths
แก้ไขfinish the Chinese path (metadata, page labels, forms, captions)
แก้ไขmake the block/chrome text helpers Chinese-aware
ใหม่add Chinese (zh) as a third site language
ใหม่image-background card style with color overlay
ใหม่add Steps element + use it on the service detail page
แก้ไขhero back to normal; 2/3 layout on the offerings section
ปรับปรุงhero 2/3 content + 1/3 visual (grid-cols-3)
ใหม่hero right block always filled + align content left with hero
แก้ไขrestore content container (max-w-none was killing max-w-3xl)
ใหม่process as a designed stepper element + offerings prose
แก้ไขinstall @tailwindcss/typography so prose actually renders
แก้ไขdedupe detail hero vs body + center hero when no image
แก้ไขwrap grid-style cards in link too (not just list style)
ใหม่redesign the service detail page (element-quality template)
แก้ไขlink service cards in the ACTUAL renderer (ServicesGridRender)
แก้ไขlocalize links embedded in rich-text/HTML block content too
แก้ไขlink ServicesGrid cards to their detail pages
แก้ไขlocalize baked internal block links to the current language
แก้ไขdrop duplicate home-only hreflang from layout
แก้ไขplatform-level meta description, hreflang x-default, subpage h1 + breadcrumb
ใหม่warn when DNS points at the non-primary www/apex form
ใหม่support www OR apex as the primary custom domain
แก้ไขtype activeTypes as Set<string> (fixes build)
แก้ไขsitemap lists only active pages + auto apex→www 308 redirect
แก้ไขper-tenant sitemap/robots on custom domains + admin SEO/Tracking fields
ปรับปรุงpin functions to sin1 (Singapore) — co-locate with the DB
แก้ไขstrip /sites/<slug> from content links + JSON-LD on custom domains
แก้ไขclean custom-domain URLs + working lang switch
แก้ไขno-store + cache-bust on domain status fetch
ใหม่domain setup shown as a step checklist
แก้ไขself-heal Vercel attach on status view + surface add errors
ใหม่auto-attach tenant custom domain to Vercel (SSL + routing)
แก้ไขgeneric domain placeholder (was hardcoded tenant name)
ใหม่www-normalized custom domain field + setup how-to
ปรับปรุงsection 8 — tenant #2 learnings + platform element additions
ใหม่custom-domain-aware canonical/OG/hreflang/sitemap
ใหม่optional logo/image above the headline
ใหม่per-breakpoint maxWidth (mobile) + optional link
แก้ไขresponsive width so the feed isn't cropped on mobile
แก้ไขresponsive header lang-switcher + block layout fixes
แก้ไขstop /manifest.json (and .json/.xml/.txt) redirecting to login
ใหม่add SectionHeading block + ImageBlock maxWidth/fit/align
ใหม่optional title/heading on the Checklist block
แก้ไขdefault generous vertical padding
แก้ไขshare previews show the tenant's brand, not "EZWeb"
ใหม่per-field contact toggles, social hides empty, about custom text
ใหม่make contact details clickable (tel/mailto/maps)
แก้ไขdisable active lang switch + stop TH/EN content mixing
ใหม่support multiple phone numbers
ปรับปรุงrender [lang] layout as ISR instead of force-dynamic
ปรับปรุงexport makePage + add thaiherbalstandard seed/about scripts
ปรับปรุงignore .claude/settings.local.json
ใหม่AI site generation, block write panels, chat with lazy-load docs, and UX improvements
แก้ไขgroup TH/EN lang switcher adjacent to CTA button
ใหม่favicon from businessProfile, tagline from DB, asset migration on AI import
ใหม่add BusinessTagline block + data-driven AI import page builders
ใหม่top info bar text + colors editable in UI; preserve on re-seed
แก้ไขuse only name field, split EN/TH scripts to avoid duplicates
แก้ไขcombine EN+TH brand name, drop trailing location modifier
แก้ไขdedup phone numbers across local and international formats
ใหม่FacebookFeed as a first-class page-builder element
แก้ไขhide Follow Page + Share row by cropping FB chrome
แก้ไขdrop small_header so long Thai page names don't get clipped
แก้ไขmove Shop Now button below tagline + brand color on shop filter
แก้ไขset useCustomContent so empty headline+subtitle actually hide
แก้ไขmatch ezorg — banner only when prompt fires + remove from /login
แก้ไขsuppress headline+subtitle when tagline section is present
แก้ไขallow /api/auth/google-signin through middleware
ใหม่make bg + text color configurable; default to brand pink
แก้ไขbanner now always shows on /m + manual fallback for non-Chrome
แก้ไขclarify "ดูเว็บไซต์" button when site is not yet published
แก้ไขbanner now shows in /portal — fix manifest scope + register SW
ปรับปรุงmatch ezorg's Google button — Thai labels, gap-3, shadow
แก้ไขadd Sign in with Google button on login + register pages
แก้ไขcursor stays as default arrow over the speaker SVG icon
ใหม่URL → tenant pipeline using EZWeb page builder elements
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขadd zh to the locale regexes that rewrite paths
แก้ไขbump header logo to 56px so it doesn't look tiny
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขbump header logo to 56px so it doesn't look tiny
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขadd zh to the locale regexes that rewrite paths
แก้ไขfinish the Chinese path (metadata, page labels, forms, captions)
แก้ไขmake the block/chrome text helpers Chinese-aware
ใหม่add Chinese (zh) as a third site language
ใหม่image-background card style with color overlay
ใหม่add Steps element + use it on the service detail page
แก้ไขhero back to normal; 2/3 layout on the offerings section
ปรับปรุงhero 2/3 content + 1/3 visual (grid-cols-3)
ใหม่hero right block always filled + align content left with hero
แก้ไขrestore content container (max-w-none was killing max-w-3xl)
ใหม่process as a designed stepper element + offerings prose
แก้ไขinstall @tailwindcss/typography so prose actually renders
แก้ไขdedupe detail hero vs body + center hero when no image
แก้ไขwrap grid-style cards in link too (not just list style)
ใหม่redesign the service detail page (element-quality template)
แก้ไขlink service cards in the ACTUAL renderer (ServicesGridRender)
แก้ไขlocalize links embedded in rich-text/HTML block content too
แก้ไขlink ServicesGrid cards to their detail pages
แก้ไขlocalize baked internal block links to the current language
แก้ไขdrop duplicate home-only hreflang from layout
แก้ไขplatform-level meta description, hreflang x-default, subpage h1 + breadcrumb
ใหม่warn when DNS points at the non-primary www/apex form
ใหม่support www OR apex as the primary custom domain
แก้ไขtype activeTypes as Set<string> (fixes build)
แก้ไขsitemap lists only active pages + auto apex→www 308 redirect
แก้ไขper-tenant sitemap/robots on custom domains + admin SEO/Tracking fields
ปรับปรุงpin functions to sin1 (Singapore) — co-locate with the DB
แก้ไขstrip /sites/<slug> from content links + JSON-LD on custom domains
แก้ไขclean custom-domain URLs + working lang switch
แก้ไขno-store + cache-bust on domain status fetch
ใหม่domain setup shown as a step checklist
แก้ไขself-heal Vercel attach on status view + surface add errors
ใหม่auto-attach tenant custom domain to Vercel (SSL + routing)
แก้ไขgeneric domain placeholder (was hardcoded tenant name)
ใหม่www-normalized custom domain field + setup how-to
ปรับปรุงsection 8 — tenant #2 learnings + platform element additions
ใหม่custom-domain-aware canonical/OG/hreflang/sitemap
ใหม่optional logo/image above the headline
ใหม่per-breakpoint maxWidth (mobile) + optional link
แก้ไขresponsive width so the feed isn't cropped on mobile
แก้ไขresponsive header lang-switcher + block layout fixes
แก้ไขstop /manifest.json (and .json/.xml/.txt) redirecting to login
ใหม่add SectionHeading block + ImageBlock maxWidth/fit/align
ใหม่optional title/heading on the Checklist block
แก้ไขdefault generous vertical padding
แก้ไขshare previews show the tenant's brand, not "EZWeb"
ใหม่per-field contact toggles, social hides empty, about custom text
ใหม่make contact details clickable (tel/mailto/maps)
แก้ไขdisable active lang switch + stop TH/EN content mixing
ใหม่support multiple phone numbers
ปรับปรุงrender [lang] layout as ISR instead of force-dynamic
ปรับปรุงexport makePage + add thaiherbalstandard seed/about scripts
ปรับปรุงignore .claude/settings.local.json
ใหม่AI site generation, block write panels, chat with lazy-load docs, and UX improvements
แก้ไขgroup TH/EN lang switcher adjacent to CTA button
ใหม่favicon from businessProfile, tagline from DB, asset migration on AI import
ใหม่add BusinessTagline block + data-driven AI import page builders
ใหม่top info bar text + colors editable in UI; preserve on re-seed
แก้ไขuse only name field, split EN/TH scripts to avoid duplicates
แก้ไขcombine EN+TH brand name, drop trailing location modifier
แก้ไขdedup phone numbers across local and international formats
ใหม่FacebookFeed as a first-class page-builder element
แก้ไขhide Follow Page + Share row by cropping FB chrome
แก้ไขdrop small_header so long Thai page names don't get clipped
แก้ไขmove Shop Now button below tagline + brand color on shop filter
แก้ไขset useCustomContent so empty headline+subtitle actually hide
แก้ไขmatch ezorg — banner only when prompt fires + remove from /login
แก้ไขsuppress headline+subtitle when tagline section is present
แก้ไขallow /api/auth/google-signin through middleware
ใหม่make bg + text color configurable; default to brand pink
แก้ไขbanner now always shows on /m + manual fallback for non-Chrome
แก้ไขclarify "ดูเว็บไซต์" button when site is not yet published
แก้ไขbanner now shows in /portal — fix manifest scope + register SW
ปรับปรุงmatch ezorg's Google button — Thai labels, gap-3, shadow
แก้ไขadd Sign in with Google button on login + register pages
แก้ไขcursor stays as default arrow over the speaker SVG icon
ใหม่URL → tenant pipeline using EZWeb page builder elements
แก้ไขcorrect DNS host label for multi-level subdomains
ใหม่Chinese for the gosocial tenant + locale-aware GalleryGrid captions
ปรับปรุงuse edge-extended product card images (kms/dtw)
ใหม่GoSocial tenant seed + element upgrades it needed
ปรับปรุงmake `npm run lint` work again, and drop the Green Living seed tenant
แก้ไขkeep the footer's Tel/Email labels English on /th
แก้ไขmake every remaining public render path locale-aware for zh
ใหม่finish Chinese coverage — chrome, built-in page strings, thaiherbal content
ปรับปรุงalways centre the header nav
แก้ไขadd zh to the locale regexes that rewrite paths