Commit Graph

9 Commits

Author SHA1 Message Date
xiaomai
8cc04b7f59 feat(pages): add web development services page
This commit introduces a new page at `/webDev` to display web development services and pricing plans.

To support this, a new reusable composable `useLocalizedCollection` has been created to simplify fetching localized content from Nuxt
Content. The index page has been refactored to use this new composable.

- Adds `webDev.vue` page and corresponding `webDev.yml` content files for EN and ZH.
- Defines a Zod schema in `content.config.ts` for the new content type.
- Updates the navigation link to point to the new page.
2025-11-06 09:02:50 +08:00
xiaomai
31a4103f9b feat(ui): implement dynamic dropdown navigation and refactor project cards
Replaced the static navigation with a dynamic, internationalized dropdown menu powered by a new `useNavLinks` composable. The
navigation items are now sourced from i18n files. The featured project cards on the homepage have been refactored to use the
`<UPageCard>` component, and the content schema is updated with `spotlight` and `highlight` options for enhanced display.
2025-11-06 07:44:41 +08:00
xiaomai
78bc2c34a0 refactor(content): migrate index page to Nuxt Content
This commit refactors the index page to source its content from @nuxt/content, replacing the previous implementation that used i18n
JSON files and hardcoded data within the component.

Key changes:
- Introduced `content.config.ts` to define collections and Zod schemas for type-safe content.
- Moved page content into localized YAML files (`content/en-US/index.yml` and `content/zh-CN/index.yml`).
- Updated `app/pages/index.vue` to fetch data dynamically using `useAsyncData` and `queryCollection`.
- Removed redundant content from i18n JSON files and the Vue component script.

This change decouples content from presentation, improves maintainability, and centralizes content management.
2025-11-05 17:55:20 +08:00
xiaomai
87731a6379 feat(content): add initial homepage content and navigation
This commit introduces the foundational content and navigation for the website's homepage.

- Adds a new navigation menu to the default layout, linking to Services, Projects, and Insights.
- Creates YAML content files for the homepage in both English (en) and Chinese (zh-CN).
- Populates the content with key sections including capabilities, featured projects, and tech stack.
2025-11-05 15:07:27 +08:00
xiaomai
113ebabb94 feat(ui): enhance homepage with dynamic background images and improved locale selection 2025-11-05 08:13:18 +08:00
xiaomai
5c8baf14c3 feat(ui): rebuild homepage with new sections and i18n
This commit introduces a complete overhaul of the homepage, rebuilding it from the ground up with Nuxt UI and full
internationalization support. The new design better showcases the studio's capabilities and projects.

- Re-architected the index page with multiple new sections: Capabilities, Featured Projects, Tech Stack, and Why Choose Us.
- Implemented full i18n for English (en-US) and Chinese (zh-CN) across all new content.
- Centralized the page structure into a `default.vue` layout with a global header (including color mode and locale selectors) and
footer.
- Replaced placeholder logos with a dynamic `UMarquee` of technology icons using Iconify.
2025-11-04 17:53:14 +08:00
xiaomai
2eb1e392d8 feat(seo): integrate @nuxtjs/seo for basic SEO
This commit integrates the `@nuxtjs/seo` module to establish a baseline for search engine optimization.

Key changes include:
- Installation and configuration of the `@nuxtjs/seo` module.
- Definition of default meta tags for title, description, keywords, Open Graph, and Twitter cards.
- Addition of a default Open Graph image.
- Renaming of `robots.txt` to `_robots.txt` to align with the module's conventions for static file handling.
2025-11-04 11:39:02 +08:00
xiaomai
dccbe7599f feat(i18n): add internationalization support
This commit introduces internationalization (i18n) support by integrating the `@nuxtjs/i18n` module. It configures English (en) and
Simplified Chinese (zh-CN) locales, adds a language selector to the header, and internationalizes the index page content using
translation files.
2025-11-04 10:47:06 +08:00
xiaomai
778f32b617 initial commit 2025-11-04 09:11:18 +08:00