Commit Graph

3 Commits

Author SHA1 Message Date
Kunthawat Greethong
ce90d61c76 feat: Phase 2-3 Complete - Full Corporate Website Structure
New Features:
- Breadcrumbs component on all pages (except homepage)
- Pricing page with 3 packages (Starter, Business, Enterprise) + add-ons
- Portfolio page with 5 case studies
- FAQ page with 12 questions in 4 categories
- Sitemap page with all pages listed

Navigation Updates:
- Add Portfolio and Pricing to main navigation
- Services dropdown with 5 services
- Mobile menu with collapsible services

Fixes:
- Fix Breadcrumbs component (simplified logic)
- Import Breadcrumbs in Layout

Color Scheme:
- Primary: Yellow (#fed400)
- Brand Blue: Royal Blue (#1e40af) - NEW
- Accent: Blue-Purple gradient

Status: 11/24 tasks completed (46%)
2026-03-11 20:24:52 +07:00
Kunthawat Greethong
d384452be5 feat: Phase 2-3 - Add Breadcrumbs, Sitemap, FAQ, Portfolio pages
New Pages:
- /sitemap - XML-style sitemap with all pages
- /faq - 12 FAQs in 4 categories (Services, Process, Pricing, Technical)
- /portfolio - 5 case studies (E-commerce, Clinic, School, Restaurant, Law Firm)

Components:
- Breadcrumbs.astro - Reusable breadcrumb component

Navigation:
- Update menu to Option A (หน้าแรก, เกี่ยวกับเรา, บริการ dropdown, FAQ, บทความ, ติดต่อเรา)
- Add dropdown for 5 services
- Change CTA button to btn-brand

Color Updates:
- Add Royal Blue (#1e40af) as secondary brand color
- Fix gradient-primary text contrast
2026-03-11 20:22:52 +07:00
Kunthawat Greethong
b485320afc feat: Add full PDPA compliance with cookie consent, admin dashboard, and conditional analytics
Features implemented:
 Cookie consent banner (Accept/Reject) with localStorage storage
 Conditional Umami Analytics (loads only with consent)
 Admin dashboard at /admin/consent-logs (password protected)
 API endpoints for consent logging (POST/GET/DELETE)
 Astro DB integration with consent logging schema
 Production-ready Dockerfile with Node.js server adapter
 Node.js 20+ requirement for Astro 5.x compatibility

Files added:
- src/components/consent/CookieBanner.astro
- src/pages/api/consent/index.ts (POST/GET endpoints)
- src/pages/api/consent/[sessionId]/index.ts (DELETE endpoint)
- src/pages/admin/consent-logs.astro (admin dashboard)
- db/schema.ts (ConsentLog table schema)

Files modified:
- src/layouts/Layout.astro (CookieBanner + conditional Umami)
- astro.config.mjs (Node adapter + DB integration)
- package.json (start script, engines field, dependencies)
- Dockerfile (custom deployment with Node.js server)

Configuration:
- Umami Analytics: Conditional loading based on consent
- Admin password: 'changeme' (MUST change in production)
- Database: SQLite file (data/consent.db)
- Server: Node.js standalone adapter

Deployment:
- Docker build with SQLite runtime support
- Custom Dockerfile for Easypanel
- Start command: node dist/server/entry.mjs

Security notes:
⚠️  CHANGE ADMIN_PASSWORD before production deployment
⚠️  Enable HTTPS for secure cookie consent
⚠️  Consider server-side authentication for admin dashboard
2026-03-10 21:25:49 +07:00