feat(web): scaffold the Astro-based web server - #67
Conversation
- Adopt Solid.js for interactive components - Integrate with @ark-ui/solid for headless primitives - Add a complete typography scale with components - Introduce custom color system with light/dark mode support - Implement Button (3 variants × 3 sizes) and Toast components - Refactor layout to support theme cookies and inject dynamic color variables
- Replace locale-prefixed routing (/en, /zh) with middleware-based locale detection - Add server-side and client-side i18n libraries (lib/i18n/server.ts, lib/i18n/client.ts) - Add homepage (index.astro), 403, and 500 error pages - Add wiki renderer (lib/wiki/renderer.ts) - Add Card layout component - Move UnderConstruction component to pages directory - Migrate Astro config from .mjs to .ts - Update backend i18n and error response handling
|
Important Review skippedToo many files! This PR contains 65 files, which is 15 over the limit of 50. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (7)
📒 Files selected for processing (65)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Introduce the new
apps/webAstro-based frontend application for CVSA. This PR scaffolds the web server with SSR (via@astrojs/node), a domain-based i18n system, an initial design system component library, and the first set of pages (landing, song detail, design system showcase, and error pages).Changes
apps/web: New Astro application using the@astrojs/nodestandalone adapter, Solid.js for interactive islands, and UnoCSS for utility-first styling.faneeintegration, supportingzh-CNanden-USwith subdomain routing (e.g.zh.projectcvsa.com,en.dev.projectcvsa.com)./song/:id), design system showcase, and HTTP error pages (403/404/500).apps/weband locale resolution tests.site.webmanifestassets.SearchManager.syncSettings.Related
develop, including feat(song): add SongExternalLink CRUD with details endpoint #66