From f31fbb20a66aac35d2d8af4346f94efe8c64ca4b Mon Sep 17 00:00:00 2001
From: joyzhao
Date: Mon, 16 Jun 2025 19:26:05 +0800
Subject: [PATCH] feat(projects): add project tags and improve project cards
layout
- Add project type tags (business, opensource, personal) to project cards
- Update i18n translations for new project tags and visit/demo labels
- Improve tech stack indicators styling with unified gray theme
- Simplify project card footer links to use translation labels
- Update project descriptions and tech stack details
---
src/i18n/ui.ts | 14 ++++-
src/pages/index.astro | 130 ++++++++++++++++++++-------------------
src/pages/zh/index.astro | 102 +++++++++++++++---------------
3 files changed, 126 insertions(+), 120 deletions(-)
diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts
index 4e71cb1..59c6fab 100644
--- a/src/i18n/ui.ts
+++ b/src/i18n/ui.ts
@@ -17,7 +17,12 @@ export const ui = {
'site.description': 'Full Stack Developer specializing in React, Node.js, and modern web technologies',
'hero.githubLink': 'GitHub Profile',
'hero.linkedinLink': 'LinkedIn Profile',
- 'footer.rights': 'All rights reserved'
+ 'footer.rights': 'All rights reserved',
+ 'project.tag.business': 'Business Project',
+ 'project.tag.opensource': 'Open Source',
+ 'project.tag.personal': 'Personal Product',
+ 'project.visit': 'Visit',
+ 'project.demo': 'Live Demo'
// Projects and services content has been inlined into respective page files
// to reduce reliance on the translation system and improve maintainability
},
@@ -31,7 +36,12 @@ export const ui = {
'site.description': '专注于 React、Node.js 和现代 Web 技术的全栈开发者',
'hero.githubLink': 'GitHub 主页',
'hero.linkedinLink': 'LinkedIn 主页',
- 'footer.rights': '版权所有'
+ 'footer.rights': '版权所有',
+ 'project.tag.business': '商业项目',
+ 'project.tag.opensource': '开源项目',
+ 'project.tag.personal': '个人产品',
+ 'project.visit': '访问',
+ 'project.demo': '在线演示'
// Projects and services content has been inlined into respective page files
// to reduce reliance on the translation system and improve maintainability
}
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 6893eae..5679fec 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -400,9 +400,14 @@ const pageTitle = t('site.title');
-
+
-
+
+
+
+ {t('project.tag.business')}
+
+
@@ -424,7 +429,11 @@ const pageTitle = t('site.title');
•
- A task management app with real-time collaboration, built using React, Node.js, and MongoDB.
+ A comprehensive task management application with drag-and-drop functionality.
+
+
+ •
+ Built with React, TypeScript, and Tailwind CSS for modern development.
•
@@ -436,38 +445,36 @@ const pageTitle = t('site.title');
-
-
-
React
-
Node.js
-
MongoDB
+
+
+ React
+ Node.js
+ MongoDB
-
+
+
+
+ {t('project.tag.opensource')}
+
+
@@ -480,7 +487,7 @@ const pageTitle = t('site.title');
- 📱
+ 🛒
E-Shop Platform
@@ -489,50 +496,52 @@ const pageTitle = t('site.title');
•
- A scalable e-commerce platform with Next.js, Stripe payments, and TailwindCSS.
+ Modern e-commerce solution with comprehensive features for online retail.
•
- Integrated Stripe payment processing for secure transactions.
+ Built with Next.js, Prisma, and Stripe for seamless payment processing.
•
- Advanced product catalog with search, filtering, and recommendation features.
+ Features shopping cart, payment integration, and admin dashboard.
+
+
+ •
+ Responsive design with optimized performance and SEO capabilities.
-
-
-
Next.js
-
Stripe
-
TailwindCSS
+
+
+ Next.js
+ Stripe
+ TailwindCSS
-
+
+
+
+ {t('project.tag.personal')}
+
+
@@ -545,7 +554,7 @@ const pageTitle = t('site.title');
- 📱
+ 🎨
Portfolio Site
@@ -554,44 +563,37 @@ const pageTitle = t('site.title');
•
- My personal portfolio showcasing my work, built with HTML, TailwindCSS, and Alpine.js.
+ Responsive personal portfolio website showcasing creative work and projects.
•
- Modern glassmorphism design with smooth animations and transitions.
+ Built with Astro, React, and Tailwind CSS for optimal performance.
•
- Fully responsive layout optimized for all device sizes.
+ Features dark mode support and smooth animations for enhanced UX.
-
-
-
HTML
-
TailwindCSS
-
Alpine.js
+
+
+ HTML
+ TailwindCSS
+ Animate
diff --git a/src/pages/zh/index.astro b/src/pages/zh/index.astro
index eaff2da..46a7602 100644
--- a/src/pages/zh/index.astro
+++ b/src/pages/zh/index.astro
@@ -399,9 +399,14 @@ const pageTitle = t('site.title');
-
+
-
+
+
+
+ {t('project.tag.business')}
+
+
@@ -423,7 +428,7 @@ const pageTitle = t('site.title');
•
- 一个功能齐全的任务管理应用程序
+ 一个功能完整的任务管理应用程序
•
@@ -435,38 +440,36 @@ const pageTitle = t('site.title');
-
-
-
React
-
Node.js
-
MongoDB
+
+
+ React
+ Node.js
+ MongoDB
-
+
+
+
+ {t('project.tag.opensource')}
+
+
@@ -500,38 +503,36 @@ const pageTitle = t('site.title');
-
-
-
Next.js
-
Stripe
-
TailwindCSS
+
+
+ Next.js
+ Stripe
+ TailwindCSS
-
+
+
+
+ {t('project.tag.personal')}
+
+
@@ -565,32 +566,25 @@ const pageTitle = t('site.title');
-
-
-
HTML
-
TailwindCSS
-
Alpine.js
+
+
+ HTML
+ TailwindCSS
+ Animate