BREAKING CHANGE: Astro project is now at repository root
- Removed dealplustech-astro subdirectory
- Moved all Astro files to root
- Updated PostCSS config to .cjs
- Removed old Next.js files
✅ 11 pages built successfully
✅ Cookie consent banner included
✅ Privacy/Terms links in footer
✅ Ready for Easypanel deployment (no root dir needed)
Migration path:
- Old structure: /dealplustech-astro/
- New structure: / (root)
- Sharp required for Next.js image optimization in production
- Fixes: sharp is required to be installed in standalone mode
- Added as production dependency (--save)
- Added favicon.ico and favicon.svg from dealplustech.co.th
- Added typography guidance comment in globals.css
- NO automatic font size changes
- Use .text-base (16px) minimum for readable text
- .text-xs: 1rem (16px) instead of 0.75rem (12px)
- .text-sm: 1rem (16px) instead of 0.875rem (14px)
- Large screens (1280px+): 1.125rem (18px)
- Extra large (1536px+): 1.25rem (20px)
Ensures minimum readable text size on all screens.
- Base font: unchanged (16px default)
- Large screens (1280px+): 17px base (+1px only)
- Extra large (1536px+): 18px base (+2px only)
- .text-small: text-sm md:text-base (increased on medium+ screens)
Only smallest text increased, not all text sizes.
- Base font: 18px (was 16px)
- Large screens (1280px+): 20px
- Extra large (1536px+): 22px
- Ultra large (1920px+): 24px
- Buttons: text-lg md:text-xl (was smaller)
- Navigation: text-base md:text-lg
- Body text: text-base md:text-lg lg:text-xl
- Section titles: text-4xl md:text-5xl lg:text-6xl
- NEVER use text-xs or text-sm (too small on big screens)
- All text now scales properly for 4K displays
- Real favicon.ico from original website (1.4KB)
- Real favicon.svg from original website (140KB)
- Real apple-touch-icon.png from original website
- Match exact original branding
- Next.js builds to .next/standalone, not dist/
- Use next.config.mjs output: 'standalone'
- Copy .next/static for static assets
- Copy public folder for static files
- Astro build already copies public/ to dist/
- Separate public copy was unnecessary
- Only copy dist folder (contains everything including favicon)
- Fixes favicon 404 error
- Add alternate icon link for favicon.ico
- Add apple-touch-icon link
- Browser automatically requests favicon.ico as fallback
- This prevents 404 errors in console
- Add horizontal scroll wrapper for narrow screens
- Reduce font sizes on mobile (text-xs md:text-sm)
- Add padding adjustments for mobile (px-3 py-2)
- Add overflow-x-auto with negative margins for full-width scroll
- Enable word break on cell content
- Set min-width 600px for table readability
- Add border-collapse for cleaner borders
Tables now scroll horizontally on mobile with better readability.
- Add SiteConfig, NavItem, ProductCategory, WorkHours interfaces
- Remove: import { ... } from './site-config' (circular import)
- Types now defined at top of file
Fixes TypeScript build error on Easypanel.
- Create .docker/Dockerfile
- This is a standard location that Easypanel recognizes
- Overrides nixpacks auto-generation
- Simple Astro build without Next.js caching
- Delete src/content.config.ts file
- Astro uses built-in content collection defaults
- Fixes build errors from explicit schema configuration
- First deploy worked without this file
- Subsequent deploys failed because of this file
- Add product detail page ([slug].astro) with table rendering
- Display productTables from site-config.ts on product pages
- Add responsive font scaling for large screens (1280px+)
- Base font scales from 16px to 24px on 4K displays
- All text elements use responsive sizing (md/lg/xl breakpoints)
- Tables styled with green headers and alternating rows
- Add comprehensive documentation (FIXES_SUMMARY.md)
Fixes:
- Product specification tables now visible on product pages
- Font too small on large screens - now responsive
- Add dynamic sitemap.xml generation for all pages
- Add robots.txt for search engine crawl directives
- Add LocalBusiness JSON-LD schema for local SEO
- Add BreadcrumbList schema for navigation breadcrumbs
- Add canonical URLs to all product pages
- Add Twitter Cards metadata
- Add Google Analytics 4 integration component
- Create llm.txt with all product data for AI optimization
- Create reusable UI components (Button, Card, Badge)
- Update company address to full Thai address
- Update .env.example with GA4 placeholder
- Add keywords, seoContent, specifications, features, FAQ, and Schema.org data
- Extend types for ProductSpecification and FAQItem
- Update product page to render SEO sections with structured data
- All content in Thai for Thai market SEO optimization
- Fixed truncated Header.tsx with missing closing tags
- Updated navigation to include all 38 products in 7 categories
- Added 2-column dropdown grid layout for desktop
- Added nested sub-categories for mobile menu
- Header: white background with dark text for navigation
- Footer: light gray background with dark text
- All text colors updated for readability
- No white text on white background issues
- Added decodeURIComponent to handle URL-encoded Thai characters
- All product and portfolio pages now work correctly
- 64 static pages generated successfully
- Changed product URLs to match original site (e.g., /ท่อพีพีอาร์ตราช้าง/)
- Added 15 portfolio projects with original URLs
- Updated mainNavigation to match original menu structure
- Build passes with 38 product paths generated