Marketing site for Ecsight Group — Astro (static) + Sanity CMS + Tailwind CSS 4 + React islands.
bun install
cp .env.example .env.local # fill in PUBLIC_SANITY_PROJECT_ID etc.
bun run devOpen http://localhost:4321.
/— English landing page,/th/— Thai/studio— embedded Sanity Studio
src/pages/— routes (en at root, th under/th/), both rendersrc/components/Landing.astrosrc/components/— React islands (motion, swiper, ogl) +.astrocomponentssrc/i18n/ui.ts— message dictionaries frommessages/*.jsonsrc/sanity/— schemas, GROQ queries, image helpersanity.config.ts— Studio config (embedded via@sanity/astro)
bun run build # static output in dist/
bun run previewContent updates: publish in Studio, then trigger a rebuild (set up a Sanity webhook → deploy hook).