5393cf611cadfa5087e2de2af1b652ae4b668af5
User reported 2 issues after Phase 6: 1. 'เว็บไม่มี animation เลย' — v7-5 CSS referenced 6+ animations (sparkle-float, pulse-glow, float, tag-pulse, type-up, blink-cursor, gradient-vertical) but the @keyframes for 5 of them were NEVER included in the copy. marquee was the only one that worked. All other animations silently failed. 2. 'ปุ่มกดไม่ได้' — buttons were styled (cursor:pointer, colors) but had no :hover state for visual feedback. User couldn't tell they were interactive. .fx-btn:hover, .fx-nav-cta:hover, .fx-pricing-cta:hover, .fx-nav-menu a:hover all missing. Also: .fx-reveal had no initial hidden state (started at opacity:1 with no .revealed class to transition TO) — observer fired but nothing moved. Same for .fx-stagger. Fixes (verified by re-parsing CSS): - Added 7 missing @keyframes: sparkle-float, pulse-glow, float, tag-pulse, type-up, blink-cursor, gradient-vertical - .fx-reveal:not(.revealed) = opacity:0, translateY(40px) - .fx-stagger:not(.staggered) > * = opacity:0, translateY(20px) - .fx-stagger.staggered > * = fade in with staggered delays (6 children) - .fx-btn:hover = lift + coral bg + 4px shadow - .fx-btn.ghost:hover = lift + yellow bg - .fx-nav-cta:hover = invert colors + 4px shadow - .fx-pricing-cta:hover = coral bg + yellow shadow - .fx-nav-menu a:hover = yellow bg + coral text - .fx-theme-toggle:hover = yellow bg - .fx-service-card / .fx-portfolio-card / .fx-pricing-card hover = lift + 6px shadow - .fx-faq-item:hover = slide right + paper bg - .fx-stat:hover = yellow highlight + lift - .fx-process-step:hover = lift + coral border CSS now: 518 braces balanced, 8 keyframes, 0 broken animation refs. Build: 22 pages, 0 errors, 2.12s.
Before EmDash migration - plain Astro site with 22 pages, unique hero layouts per page, Thai content
Before EmDash migration - plain Astro site with 22 pages, unique hero layouts per page, Thai content
Astro Starter Kit: Minimal
npm create astro@latest -- --template minimal
🧑🚀 Seasoned astronaut? Delete this file. Have fun!
🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/ directory.
🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
👀 Want to learn more?
Feel free to check our documentation or jump into our Discord server.
Description
Languages
Astro
29.7%
MDX
27.7%
CSS
18.4%
JavaScript
17.2%
TypeScript
7%