feat: migrate landing page from Next.js to Astro

Replaces the heavy Next.js SSR app with Astro static site:
- Zero JS shipped for static pages (hero, community, CTA, footer)
- Server-side data fetching in Astro frontmatter (events, hackathon, testimonials)
- Only 4 React islands for interactive parts (mobile menu, roadmap voting, testimonials home, feature request)
- Google Fonts via <link> instead of next/font
- Nix build changed from Node.js systemd service to static nginx (mkStaticAppModule)
- npmDepsHash needs update (set to fake hash, CI will provide correct one)

Performance gains:
- No Node.js server process needed (was using ~10MB RAM)
- No Next.js runtime JS (~200KB+ saved)
- No framer-motion bundle (~130KB saved)
- Static HTML served directly by nginx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
maulanasdqn
2026-04-10 22:10:52 +07:00
co-authored by Claude Opus 4.6
parent 0ade3c3e50
commit 95bf09c2fa
61 changed files with 4141 additions and 2259 deletions
+3
View File
@@ -37,15 +37,18 @@
"private": true,
"dependencies": {
"@ant-design/icons": "^6.1.1",
"@astrojs/react": "^5.0.3",
"@hookform/resolvers": "^5.2.2",
"@iconify/react": "^6.0.2",
"@marsidev/react-turnstile": "^1.5.0",
"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-slot": "^1.2.4",
"@redocly/ajv": "^8.18.1",
"@tailwindcss/vite": "^4.2.2",
"@tanstack/react-query": "^5.95.2",
"@tanstack/react-store": "^0.9.3",
"@tanstack/react-table": "^8.21.3",
"astro": "^6.1.5",
"axios": "^1.14.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",